我正在使用 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
。或者也可以修补table
和figure
环境以暂时将 设置\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}