LaTeX文档中如何为公式段落添加非目录标题与水平分隔线?
解决方案
可以通过自定义标题命令+水平线实现需求,具体操作如下:
- 定义一个不生成目录项的自定义标题命令,样式模仿GAMS代码标题(通常为加粗、简洁的文本样式)
- 使用水平线(
\hrule)分隔不同公式段落 - 将标题放在对应公式块的下方
修改后的完整LaTeX代码如下:
\documentclass{article} \usepackage[utf8]{inputenc} % 自定义GAMS风格标题命令:加粗文本,下方加水平线,不进入目录 \newcommand{\gamsheading}[1]{% \par\vspace{1em}% 上方留白 \textbf{#1}% 加粗标题 \par\vspace{0.5em}% 标题与水平线间距 \hrule% 水平分隔线 \vspace{1em}% 水平线与下方内容间距 } \begin{document} \section{Mathematical Formulation} \begin{equation} \operatorname{Max} F=\sum_{u,v \in V \mid u<v} \left(d_{uv} + d_{vu}\right) x_{uv} \end{equation} such that: \begin{equation} \sum_{l \in L_{u v}} y_{l} \geq x_{u v} \hspace{4em} u, v \in V \mid u<v \end{equation} \begin{equation} \sum_{l \in \tilde L_{i j}} y_{l} \geq 1 \hspace{5em} \ \lbrack i,j \rbrack \in E \end{equation} % 第一个公式块的标题+分隔线 \gamsheading{最大化路径总流量模型} \begin{equation} \operatorname{Min} F=\sum_{u \in V} \sum_{l \in L} \sum_{(i, j) \in \vec {E_{l}}} t_{l i j} x_{u l i j} \end{equation} \begin{equation} \sum_{l \in L} \sum_{(i, v) \in \vec{E}_{l}} x_{u l i v}-\sum_{l \in L} \sum_{(v, j) \in \vec{E}_{l}} x_{u l v j}=d_{u v} \hspace{4em} u,v \in V \mid u \ne v \end{equation} % 第二个公式块的标题+分隔线 \gamsheading{最小化节点运输时间模型} \end{document}
细节说明
\gamsheading命令:通过\textbf实现加粗效果,用\hrule生成水平分隔线,\vspace控制各元素间的留白,避免排版拥挤- 标题仅在公式下方显示,不会被
\tableofcontents收录 - 如果需要调整GAMS风格的细节(比如标题颜色、水平线厚度),可以修改命令内的参数:
- 例如调整水平线厚度:
\hrule height 1pt - 例如添加标题颜色:需引入
xcolor包,然后\textbf{\color{blue}#1}
- 例如调整水平线厚度:
内容的提问来源于stack exchange,提问作者Lau
相关产品推荐
相关产品推荐

