¿Quien no ha deseado tener el control total de lo que se desea escribir en un editor de textos? O mejor aún, poder olvidarnos de estarle dando formato a cada rato a un texto y solo centrarnos en escribir nuestras ideas sin preocuparnos por el formato que va a tener el documento. Pues con LaTeX, esto es un realidad. En este momento no voy a discutir sobre que es y que no es latex simplemente quiero decir que es el mejor compilador de textos que me he encontrado.
Pero el motivo de esta entrada es poner algunos trucos y triques que me he encontrado en la red y que podrían ser de utilidad para alguien que use latex.
Para poner código de algún lenguaje en Latex con un formato bastante chido se puede usar lo siguiente:
Primero que nada agregar el paquete “listings”, al archivo tex. Y definir colores en este ejemplo se usan los grises.
\usepackage{listings}
\usepackage{color}
\definecolor{gray97}{gray}{.97}
\definecolor{gray75}{gray}{.75}
\definecolor{gray45}{gray}{.45}
Despues de esto y seguido de la definición de colores. se agrega lo siguiente.
\usepackage{listings}
\lstset{ frame=Ltb,
framerule=0pt,
aboveskip=0.5cm,
framextopmargin=3pt,
framexbottommargin=3pt,
framexleftmargin=0.4cm,
framesep=0pt,
rulesep=.4pt,
backgroundcolor=\color{gray97},
rulesepcolor=\color{black},
stringstyle=\ttfamily,
showstringspaces = false,
basicstyle=\small\ttfamily,
commentstyle=\color{gray45},
keywordstyle=\bfseries,
numbers=left,
numbersep=15pt,
numberstyle=\tiny,
numberfirstline = false,
breaklines=true,
}
% minimizar fragmentado de listados
\lstnewenvironment{listing}[1][]
{\lstset{#1}\pagebreak[0]}{\pagebreak[0]}
\lstdefinestyle{consola}
{basicstyle=\scriptsize\bf\ttfamily,
backgroundcolor=\color{gray75},
}
\lstdefinestyle{C++}
{language=C++,}
\end{listing}
\begin{lstlisting}[language=C++]
void miMacro(){
cout<<"Hola Mundo desde Root"<
}
\end{lstlisting}
\lstset{ frame=Ltb,
framerule=0pt,
aboveskip=0.5cm,
framextopmargin=3pt,
framexbottommargin=3pt,
framexleftmargin=0.4cm,
framesep=0pt,
rulesep=.4pt,
backgroundcolor=\color{gray97},
rulesepcolor=\color{black},
stringstyle=\ttfamily,
showstringspaces = false,
basicstyle=\small\ttfamily,
commentstyle=\color{gray45},
keywordstyle=\bfseries,
numbers=left,
numbersep=15pt,
numberstyle=\tiny,
numberfirstline = false,
breaklines=true,
}
% minimizar fragmentado de listados
\lstnewenvironment{listing}[1][]
{\lstset{#1}\pagebreak[0]}{\pagebreak[0]}
\lstdefinestyle{consola}
{basicstyle=\scriptsize\bf\ttfamily,
backgroundcolor=\color{gray75},
}
\lstdefinestyle{C++}
{language=C++,}
Con esto se quedara definido el estilo para el código fuente y por si quieren incluir líneas en el documento con el estilo de una consola basta con agregar lo siguiente en el cuerpo del texto.
\begin{listing}[style=consola, numbers=none]
$ cd root %%% Esta es solo una línea de ejemplo...\end{listing}
Con lo anterior lo que esté entre el ambiente “listing” se imprimirá con un formato de consola, si eliminamos la parte que dice “numbers=none” las líneas se numerarán.
Para el formato de código fuente se agrega como sigue:
void miMacro(){
cout<<"Hola Mundo desde Root"<
}
\end{lstlisting}
de ésta manera se dará formato al código fuente, mucho mejor que si solo usáramos en entorno “verbatim”.
Cabe señalar que este truco lo encontré en la red pero cuando quise buscarlo de nuevo no me fue posible encontrarlo por eso es que lo pongo en este blogg si alguien sabe quien es el autor dígamelo para agradecerle la aportación.
No hay comentarios.:
Publicar un comentario