Skip to content

Instantly share code, notes, and snippets.

@malustewart
Created March 10, 2019 13:22
Show Gist options
  • Save malustewart/39d3f9f661aa7118e72a77ff36911e1c to your computer and use it in GitHub Desktop.
Save malustewart/39d3f9f661aa7118e72a77ff36911e1c to your computer and use it in GitHub Desktop.
REM Crea la estructura para un informe en latex en la que se puede compilar el archivo total o partes mas pequenias por separado.
REM Crea un archivo para caratula y uno para el preambulo, los cuales no pueden compilarse por separado.
REM El nombre del archivo principal se pasa como primer parametro.
REM Los nombres de la secciones del informe (sin contar la caratula) se pasan a partir del segundo parametro.
REM Crea un directorio principal con el nombre del primer parametro. Este contiene:
REM *Un archivo con el mismo nombre, que al compilarlo se compila el informe completo
REM *Una carpeta extra llamada "extra" que contiene la caratula y el preambulo
REM *Una carpeta por cada seccion pasada como parametro con el mismo nombre de la seccion. Estas carpetas a su vez contienen:
REM - Un archivo con el mismo nombre que la carpeta. Al compilarlo se compila solamente esa seccion
REM - Una carpeta "figures" para guardar cualquier imagen que se quiera poner en los archivos de las secciones.
REM Ejemplo de uso:
REM new_report_latex tp_4 intro marcoTeorico mediciones analisis conclusion
REM No se puede usar espacios para los nombres porque revienta todo.
echo off
mkdir %1
chdir %1
mkdir extra
chdir extra
CALL:PREAMBLEFILE
CALL:FRONTPAGEFILE
chdir ..
CALL:MAINFILE %1
FOR %%A IN (%*) DO IF "%%A" == "%1" (
echo.
) ELSE (
CALL:SUBFILE %%A %1
(
echo.
echo \let\oldinput=\input
echo \def\input#1{\oldinput{%%A/#1}}
echo \subfile{%%A.tex}
echo \let\input=\oldinput
echo.
)>>"%1.tex"
(
echo {%%A/figures/}{%%A/}
) >> "extra/preamble.tex"
)
echo \end{document} >> "%1.tex"
echo } >> "extra/preamble.tex"
chdir ..
GOTO:EOF
::::::::::::::::::::::::::::::::::::::::::::::::
:SUBFILE
mkdir %1\figures
(
echo \documentclass[../%2.tex]{subfiles}
echo \begin{document}
::echo Secci\'on %1
echo \end{document}
)>"%1\%1.tex"
GOTO:EOF
::::::::::::::::::::::::::::::::::::::::::::::::
:MAINFILE
(
echo \documentclass[spanish]{article}
echo \makeatletter
echo \def\input@path{{../}}
echo \makeatother
echo \input{extra/preamble.tex}
echo.
echo \begin{document}
echo.
echo \input{extra/frontpage.tex}
echo.
)>%1.tex
GOTO:EOF
::::::::::::::::::::::::::::::::::::::::::::::::
:PREAMBLEFILE
(
echo \usepackage{graphicx}
echo \usepackage{subfiles}
echo \graphicspath{ ) > "preamble.tex"
GOTO:EOF
::::::::::::::::::::::::::::::::::::::::::::::::
:FRONTPAGEFILE
(
echo \begin{titlepage}
echo Car\'atula
echo \end{titlepage}
)>"frontpage.tex"
GOTO:EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment