我希望我的章节标题直接显示在章节编号之后,中间没有空格。无论编号是多少,都应该如此。如下所示:
1. A section heading
2. Another section heading
...
1526. Yet another section
目前我正在titlesec
使用
\titleformat{\section}{\large\bfseries}{\makebox[1pt][l]{\thesection}}{12pt}{}
但这会导致标题和大数字重叠。
答案1
更新:有一个更简单的解决方案titlesec
:\thetitle
命令分别是\thesection
,\thesubsection
等。标准类中的默认值是:
\titlelabel{\thetitle\quad}
这意味着在数字后面1em
插入一个空格;要改变这种行为就足以重新定义\thetitle
添加一个点然后添加一个空格:
\titlelabel{\thetitle.\ }
完整示例:
\documentclass{article}
\usepackage{titlesec}
\setcounter{secnumdepth}{5}% just for the example
\titlelabel{\thetitle.\ }
\begin{document}
\section{Test Section}
\subsection{Test Subsection}
\subsubsection{Test Subsubection}
\paragraph{Test Paragraph}
\subparagraph{Test Subparagraph}
\section*{Test Section}
\subsection*{Test Subsection}
\subsubsection*{Test Subsubection}
\paragraph*{Test Paragraph}
\subparagraph*{Test Subparagraph}
\end{document}
一种可能性是使用titlesec
影响包\section
通过\subparagraph
:
\documentclass{article}
\usepackage[explicit]{titlesec}
\setcounter{secnumdepth}{5}% just for the example
\titleformat{\section}
{\normalfont\Large\bfseries}{\thesection.}{0em}{~#1}
\titleformat{name=\section,numberless}
{\normalfont\Large\bfseries}{}{0em}{#1}
\titleformat{\subsection}
{\normalfont\large\bfseries}{\thesubsection.}{0em}{~#1}
\titleformat{name=\subsection,numberless}
{\normalfont\large\bfseries}{}{0em}{#1}
\titleformat{\subsubsection}
{\normalfont\normalsize\bfseries}{\thesubsubsection.}{0em}{~#1}
\titleformat{name=\subsubsection,numberless}
{\normalfont\normalsize\bfseries}{}{0em}{#1}
\titleformat{\paragraph}[runin]
{\normalfont\normalsize\bfseries}{\theparagraph.}{0em}{~#1}
\titleformat{name=\paragraph,numberless}[runin]
{\normalfont\normalsize\bfseries}{}{0em}{#1}
\titleformat{\subparagraph}[runin]
{\normalfont\normalsize\bfseries}{\thesubparagraph.}{0em}{~#1}
\titleformat{name=\subparagraph,numberless}[runin]
{\normalfont\normalsize\bfseries}{}{0em}{#1}
\begin{document}
\section{Test Section}
\subsection{Test Subsection}
\subsubsection{Test Subsubection}
\paragraph{Test Paragraph}
\subparagraph{Test Subparagraph}
\end{document}
我无法上传图像;稍后我会上传。
答案2
最简单的方法,不需要任何包,就是重新定义\@seccntformat
,通常\quad
在节号后面添加:
\documentclass{article}
\usepackage[pass,showframe]{geometry}
\makeatletter
\def\@seccntformat#1{\csname the#1\endcsname.\ }
\makeatother
\setcounter{secnumdepth}{10}
\begin{document}
\section{Test Section}
\subsection{Test Subsection}
\subsubsection{Test Subsubection}
\paragraph{Test Paragraph}
\subparagraph{Test Subparagraph}
\section*{Test Section}
\subsection*{Test Subsection}
\subsubsection*{Test Subsubection}
\paragraph*{Test Paragraph}
\subparagraph*{Test Subparagraph}
\end{document}
点后的命令\
可确保间距不受间距因子的影响;因此\nonfrenchspacing
,如果 LaTeX 中的默认设置有效,则间距不会增加:它是当前字体中的正常单词间间距。
我只使用了geometry
添加框架;的设置secnumdepth
仅用于演示目的,我不建议在分段单元的编号方面进行太深入的研究。