
Estoy usando pandoc, que analiza el descuento en LaTeX. En este caso configuré pandoc para usar babel en español y escribí `"avg"` que pandoc traduce como \texttt{"avg"}
.
Cuando hago esto obtengo la primera cadena en la siguiente imagen:
Así que publiqué unProblema en el github de pandoc. Pero es poco probable que se resuelva si no sabemos por qué LaTeX se comporta de esta manera.
¿Algunas ideas?
Creo que la solución está relacionada conesta publicación, pero no entiendo mucho LaTeX.
¡Gracias!
Actualizar
Este es un código minimizado que produce la salida de la imagen:
\documentclass[spanish,]{article}
\usepackage[spanish]{babel}
\begin{document}
\texttt{"avg"}
\texttt{"a}
\verb|"a|
\end{document}
Respuesta1
El comportamiento se explica fácilmente observandoCuadro 2en la documentación de babel-spanish
:
"a
"A
"o
"O
Ordinales: 1. a 1. A 1. o 1. O
Esto significa que una entrada como
1"a
se representará como
1. un
pero cualquier apariencia de "a
se convertirá en . a (y de manera similar para "A
, "o
y "O
).
Puedes desactivar esto globalmente usando la es-noshorthands
opción
\usepackage[spanish,es-noshorthands]{babel}
pero también puedes simplemente desactivar el "
con
\usepackage[spanish]{babel}
\addto\extraspanish{\spanishdeactivate{"}}
Si desea conservar las abreviaturas pero deshabilitarlas solo por \ttfamily
o \texttt
puede hacer lo siguiente
\documentclass[spanish,]{article}
\usepackage[spanish]{babel}
\usepackage{xpatch}
\begingroup\lccode`~=`"
\lowercase{\endgroup
\xapptocmd\ttfamily{\let~"}{}{}
}
\begin{document}
\texttt{"avg"}
\texttt{"a}
\verb|"a|
\end{document}
eso redefinirá lo activo "
solo en un \ttfamily
contexto para producir solo "
. En contextos normales, los "
atajos seguirán estando disponibles.
Respuesta2
En babel use también la opción es-noshorthand
. Su ejemplo mínimo se verá así:
\documentclass{article}
\usepackage[spanish,es-noshorthands]{babel}
\begin{document}
\texttt{"avg"}
\texttt{"a}
\verb|"a|
\end{document}
Y la salida es:
Más de esto esaquí.