amsmath 中的 \operatorname:波兰变音字母“ł”和“Ł”未呈现

amsmath 中的 \operatorname:波兰变音字母“ł”和“Ł”未呈现

我试图使用数学运算符(通过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} 

在此处输入图片描述

相关内容