我想使用数学模式,而无需编写使用变音符号的特殊命令。我正在使用 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}
对于搜索如何显示变音符号的人来说 - 这里有一个更好的问题。
答案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}