我有以下宏:
\newcommand{\INFERRULE}[3][]{%
\ensuremath{\inferrule{\mathstrut #2}{\mathstrut #3}\ifx\\#1\\\else\enskip(#1)\fi}}
我想让它敏感,\\
以便我可以编写如下命令:
\[
\INFERRULE[i \to j]{[i, i, j, k] \\ [i, k, j, j]}{[i, i, k, j]}
\]
但是,我定义宏的方式忽略了\\
。有办法修复它吗?
答案1
我不确定您是否仍然对答案感兴趣,但假设您的问题具有以下特点:
您正在使用
mathpartir
\inferrule
提供宏的包您希望拥有多线场所
这似乎很容易做到。mathpartir
文档说
可以通过添加空行来强制换行
\\\\
\inferrule {aa \\\\ bb} {dd \\ ee \\ ff}
由于您的\INFERRULE
只是一个环绕,因此\inferrule
您可以做同样的事情。这是一个工作示例:
\documentclass{article}
\usepackage{mathpartir}
\newcommand{\INFERRULE}[3][]{%
\ensuremath{\inferrule{\mathstrut #2}{\mathstrut #3}\ifx\\#1\\\else\enskip(#1)\fi}}
\begin{document}
\[
\INFERRULE[i \to j]
{[i, i, j, k] \\ [i, k, j, j]}
{[i, i, k, j]}
\]
\[
\INFERRULE[i \to j]
{[i, i, j, k] \\\\ [i, k, j, j]}
{[i, i, k, j]}
\]
\end{document}