
Quiero escribir algunos caracteres Unicode en lstlisting
el entorno, pero se muestran en línea en el resultado, lo cual no es lo que esperaba. ¿Cómo puedo hacer que funcione como caracteres estándar? Gracias.
\documentclass{article}
\usepackage{fontspec}
\setmonofont{Consolas}
\usepackage{listings}
\lstset{
basicstyle=\ttfamily
}
\begin{document}
\begin{lstlisting}
└
└
└
\end{lstlisting}
\end{document}
Respuesta1
Lo siento si encuentras mi respuesta inapropiada, pero después de jugar un rato con tu código, la variante más fácil que encontré es cambiar del lstlisting
paquete a minted
.
Por qué minted
?
Ventajas:
- Funciona muy bien con pdflatex, xelatex, etc.
- Admite muchos más idiomas para resaltar que
lstlisting
- A veces el resaltado se ve mejor.
- No tiene problemas con los caracteres UTF-8 listos para usar
Contras:
- Requiere software adicional (aunque la instalación tarda entre 2 y 5 minutos)
- Necesita editar los indicadores del comando de compilación (otros 30 segundos)
La buena noticia es quesoftware adicionalLo mencionado anteriormente es Python, que probablemente venga con su sistema si usa OS X o cualquier distribución popular de Linux, y su paquete Pygments, que se puede instalar con una línea en el shell.
Puedes dirigirte aminted
manualy consulte la sección 2.1, las instrucciones son muy breves e informativas.
También necesitas verificar la configuración de tu editor TeX y cambiar algo como
/Library/tex/texbin/xelatex -synctex=1 %.tex
agregando -shell-escape
bandera, por lo que ahora se ve algo así como
/Library/tex/texbin/xelatex -shell-escape -synctex=1 %.tex
Esto es para permitir que XeLaTeX llame a cosas fuera de su "zona de pruebas" (en nuestro caso para llamar a Python).
Después de estos pasos ya estará listo para usar minted
. Nunca más será necesaria ninguna configuración.
Ahora tu MWE, adaptado para minted
:
\documentclass{article}
\usepackage{fontspec}
\setmonofont{Consolas}
\usepackage{minted}
\begin{document}
\begin{minted}{text}
└
└
└
\end{minted}
\end{document}
Observe la opción {text}
: es para especificar el idioma (en nuestro caso, texto sin formato).
Y el resultado:
PD: Nunca he trabajado con él minted
antes, pero tratando de resolver tu problema pasé más de 40 minutos jugando lstlisting
y solo 2 minutos instalándolo y acostumbrándome minted
, así que definitivamente vale la pena intentarlo.