Utilizo los paquetes listings
y minted
para resaltar mi sintaxis en LaTeX.
Mi problema es que mi sangría es demasiado grande (tabulador normal) y no quiero usar espacio. ¿Es posible cambiar el tamaño de la pestaña aquí? Algo como tabsize=2 no funciona.
¿Y es posible sangrar automáticamente mi código de programa? Quiero decir, ese listings
(o cualquier otro paquete) reconoce declaraciones if y demás y sangra automáticamente todo mi código.
Aquí hay un breve ejemplo:
\documentclass{article}
\usepackage{listings}
\usepackage{minted}
\begin{document}
\begin{minted}{bash}
#!/bin/bash
parameter1=$1
#some commentary
if [ "$parameter1" == "-h" ] || [ "$parameter1" == "--help" ] ;
then
echo my helpfile
else
#the rest of my programcode
\end{minted}
\end{document}
La declaración if debería verse así:
if [ "$parameter1" == "-h" ] || [ "$parameter1" == "--help" ] ;
then
echo my helpfile
else
#the rest of my programcode
Respuesta1
Puede utilizar algunos argumentos opcionales para su minted
entorno. Agregué [obeytabs=true,tabsize=2]
a su ejemplo, así como tabulaciones para el bloque if
y else
. Observe de cerca la sangría en el archivo de entrada y en la salida.
Por favor lea elmanual del minted
paqueteespecialmente la nota a la obeyetabs
opción -.
(Si esta respuesta no le conviene, tendrá que usar otra bonita impresora (tal vez un script SED) para modificar su código y darle el aspecto que desea, antes de introducirlo en LaTeX y minted
. No lo sé. cualquier paquete LaTeX que debería poder formatear e imprimir su código original).
Nota: Tuve que reemplazar las pestañas de mi archivo de entrada por espacios por el bien de TeX.SE, para que se pareciera al aspecto de mi archivo de entrada.
\documentclass{article}
\usepackage{listings}
\usepackage{minted}
\begin{document}
\begin{minted}[obeytabs=true,tabsize=2]{bash}
#!/bin/bash
parameter1=$1
#some commentary
if [ "$parameter1" == "-h" ] || [ "$parameter1" == "--help" ] ;
then
echo my helpfile
else
#the rest of my programcode
fi
\end{minted}
\end{document}
Este es el resultado: