我在用着SIAM 的样式表(siamart.cls),并且样式表似乎没有正确地将波兰语大写ł
为Ł
。
\documentclass{siamart}
\usepackage[utf8]{inputenc}
\title{Title Łitłe}
\author{Authør Łauthør Thorłør}
\begin{document}
\maketitle
\end{document}
它正确地将 大写ø
为Ø
。我也尝试过使用 '\l' 和 '\L'。
问题: 这个错误是我这边的,还是样式表那边的?
答案1
问题出在类文件中,它使用\uppercase
大小写转换而不是\MakeUppercase
。修复方法:
\makeatletter
\def\@ucnt#1\thanks{\MakeUppercase{#1}\futurelet\@tempa\@ucnta}
\makeatother
这里的区别在于,它\uppercase
是一个 TeX 原语,并且只能更改引擎的“本机”输入,而\MakeUppercase
设置为处理一系列额外的基于宏的条目,包括\l
。
答案2
仅设置输入编码是不够的。为了正确使用大写字母,您还必须设置 TeX 的内部编码(在传统 TeX 和 LaTeX 中与字体编码相同),方法是选择
\usepackage[T1]{fontenc}