我必须修复一个朋友用 latex 完成的作品。我几乎完成了所有工作,但有几个问题我无法修复,所以如果您能帮助我,我将不胜感激(一篇文章文档):
他在目录中有 4 个深度部分,从部分到子部分。问题是它
part
采用罗马数字编号,在显示位置留下了一个大标题。我修复了编号,但我无法处理大标题。它显示如下:1 Planteamiento 1.1 Introducción (content)
并且它期望的是这样的:
1 Planteamiento 1.1 Introducción (content)
但我找不到重新排列部分标题的命令。我尝试将部分设置为节,将节设置为小节,将小节设置为小小节,将小小节设置为段落。但他也使用段落,我有点混乱。所以我认为最简单的方法是将其
part
作为“超级节”的形式包含。那么,是否有命令可以修复大部分标题?由于我在目录中添加了
part
编号,因此我必须修复章节编号以包含第一部分。但现在目录中的章节编号和章节名称之间没有空格。我该如何添加一些空格以使它们不那么接近?
编辑:这是我的 MWE:
\documentclass[12pt]{article}
\renewcommand{\thepart}{\arabic{part}}
\renewcommand{\thesection}{\thepart.\arabic{section}}
\renewcommand{\partname}{}
\makeatletter
\@addtoreset{section}{part}
\makeatother
\begin{document}
\tableofcontents
\newpage
\part{Big title}
\section{Lorem ipsum}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.
\section{Lorem ipsum 2}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.
\newpage
\part{Another big title}
\section{Section from big title 2}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor.
\end{document}
答案1
\cftsetindents
可以使用软件包中的修复来修复目录条目的问题tocloft
;可以使用重新定义(或修补)来修复部分标题的问题\@part
\documentclass[12pt]{article}
\usepackage{tocloft}
\renewcommand{\thepart}{\arabic{part}}
\renewcommand{\thesection}{\thepart.\arabic{section}}
\renewcommand{\partname}{}
\makeatletter
\@addtoreset{section}{part}
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >\m@ne
\refstepcounter{part}%
\addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
\else
\addcontentsline{toc}{part}{#1}%
\fi
{\parindent \z@ \raggedright
\interlinepenalty \@M
\normalfont
\ifnum \c@secnumdepth >\m@ne
\huge\bfseries\thepart\hskip0.5em
\fi
\huge\bfseries #2%
\markboth{}{}\par}%
\nobreak
\vskip 3ex
\@afterheading}
\makeatother
\cftsetindents{section}{0em}{2.3em}
\cftsetindents{subsection}{2.3em}{3em}
\cftsetindents{subsubsection}{5.3em}{3.3em}
\begin{document}
\tableofcontents
\newpage
\part{Test part}
\section{Test section}
\subsection{Test subsection}
\subsubsection{Test subsubsection}
\part{Test part}
\section{Test section}
\subsection{Test subsection}
\subsubsection{Test subsubsection}
\end{document}
目录图片:
文档主体的图片:
如果您选择修补,则这是代码(代码稍微短一些):
\documentclass[12pt]{article}
\usepackage{tocloft}
\usepackage{etoolbox}
\renewcommand{\thepart}{\arabic{part}}
\renewcommand{\thesection}{\thepart.\arabic{section}}
\renewcommand{\partname}{}
\makeatletter
\@addtoreset{section}{part}
\patchcmd{\@part}{\Large}{\huge}{}{}
\patchcmd{\@part}{\partname\nobreakspace\thepart}{\thepart\hskip0.5em}{}{}
\patchcmd{\@part}{\par\nobreak}{}{}{}
\makeatother
\cftsetindents{section}{0em}{2.3em}
\cftsetindents{subsection}{2.3em}{3em}
\cftsetindents{subsubsection}{5.3em}{3.3em}
\begin{document}
\tableofcontents
\newpage
\part{Test part}
\section{Test section}
\subsection{Test subsection}
\subsubsection{Test subsubsection}
\part{Test part}
\section{Test section}
\subsection{Test subsection}
\subsubsection{Test subsubsection}
\end{document}