关于章节标题格式的一个问题

关于章节标题格式的一个问题

我想获得每个部分标题的格式,如下图所示(标记为“图示例_CTeX“): 示例_CTeX

此格式来自软件包文档在线 PDF) 的超细纤维此格式对应的代码如下(记为code_ctex):

% use the package "ctex" in standard "article" class or use directly the Chinese-typesetting class "ctexart".

\documentclass{ctexart}
\usepackage{fontspec}
\usepackage{babel}

\ctexset {
  chapter = {
    beforeskip = 0pt,
    fixskip = true,
    format = \Huge\bfseries,
    nameformat = \rule{\linewidth}{1bp}\par\bigskip\hfill\sectionnamebox,
    number = \arabic{chapter},
    aftername = \par\medskip,
    aftertitle = \par\bigskip\nointerlineskip\rule{\linewidth}{2bp}\par
  }
}
\newcommand\sectionnamebox[1]{%
  \parbox{\ccwd}{\linespread{1}\selectfont\centering #1}}

\begin{document}

  \section{熟悉\LaTeX}

\end{document}

附言:为了简单起见,我刚刚将“章节”替换成了“部分”。

但是当我在 latex 文件中使用此代码时,我没有得到如上图所示的格式。因此,我稍微修改了上面的代码,得到了以下新代码(记为code_moi):

\documentclass{ctexart}
\usepackage{fontspec}
\usepackage{babel}

\ctexset {
  section = {
    beforeskip = 20pt,
    fixskip = true,
    format = \bfseries,
    name   = {第,节},
    nameformat = \rule{\linewidth}{1bp}\par\bigskip\hfill\sectionnamebox,
    number = \arabic{section},
    %aftername = \par\medskip,
    titleformat = \par\medskip\mbox, 
    aftertitle = \par\bigskip\nointerlineskip\rule{\linewidth}{2bp}\par
  } 
}
\newcommand\sectionnamebox[1]{%
  \parbox[t]{\ccwd}{\linespread{1}\selectfont\centering #1}}

\begin{document}

\section{导论部分}

\end{document}

code_moi产生如下图所示的节标题格式(标记为“图例_Moi“): 例子_我

code_moi产生的格式和显示的格式有明显的区别“图示例_CTeX“。我想知道如何调整项目nameformat以获得与所需格式相同的效果”图示例_CTeX“。任何提示或建议都将不胜感激。

答案1

你需要\ctexset{section/hang=false}

最初,hang=false对于\part\chapter(如果存在)以及hang=true对于\section和 较低级别的节标题。当 时hang=true,整个标题排版在 中\hbox,因此\parinsection/numberformat不起作用。in 的文档hangtexdoc ctexv2.5.10,2022-07-14),第 7.3 节“间距、缩进相关”对此有一些说明。

% !TeX program = xelatex
\documentclass{ctexart}
\usepackage{fontspec}
\usepackage{babel}

\ctexset {
  section = {
    hang = false,
    beforeskip = 0pt,
    fixskip = true,
    format = \Huge\bfseries,
    nameformat = \rule{\linewidth}{1bp}\par\bigskip\hfill\sectionnamebox,
    number = \arabic{section},
    aftername = \par\medskip,
    aftertitle = \par\bigskip\nointerlineskip\rule{\linewidth}{2bp}\par
  }
}
\newcommand\sectionnamebox[1]{%
  \parbox{\ccwd}{\linespread{1}\selectfont\centering #1}}

\begin{document}

  \section{熟悉\LaTeX}

\end{document}

在此处输入图片描述

相关内容