LuaLatex | 在数学模式下是否有变音符号(ÄÖÜ)的直接输入方法?

LuaLatex | 在数学模式下是否有变音符号(ÄÖÜ)的直接输入方法?

我想使用数学模式,而无需编写使用变音符号的特殊命令。我正在使用 LuaLatex 和 babel。

要获得良好的变音符号支持,需要什么?我确实知道如何在没有它的情况下工作。

\documentclass{article}
\usepackage[utf8]{luainputenc}
\usepackage[ngerman]{babel} 
\usepackage{fontspec}

\begin{document}
It would be nice to write just:
$Höhe > 1$

instead of: 
$H\ddot{o}he > 1$

textnormal and texit are getting the best output
$\textnormal{\textit{Höhe}} > 1$

\end{document}

enter image description here

对于搜索如何显示变音符号的人来说 - 这里有一个更好的问题

答案1

输入Höhe是错误的:在数学中,字母是单一实体,它们不能构成单词,因此Höhe与 相同H ö h e,是 4 个变量的乘积。

像您在示例中所做的那样使用\mathit或是\textnormal\textit一个很好的解决方案。如果您有很多这样的词,我建议定义一个语义命令:

\documentclass{article}

\usepackage[ngerman]{babel}
\usepackage{fontspec}
\newcommand\mathword[1]{\textnormal{\textit{#1}}}
\begin{document}

$\mathit{Höhe} > 1$

$\textnormal{\textit{Höhe}} > 1$

$\mathword{Höhe} > 1$
\end{document}

当使用 unicode-math 时,您必须重新映射 \mathit,因为默认定义不支持变音符号:

\documentclass{article}

\usepackage[ngerman]{babel}
\usepackage{fontspec}
\usepackage{unicode-math}
\setmathfontface\mathit{lmroman10italic}

\newcommand\mathword[1]{\textnormal{\textit{#1}}}
\begin{document}

$\mathit{Höhe} > 1$

$\textnormal{\textit{Höhe}} > 1$

$\mathword{Höhe} > 1$
\end{document}

enter image description here

答案2

\documentclass{article}
\usepackage{amsmath}
\usepackage[ngerman]{babel} 
\usepackage{fontspec}
\newcommand\textIT[1]{\text{\itshape#1}}    
\begin{document}
    It would be nice to write just:
    $\textIT{Höhe}^\textIT{Höhe} > 1$

\end{document}

enter image description here

顺便问一下:为什么使用luainputenc?UTF8 是默认输入编码。

相关内容