左栏中的章节编号

左栏中的章节编号

有人能用 LaTeX 做出这个吗?

图片显示了想要的结果

我的意思是在左侧对部分进行编号?也许,这可以通过包来实现titlesec。或者也许还有其他方法。

答案1

以下是一些可以作为起点的代码;其思路是使用titlesec包来定制部分单元标题;当然,根据您的需要进行必要的调整:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[explicit]{titlesec}
\usepackage{lmodern}
\usepackage{xcolor}
\usepackage{lipsum}% just to generate text for the example

\definecolor{myblue}{RGB}{76,117,180}
\newlength\mylen
\setlength\mylen{4em}

\titleformat{\section}
{\normalfont\Large\sffamily}{\llap{\makebox[3\mylen]{\textcolor{myblue}{\fontsize{40}{48}\selectfont\thesection.}}}}{0em}{\makebox[\linewidth][r]{\setlength\fboxsep{10pt}\colorbox{myblue}{\parbox[b]{\dimexpr\textwidth+\mylen-2\fboxsep-2\fboxrule\relax}{\vskip1ex\textcolor{white}{\scshape#1}\vskip1ex}}}}
\titleformat{\subsection}[runin]
{\normalfont\sffamily}{\llap{\makebox[\mylen][l]{\textcolor{myblue}{\thesubsection}}\hfill}}{0em}{#1}
\titleformat{\subsubsection}[runin]
{\normalfont\sffamily}{\llap{\makebox[\mylen][l]{\textcolor{myblue}{\thesubsubsection}}\hfill}}{0em}{#1}

\titlespacing*{\subsection}
{0pt}{3.25ex plus 1ex minus .2ex}{0pt}
\titlespacing*{\subsubsection}
{0pt}{3.25ex plus 1ex minus .2ex}{0pt}

\begin{document}

\section{A Test Numbered Section with a Title Spanning Several Lines}
\subsection{}
\lipsum[4]
\subsection{}
\lipsum[4]
\subsubsection{}
\lipsum[4]
\subsubsection{}
\lipsum[4]
\subsection{}
\lipsum[4]

\end{document}

在此处输入图片描述

现在我重新审视这个问题,另一个选择(也许更好)是使用titlesec(如我之前的代码)自定义 \section 标题,然后使用enumitem包生成一个枚举列表,给出标签所需的对齐方式;这里有一个使用此方法的示例(我定义了一个只有两个嵌套级别的新枚举列表,但您可以将我的定义扩展到 10 个级别):

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[explicit]{titlesec}
\usepackage{enumitem}
\usepackage{xcolor}
\usepackage{lipsum}% just to generate text for the example

\definecolor{myblue}{RGB}{76,117,180}
\newlength\mylen
\setlength\mylen{4em}

\titleformat{\section}
{\normalfont\Large\sffamily}{\llap{\makebox[3\mylen]{\textcolor{myblue}{\fontsize{40}{48}\selectfont\thesection.}}}}{0em}{\makebox[\linewidth][r]{\setlength\fboxsep{10pt}\colorbox{myblue}{\parbox[b]{\dimexpr\textwidth+\mylen-2\fboxsep-2\fboxrule\relax}{\vskip1ex\textcolor{white}{\scshape#1}\vskip1ex}}}}

\newlist{blueenum}{enumerate}{2}
\setlist[blueenum,1]{%
  label=\textcolor{myblue}{\thesection.\arabic*},
  leftmargin=-10pt,labelsep=18pt,
  font=\bfseries}
\setlist[blueenum,2]{
  label=\textcolor{myblue}{\theblueenumi.\arabic*},
  leftmargin=25pt,labelsep=35pt}

\begin{document}

\section{A Test Numbered Section with a Title Spanning Several Lines}
\begin{blueenum}
\item \lipsum[4]
\item \lipsum[4]
  \begin{blueenum}
  \item \lipsum[4]
  \item \lipsum[4]
  \end{blueenum}
\item \lipsum[4]
\end{blueenum}

\end{document}

在此处输入图片描述

最后一种方法还允许您轻松生成所需的变量缩进。

相关内容