
Estou escrevendo uma regra de dedução e quero dividir uma fórmula longa em várias linhas. Estou usando inferrule
a macro do mathpartir
pacote para escrever a regra de dedução. E minha fórmula é como
\documentclass{article}
\usepackage{mathpartir}
\begin{document}
$$
\inferrule*{
\psi(aaa)
}{
\psi(xxx\land yyy\land zzz)
}
$$
\end{document}
Mas a fórmula real é mais longa, então quero dividi-la em várias linhas e estou usando aligned
o ambiente.
\documentclass{article}
\usepackage{mathpartir}
\begin{document}
$$
\inferrule*{
\psi(aaa)
}{
\psi(\begin{aligned}xxx\\\land yyy\\\land zzz\end{aligned})
}
$$
\end{document}
Então a compilação falha. Acho que o problema é que inferrule
redefinido \\
também aligned
funciona. Como posso fazer isso funcionar?
Responder1
Nunca ouvi falar disso mathpartir
antes, então não posso dizer exatamente o que está acontecendo aqui. A única coisa que tenho certeza é que não tem nada a ver com amsmath
(o que foi meu primeiro palpite), porque também o trecho
% FAILS TOO
\newenvironment{foo}{}{}
\[
\inferrule*{
\psi(aaa)
}{
\psi(\begin{foo}xxx\\\land yyy\\\land zzz\end{foo})
}
\]
falha. Acho que tem a ver com a forma como \inferrule
procura e processa seus argumentos. No momento não tenho tempo de analisar seu código, mas em muitos casos semelhantes ele ajuda a "proteger" o ambiente interno colocando-o entre colchetes. No seu caso o código
\documentclass{article}
\usepackage{amsmath,mathpartir}
\begin{document}
\[
\inferrule*{
\psi(aaa)
}{
\psi({\begin{aligned}xxx\\\land yyy\\\land zzz\end{aligned}})
}
\]
\end{document}
funciona sem problemas. Observe que isso $$
deve ser evitado no LaTeX, consultePor que é \[ … \]
preferível $$ … $$
?.