Usando inférula interior alineada

Usando inférula interior alineada

Estoy escribiendo una regla de deducción y quiero dividir una fórmula larga en varias líneas. Estoy usando inferrulela macro del mathpartirpaquete para escribir la regla de deducción. Y mi fórmula es como

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

Pero la fórmula real es más larga, así que quiero dividirla en varias líneas y estoy usando alignedel entorno.

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

Entonces la compilación falla. Supongo que el problema es que inferruleredefinido \\también alignedfunciona. ¿Cómo puedo hacerlo funcionar?

Respuesta1

Nunca había oído hablar de mathpartirello antes, así que no puedo decir exactamente qué está pasando aquí. Lo único de lo que estoy seguro es que no tiene nada que ver amsmath(que en realidad fue mi primera suposición), porque también el fragmento

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

falla. Supongo que tiene que ver con cómo \inferrulebusca y procesa sus argumentos. En este momento no tengo tiempo para revisar su código, pero en muchos casos similares ayuda a "proteger" el entorno interno encerrándolo entre llaves. En tu caso el código

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

corre sin problemas. Tenga en cuenta que esto $$debe evitarse en LaTeX, consulte¿Por qué es \[ … \]preferible $$ … $$?.

información relacionada