如何使 \uppercase 适用于波兰语?

如何使 \uppercase 适用于波兰语?

我正在尝试处理\uppercase用波兰语编写的文档。但是它无法正确处理所有字母:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[polish]{babel}
\usepackage{polski}
\begin{document}

Test:
\\
dość gróźb fuzją, klnę, pych i małżeństw
\\
\uppercase{dość gróźb fuzją, klnę, pych i małżeństw}

\end{document}

结果:

Test:
dość gróźb fuzją, klnę, pych i małżeństw
DOść GRÓŚB FUZJą, KLNę, PYCH I MAłŜEńSTW

如您所见,有些字母被忽略(例如ś),有些字母被正确大写(例如Ó),有些字母完全错误(例如ź -> Ś)。我尝试了babel/的不同组合polski,用 更新我的所有软件包tlmgr,但到目前为止没有任何帮助。

我正在使用 TeX Live 中的 pdflatex:

$ pdflatex -v
pdfTeX 3.14159265-2.6-1.40.18 (TeX Live 2017)
kpathsea version 6.2.3
Copyright 2017 Han The Thanh (pdfTeX) et al.
There is NO warranty.  Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Han The Thanh (pdfTeX) et al.
Compiled with libpng 1.6.29; using libpng 1.6.29
Compiled with zlib 1.2.11; using zlib 1.2.11
Compiled with xpdf version 3.04

答案1

您需要进行两项更改:

  • 在 LaTeX 文档中,使用\MakeUppercase,而不是\uppercase

  • 要排版 ogonek 重音符号,必须启用T1字体编码。因此,运行\usepackage[T1]{fontenc}

如果由于某种原因您无法切换到使用\MakeUppercase,我建议您使用textcase选项 加载包overload。这样做会修改 的行为\uppercase,使其表现得像\MakeUppercase

polski另外,如果babel使用选项加载包,是否有必要(甚至是建议)加载包polish?我猜这取决于您是否真的需要OT4字体编码。

并且,为了获得真正精心绘制的口音,请考虑加载lmodern包。

在此处输入图片描述

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage[polish]{babel}
%%\usepackage{polski}

\begin{document}
\obeylines % just for this example
Test:
dość gróźb fuzją, klnę, pych i małżeństw
\MakeUppercase{dość gróźb fuzją, klnę, pych i małżeństw}
\end{document}

相关内容