将文本与章节/部分标题对齐,而不是与数字对齐

将文本与章节/部分标题对齐,而不是与数字对齐

我正在为我的公司编写用户手册(pdfLatex 和 MikTeX),并希望匹配我在另一本手册上找到的布局:

  • 章节编号位于左侧
  • 章节标题向右移动
  • 文本与章节标题对齐(而不是与数字对齐)
  • 图像、表格和方程式可以占据边距内的全部空间。

我基本上在寻找整个文档的解决方案,如以下示例: 在此处输入图片描述

我尝试使用 titlesec 包来编辑章节和部分标题布局。这样做可行,但这些部分中的文本与数字对齐,而不是标题本身。

我也尝试过更改文档的页边距,但章节号也随之移动(我希望它们像图片中那样保持在左侧)。此方法还会移动我想保持在页面中央的图像和表格。

非常感谢。

答案1

这可能需要更多调整。似乎有些事情需要在 paracol 之外完成(\pagestyle?)。此外,\section随着使用 ,将变得更加困难\@startsection。我会重新定义\section为更像\chapter

\documentclass{report}
\usepackage{paracol}
\usepackage{lipsum}

\makeatletter
\renewcommand\chapter{\end{paracol}
                    %\if@openright\cleardoublepage\else\clearpage\fi
                    \thispagestyle{plain}%
                    \global\@topnum\z@
                    \@afterindentfalse
                    \secdef\@chapter\@schapter}
                    
\def\@makechapterhead#1{\vspace*{20\p@}% adjustable
  \begin{paracol}{2}
  {\parindent \z@ \raggedright \normalfont
    \ifnum \c@secnumdepth >\m@ne
      \huge\bfseries %\@chapapp\space 
      \thechapter\par\vfill
    \fi}
  \switchcolumn
  {\parindent \z@ \raggedright \normalfont
    \interlinepenalty\@M
    \huge \bfseries #1\par\nobreak
    \vskip 20\p@% adjustable
  }}
\makeatother
\setcolumnwidth{3cm}% second column take rest of page

\begin{document}
\begin{paracol}{2}
First column
\switchcolumn
Second column

\chapter{Title}

\lipsum[1]
\end{paracol}

\lipsum[2]

\end{document}

答案2

经过几个小时的搜索和测试,我找到了一个非常简单的解决方案,使用\leftskip。这只会移动“文本边距”,而不会影响图形、表格、列表和标题。

结合titlesec包中标题布局的调整和包中列表边距的添加enumitem,它可以完美地运行:

\documentclass{report}
\usepackage{lipsum}

\setlength{\leftskip}{2cm}

\usepackage{titlesec}
\titleformat{\chapter}[block]{\normalfont\huge\bfseries}{\thechapter.}{1.3cm}{}
\titleformat{\section}[block]{\normalfont\Large\bfseries}{\thesection.}{1.2cm}{}

\begin{document}

\chapter{Title}

\section{title}

\lipsum[1]

\lipsum[2]

\end{document}

在此处输入图片描述

相关内容