如何在框中输入章节标题编号

如何在框中输入章节标题编号

我怎样才能将章节标题编号放在一个框中,并且希望这些数字像图片一样移动:

在此处输入图片描述

这是我的代码。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage[explicit]{titlesec}
\usepackage{lipsum}

\makeatletter
\renewcommand{\@seccntformat}[1]{\llap{\textcolor{red}{\csname the#1\endcsname}\hspace{0.4em}}}                    
\titleformat{\section}[block]
{\hspace{-8.9mm}\normalfont\fontsize{14pt}{16pt}\bfseries\color{blue}}
{\color{red}\thesection}
{2mm}{#1}
{}
\titlespacing{\section}{0pt}{2.8ex}{2ex}
\renewcommand{\subsection}{\@startsection {subsection}{2}{\z@}
    {-15pt \@plus -0.1ex \@minus -.4ex}
    {2ex \@plus.2ex }
    {\normalfont\large\rmfamily\bfseries\color{blue}}}
\renewcommand{\subsubsection}{\@startsection {subsubsection}{3}{\z@}
    {-12pt \@plus -0.1ex \@minus -.2ex}
    {2ex \@plus.2ex }
    {\normalfont\normalsize\rmfamily\bfseries\color{blue}}}                        
\begin{document}
\section{Section one}
\lipsum[3]
\subsection{Subsection one}
\lipsum[5]
\end{document}

答案1

这一切都可以通过 来完成titlesec。注意,我使用了 中的参数的简化版本 \titlespacing*(使用 来*删除章节标题后第一段的缩进)。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[svgnames]{xcolor}
\usepackage[explicit]{titlesec}
\usepackage{lipsum}

\titlespacing*{\section}{-2mm}{*2.8}{*2}

\titleformat{\section}
{\normalfont\fontsize{14pt}{16pt}\bfseries}
{\llap{\colorbox{DarkSeaGreen}{\color{red}\,\thesection\,}}}
{2mm}{\color{blue}#1}

\titlespacing*{\subsection}{-2mm}{*2.5}{*2}
\titleformat{\subsection}
{\normalfont\large\bfseries}
{\llap{\colorbox{DarkSeaGreen}{\color{red}\thesubsection}}}
{2mm}{\color{blue}#1}

\titlespacing*{\subsubsection}{-2mm}{*2}{*2}
\titleformat{\subsubsection}
{\normalfont\normalsize\bfseries}
{\llap{\colorbox{DarkSeaGreen}{\color{red}\thesubsubsection}}}
{2mm}{\color{blue}#1}

\begin{document}

\section{Section one}
\lipsum[3]
\subsection{Subsection one}
\lipsum[5]

\subsubsection{Subsubsection one}
\lipsum[11]

\end{document} 

在此处输入图片描述

相关内容