我见过这里在定义文档上对象之间的垂直距离时使用加减字母X
以及字母的高度和深度。p
我的文档是希伯来语,我想计算一些希伯来语字母的长度。我尝试这样做
\newlength{\htX} \settoheight{\htX}{ל}
然后在文档中打印长度
\the\htX
但我得到的分数是 0.0pt。你知道为什么吗?
平均能量损失
\documentclass{book}
\usepackage{fontspec}
\newfontfamily\englishfont{Times New Roman}[Script=Latin,Language=English]
\newfontfamily\hebrewfont{Arial}[Script=Hebrew]
\setmathrm{Latin Modern Roman}
\newlength{\htX} \settoheight{\htX}{ל}
\newlength{\dtp} \settodepth{\dtp}{ן}
\usepackage{polyglossia}
\setdefaultlanguage{hebrew}
\setotherlanguage{english}
\begin{document}
\the\htX~\the\dtp
\end{document}
答案1
感谢 Jasper Habicht 和 Qrrbrbirlbel 的评论。可以使用AtBeginDocument
:
\documentclass{book}
\AtBeginDocument{%
\newlength{\htX} \settoheight{\htX}{\hebrewfont ל}%
\newlength{\dtp} \settodepth{\dtp}{\hebrewfont ן}%
}
\usepackage{fontspec}
\newfontfamily\englishfont{Times New Roman}[Script=Latin,Language=English]
\newfontfamily\hebrewfont{Arial}[Script=Hebrew]
\setmathrm{Latin Modern Roman}
\usepackage{polyglossia}
\setdefaultlanguage{hebrew}
\setotherlanguage{english}
\begin{document}
\the\htX~\the\dtp
\framebox[\dimexpr 0.25in+2\htX+6\dtp]{\strut}
\end{document}