我对 Latex 还很陌生,想记录一长串数学变换。我想缩进某个公式,这样整个过程看起来就像在编码中用 DO/FOR 循环一样。
在 Word 中,我会定义一组制表符,然后缩进公式。但我无法让它在 Latex 中工作。结果应该是这样的:
Formula 1
Formula 2
<=> Modified Formula 2, maybe a text comment
<=> Modified Formula 1
Formula 3
Formula 4
Formula 5
<=> Modified Formula 3
我尝试了以下代码:
%&latex
\documentclass[12pt,fleqn]{scrreprt}
\usepackage[latin1]{inputenc}
\usepackage[german]{babel}
\usepackage{amsmath}
\usepackage{nccmath}
\usepackage{tabto}
\TabPositions{1.0cm, 3.0cm, 5.0cm, 7.0cm}
\newcommand\tapp[1][1cm]{\hspace*{#1}}
\begin{document}
% Normal Text can be indented.
\tab 1.Tab\tab 2.Tab \tab 3.Tab \tab 4. Tab
% Formula can not be indented.
\begin{equation}
\tab \tab h_1 + \frac {c_1^2}{2} = h_{2s} + \frac {c_{2s}^2}{2}
\end{equation}
% Same exercise using selfdefined "tapp". Gives relative space.
A \tapp b c d
Alpha \tapp b c d
% Try with "tabto". That doesn't work within equations.
\begin{equation}
\tabto{3.5cm} h_1 + \frac {c_1^2}{2} = h_{2s} + \frac {c_{2s}^2}{2}
\end{equation}
\begin{equation}
\tabto{0.5cm} \Leftrightarrow
\tabto{3.4cm} c_{2s}^2 = 2 \cdot (h_1 - h_{2s}) + c_1^2
\end{equation}
\begin{equation}
h_1 - h_{2s} = -w_{t,12s}
\text{ ,Some text added behind formula as a comment}
\end{equation}
\begin{equation}
\Leftrightarrow
h_1 - h_{2s} = -\frac{\kappa R T }{\kappa - 1}
\left[ \left( \frac{p_2}{p_1} \right) ^ \frac{\kappa-1}{\kappa} - 1 \right]
\end{equation}
\end{document}
我希望有人有一个可行的想法。
%%
我不确定是否应该在这里输入下一个文本。我使用你的代码来获取
%
\documentclass[fleqn]{scrreprt}
\usepackage{amsmath} % for "align*2 and "aligned" environments
\usepackage{showframe}
\begin{document}
\begin{align*}
&\ h_1 + \frac {c_1^2}{2} = h_{2s} + \frac {c_{2s}^2}{2} \\
\Leftrightarrow{}
&\ c_{2s}^2 = 2 \cdot (h_1 - h_{2s}) + c_1^2 \\
&\quad
\begin{aligned}
&\ h_1 - h_{2s} = -w_{t,12s} \\
\Leftrightarrow{}
&\ h_1 - h_{2s} = \frac{\kappa R T }{\kappa - 1}
\left[ \left( \frac{p_2}{p_1} \right) ^
\frac{\kappa-1}{\kappa} - 1 \right]\\
\end{aligned} \\
\Leftrightarrow{}
&\ c_{2s}^2 = 2 \cdot \frac{\kappa}{\kappa - 1}
p_1 v_1 \left[ \left( \frac{p_2}{p_1} \right) ^
\frac{\kappa-1}{\kappa} - 1 \right] + c_1^2\\
&\quad
\begin{aligned}
&\ c_1 = 0 \text{ , assumption: } c_1 <<c_{2s} \\
\end{aligned}
\end{align*}
\end{document}
最后一行的 c_1 应该与第三行的 h_1 对齐。
可以看出,代码现在已经变得相当混乱了。由于这种情况会持续一段时间,如果有不同的解决方案,那将会很有趣。
答案1
Tab 键是文本模式操作。对于显示的方程式,我建议您使用aligned
嵌套在align*
环境中的环境。
如果\qquad
产生的压痕太多不符合您的口味,请考虑使用\quad
。
\documentclass{scrreprt}
\usepackage{amsmath}
\begin{document}
\begin{align*}
&\text{Formula 1}\\
&\qquad
\begin{aligned}
&\text{Formula 2} \\
\Leftrightarrow{}
&\text{Modified Formula 2}
\end{aligned} \\
\Leftrightarrow{}
&\text{Modified Formula 1}\\
&\qquad
\begin{aligned}
&\text{Formula 3}\\
&\qquad
\begin{aligned}
&\text{Formula 4} \\
&\text{Formula 5}
\end{aligned} \\
\Leftrightarrow{}
&\text{Modified Formula 3}
\end{aligned}
\end{align*}
\end{document}
附录回应 OP 的后续评论:您发布的第二个(“真实”?)公式在结构上与第一个公式非常不同。我会使用以下代码来排版它。请注意,新解决方案使用aligned[t]
环境而不是环境aligned
内的环境align*
,并且所有\quad
and\qquad
语句都消失了。
\documentclass[fleqn]{scrreprt}
\usepackage{amsmath,amssymb} % "amssymb" for "\ll" macro
\begin{document}
\begin{align*}
&h_1 + \frac {c_1^2}{2} = h_{2s} + \frac {c_{2s}^2}{2} \\
\Leftrightarrow{}
&c_{2s}^2
\begin{aligned}[t]
={} &2 (h_1 - h_{2s}) + c_1^2 \\
&h_1 - h_{2s} = -w_{t,12s} \\
\Leftrightarrow{}
&h_1 - h_{2s} = \frac{\kappa R T }{\kappa - 1}
\biggl[ \biggl( \frac{p_2}{p_1} \biggr) ^
{\!\!(\kappa-1)/\kappa} \!- 1 \biggr]
\end{aligned} \\
\Leftrightarrow{}
&c_{2s}^2
\begin{aligned}[t]
={} &2 \frac{\kappa}{\kappa - 1}
p_1 v_1 \biggl[ \biggl( \frac{p_2}{p_1} \biggr) ^
{\!\!(\kappa-1)/\kappa} \!- 1 \biggr] + c_1^2\\
&c_1 = 0 \text{ ; assumption: $c_1 \ll c_{2s}$}
\end{aligned}
\end{align*}
\end{document}