喂食
\documentclass{article}
\pagestyle{empty}
\usepackage{amsmath}
\usepackage{mathpartir}% version 1.3.2 or 1.4.0
\begin{document}
\begin{gather*}
\inferrule*[left=M,right=M]{premises}{conclusion}\\
\textsc{\small M}\mskip5mu\frac{premises}{conclusion}\mskip5mu{\textsc{\small M}}
\end{gather*}
\end{document}
产量pdflatex
如您所见,第二条推理规则相对于第一条略微向右移动。因此,其中一条规则肯定没有居中,而我的直觉是\inferrule*
mathpartir 是罪魁祸首。这是真的吗?还是说 mathpartir 有gather*
问题\frac
?有任何修复或解决方法吗?已通知 mathpartir 的维护者。
答案1
\inferrule
通过摆弄代码,据我所知,这似乎是由于在宏内部带星号的版本末尾添加了虚假空格造成的\mpr@inferstar@
。
看起来您可以使用该xpatch
包修补该命令,如下所示:
\documentclass{article}
\pagestyle{empty}
\usepackage{amsmath}
\usepackage{mathpartir}% version 1.3.2 or 1.4.0
\usepackage{xpatch}
\makeatletter
\xpatchcmd{\mpr@inferstar@}{\mpr@vdots$ }{\mpr@vdots$}{}{}
\makeatother
\begin{document}
\begin{gather*}
\inferrule*[left=M,right=M]{premises}{conclusion}\\
\textsc{\small M}\mskip5mu\frac{premises}{conclusion}\mskip5mu{\textsc{\small M}}
\end{gather*}
\end{document}