Saltar al contenido
56K

56K

Slow IT Notes – Just 4 Fun

Menú
Menú

Pandoc – De MD a PDF en GNU+Linux

Publicada el 01/04/202501/04/2025 por fanta

Hello outlander. Posiblemente te has dado cuenta de que los archivos MD (MarkDown) no siempre cuando se visualizan tienen el mismo aspecto.

Por ejemplo los generados en hackmd.io no se ven igual que los generados en github o en gitlab.

La respuesta es sencilla y es que por si mismos los archivos MD no llevan estilo. Son simplemente archivos de texto plano escritos con una serie de marcas que posteriormente son interpretadas.

Por tanto en este nuevo post vamos a ver como podemos convertir un archivo escrito en MD a PDF. Para ello vamos a utilizar pandoc.

Instalamos las dependencias

# apt-get install pandoc texlive-latex-base texlive-fonts-recommended texlive-extra-utils texlive-xetex

Un ejemplo de convertir MD a PDF

# pandoc archivo.md --pdf-engine=xelatex -o archivo.pdf

Un ejemplo con más estilo de convertir MD a PDF


$ find /var/www/notas/public/MD/ -cmin -5 -type f -name "*.md" -exec pandoc --toc {} --listings -H /var/www/notas/listings-setup.tex --pdf-engine=xelatex -o {}.pdf \;

Eso permite realizar una busqueda en el directorio /var/www/notas/public/MD/  para convertir los archivos MD a pdf del tirón.

 

Lo interesante es el archivo .tex que le pasamos para aplicarle estilos. Ese archivo podría tener por ejemplo este contenido:

% Contents of listings-setup.tex
\tightlist
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\rhead{Fanta <fanta@56k.es>}
\lhead{notas.56k.es}

\usepackage{xcolor}

\lstset{
basicstyle=\ttfamily,
%numbers=left,
keywordstyle=\color[rgb]{0.13,0.29,0.53}\bfseries,
stringstyle=\color[rgb]{0.31,0.60,0.02},
commentstyle=\color[rgb]{0.56,0.35,0.01}\itshape,
numberstyle=\footnotesize,
%stepnumber=1,
%numbersep=5pt,
backgroundcolor=\color[RGB]{248,248,248},
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=2,
captionpos=b,
breaklines=true,
breakatwhitespace=true,
breakautoindent=true,
escapeinside={\%*}{*)},
linewidth=\textwidth,
basewidth=0.5em,
}

Y eso es todo amigo.

Saludos cordiales.


fanta

Escrito por Fanta

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

fanta de naranja
Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
💾 QEMU
💾 SOLARIS
💾 ESXi
💾 FREEBSD
💾 DEBIAN
💾 AMIGA
💾 SYSADMIN
💾 JUNOS
💾 IMPRIMIR
💾 MSDOS
💾 WINDOWS
💾 FAIRPHONE
💾 GAMING
💾 STREAMING
💾 REDHAT
💾 GRÁFICOS
💾 CACHARROS
💾 SONIDO
💾 NETWORKING
💾 ROCKY
💾 SUSE
💾 TMP
©2025 56K | Construido utilizando WordPress y Responsive Blogily tema por Superb