使用德语变音符号排版 UTF8 列表

使用德语变音符号排版 UTF8 列表

我遇到了一些问题,listings包括GermanUmlaute。以下示例代码生成了一个完全混乱的 PDF。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[]{listings}
\begin{document}
\begin{lstlisting}[language={[LaTeX]TeX},inputencoding={utf8},extendedchars=false]
Staatsangehörigkeit
\end{lstlisting}
\end{document}

有人知道如何解决这个问题吗?

变音符

答案1

普通的 listings 包不提供 unicode 支持。我使用以下代码来解决这个问题

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[]{listings}

\lstset{literate=%
    {Ö}{{\"O}}1
    {Ä}{{\"A}}1
    {Ü}{{\"U}}1
    {ß}{{\ss}}1
    {ü}{{\"u}}1
    {ä}{{\"a}}1
    {ö}{{\"o}}1
    {~}{{\textasciitilde}}1
}
\begin{document}
    \begin{lstlisting}[language={[LaTeX]TeX}]
    Staatsangehörigkeit
    \end{lstlisting}
\end{document}

我也试过listingsutf8列表2这是测试版,但对我来说,文学解决方案非常完美;)

编辑:抱歉,marco 之前有同样的解决方案......

答案2

我在我的代码中使用以下方法:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[]{listings}
\lstset{literate={ö}{{\"o}}1}
\begin{document}
\begin{lstlisting}[language={[LaTeX]TeX},inputencoding={utf8},extendedchars=false]
Staatsangehörigkeit
\end{lstlisting}
\end{document}

在此处输入图片描述

Ulrike Fischer 在德国社区mrunix

由于列表逐字逐句地描述,因此如果发生这种情况,\section并且 \bfseries\"a无法解决,则只需简单打印即可。

英语尝试:因为listings是一个逐字环境,所以像\section\bfseries和这样的命令\"a不会被执行,而只是打印出来。

答案3

marco 提供的另一种解决方案是使用以下命令减少输入量escapeinside

\documentclass{article}
\usepackage[ngerman,english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[]{listings}
\begin{document}
\begin{lstlisting}[language={[LaTeX]TeX},
             inputencoding={utf8}, extendedchars=false,  
             escapeinside=``]
Staatsangeh`ö`rigkeit
\end{lstlisting}
\end{document}

一般来说utf8,和列表播放效果不佳,特别是当您导入由不同程序生成的文件时。backticks,只需启用它们之间包含的任何内容即可转义为 LaTeX。

相关内容