当结合收集和对齐时,方程的编号会产生过满的水平盒子

当结合收集和对齐时,方程的编号会产生过满的水平盒子

我有以下代码来解释我使用的公式中的变量。

\documentclass[11pt,pointlessnumbers,a4paper,oneside,fleqn,headsepline,
parskip=half]{scrartcl} 
%
\usepackage{mathtools}  
\usepackage{lmodern} 
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage{amsmath,amstext,amssymb}
\usepackage{blindtext}

\newcommand{\diff}{\mathop{}\!\mathrm{d}}
\newcommand{\indb}[2]{{#1}_{\text{#2}}}

\begin{document}

\begin{gather*}
\begin{flalign*}
\indb{T}{N} &= b\cdot\int\nolimits_z E\cdot\indb{\alpha}{T}\cdot \theta(z) \, \diff z & \indb{\varepsilon}{N}&= \frac{\indb{T}{N}}{EA}&\\
\indb{T}{My} &= b\cdot\int\nolimits_z \indb{z}{s}\cdot E\cdot\indb{\alpha}{T}\cdot \theta(z)\, \diff z & \indb{\kappa}{y}&= \frac{\indb{T}{My}}{E\indb{I}{y}}
\end{flalign*}\\
\text{\scriptsize Anm.: obige Ausführungen gelten für einen sym. Querschnitt mit sym. Belastung um die $y$-Achse } \\
\quad\begin{matrix*}[l]
   \text{mit:} &\hspace{1.5cm}&&\\
   & \indb{T}{N}& \text{\dots} & \text{äquivalente thermische Normalkraft} \\
\end{matrix*}\notag
\end{gather*}
\blindtext
\end{document}

现在,当我将两个方程的编号更改flalign*为数字时flalign,编号会错位,并且会收到警告Overfull \hbox。我真的不知道是什么原因造成的。有人知道吗?

答案1

您的另一种方法是使用alignat环境(我承认,从现在起,我更新地看到了您的数学环境组合:外部没有编号,内部有编号,在我看来,这违背了它们的逻辑):

\documentclass[11pt,pointlessnumbers,a4paper,oneside,
               fleqn,headsepline,parskip=half]{scrartcl}
%
\usepackage{mathtools}
\usepackage{amstext,amssymb}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{blindtext}

\newcommand{\diff}{\mathop{}\!\mathrm{d}}
\newcommand{\indb}[2]{{#1}_{\text{#2}}}

    \begin{document}
\begin{alignat}{3}
\indb{T}{N}  & = b\cdot\int\nolimits_z E\cdot\indb{\alpha}{T}\cdot\theta(z)\diff z 
&
     \indb{\varepsilon}{N}&= \frac{\indb{T}{N}}{EA}   \\
%
\indb{T}{My} & = b\cdot\int\nolimits_z \indb{z}{s}\cdot E\cdot\indb{\alpha}{T}\cdot \theta(z)\,\diff z 
        &
\indb{\kappa}{y} & = \frac{\indb{T}{My}}{E\indb{I}{y}}
%
\intertext{\scriptsize Anm.: 
    obige Ausführungen gelten für einen sym. Querschnitt mit sym. 
    Belastung um die $y$-Achse}
\text{mit:}     &   \qquad\indb{T}{N} 
                    \quad\dots\quad
\text{äquivalente thermische Normalkraft}
                &&  \notag
\end{alignat}
\blindtext
    \end{document}

这使:

在此处输入图片描述

编辑:问题中的 MWE的意图似乎matrix是设计一个图例来描述方程 (1) 和 (2) 中的符号。在我看来,最好在外部align环境中这样做。考虑到这一点,可能的解决方案可以是:

\documentclass[11pt,pointlessnumbers,a4paper,oneside,
               fleqn,headsepline,parskip=half]{scrartcl}
%
\usepackage{mathtools}
\usepackage{amstext,amssymb}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{blindtext}

\usepackage{array}% new, for table with legend

\newcommand{\diff}{\mathop{}\!\mathrm{d}}
\newcommand{\indb}[2]{{#1}_{\text{#2}}}

    \begin{document}
\begin{align}%{3}
\indb{T}{N}  & = b\cdot\int\nolimits_z E\cdot\indb{\alpha}{T}\cdot\theta(z)\diff z
&
     \indb{\varepsilon}{N}&= \frac{\indb{T}{N}}{EA}   \\
%
\indb{T}{My} & = b\cdot\int\nolimits_z \indb{z}{s}\cdot E\cdot\indb{\alpha}{T}\cdot \theta(z)\,\diff z
        &
\indb{\kappa}{y} & = \frac{\indb{T}{My}}{E\indb{I}{y}}
\end{align}
%
{\scriptsize Anm.:
    obige Ausführungen gelten für einen sym. Querschnitt mit sym.
    Belastung um die $y$-Achse}
% added tabular for forms the legend
\begin{center}
    \begin{tabular}{l >{$\displaystyle}c<{$} p{0.7\textwidth}}
 mit:   &\indb{T}{N}    & äquivalente thermische Normalkraft    \\
        &\indb{T}{My}   & \dots
    \end{tabular}
\end{center}
\blindtext
    \end{document}

在上面的 MWE 中,我还将注释移出对齐环境。我还用 替换了alignatalign得到的结果是:

在此处输入图片描述

答案2

你想要实现的功能不是很清楚,但flalign不应该嵌套。我建议使用这个代码,它没有overfull \hbox。它接近你想要实现的功能吗?

\documentclass[11pt,a4paper,oneside,fleqn,headsepline,
parskip=half]{scrartcl}%pointlessnumbers,
%
\usepackage{mathtools}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amstext,amssymb}
\usepackage{blindtext}
\usepackage{showframe}
\newcommand{\diff}{\mathop{}\!\mathrm{d}}
\newcommand{\indb}[2]{{#1}_{\text{#2}}}

\begin{document}

\begin{align*}
  \indb{T}{N} & = b\cdot\int\nolimits_z E\cdot\indb{\alpha}{T}\cdot \theta(z) \, \diff z & & & \indb{\varepsilon}{N} & = \frac{\indb{T}{N}}{EA} \\
  \indb{T}{My} & = b\cdot\int\nolimits_z \indb{z}{s}\cdot E\cdot\indb{\alpha}{T}\cdot \theta(z)\, \diff z & & & \indb{\kappa}{y} & = \frac{\indb{T}{My}}{E\indb{I}{y}} \\
  \shortintertext{\scriptsize Anm.: obige Ausführungen gelten für einen sym. Querschnitt mit sym. Belastung um die $y$-Achse }%
  & \mathrlap{\begin{matrix*}[l]
  \text{mit:} &\hspace{1.5cm}&&\\
  & \indb{T}{N}& \text{\dots} & \text{äquivalente thermische Normalkraft} \\
  \end{matrix*}}
\end{align*}
\blindtext

\end{document} 

在此处输入图片描述

相关内容