如何在 Latex 中编码德语“ß”

如何在 Latex 中编码德语“ß”

我读过很多关于如何在 Latex 中编码“ß”的教程。不幸的是,没有一个能帮助我。这是我的代码:

\documentclass[11pt]{amsart}
\usepackage{geometry}                
\geometry{letterpaper}
\usepackage{graphicx}
\usepackage{amssymb}
\usepackage{epstopdf}
\usepackage[encoding]{inputenc}

\begin{document}
daß
\end{document}

对于encoding我到目前为止尝试过的:latin1latin9utf8applemac。它们都因“未定义的控制序列”而崩溃。我在 MacOSX 10.6 上使用 TeXShop。TeXShop 本身使用utf8编码。我已经检查过了。那么,我如何在不输入 的情况下获得“ß” {\ss}

答案1

Line 中的编码\usepackage[encoding]{inputenc}需要与文件的实际编码相匹配。例如,您可以通过“魔术注释”告诉 TexShop 使用特定编码% !TeX encoding = utf8。请参阅:TeXShop 不记得文件编码

因此,这应该可以解决问题:

% !TeX encoding = utf8
\documentclass[11pt]{amsart}
\usepackage{geometry}                
\geometry{letterpaper}
\usepackage{graphicx}
\usepackage{amssymb}
\usepackage{epstopdf}
\usepackage[utf8]{inputenc}

\begin{document}
daß
\end{document}

但是,TexShop 在保存现有文件时不遵守注释,因此您可能需要手动转换现有文件。您可以使用 TeXShop 的“另存为...”对话框进行转换。

答案2

变体 1:下载一个 latex 源文件,其中ß编码为utf8并使用\usepackage[utf8]{inputenc}。运行pdflatex它并检查输出。然后在 TeXShop 中打开它并重试。在一些不相关的位置更改它并尝试 agein。更改并重ß试。打开一个新文件,复制所有内容并将它们粘贴到新文件中,保存并重试。

沿着这条路线,你会找到错误的根源。

变体 2:使用xetexluatex代替inputenc。您仍然需要确保该文件确实已utf8编码。

答案3

对于德语,您应该尝试使用这些软件包(评论中有德语描述,如果您需要的话,您会明白的):

\usepackage[utf8]{inputenc} % UTF-8-Codierung
\usepackage[
english, % Englische Rechtschreibung
ngerman  % neue Deutsche Rechtschreibung (wenn hier auch Überschriften)
]{babel} % Silbentrennung etc.
\usepackage{marvosym} % Sonderzeichen
\DeclareUnicodeCharacter{20AC}{\EUR} % €-Zeichen über [Alt-Gr]-[E] einfügen

相关内容