我有以下测试用例:
\documentclass[12pt]{article}
\usepackage{amsmath}
\begin{document}
\section{Test}
\paragraph{Group A:}
\begin{align*}
E &= mc^2\\
E &= \hbar\omega
\intertext{\paragraph{Group B:}}
F &= ma\\
F &= mv\frac{dv}{dx}
\end{align*}
\end{document}
我希望这会产生段落标题“Group A:”,后跟两个能量表达式,后跟段落标题“Group B:”,后跟两个力表达式。当我使用两个align*
块而不是intertext
时,这有效,但在我的实际文档中(其中方程式更复杂),方程式显然没有在块之间对齐。
\paragraph
如果我从中删除\intertext
,那么我就会得到预期的结果(但“组 B:”文本显然没有按照我想要的格式格式化)。
我从 TexMaker 获得的具体输出如下:
日志:
LOG FILE :
This is pdfTeX, Version 3.1415926-1.40.10 (MiKTeX 2.8) (preloaded format=pdflatex 2013.7.16) 16 JUL 2013 15:42
(etc)
输出:
1 次测试
A 组:
E = 质能²
E=hw
A 组:
F=ma
F = mv dv/dt
A 组:
...这显然不是我想要的!
解决方案(感谢egreg):
序幕:
\newcommand{\group}[1]{\noalign{\noindent\textbf{#1}}}
文档:
E &= mc^2\\
E &= \hbar\omega\\
\group{Group B:}\\
F &= ma\\
F &= mv\frac{dv}{dx}
答案1
该\paragraph
宏不是用于设置粗体内容的通用宏。它是一个分段命令,在层次结构中
\section
\subsection
\subsubsection
\paragraph
\subparagraph
在您的情况下,我会为这种辅助标题定义一个特殊的宏。
\documentclass[12pt]{article}
\usepackage{amsmath,mathtools}
\newcommand{\group}[1]{%
\par\noindent\textbf{Group #1:}
}
\begin{document}
\section{Test}
\group{A}
\begin{align*}
E &= mc^2\\
E &= \hbar\omega
\shortintertext{\group{B}}
F &= ma\\
F &= mv\frac{dv}{dx}
\end{align*}
\end{document}
这样,文件中就没有格式化指令了,而\group
宏代表了抽象的二级标题的一个实例;您只需根据定义进行操作就可以修改外观。
为了获得更好的结果,应使用\shortintertext
from mathtools
,因为它提供的间距不如 产生的间距那么大\intertext
。