この質問から新しいパッケージが生まれました:
conteq
私は複数の方程式や不等式の連鎖とオプションの説明を含む論文を書いています。方程式の大きさに応じて、次のいずれかを使用します。
\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}
これは見た目は良いですが、切り替えが不便です。そこで、次の形式の入力に対して適切な出力を生成する3eqchains
つの環境を用意したいと思います。eqchainm
eqchainl
\begin{eqchain?}
lhs1 &= rhs1 & expl1 \\
\le rhs2 \\
= rhs3 & expl3
\end{eqchain?}
(もちろん、 は他の記号でも構いません) 。&
説明のスタイルをマクロを再定義して変更できる場合は、ボーナスポイントが付きます。例:\newcommand{\eqchainexpl}[1]{\text{\{ \textit{#1} \}}
eqchain
そして、もしそれが可能であれば、次のヒューリスティックを使用して適切な環境を自動的に選択する環境が欲しいです: lhs1 と最大の rhs を合わせた値が の ⅔ より小さい場合は、\linewith
を使用します。lhs1eqchains
と最大の rhs が より小さい場合は、\linewidth
を使用しますeqchainm
。それ以外の場合は を使用しますeqchainl
。最後に、説明が に設定され、\parbox
長い説明が折り返されて数式コンテンツの水平方向の配置に影響を与えない場合は、ボーナスポイントになります。
答え1
既存のパッケージではこの機能を提供できなかったようなので、自分で作ってみました。conteq
パッケージレイアウトの自動選択は(まだ)行われませんが、いくつかのレイアウトが提供されており、新しいレイアウトを簡単に追加できます。