Использование выровненного внутреннего наконечника

Использование выровненного внутреннего наконечника

Я пишу правило вывода и хочу разбить длинную формулу на несколько строк. Я использую inferruleмакрос из mathpartirпакета, чтобы написать правило вывода. И моя формула выглядит так

\documentclass{article}
\usepackage{mathpartir}
\begin{document}
$$
    \inferrule*{
        \psi(aaa)
    }{
        \psi(xxx\land yyy\land zzz)
    }
$$
\end{document}

Но настоящая формула длиннее, поэтому я хочу разбить ее на несколько строк и использую alignedenvironment.

\documentclass{article}
\usepackage{mathpartir}
\begin{document}
$$
    \inferrule*{
        \psi(aaa)
    }{
        \psi(\begin{aligned}xxx\\\land yyy\\\land zzz\end{aligned})
    }
$$
\end{document}

Тогда компиляция не удалась. Думаю, проблема в том, что inferruleпереопределено, \\так что alignedработает. Как заставить это работать?

решение1

Я никогда не слышал mathpartirраньше, поэтому не могу сказать точно, что здесь происходит. Единственное, в чем я уверен, это то, что это не имеет никакого отношения к amsmath(что было моей первой догадкой), потому что также фрагмент

% FAILS TOO
\newenvironment{foo}{}{}
\[
\inferrule*{
        \psi(aaa)
    }{
    \psi(\begin{foo}xxx\\\land yyy\\\land zzz\end{foo})
}
\]

не срабатывает. Я думаю, это связано с тем, как \inferruleищет и обрабатывает свои аргументы. Сейчас у меня нет времени разбираться в его коде, но во многих подобных случаях он помогает «защитить» внутреннюю среду, заключив ее в фигурные скобки. В вашем случае код

\documentclass{article}
\usepackage{amsmath,mathpartir}
\begin{document}
\[
    \inferrule*{
        \psi(aaa)
    }{
        \psi({\begin{aligned}xxx\\\land yyy\\\land zzz\end{aligned}})
    }
\]
\end{document}

работает без проблем. Обратите внимание, что этого $$следует избегать в LaTeX, см.Почему \[ … \]предпочтительнее $$ … $$?.

Связанный контент