
Ich schreibe eine Deduktionsregel und möchte eine lange Formel in mehrere Zeilen aufteilen. Ich verwende inferrule
ein Makro aus mathpartir
dem Paket, um die Deduktionsregel zu schreiben. Und meine Formel sieht so aus:
\documentclass{article}
\usepackage{mathpartir}
\begin{document}
$$
\inferrule*{
\psi(aaa)
}{
\psi(xxx\land yyy\land zzz)
}
$$
\end{document}
Aber die eigentliche Formel ist länger, deshalb möchte ich sie in mehrere Zeilen aufteilen und verwende aligned
die Umgebung.
\documentclass{article}
\usepackage{mathpartir}
\begin{document}
$$
\inferrule*{
\psi(aaa)
}{
\psi(\begin{aligned}xxx\\\land yyy\\\land zzz\end{aligned})
}
$$
\end{document}
Dann schlägt die Kompilierung fehl. Ich vermute, das Problem ist, dass neu inferrule
definiert funktioniert. Wie kann ich es zum Laufen bringen?\\
aligned
Antwort1
Ich habe noch nie davon gehört mathpartir
, also kann ich nicht genau sagen, was hier vor sich geht. Das Einzige, dessen ich mir sicher bin, ist, dass es nichts damit zu tun hat amsmath
(was eigentlich meine erste Vermutung war), denn auch der Snippet
% FAILS TOO
\newenvironment{foo}{}{}
\[
\inferrule*{
\psi(aaa)
}{
\psi(\begin{foo}xxx\\\land yyy\\\land zzz\end{foo})
}
\]
schlägt fehl. Ich vermute, es hat damit zu tun, wie \inferrule
nach seinen Argumenten gesucht und diese verarbeitet werden. Im Moment habe ich keine Zeit, den Code durchzugehen, aber in vielen ähnlichen Fällen hilft es, die innere Umgebung zu „schützen“, indem man sie in Klammern einschließt. In Ihrem Fall ist der Code
\documentclass{article}
\usepackage{amsmath,mathpartir}
\begin{document}
\[
\inferrule*{
\psi(aaa)
}{
\psi({\begin{aligned}xxx\\\land yyy\\\land zzz\end{aligned}})
}
\]
\end{document}
läuft ohne Probleme. Bitte beachten Sie, dass dies $$
in LaTeX vermieden werden sollte, sieheWarum ist \[ … \]
vorzuziehen $$ … $$
?.