如何将公式缩进到跨多个页面的不同制表符位置?

如何将公式缩进到跨多个页面的不同制表符位置?

我对 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*,并且所有\quadand\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}

相关内容