Diese Frage führte zu einem neuen Paket:
conteq
Ich schreibe eine Arbeit mit mehreren Gleichungs- oder Ungleichungsketten, mit optionalen Erklärungen. Abhängig von der Größe der Gleichungen verwende ich eine von
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Short style:
\begin{align*}
lhs1 &= rhs1 && \text{expl1} \\
&\le rhs2 \\
&= rhs3 && \text{expl3}
\end{align*}
Medium style:
\begin{align*}
lhs1 &= rhs1 \\
&\phantom{{}={}} \text{expl1} \\
&\le rhs2 \\
&= rhs3 \\
&\phantom{{}={}} \text{expl3}
\end{align*}
Large style:
\begin{align*}
&\phantom{{}={}} lhs1\\
&= rhs1 \\
&\phantom{{}={}} \text{expl1} \\
&\le rhs2 \\
&= rhs3 \\
&\phantom{{}={}} \text{expl3}
\end{align*}
\end{document}
Das sieht zwar nett aus, aber es ist nicht bequem, zwischen ihnen zu wechseln. Ich hätte also gerne drei Umgebungen eqchains
, eqchainm
die eqchainl
bei einer Eingabe in dieser Form die entsprechende Ausgabe erzeugen:
\begin{eqchain?}
lhs1 &= rhs1 & expl1 \\
\le rhs2 \\
= rhs3 & expl3
\end{eqchain?}
(Natürlich &
kann das auch ein anderes Symbol sein.) Bonuspunkte gibt es, wenn die Darstellung der Erklärung durch Neudefinition eines Makros geändert werden kann, z. B. \newcommand{\eqchainexpl}[1]{\text{\{ \textit{#1} \}}
.
Und wenn das möglich wäre, hätte ich gerne eine Umgebung eqchain
, die automatisch die richtige Umgebung anhand der folgenden Heuristik auswählt: Wenn lhs1 und der größte rhs zusammen kleiner sind als ⅔ von \linewith
, verwenden Sie eqchains
. Wenn lhs1 und der größte rhs kleiner sind als \linewidth
, verwenden Sie eqchainm
. Andernfalls verwenden Sie eqchainl
. Letzte Bonuspunkte, wenn die Erklärung in einem festgelegt ist, \parbox
sodass lange Erklärungen umbrochen werden und die horizontale Positionierung des mathematischen Inhalts nicht beeinträchtigen.
Antwort1
Da es anscheinend kein vorhandenes Paket gab, das diese Funktion bieten konnte, habe ich es selbst getan und dasconteq
Paket. Eine automatische Layoutauswahl gibt es (noch) nicht, aber es werden einige Layouts bereitgestellt und es können problemlos neue hinzugefügt werden.