如何将整个文本与其各自的标题对齐(\chapter、\section、subsection)

如何将整个文本与其各自的标题对齐(\chapter、\section、subsection)

我正在使用 Overleaf。目前,我有以下内容:

\documentclass[12pt,a4paper,openany]{extreport}

 \usepackage[utf8]{inputenc} 

 \usepackage[spanish]{babel} 

  \usepackage{lipsum}
  \usepackage[spanish]{babel}
   \usepackage[]{geometry}
   \geometry{left=2.5cm, right=2cm, top=3cm, bottom=2cm}
   \addto\captionsspanish{\renewcommand{\chaptername}{\centering CAPÍTULO}}

   \usepackage{titlesec}
   \addto\captionsspanish{
   \titleformat  {\chapter}[display]{\huge\bfseries}{\chaptertitlename 
   \hspace{0.5ex} \thechapter}{2pt}{\large \thechapter{.} \hspace{1ex} }
   \titlespacing*{\chapter}{0pt}{-26pt}{0.01cm}
    }

   \addto\captionsspanish{\titleformat{\section}
   {\normalfont \bfseries}{\thesection}{1em}{} \titlespacing*{\section}{1cm} 
    {0pt} 
     {0pt}}

     \addto\captionsspanish{\titleformat{\subsection}
     {\normalfont \bfseries}{\thesubsection}{1em}{}\titlespacing* 
      {\subsection} 
       {1.25cm}{0pt}{0pt}}


      \begin{document}
       \chapter{Introducción}
        \lipsum[4]
         \section{Marco teórico}
         \lipsum[4]
       \subsection{tema}
       \lipsum[4]
       \end{document}

在此处输入图片描述

所有的长度和字体大小都符合我的要求。但是,文本与相应的标题不一致。我需要这样的东西:

在此处输入图片描述

如您所见,文本与其相应的标题对齐。我的文档较大,因此如果可能的话,我希望找到一个几行代码的解决方案,以便影响整个文档。此外,我的文档中充满了图形、方程式和表格,因此如果可能的话,我希望找到一个不会对它们造成太大干扰的解决方案。

答案1

在 LaTeX 中,这种缩进是list环境的任务,环境会发生变化\leftmargin(这就是用途adjustwidth)。我有一个解决方案,我更改\chapter\section\subsection命令以在列表环境完成其标题后调用此类列表环境。这有点棘手,因为下一个必须在开始新的列表环境之前关闭该列表环境,但我也解决了这个问题。所以我可以为您提供一个解决方案,它可以让您完全按照要求布局,但您不必更改文本正文。所有代码都在序言中!

如果您不想缩进表格和图形,则可能需要对其进行特殊处理,但也许您可以使用 来执行此操作adjustwidth。或者也可以修补tablefigure环境以暂时将 设置\leftmargin为 0。

我已更改\section\subsection标题格式,将数字放在中\makebox以使标题与以下文本对齐。格式\chapter似乎已经正确。\subsection框的尺寸稍大一些,否则它就放不下。这也反映在 3.3 厘米的改编中\subsection

\documentclass[12pt,a4paper,openany]{extreport} 
 \usepackage{lipsum}
 \usepackage[spanish]{babel}
 \usepackage[]{geometry}
 \geometry{left=2.5cm, right=2cm, top=3cm, bottom=2cm}
 \addto\captionsspanish{\renewcommand{\chaptername}{\centering CAPÍTULO}}

 \usepackage{titlesec}
 \addto\captionsspanish{
 \titleformat  {\chapter}[display]{\huge\bfseries}{\chaptertitlename 
 \hspace{0.5ex} \thechapter}{2pt}{\large \thechapter{.} \hspace{1ex} }
 \titlespacing{\chapter}{0pt}{-26pt}{0.01cm}
  }

  \addto\captionsspanish{%
    \titleformat{\section}
      {\normalfont \bfseries}{\makebox[1cm][l]{\thesection}}{0pt}{}%
    \titlespacing*{\section}{1cm}{0pt}{0pt}%
  }

   \addto\captionsspanish{\titleformat{\subsection}
   {\normalfont \bfseries}{\makebox[1.3cm][l]{\thesubsection}}{0pt}{}%
   \titlespacing{\subsection} 
   {2cm}{0pt}{0pt}}

\newcommand{\startsectionlist}[1]
{% #1 = space
  \begin{list}{}{\setlength\leftmargin{#1}}\item[]
}
\newcommand\stopsectionlist{\end{list}}
\newcommand\stoppreviouslist{}

\newcommand\adaptsection[2]{%
  \expandafter\let\csname orig\string#1\endcsname#1
  \renewcommand #1[1]{\stoppreviouslist\let\stoppreviouslist\stopsectionlist
  \csname orig\string#1\endcsname{##1}\startsectionlist{#2}}
}
\adaptsection\chapter{1cm}
\adaptsection\section{2cm}
\adaptsection\subsection{3.3cm}
\AtEndDocument{\stoppreviouslist}

\begin{document}
   \chapter{Introducción}
    \lipsum[4]
     \section{Marco teórico}
     \lipsum[4]
   \subsection{tema}
   \lipsum[4]
\end{document}

在此处输入图片描述

答案2

我认为您可以在我的评论链接中重复答案,并按照您的想法写出一整本书。

\documentclass{book} \usepackage{changepage}

\usepackage{lipsum} % just for the example

\newenvironment{subs} {\adjustwidth{3em}{0pt}} {\endadjustwidth}

\begin{document} \chapter{One} \lipsum[1] \begin{subs}
\section{A section} \lipsum[1] \subsection{A subsection} \lipsum[2] \begin{subs} \subsubsection{One} \lipsum[3] \subsubsection{Two} \lipsum[4] \end{subs} \section{Another section} \lipsum[3] \end{subs}
\chapter{Two} \lipsum[2-3]
\begin{subs}
\section{A section} \lipsum[1] \subsection{Other} \lipsum[2] \begin{subs} \subsubsection{Other1} \lipsum[3] \subsubsection{Other2} \lipsum[4] \end{subs} \section{Another one} \lipsum[8] \end{subs}
\end{document}

相关内容