You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在LaTeX的article文档类中使用report类的\part{}排版样式

解决方案

完全可以在article文档类中复刻report类的\part排版效果,常用有两种实现方案:

方案1:使用titlesec宏包快速配置(推荐)

无需修改底层定义,仅需在导言区加入以下代码即可实现完全一致的效果:

\usepackage{titlesec}
% 将part调整为顶层标题类
\titleclass{\part}{top}
% 配置part排版样式
\titleformat{\part}[display]
  {\normalfont\huge\bfseries\centering}
  {\partname~\thepart}
  {20pt}
  {\Huge}
% 配置part上下边距
\titlespacing*{\part}{0pt}{50pt}{40pt}

该配置复刻了report类\part的所有默认样式特征:标题居中、先显示大字号的「Part + 序号」、间隔20pt后显示更大字号的part标题,上下边距也和report类默认参数完全对齐。

方案2:无宏包依赖的原生定义复用

如果你不想额外引入第三方宏包,可以直接将report类中\part的原生定义复制到你的article文档导言区:

\makeatletter
\renewcommand\part{%
  \if@openright
    \cleardoublepage
  \else
    \clearpage
  \fi
  \thispagestyle{plain}%
  \if@twocolumn
    \onecolumn
    \@tempswatrue
  \else
    \@tempswafalse
  \fi
  \null\vfil
  \secdef\@part\@spart}
\def\@part[#1]#2{%
    \ifnum \c@secnumdepth >-2\relax
      \refstepcounter{part}%
      \addcontentsline{toc}{part}{\protect\numberline{\thepart}#1}%
    \else
      \addcontentsline{toc}{part}{#1}%
    \fi
    \markboth{}{}%
    {\centering
     \interlinepenalty \@M
     \normalfont
     \ifnum \c@secnumdepth >-2\relax
       \huge\bfseries \partname\nobreakspace\thepart
       \par
       \vskip 20\p@
     \fi
     \Huge \bfseries #2\par}%
    \@endpart}
\def\@spart#1{%
    \markboth{}{}%
    {\centering
     \interlinepenalty \@M
     \normalfont
     \Huge \bfseries #1\par}%
    \@endpart}
\def\@endpart{%
   \vfil\newpage
   \if@twoside
     \if@openright
       \null
       \thispagestyle{empty}%
       \newpage
     \fi
   \fi
   \if@tempswa
     \twocolumn
   \fi}
\makeatother

该方案完全复用report类的原生逻辑,包括默认分页规则、part页的plain页码样式、目录写入逻辑,和直接使用report类的\part效果没有任何差异。如果不需要\part默认分页,删除代码中\clearpage/\cleardoublepage相关逻辑即可。


内容的提问来源于stack exchange,提问作者gapansi99

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 05:18:01