在数学模式下实现制表需要多少工作?

在数学模式下实现制表需要多少工作?

恢复http://tex.stackexchange.com/questions/60272在数学模式(内联或显示)中实现制表符有多难?例如,我们有时想输入

\documentclass{article}\pagestyle{empty}
\usepackage{mathtools}\mathtoolsset{mathic=true}
\begin{document}
\begin{mathtabbing}
f( \= 1 + g( \=\kill
f( \> 1 + g( \> 2 \,+\\
\>\> 3),\\
\>4 + 5 + 6 + 7)
\end{mathtabbing}
\end{document}

并得到

输出

(大概是在序言中添加 mathtabbing 环境)。

是的,当然我们希望有更多的特殊命令,至少有\=\>\'和 \` 。参见http://www.emerson.emory.edu/services/latex/latex2e/latex2e_61.html

解决方案中存在的问题http://tex.stackexchange.com/questions/60272是对于多行公式,它们都需要大量的排版工作,要么是一堆\hphantoms \mathrlap,要么tabbing是一堆数学模式转义符。有\>会更舒服。

答案1

\documentclass{article}\pagestyle{empty}
\usepackage{mathtools}\mathtoolsset{mathic=true}
\begin{document}

{\makeatletter
\def\color@setgroup{\begingroup\set@color}
\def\color@begingroup{\begingroup$\displaystyle}
\def\color@endgroup{\ifmmode$\fi\endgraf\endgroup}
\def\color@hbox{\hbox\bgroup\color@begingroup}
\def\color@vbox{\vbox\bgroup\color@begingroup}
\def\color@endbox{\color@endgroup\egroup}

\begin{tabbing}
f( \= 1 + g( \=\kill
f( \> 1 + g( \> 2 \,+\\
\>\> 3),\\
\>4 + 5 + 6 + 7)
\end{tabbing}
}
\end{document}

相关内容