我体验到使用该命令\everydisplay{\setstretch{1.2}}
会一次性删除整个文档(书籍样式)的空白。我使用 xelatex 包输入波斯语。我的问题是,虽然在序言中包含上述命令后,我的所有数字都以波斯语显示,但 display-math 环境\[ ... \]
和 inline-math$ ... $
设置中的数字表现不同。如何解决这个问题,即如何强制内部数字
\[ ... \]
表现得像 inline-math 设置中的数字$ ... $
?
以下示例中使用的字体Yas
可以轻松下载。
\documentclass[a4paper,11pt]{article}
\usepackage{setspace}
\usepackage{xepersian}
\settextfont[Scale=1]{Yas}
\setdigitfont[Scale=1.1]{Yas}
\everydisplay{\setstretch{1.2}}
\begin{document}
\[P(X<2)=\lim _{x\to 2^{-}}F_{X}(x)=0.53.\]
\centering
$P(X<2)=\lim _{x\to 2^{-}}F_{X}(x)=0.53.$
\end{document}
答案1
\setstretch
调用\normalsize
并当你调用它时\everydisplay
它会生成警告(实际上是错误)
LaTeX Font Warning: Command \normalsize invalid in math mode on input line 8.
目前尚不清楚
\everydisplay{\setstretch{1.2}}
但它没有做任何有用的事情,并生成此警告。如果您删除它,警告就会消失。
我没有字体,但我用了 Arial,结果
其中显示和内联数学中的数字似乎相同(但我看不懂脚本所以我不能确定它们是否正确)
通过字体大小设置,字体大小命令在数学模式中产生了不良影响并撤消了 xepersian 数学设置的部分,但由于这确实是一种错误情况,因此不能期待合理的 pdf。
答案2
我能想到两种立即的补救措施:
执行指令
\everydisplay{\setstretch{1.2}}
前而不是在加载xepersian
包之后。实际上,
\everydisplay{\setstretch{1.2}}
这并不完全正确;事实上,这是自找麻烦,因为它会破坏任何先前执行的影响属性的尝试\everydisplay
——包括包的一些尝试xepersian
。替换\everydisplay{\setstretch{1.2}}
为\everydisplay=\expandafter{\the\everydisplay\setstretch{1.2}}
并在加载包之前或之后
xepersian
(但在加载之后setspace
)运行这个较长的指令。
% !TEX TS-program = xelatex
\documentclass[a4paper,11pt]{article}
\usepackage{setspace}
\usepackage{xepersian}
\settextfont[Scale=1]{Yas}
\setdigitfont[Scale=1.1]{Yas}
\everydisplay=\expandafter{\the\everydisplay\setstretch{1.2}}
\begin{document}
\[P(X<2)=\lim _{x\to 2^{-}}F_{X}(x)=0.53.\]
\centering
$P(X<2)=\lim _{x\to 2^{-}}F_{X}(x)=0.53.$
\end{document}