Обновлять

Обновлять

Я использую pandoc, который парсит markdown в LaTeX. В этом случае я настроил pandoc на использование babel на испанском языке и написал `"avg"`, что pandoc перевел как \texttt{"avg"}.

Когда я это делаю, я получаю первую строку на следующем изображении:

введите описание изображения здесь

Поэтому я опубликовалПроблема в github pandoc. Но вряд ли ее удастся решить, если мы не будем знать, почему LaTeX ведет себя таким образом.

Есть идеи?

Я думаю, что решение связано сэта почта, но я не очень понимаю LaTeX.

Спасибо!


Обновлять

Это минимизированный код, который выводит изображение:

\documentclass[spanish,]{article}
\usepackage[spanish]{babel}

\begin{document}

\texttt{"avg"}

\texttt{"a}

\verb|"a|

\end{document}

решение1

Поведение легко объяснить, взглянув наКуадро 2в документации babel-spanish:

"a "A "o "OПорядковые числительные: 1. а 1. А 1. о 1. О

Это означает, что такой вход, как

1"a

будет отображаться как

1. а

но любое появление "aстанет . a (и аналогично для "A, "oи "O).

Вы можете глобально отключить это, используя es-noshorthandsопцию

\usepackage[spanish,es-noshorthands]{babel}

но вы также можете просто отключить "с помощью

\usepackage[spanish]{babel}
\addto\extraspanish{\spanishdeactivate{"}}

Если вы хотите сохранить сокращения, но отключить их только для \ttfamilyили , \textttвы можете сделать следующее

\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}

что переопределит активный "только в \ttfamilyконтексте, чтобы произвести просто ". В обычных контекстах "сочетания клавиш будут по-прежнему доступны.

введите описание изображения здесь

решение2

В Babel используйте также option es-noshorthand. Ваш минимальный пример будет выглядеть так:

\documentclass{article}
\usepackage[spanish,es-noshorthands]{babel}

\begin{document}

\texttt{"avg"}

\texttt{"a}

\verb|"a|

\end{document}

И вот что получается: введите описание изображения здесь

Больше этогоздесь.

Связанный контент