![在同一个 PDF 中混合冰岛语、德语和乌克兰语字形](https://linux22.com/image/392847/%E5%9C%A8%E5%90%8C%E4%B8%80%E4%B8%AA%20PDF%20%E4%B8%AD%E6%B7%B7%E5%90%88%E5%86%B0%E5%B2%9B%E8%AF%AD%E3%80%81%E5%BE%B7%E8%AF%AD%E5%92%8C%E4%B9%8C%E5%85%8B%E5%85%B0%E8%AF%AD%E5%AD%97%E5%BD%A2.png)
这或多或少是对上一个问题我问过pdflatex考虑到另一个文档类别(letter-classic
)。
现在,我正在努力将德语、冰岛语和乌克兰语字形混合到特定的基于 KOMA-Script 的类别中(komacv
结合komacv-multilang
)。
以下 MWE(使用)的结果scrlttr2
说明了我遇到的问题。
\ifdefined\directlua\else
\errmessage{LuaTeX is required to typeset this document}
\csname @@end\expandafter\endcsname
\fi
\documentclass[11pt,a4paper]{scrlttr2}
\usepackage[ukrainian,icelandic,german,english]{babel}
\usepackage{lmodern}
\newcommand{\UKR}[1]{\foreignlanguage{ukrainian}{#1}}
\newcommand{\ISL}[1]{\foreignlanguage{icelandic}{#1}}
\newcommand{\DEU}[1]{\foreignlanguage{german}{#1}}
\begin{document}
\begin{letter}{Troll family\\\ISL{Elliðaárdalur}\\\ISL{999 Reykjavík}\\ICELAND}
\setkomavar{fromname}{\UKR{Николай Васильевич Гоголь} (Gogol)}
\setkomavar{fromaddress}{\UKR{Вулиця Богдана Хмельницького 123\\01234 Київ\\Україна}}
\opening{Folks,}
do you know the current address of the \ISL{Jólasveinar} and/or their parents \ISL{Grýla} and \ISL{Leppalúði}?
\closing{\ISL{Með kveðju,}}
\ps{PS: feel free to send your return return to the following address instead:\\\DEU{Mäxchen Mustermann\\Musterstraße 123\\12345 Musterstadt\\GERMANY}}
\end{letter}
\end{document}
如下所示:
如您所见,没有显示任何西里尔字符,这让我认为所选字体不提供这些字符或类似字符。不过,冰岛语 (ð、á、ó、í) 和德语 (ä、ß) 字符均能正常显示。
如果我分别替换\usepackage{lmodern}
为\usepackage{biolinum}
或\usepackage{libertine}
,它也可以起作用,但它不是我想要使用的字体系列(\usepackage{libertineRoman}
尽管非常接近)。
问:我需要做什么才能在使用时在同一个 LaTeX 文档中混合这些语言和这些语言的字形路特克斯使用拉丁现代字体系列吗?
注意:我在 Linux Mint 上使用 TexLive。另外,我认为我的使用\foreignlanguage
并非引发此问题的必要条件。
答案1
该lmodern
包不应与 XeLaTeX 或 LuaLaTeX 一起使用。
此外,对冰岛语的支持babel
尚未更新以使用 TU 编码。此外,拉丁现代字体不支持西里尔文。
fontspec
这里与和相同polyglossia
,使用 CMU 字体(Computer Modern 的 Unicode 克隆)。
\documentclass[11pt,a4paper]{scrlttr2}
\usepackage{polyglossia}
\usepackage{fontspec}
\setmainfont{CMU Serif}
\setsansfont{CMU SansSerif}
\setmainlanguage{english}
\setotherlanguages{ukrainian,icelandic,german}
\newcommand{\UKR}[1]{\foreignlanguage{ukrainian}{#1}}
\newcommand{\ISL}[1]{\foreignlanguage{icelandic}{#1}}
\newcommand{\DEU}[1]{\foreignlanguage{german}{#1}}
\begin{document}
\begin{letter}{Troll family\\\ISL{Elliðaárdalur}\\\ISL{999 Reykjavík}\\ICELAND}
\setkomavar{fromname}{\UKR{Николай Васильевич Гоголь} (Gogol)}
\setkomavar{fromaddress}{\UKR{Вулиця Богдана Хмельницького 123\\01234 Київ\\Україна}}
\opening{Folks,}
do you know the current address of the \ISL{Jólasveinar} and/or their
parents \ISL{Grýla} and \ISL{Leppalúði}?
\closing{\ISL{Með kveðju,}}
\ps{PS: feel free to send your return return to the following
address instead:\\
\DEU{Mäxchen Mustermann\\Musterstraße 123\\12345 Musterstadt\\GERMANY}}
\end{letter}
\end{document}