我从 \xrightarrow 命令中得到了一些奇怪的事情:该线是虚线。
这是我的main.tex
文件:
\documentclass[twoside,titlepage,paper=a4,fontsize=12pt,numbers=noenddot,cleardoublepage=empty,openright]{scrreprt}
\usepackage{polyglossia}
\setdefaultlanguage{french}
\usepackage{feynmp}
\usepackage{unicode-math}
\RequirePackage{amsmath}
\usepackage{slashed}
\usepackage{graphicx}
\DeclareGraphicsRule{*}{eps}{*}{}
\usepackage{newfloat}
\DeclareFloatingEnvironment[fileext=eqs,placement={tbp},name=Éq.]{eq}
\begin{document}
\begin{equation}
\parbox{30mm}{
\vspace{4.3mm}
\begin{fmffile}{self}
\begin{fmfgraph*}(100,75)
\fmfcmd{
vardef middir(expr p,ang) =
dir(angle direction length(p)/2 of p + ang)
enddef;
style_def arrow_right expr p =
shrink(.7);
cfill(arrow p
shifted (8thick*middir(p,-90)));
endshrink
enddef;}
\fmfset{curly_len}{2mm}
\fmfleft{i} \fmfright{o}
\fmf{quark,label=$p$}{i,v1} \fmf{quark,label=$p$}{v2,o}
\fmf{quark,tension=.3,label=$p+l$}{v1,v2}
\fmf{arrow_right,tension=.3}{v2,v1}
\fmf{gluon,left,tension=.1,label=$l$}{v1,v2}
\end{fmfgraph*}
\end{fmffile}
}
\qquad \xrightarrow[\: \varepsilon \to 0 \:]{}
\quad i \, \slashed{p} \, C_F\, \frac{g_C^2}{4\pi} \, \frac{1}{\varepsilon} + \dots
\end{equation}
\end{document}
为了编译,我运行:
latexmk -quiet -e '$pdflatex=q/xelatex %O %S/' -f -pdf -synctex=1 -jobname=Document -outdir=$PWD/Result $PWD/main.tex
cd Result/
mpost self.mp
cd ..
latexmk -quiet -e '$pdflatex=q/xelatex %O %S/' -f -pdf -synctex=1 -jobname=Document -outdir=$PWD/Result $PWD/main.tex
你知道我该如何解决这个问题吗?
非常感谢你的帮助 !
(编辑:)
以下是 MWE:
\documentclass{article}
\usepackage{unicode-math}
\RequirePackage{amsmath}
\begin{document}
\begin{equation}
\xrightarrow[\: \varepsilon \to 0 \:]{}
\end{equation}
\end{document}
答案1
\arrowfill@
在使用拉丁现代数学时,似乎所做的备份不够。以下是解决方法:
\documentclass{article}
\usepackage{ifxetex}
\usepackage{amsmath}
\usepackage{etoolbox}
\ifxetex
\usepackage{unicode-math}
\makeatletter
\patchcmd{\arrowfill@}{-7mu}{-14mu}{}{}
\patchcmd{\arrowfill@}{-7mu}{-14mu}{}{}
\patchcmd{\arrowfill@}{-2mu}{-4mu}{}{}
\patchcmd{\arrowfill@}{-2mu}{-4mu}{}{}
\makeatother
\fi
\begin{document}
\begin{gather}
\xrightarrow[\mspace{28mu}]{}\\
\xrightarrow[\mspace{30mu}]{}\\
\xrightarrow[\mspace{32mu}]{}\\
\xrightarrow[\mspace{34mu}]{}\\
\xrightarrow[\mspace{36mu}]{}\\
\xrightarrow[\mspace{38mu}]{}\\
\xrightarrow[\mspace{40mu}]{}\\
\xrightarrow[\mspace{42mu}]{}\\
\xrightarrow[\mspace{44mu}]{}\\
\xrightarrow[\mspace{46mu}]{}\\
\xrightarrow[\mspace{48mu}]{}\\
\xrightarrow[\mspace{50mu}]{}\\
\xrightarrow[\mspace{52mu}]{}\\
\xrightarrow[\mspace{54mu}]{}\\
\xrightarrow[\mspace{56mu}]{}\\
\xrightarrow[\mspace{58mu}]{}\\
\xrightarrow[\mspace{60mu}]{}\\
\xrightarrow[\mspace{62mu}]{}\\
\xrightarrow[\mspace{64mu}]{}\\
\xrightarrow[\mspace{66mu}]{}\\
\xrightarrow[\mspace{68mu}]{}\\
\xrightarrow[\mspace{70mu}]{}\\
\xrightarrow[\mspace{72mu}]{}\\
\xrightarrow[\mspace{74mu}]{}\\
\xrightarrow[\mspace{76mu}]{}\\
\xrightarrow[\mspace{78mu}]{}
\end{gather}
\end{document}
\patchcmd
如果注释掉这四行,则输出如下。
可以观察到第一部分和最后一部分有间隙,而中间部分彼此不重叠。终端部分的默认备份为 -7mu,中间部分的默认备份为 -2mu。
答案2
这与解释方式有关\:
。以下代码不存在同样的问题。
\documentclass{article}
\RequirePackage{amsmath}
\usepackage{unicode-math}
\begin{document}
\begin{equation}
\xrightarrow[\; \varepsilon \to 0 \;]{}
\end{equation}
\end{document}