una - ¿Cómo se muestran las comillas rectas en lugar de las comillas al utilizar el paquete de ''listados'' de LaTeX?
signos de interrogacion en latex (6)
¿Ha considerado usar una fuente monoespaciada (máquina de escribir) para el listado? El siguiente ejemplo funciona:
/documentclass{article}
/usepackage{listings}
/lstset{basicstyle=/ttfamily} % <<< This line added
/begin{document}
/begin{lstlisting}
Fahrenheit=input("What is the Fahrenheit temperature?")
Celsius=(5.0/9.0)*(Fahrenheit-32)
print"The temperature is",Celsius,"degrees Celsius"
/end{lstlisting}
/end{document}
Estoy usando el paquete de " listados " de LaTeX para formatear el código fuente. Lamentablemente, recibo comillas en lugar de comillas rectas. Dado que las comillas circulares no siempre apuntan en la dirección correcta, se ve mal. ¿Cómo puedo obtener citas directas en su lugar?
Prefiero no cambiar o filtrar el código fuente en sí mismo. Filtrar el código para cambiar correctamente "a` `o '''' funcionaría, pero esto es más fácil de hacer que lo dicho con múltiples comillas en una línea, o comillas que abarcan varias líneas. O podría usar símbolos o una serie de otras cosas. Realmente me gustaría mantener la fuente sin cambios.
Ejemplo LaTeX:
/documentclass{article}
/usepackage{listings}
/begin{document}
/begin{lstlisting}
Fahrenheit=input("What is the Fahrenheit temperature?")
Celsius=(5.0/9.0)*(Fahrenheit-32)
print"The temperature is",Celsius,"degrees Celsius"
/end{lstlisting}
/end{document}
Ejemplo de salida (usando Miktex en Windows):
Veo en la documentación (que debería haberse distribuido con el paquete, pero está disponible en http://www.ctan.org/tex-archive/macros/latex/contrib/listings/listings.pdf ) para listings
que hay una propiedad configurable llamada upquote
para encargarse de esto.
De la documentación:
upquote=⟨true|false⟩ false
determines whether the left and right quote are printed ‘’ or `''. This
key requires the textcomp package if true.
Haz algo como
/lstset{upquote=true}
antes de begin
el ambiente de la lista, o usar
/begin{lstlisting}[upquote=true]
...
/end{lstlisting}
También es posible que esta propiedad ya esté configurada para usted en la definición de idioma adecuada (consulte de nuevo los documentos, lista grande de idiomas predefinidos en la página 12).
Utilizar:
/lstloadlanguages{<dialects you need>}
en el encabezado Y luego configure el idioma usando cualquiera de las convenciones anteriores para elegir opciones.
Tal vez sea porque instalé listas pronto como usuario de LaTeX, pero me sorprende saber que sin el paquete de listados el comportamiento es diferente.
Mi solución fue similar a la de David Hanak, pero utilicé los símbolos para comillas dobles, como se describe en LaTeX Cheat Sheet ( http://stdout.org/~winston/latex )
/newcommand{/QQ}[1]{``#1''''}
Aquí hay una solución
/usepackage[T1]{fontenc}
/usepackage{textcomp}
/usepackage{lmodern}
% in the listings package configuration, try:
literate={"}{/textquotedbl}1,
Tuve el mismo problema, al usar fontspec, y la solución fue no configurar /defaultfontfeatures{Mapping=tex-text}
, sino que establecí Mapping=tex-text
específicamente en la fuente main y sans, y dejé la fuente tt en su dispositivos propios. :)
La respuesta de dmckee anterior probablemente funcione. Si deja caer su última condición, es decir, permite cambios en el código, entonces hay una solución más genérica, que tiendo a usar cada vez que (La) TeX representa un personaje de alguna manera diferente de lo que espero que haga es usar el /symbol
mando. Lo incluyo aquí porque también puede ser útil en otras situaciones:
/newcommand{/qq}{/symbol{34}} % 34 is the decimal ascii code for "
Y luego tu ejemplo:
/begin{lstlisting}
...
print{/qq}The temperature is{/qq},Celsius,{/qq}degrees Celsius{/qq}
...
/end{lstlisting}
Tenga en cuenta las llaves que, supuestamente, llevan los listados al modo LaTeX (consulte la opción escapechars
del paquete).