数学模式中的变音符号

数学模式中的变音符号

我尝试在数学模式中使用德语变音符号,但出现已知错误:LaTeX Warning: Command \" invalid in math mode on input line ##.

因此我想到两种可能的解决方案:

  1. 使用\text而不是\mathrm。但这不是正确的解决方案,因为此文本将根据周围的文本而更改,而我尝试写入的文本(“Empfänger”,德语单词“接收器”)应作为字段变量的上标出现。
  2. 将字母替换ä"a。但这会导致 LaTeX 无法识别 的连字

由于我正在使用该lmodern包,所以字母 ä 仍然显示,所以生成的 PDF 正是我所期望的。

对于这个仅仅是表面的问题,是否存在一些优雅而正确的解决方案?


我的代码如下:

\documentclass{scrartcl}
% Kodierung
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
% Sprache (neue deutsche Rechtschreibung)
\usepackage[ngerman]{babel}
% Mathematik
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}

\begin{document}

% reference
Empfänger

% creates warning but is correct
\begin{align}
    \mathrm{Empfänger}
\end{align}

% creates no warning but has no ligature
\begin{align}
    \mathrm{Empf"anger}
\end{align}

\end{document}

答案1

加载ams包时,您可以使用\textnormal

示例输出

\documentclass{scrartcl}
% Kodierung
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
% Sprache (neue deutsche Rechtschreibung)
\usepackage[ngerman]{babel}
% Mathematik
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}

\begin{document}

Test
\begin{align}
    \textnormal{Empf"anger}
\end{align}
test

\itshape Test
\begin{equation}
    \textnormal{Empf"anger}
\end{equation}
test

\end{document}

正如示例所示,这不受周围文本变化的影响。

答案2

在文本模式下,\"o会生成一个小写字母 O,上面有两个点。任何大写或小写字母,或者有趣的是,数字以及一些字符都可以变音。此字符序列在数学模式下不起作用。

在数学模式中(在 之间$ $)使用\ddot{o}。同样,您可以用任何字母、数字或某些字符替换上述字符串中的 o。

仅供参考,例如使用 Windows 的字符映射 alt+0246 不起作用。从 MSWord 中复制和粘贴也不起作用。我试过了,但无济于事。

答案3

\mathrm您不应该使用,而应该使用\text在数学环境中编写文本。这不会对变音符号造成任何问题。

答案4

也许不是最优雅的解决方案,但绝对是独立于包的,即定义一个新命令:

\newcommand{\aumlaut}{\text{\textit{\"a}}}

例如,如果您有inputencUTF-8您当然可以ä立即拥有。

相关内容