如何将章节标题向外移动?

如何将章节标题向外移动?

我正在寻找类似于此示例截图的东西,这是我拍摄的笔记(以 Markdown 编写,用 pandoc 转换成 HTML)在 HTML 中的样子。

在此处输入图片描述

当我将这些注释转换为 PDF 时,我希望具有类似的外观,因此我希望将章节标题稍微向外移动(理想情况下,小节的距离小于章节的距离),或者当然将所有非章节标题的内容稍微向内移动,以更简单为准。

答案1

解决方案1)最简单的方法是 \usepackage{titlesec}及其命令命令。\titleformat \titlespacing

选项1如果您想要一个硬编码的数字,您将必须使用带星号的分段命令版本,并且 MWE 是:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[vmargin=25mm,right=25mm,left=50mm,verbose=false]{geometry}
\usepackage{blindtext} % for demonstration only
\usepackage{titlesec}
\titlespacing*{\section}{-5em}{3.5ex plus -1ex minus -.2ex}{2.3ex plus .2ex}
\titlespacing*{\subsection}{-3em}{3.25ex plus -1ex  minus -.2ex}{1.5ex plus .2ex}   
\titlespacing*{\subsubsection}{-1em}{3.25ex plus -1ex  minus -.2ex}{1.5ex plus .2ex}
\begin{document}
\section*{Header one}
\blindtext
\subsection*{Header two}
\blindtext
\subsubsection*{Header three}
\blindtext
\end{document}

其中使用的长度是article类的默认值。

结果:sol1pt1

选项 2相反,如果您想要一个可变的标题和一个自动递增的数字,您也可以使用(i)explicit包的选项,(ii)一个额外的计数器(iii)\titleformat将此数字放在标题后面,

代码变成:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[vmargin=25mm,right=25mm,left=50mm,verbose=false]{geometry}
\usepackage{blindtext}   % for demonstration only
\usepackage[explicit]{titlesec}
\newcounter{flatnum}
\titleformat{\section}[hang]{\normalfont\bfseries\Large}{\relax}{0pt}{\stepcounter{flatnum} #1 \theflatnum}
\titleformat{\subsection}[hang]{\normalfont\bfseries\large}{\relax}{0pt}{\stepcounter{flatnum} #1 \theflatnum}
\titleformat{\subsubsection}[hang]{\normalfont\bfseries\normalsize}{\relax}{0pt}{\stepcounter{flatnum} #1 \theflatnum}

\titlespacing*{\section}{-5em}{3.5ex plus -1ex minus -.2ex}{2.3ex plus .2ex}
\titlespacing*{\subsection}{-3em}{3.25ex plus -1ex  minus -.2ex}{1.5ex plus .2ex}
\titlespacing*{\subsubsection}{-1em}{3.25ex plus -1ex  minus -.2ex}{1.5ex plus .2ex}    
\begin{document}
\section{Section}
\phantomsection
\blindtext
\subsection{Subsection}
\blindtext
\subsubsection{Subsubsection}
\blindtext
\end{document}

其中使用的样式和长度是article类的默认值。

结果:sol1opt2

解决方案2)一个更复杂但更兼容的解决方案是使用\usepackage{etoolbox}及其命令\patchcmd来更改相应 -s 中的间距\@startsection。要知道哪个是默认设置,请查看latex.tex(或.ltx),或者更简单地在正文中输入\meaning\section\meaning\subsection等。有关此命令的解释,请参阅已接受的答案这个问题

相关内容