如何在一份英文文档中混合德语和冰岛语变音符号?

如何在一份英文文档中混合德语和冰岛语变音符号?

我正在尝试使用letter-classic以下版本的类:

\ProvidesClass{letter-classic}[2003/03/04 v1.1]

目标是在英文信件中混合使用德语和冰岛语的 UTF-8 字符。为了回答这个问题,我编写了一个最小文档来演示我的问题(存储为 UTF-8!):

\documentclass[12pt,a4paper]{letter-classic}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[icelandic,german,english]{babel}
\selectlanguage{english} %% main language of the letter

\begin{document}
\begin{letter}{Recipient}
\fromname{Max Mustermann}
\fromstreet{Musterstraße 123} %% using SZ ligature
\fromtown{12345 Musterstadt}
\fromtownshort{Musterstadt}

\opening{Dear Sir or Madam,}
%% body uses mixed Icelandic characters
\begin{itemize}
    \item Icelandic characters
    \begin{itemize}
        \item þ Þ - thorn
        \item æ Æ - AE ligature
        \item ö Ö - o with dieresis
        \item á Á - a with accent
        \item í Í - i with accent
        \item é É - e with accent
        \item ú Ú - u with accent
        \item ó Ó - o with accent
        \item ý Ý - y with accent
        \item ð Ð - eth
    \end{itemize}       
    \item German characters not in the above list
    \begin{itemize}
        \item ä Ä - a with dieresis
        \item ü Ü - u with dieresis
        \item ß   - SZ ligature
    \end{itemize}
\end{itemize}       

\end{letter}
\end{document}

特定语言的变音字符在信函正文中显示正常,但在信头中显示不正确。

注意:您可以letter-classic.cls在下面找到我使用的版本粘贴我还发现档案这似乎与我的文档类版本相对应,尽管作者的网站显然不再在线。

我看过这个问题以及随附的答案以及本文。到目前为止,我提出的所有问题和答案都只涉及一种特定的语言或英语与任何其他语言的混合。问题在于,英语在其标准形式中几乎没有变音符号,因此将使用来自任何使用拉丁文字(无论是否变音)的单一语言的字符子集。

我想我可以通过声明命令来逃避:

