下面的代码
\documentclass[varwidth, margin = 1cm]{standalone}
\begin{document}
apostrophe '\\
apostrophe as a Unicode character 2032 `^^^^2032\\ %requires xelatex
apostrophe in math mode $'$
\end{document}
给出结果
正如人们所见,自由形式的撇号、作为 Unicode 字符的撇号2032
以及在数学模式下的撇号的出现方式不同。
怎样才能在自由文本中生成类似于数学模式的撇号,而无需使用进入数学模式的尴尬步骤?
答案1
如果你想使用pdflatex
:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{newunicodechar}
\newcommand{\textprime}{\ensuremath{'}}
\newunicodechar{′}{\textprime}
\begin{document}
Arnol′d
$f'(x)$
\end{document}
不要′
在数学模式下使用,除非它是用于单个素数。
对于 XeLaTeX 或 LuaLaTeX:
\documentclass{article}
\usepackage{fontspec}
\usepackage{newunicodechar}
\setmainfont{Libertinus Serif}
\newcommand{\safeprime}{\ensuremath{'}}
\newunicodechar{′}{%
\iffontchar\font`′′\else\safeprime\fi
}
\begin{document}
Arnol′d
\end{document}
\newunicodechar
如果字体没有与 U+2032 PRIME 相对应的字形,则使用是一种安全措施。