数学方程式排版问题

数学方程式排版问题

我想要在下图中排版方程式。在此处输入图片描述

我在积分下对下划线文本 1、2、3 和 4 有疑问。我尝试了以下方法:

\begin{align}\label{fyz:eq_fey_null2}   
  \displaystyle\int(\nabla\times\vec{C})_n d\vec{S} &=
  \displaystyle\int\nabla\cdot(\nabla\times\vec{C}) dV.                   \\
  \shortintertext{\hspace{6.7cm}text 1   \hspace{1.5cm}text 3} 
  \shortintertext{\hspace{6.7cm}text 2   \hspace{1.9cm}text 4}  \nonumber \\
\end{align}

但这个解决方案并不好。使用 \hspace 会导致在更改公式时出现不可预测的行为,最坏的情况是页面格式,或者当公式在页面末尾时,它可能会中断。我使用 xelatex 和 amsmath 包。

答案1

我引入了在积分符号\stackint下方堆叠任意数量的层\displaystyle。无需将参数包装在\text宏中。底文的每一行都将相对于积分符号居中。

\documentclass{article}
\usepackage[usestackEOL]{stackengine}[2013-10-15]
\newcommand\stackint[1]{\tiny\Shortunderstack{{\normalsize$\displaystyle\int$} \\ #1}}
\begin{document}
\[
  \stackint{text 1\\text 2} (\vec{\nabla} \times \vec{C})_n \,\mathrm{d}\vec{S} = 
  \stackint{text 3\\text 4} \vec{\nabla} \cdot (\vec{\nabla} \times \vec{C}) \,\mathrm{d}V.
\]
\end{document}

在此处输入图片描述

为了不让底下的文字影响整体宽度,请在stackengine加载后的某个时间在序言中应用此行:

\def\useanchorwidth{T}

在此处输入图片描述

答案2

您可以使用\substack将项目堆叠在操作符下方:

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\newcommand{\limitint}{\mathop{\int}}
\begin{document}
\begin{align}
  \limitint_{\substack{\text{text 1}\\\text{text 2}}} (\vec{\nabla} \times \vec{C})_n \,\mathrm{d}\vec{S} &= 
    \limitint_{\substack{\text{text 3}\\\text{text 4}}} \vec{\nabla} \cdot (\vec{\nabla} \times \vec{C}) \,\mathrm{d}V.
\end{align}
\end{document}

根据您为text 1...编写的内容text 4,您可能需要使用mathtools'\mathclap以避免水平间距过大:

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools}% http://ctan.org/pkg/mathtools
\newcommand{\limitint}{\mathop{\int}}
\begin{document}
\begin{align}
  \limitint_{\mathclap{\substack{\text{text 1}\\\text{text 2}}}} (\vec{\nabla} \times \vec{C})_n \,\mathrm{d}\vec{S} &= 
    \limitint_{\mathclap{\substack{\text{text 3}\\\text{text 4}}}} \vec{\nabla} \cdot (\vec{\nabla} \times \vec{C}) \,\mathrm{d}V.
\end{align}
\end{document}

相关内容