\newcommand{\ISL}[1]{\foreignlanguage{icelandic}{#1}}
\newcommand{\DEU}[1]{\foreignlanguage{german}{#1}}

并将冰岛语单词(如 Þjóðskrá 和 Ríkisskattstjóri)分别包装为\ISL{Þjóðskrá}\ISL{Ríkisskattstjóri};或者明显是德语单词,如 Musterstraße \DEU{Musterstraße}。例如在\fromstreet{\DEU{Musterstraße 123}}

但是,这仍然不允许我在信函正文以外的任何地方使用某些变音符号。信头根本不接受大多数这些字符。

我的 LaTeX foo 并不是最强大的,但我喜欢的格式letter-classic胜过letter几个 LaTeX 发行版附带的类,并且更愿意坚持使用它。因此,我不会将使用类的建议视为答案,除非它提供了将其塑造成与已经提供的letter形状类似的步骤。letter-classic.cls

但是,我在粘贴类文件时注意到,有三行声明了某些字体供以后使用:

\DeclareFixedFont{\bsf}{OT1}{cmss}{m}{n}{17.28}
\DeclareFixedFont{\nsf}{OT1}{cmss}{m}{n}{10}
\DeclareFixedFont{\ssf}{OT1}{cmss}{m}{n}{7}

我知道OT1这是一种标准字体,提供最低限度的字形,让我可以在此基础上进行扩展。在这些情况下\usepackage[T1]{fontenc},用 替换是否足够?还是以后会以微妙的方式给我带来麻烦?OT1T1

初步实验表明,它解决了眼前的问题。但我不喜欢只修补症状,因为根本原因可能仍然存在;这次最好隐藏起来。

另外:用 包装外来词是好的形式吗\foreignlanguage{}

答案1

只需更改三种固定字体的定义即可使用默认编码。

\documentclass[12pt,a4paper]{letter-classic}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[icelandic,ngerman,english]{babel}
\usepackage{lmodern}
%\selectlanguage{english} %% main language of the letter (not necessary)

\DeclareFixedFont{\bsf}{\encodingdefault}{\sfdefault}{m}{n}{17.28}
\DeclareFixedFont{\nsf}{\encodingdefault}{\sfdefault}{m}{n}{10}
\DeclareFixedFont{\ssf}{\encodingdefault}{\sfdefault}{m}{n}{7}


\begin{document}
\begin{letter}{Recipient}
\fromname{Max Ðusþermann}
\fromstreet{Musterstraße 123} %% using SZ ligature
\fromtown{12345 Musterstadt}
\fromtownshort{Musterstadt}

\opening{Dear Sir or Madam,}
%% body uses mixed Icelandic characters
\begin{itemize}
    \item Icelandic characters
    \begin{itemize}
        \item þ Þ - thorn
        \item æ Æ - AE ligature
        \item ö Ö - o with dieresis
        \item á Á - a with accent
        \item í Í - i with accent
        \item é É - e with accent
        \item ú Ú - u with accent
        \item ó Ó - o with accent
        \item ý Ý - y with accent
        \item ð Ð - eth
    \end{itemize}       
    \item German characters not in the above list
    \begin{itemize}
        \item ä Ä - a with dieresis
        \item ü Ü - u with dieresis
        \item ß   - SZ ligature
    \end{itemize}
\end{itemize}       

\end{letter}
\end{document}

我注释掉了\selectlanguage不必要的(并且在那里是错误的)指令。我还添加了lmodern以下内容以表明声明做了它们应该做的事情:请注意使用冰岛字符的更改后的姓氏。我还使用了ngerman而不是german,以符合德语的新正字法。

将外来词包装起来的想法\foreignlanguage很好。

在此处输入图片描述

答案2

在 OT1 编码中,Computer Modern Sans Serif 似乎无法使用这些字形。该类为小、正常和大 cmss 字体定义了三个不同的开关,ssfnsfbsf但所有开关都采用 OT1 编码。T1 编码(或 Cork 编码)是为处理西欧字母的字形而开发的。只需在文档中使用声明开关T1即可解决问题,并且不会出现任何绊脚石。

0xCFontencoding变音符号

\documentclass[12pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[icelandic,german,english]{babel}
\DeclareFixedFont{\ssf}{OT1}{cmss}{m}{n}{7}
\begin{document}
\begin{minipage}{.45\textwidth}
    Icelandic characters
    \begin{itemize}
            \ssf
        \item þ Þ - thorn
        \item æ Æ - AE ligature
        \item ö Ö - o with dieresis
        \item á Á - a with accent
        \item í Í - i with accent
        \item é É - e with accent
        \item ú Ú - u with accent
        \item ó Ó - o with accent
        \item ý Ý - y with accent
        \item ð Ð - eth
    \end{itemize}       
    German characters not in the above list
    \begin{itemize}
            \ssf
        \item ä Ä - a with dieresis
        \item ü Ü - u with dieresis
        \item ß   - SZ ligature
    \end{itemize}
\end{minipage}\hfill
\begin{minipage}{.45\textwidth}
\DeclareFixedFont{\ssf}{T1}{cmss}{m}{n}{7}
    Icelandic characters
    \begin{itemize}
            \ssf
        \item þ Þ - thorn
        \item æ Æ - AE ligature
        \item ö Ö - o with dieresis
        \item á Á - a with accent
        \item í Í - i with accent
        \item é É - e with accent
        \item ú Ú - u with accent
        \item ó Ó - o with accent
        \item ý Ý - y with accent
        \item ð Ð - eth
    \end{itemize}       
    German characters not in the above list
    \begin{itemize}
            \ssf
        \item ä Ä - a with dieresis
        \item ü Ü - u with dieresis
        \item ß   - SZ ligature
    \end{itemize}
\end{minipage}       
\end{document}

该类似乎是仿照 KOMA 脚本字母的早期版本建模的。当前版本scrlttr2是一个功能非常丰富的文档类,具有许多更改外观的选项。

相关内容