12 Ene 2021
Generación de contenido
Contenido
En md2tex se proveen parámetros para visualizar contenido, como ser: tabla de contenido,
lista de figuras y lista de tablas. Los parámetros en md2tex son: toc, lof y lot.
Los parámetros: lof y lot son de tipo binario, se pueden establecer en yes o no;
por defecto md2tex lo ha establecido en no.
| Parámetro | Acción | LaTeX |
|---|---|---|
| toc | Muestra la tabla de contenido del documento. | \tableofcontents |
| lof | Muestra una lista de todas las figuras que hay en el documento. | \listoffigures |
| lot | Muestra una lista de todas las tablas que hay en el documento. | \listoftables |
Para mostrar la tabla de contenido, el parámetro numbered debe estar establecido en yes.
Tabla de Contenido
Para generar la tabla de contenido md2tex hace uso del parámetro toc y puede tener 3 valores:
yes, no y custom. Al establecerlo en custom podrá definir los sub-parámetros spacing y
depth. Con estos parámetros podrá manipular la tabla de contenido.
A continuación se describe una sintaxis para mostrar la tabla de contenido del documento:
!--
numbered: yes
toc: yes
--!
La sintaxis anterior genera una tabla de contenido con spacing y depth por defecto.
Para modificar la apariencia de la tabla de contenido, puede utilizar la sintaxis siguiente:
!--
numbered: yes
toc: custom {
spacing: <value>
depth: <value>
}
--!
- spacing: Proporciona un espaciado entre los elementos de la tabla de contenido. El
parámetro spacing puede tener los siguientes valores:
single,onehalfydouble. Por defecto, md2tex no aplicará ningún espaciado y será LaTeX quien lo aplique.En LaTeX se hace uso del paquete setspace para aplicar el espaciado a la tabla de contenido. El comando
\tableofcontentsse declarará dentro de un entorno que puede ser: singlespacing, onehalfspacing o doublespacing. - depth: Indica la profundidad que se aplicará a la tabla de contenido. Puede aplicar valores entre 1 y 5; esto es recíproco con los niveles de encabezado que LaTeX proporciona para la clase article. Por defecto, la profundidad de la tabla de contenido es 3.
Demostración
La siguiente tabla de contenido tendrá una profundidad de 5 y un espaciado onehalf.
Escriba los siguiente en un archivo de texto (puede llamarlo test.md):
!--
numbered: yes
toc: custom {
spacing: onehalf
depth: 5
}
--!
---
# Secci'on
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Semper eget duis at tellus at urna
condimentum. Volutpat lacus laoreet non curabitur. Ipsum a arcu cursus vitae congue
mauris rhoncus aenean. Risus nec feugiat in fermentum posuere urna nec. Sagittis id
consectetur purus ut faucibus pulvinar elementum integer.
## Sub-secci'on
Purus faucibus ornare suspendisse sed. Dignissim sodales ut eu sem integer vitae.
Facilisis leo vel fringilla est ullamcorper eget nulla facilisi. Eget sit amet
tellus cras adipiscing enim. Interdum velit laoreet id donec ultrices tincidunt
arcu non sodales. Nec dui nunc mattis enim ut tellus. Bibendum ut tristique et
egestas quis ipsum suspendisse ultrices gravida.
### Sub-sub-secci'on
Facilisi etiam dignissim diam quis. Convallis aenean et tortor at. Ut aliquam purus
sit amet luctus venenatis lectus magna. Vulputate eu scelerisque felis imperdiet
proin fermentum leo vel orci. Sagittis aliquam malesuada bibendum arcu. Mollis nunc
sed id semper risus in hendrerit.
#### P'arrafo
Id semper risus in hendrerit. Eget egestas purus viverra accumsan in nisl nisi
scelerisque. Nam at lectus urna duis convallis convallis tellus id interdum. Sapien
pellentesque habitant morbi tristique senectus et netus et. Neque sodales ut etiam
sit amet nisl. Neque volutpat ac tincidunt vitae semper quis.
##### Sub-p'arrafo
Eu scelerisque felis imperdiet proin fermentum. Dolor sit amet consectetur adipiscing
elit. Quisque non tellus orci ac auctor augue mauris augue neque. Eget sit amet tellus
cras adipiscing. Blandit volutpat maecenas volutpat blandit aliquam etiam erat velit
scelerisque. Faucibus in ornare quam viverra.
Ejecute md2tex:
$ ./md2tex test.md
El código generado por md2tex es el siguiente:
\documentclass{article}
\usepackage{setspace}
\begin{document}
\setcounter{tocdepth}{5}
\begin{onehalfspacing}
\tableofcontents
\end{onehalfspacing}
\newpage
\section{Secci\'on}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Semper eget duis at tellus at urna
condimentum. Volutpat lacus laoreet non curabitur. Ipsum a arcu cursus vitae congue
mauris rhoncus aenean. Risus nec feugiat in fermentum posuere urna nec. Sagittis id
consectetur purus ut faucibus pulvinar elementum integer.
\subsection{Sub-secci\'on}
Purus faucibus ornare suspendisse sed. Dignissim sodales ut eu sem integer vitae.
Facilisis leo vel fringilla est ullamcorper eget nulla facilisi. Eget sit amet
tellus cras adipiscing enim. Interdum velit laoreet id donec ultrices tincidunt
arcu non sodales. Nec dui nunc mattis enim ut tellus. Bibendum ut tristique et
egestas quis ipsum suspendisse ultrices gravida.
\subsubsection{Sub-sub-secci\'on}
Facilisi etiam dignissim diam quis. Convallis aenean et tortor at. Ut aliquam purus
sit amet luctus venenatis lectus magna. Vulputate eu scelerisque felis imperdiet
proin fermentum leo vel orci. Sagittis aliquam malesuada bibendum arcu. Mollis nunc
sed id semper risus in hendrerit.
\paragraph{P\'arrafo}
Id semper risus in hendrerit. Eget egestas purus viverra accumsan in nisl nisi
scelerisque. Nam at lectus urna duis convallis convallis tellus id interdum. Sapien
pellentesque habitant morbi tristique senectus et netus et. Neque sodales ut etiam
sit amet nisl. Neque volutpat ac tincidunt vitae semper quis.
\subparagraph{Sub-p\'arrafo}
Eu scelerisque felis imperdiet proin fermentum. Dolor sit amet consectetur adipiscing
elit. Quisque non tellus orci ac auctor augue mauris augue neque. Eget sit amet tellus
cras adipiscing. Blandit volutpat maecenas volutpat blandit aliquam etiam erat velit
scelerisque. Faucibus in ornare quam viverra.
\end{document}
Vaya a la carpeta latex/tex para ejecutar pdfLaTeX escriba lo siguiente en la línea de comandos:
# necesitará compilar dos veces para que hayan
# cambios en la tabla de contenido.
$ pdflatex test.tex
$ pdflatex test.tex
La primera vez que se compila con pdfLaTeX se crea un archivo auxiliar de extensión .toc pero
la tabla no se genera en el documento. En la segunda compilación pdfLaTeX lee el contenido del
archivo .toc y lo pone en el documento final.
Si utiliza CMake para generar su documento, NO necesitará compilar 2 veces los archivos
.tex.
El resultado final será el siguiente:
Lista de Figuras
Para aplicar una lista de figuras en md2tex se utiliza el parámetro lof, este es un parámetro
de tipo binario: los valores que puede tener son yes o no. Por defecto, md2tex, no incluye
la implementación de lista de figuras en el código generado. La sintaxis para el parámetro lof
es la siguiente:
!--
lof: <value>
--!
Demostración
En un archivo de texto (por ejemplo: test.md), escriba lo siguiente:
!--
lof: yes
--!
## Ciudades Coloniales



## Figuras Planas

Puede descargar las imagenes: figuras simples y figuras múltiples.
Desde la línea de comandos, ejecute:
$ ./md2tex test.md
El código generado por md2tex, es el siguiente:
\documentclass{article}
\usepackage{graphicx}
\usepackage{subfigure}
\begin{document}
\listoffigures
\subsection*{Ciudades Coloniales}
\begin{figure}[!ht]
\centering
\includegraphics[width=8cm, height=6cm]{../images/cartagena_indias.jpg}
\caption{Ciudad de Cartagena de Indias}
\end{figure}
\begin{figure}[!ht]
\centering
\includegraphics[width=8cm, height=6cm]{../images/san_miguel_allende.jpg}
\caption{Ciudad de San Miguel Allende}
\end{figure}
\begin{figure}[!ht]
\centering
\includegraphics[width=10cm, height=7cm]{../images/cuzco.jpg}
\caption{Ciudad de Cuzco}
\end{figure}
\subsection*{Figuras Planas}
\begin{figure}[!ht]
\centering
\subfigure[Cuadrado]{
\includegraphics[width=2.5cm, height=2.5cm]{../images/figuras2d/cuadrado.png}
}
\subfigure[ Circulo]{
\includegraphics[width=2.5cm, height=2.5cm]{../images/figuras2d/circulo.png}
}
\subfigure[ Rombo]{
\includegraphics[scale=0.5]{../images/figuras2d/rombo.png}
}
\subfigure[ Pentagono]{
\includegraphics[scale=0.5, angle=45]{../images/figuras2d/pentagono.png}
}
\caption{Figuras geometricas de dos dimensiones}
\end{figure}
\end{document}
Vaya a la carpeta latex/tex. Necesitará compilar dos veces el archivo test.tex, para
generar el archivo PDF.
$ pdflatex test.tex
$ pdflatex test.tex
Al igual que en las tablas de contenido; para las figuras, en la primera compilación LaTeX
genera un archivo de extensión .lof y en la segunda compilación lee este archivo y muestra
su contenido en el documento final.
Si utiliza CMake para generar su documento, NO necesitará compilar 2 veces los archivos
.tex.
El resultado final es el siguiente:
Lista de Tablas
Una lista de tablas en md2tex es gestionada mediante el parámetro lot, este también es un parámetro
de tipo binario. Por defecto, md2tex, no incluye la implementación de lista de tablas en el código
generado. La sintaxis para el parámetro lot es la siguiente:
!--
lot: <value>
--!
Donde <value> puede establecerse en yes o no.
Demostración
En un nuevo archivo de texto, escriba lo siguiente:
!--
lot: yes
--!
![Valores aleatorios para la Tabla 1.; style1; csv]{
../csv/table1.csv
}
![Valores aleatorios para la Tabla 2.; style1-lime; csv]{
../csv/table2.csv
}
Ejecute md2tex desde la línea de comandos:
$ ./md2tex test.md
El código generado por md2tex es el siguiente:
\documentclass{article}
\usepackage{booktabs}
\usepackage{pgfplotstable}
\usepackage{xcolor}
\usepackage{colortbl}
\begin{document}
\listoftables
\begin{table}[h!]
\centering
\pgfplotstabletypeset[
col sep=comma,
string type,
assign column name/.style={/pgfplots/table/column name={\textbf{#1}}},
every head row/.style={before row=\toprule, after row=\midrule},
every last row/.style={after row=\midrule},
]{../csv/table1.csv}
\caption{Valores aleatorios para la Tabla 1.}
\end{table}
\begin{table}[h!]
\centering
\pgfplotstabletypeset[
col sep=comma,
string type,
every head row/.style={before row=\toprule, after row=\midrule},
assign column name/.style={/pgfplots/table/column name={\textbf{#1}}},
every even row/.style={after row ={\rowcolor{lime!30}}, before row={\rowcolor{lime!10}}},
every last row/.style={after row=\midrule},
]{../csv/table2.csv}
\caption{Valores aleatorios para la Tabla 2.}
\end{table}
\end{document}
Ubiquese en la carpeta latex/tex/, necesitará compilar el archivo .tex dos veces para que la
lista de tablas se vea reflejada en el documento PDF. La primera compilación generará o actualizará
un archivo de extensión .lot y la segunda compilación reflejará el contenido del archivo .lot en
el documento PDF.
Ejecute pdfLaTex:
$ pdflatex test.tex
$ pdflatex test.tex
El compilador de pdfLaTeX generará el siguiente archivo PDF: