如何在半逐字环境中用德语写出“a”,而不写“{}a”?

如何在半逐字环境中用德语写出“a”,而不写“{}a”?
\documentclass{beamer}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\begin{document}
\begin{frame}[fragile]{Umlauts}
\begin{semiverbatim}
Wrong:
"a"

Right:
"{}a"
\end{semiverbatim}

\end{frame}
\end{document}

我正在使用 pdflatex。这可能与类似的问题有关:如何在半逐字环境中防止尖括号美化?

答案1

"您可以停用done by的特殊含义babel

这可以通过以下方式实现

\usepackage{etoolbox}
\AtBeginEnvironment{semiverbatim}{\shorthandoff{"}}

以下是完整的 MWE:

\documentclass{beamer}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{etoolbox}
\AtBeginEnvironment{semiverbatim}{\shorthandoff{"}}
\begin{document}
\begin{frame}[fragile]{Umlauts}
\begin{semiverbatim}
Wrong:
"a"

Right:
"{}a"
\end{semiverbatim}

\end{frame}
\end{document}

相关内容