我试图使用数学运算符(通过amsmath
包),该运算符将使用波兰字母“ł”或“Ł”(直接定义为 UTF-8 字符或通过\l{}
,\L{}
命令定义)。不幸的是,这不起作用(下面的最小非工作示例),字母“ł”根本无法正确显示。
通过定义新的运算符\DeclareMathOperator
会产生同样的问题。
那么:如何使用/定义包含字母“ł”或“Ł”的数学运算符?
\documentclass{article}
\usepackage[T1]{fontenc}
\fontencoding{T1}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\begin{document}
This is what I like:
\L{}uk
\l{}uk
Łuk
Unfortunately, I see here only uk instead of łuk:
\[ \operatorname{\L{}uk}
\operatorname{\l{}uk}
\operatorname{Łuk}
\]
\end{document}
答案1
的参数\operatorname
使用 OT1 编码的“操作字体”排版,其中没有\L
可用的字符,只有纯 ASCII 字母。将其更改为 T1 编码将使使用希腊大写字母变得更加困难。
运行示例时,您会看到三个警告
LaTeX Warning: Command \L invalid in math mode
LaTeX Warning: Command \l invalid in math mode
LaTeX Warning: Command \L invalid in math mode
您可能想要定义一个新命令:
\newcommand{\textoperatorname}[1]{%
\operatorname{\textnormal{#1}}%
}
完整示例:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\newcommand{\textoperatorname}[1]{%
\operatorname{\textnormal{#1}}%
}
\begin{document}
This is what I like:
\L{}uk
\l{}uk
Łuk
\[
\textoperatorname{Łuk}
\textoperatorname{łuk}
\]
\end{document}
使用\l
或\L
代替ł
或Ł
并不重要。
答案2
如果你不受 的限制Latin Modern
, 就没有问题Fourier
,因为它用于T1-encoding
数学:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fourier, erewhon}
\usepackage{amsmath}
\DeclareMathOperator{\Luk}{Łuk}
\DeclareMathOperator{\luk}{łuk}
\begin{document}
This is what I like:
\L{}uk
\l{}uk
Łuk
Fortunately, with \emph{Fourier} I see here what I want:
\[ \operatorname{\L{}uk}\quad
\operatorname{\l{}uk}\quad
\operatorname{Łuk}\quad
\Luk\quad\luk
\]
\end{document}