我正在尝试在一段文字中使用英寸标记(双撇号);过去,我曾这样做过
4 $''$ \times 6 $''$
但出于某种原因,当该行是分项列表中的项目时,它不起作用。我现在正在试验 siunitx 包,但现在出现了一个新问题。这个 MOLMWE(或多或少最小工作示例)
\documentclass{article}
\usepackage{siunitx}
\usepackage[LY1]{fontenc}
\usepackage{fontspec}
\usepackage{xltxtra}
\setromanfont[Numbers=OldStyle]{Linux Libertine O}
\sisetup{detect-all = true}
\DeclareSIUnit[number-unit-product = {}]{\inchQ}{\prime\prime}
\begin{document}
\begin{itemize}
\item \SI{4 \times 6}{\inchQ} index cards
\end{itemize}
\end{document}
产生错误的结果;我想附加图片,但我没有足够的声誉来获得该权限。如果您仅从代码中就能发现问题,那么问题是什么?我该如何修复?
PS 至于 MOLMWE:我加入了可能无关的材料,因为我不确定它是否相关,所以决定谨慎行事。
答案1
我会在这里使用 UTF 字符,而不是\prime\prime
(最好使用siunitx
' 默认设置,{}^{\prime\prime}
无论如何''
)。这样,字形就会从与数字相同的字体中获取。
代码
\documentclass{article}
\usepackage{fontspec}
\usepackage{siunitx}
\setromanfont[Numbers=OldStyle]{Linux Libertine O}
\sisetup{
detect-all = true,
text-arcsecond=″,
text-arcminute=′,
math-arcsecond=″,
math-arcminute=′,
}
\DeclareSIUnit[number-unit-product={}]\inchQ{\SIUnitSymbolArcsecond}
\DeclareSIUnit[number-unit-product={}]\footQ{\SIUnitSymbolArcminute}
\begin{document}
\begin{itemize}
\item Arcseconds
\begin{itemize}
\item \SI{4 x 6}{\arcsecond}
\item $\SI{4 x 6}{\arcsecond}$
\end{itemize}
\item Inches
\begin{itemize}
\item \SI{4 x 6}{\inchQ}
\item $\SI{4 x 6}{\inchQ}$
\end{itemize}
\end{itemize}
\end{document}