viernes, 9 de enero de 2009

paquete listings: insertar figuras, símbolos matemáticos y letras con acentos dentro del código

Letras con acentos en los comentarios (y símbolos)


Cuando insertamos código de algun lenguaje (como C++) en LaTeX usando el paquete listings, algunas veces en los comentarios aparecen letras acentuadas y no aparecen o aparecen en el lugar incorrecto dentro del código. Para resolver este inconveniente podemos usar el siguiente truco:

  • Activamos la opción mathescape=true

  • Dentro del comentario ponemos los símbolos $$ para introducir código LaTeX.Usamos \textrm{} para introducir texto.


Ejemplo:

\begin{lstlisting}[language=C,mathescape=true]
void int main()
{
/*$\textrm{\'{e}ste es un comentario con acentos: par\'{a}metro y con s\'{i}mbolos matem\'{a}ticos:}\lambda$*/
}


Como ven, este mismo truco nos sirve para poner símbolos matemáticos dentro de los comentarios (como el símbolo \lambda), lo mismo que ecuaciones.

Imágenes dentro del código


Con este mismo truco podemos insertar figuras dentro del código fuente:

\begin{lstlisting}[mathescape=true]
/*
$ \includegraphics[height=1cm]{defs-p1.eps} $
*/
typedef struct {
Atom_T *V_ptr; /* pointer to Vacancy in grid */
Atom_T *x_ptr; /* pointer to (A|B) Atom in grid */
} ABV_Pair_T;
\end{lstlisting}


Fuente: página 54 de http://tezcatl.fciencias.unam.mx/tex-archive/macros/latex/contrib/listings/listings.pdf

No hay comentarios:

Publicar un comentario