自定义章节标题

自定义章节标题

我想写一份报告,其中每一章都有相同的结构。例如,第一部分总是优点,第二部分是缺点,第三部分是意见,第四部分是最终结论。目前,我使用以下模式:

\chapter{Report title}
\section{Pros}
pros here
\section{Cons}
cons here
\section{Opinions}
opinions here
\section{Conclusion}
conclusion here

我必须为每份报告重复这种模式。

有没有办法定制文档,使得章节的第一部分总是显示“优点”,第二部分显示“缺点”等等?

所以我可以这样做:

\chapter{Report title}
\section{}
pros here
\section{}
cons here
\section{}
opinions here
\section{}
conclusion here

答案1

@Rizhiy 这样可以吗?

\documentclass[10pt]{book}

\newcommand\pros{\section*{Pros}}
\newcommand\cons{\section*{Cons}}
\newcommand\opinion{\section*{Opinions}}
\newcommand\conclusion{\section*{Conclusion}}

\begin{document}
\chapter{Report title}

\pros
pros here
\cons
cons here

\opinion
opinions here

\conclusion
conclusion here

\end{document}

答案2

也许下面的操作可以如您所愿;其想法是复制原始命令的定义\section,然后section根据计数器的值重新定义该命令section

我已设置了优点 (1)、缺点 (2)、意见 (3)、结论 (4) 的值,然后使用 的第二个参数\section作为默认值。此方法还允许您为 传递可选的第一个参数toc,如示例所示。

% arara: pdflatex
% arara: pdflatex
\documentclass{report}

\let\oldsection\section

\renewcommand{\section}[2][]{%
    \ifcase\value{section}
    \def\mystring{Pros}
    \or
    \def\mystring{Cons}
    \or
    \def\mystring{Opinions}
    \or
    \def\mystring{Conclusions}
    \else
    \def\mystring{#2}
    \fi
    % if #1 is empty, use \mystring in the toc
    \ifx\\#1\\
    \oldsection[\mystring]{\mystring}
    \else
    % otherwise use #1
    \oldsection[#1]{\mystring}
    \fi
}

\begin{document}
\tableofcontents
\chapter{Report title}
\section{}
pros here
\section{}
cons here
\section[something else for the toc]{}
opinions here
\section{}
conclusion here
\section{}
other
\end{document}

答案3

如果每个章节都有四个部分,并且每个部分的标题都是优点、缺点、观点、结论,那么您可以使用单个命令来自动执行操作,该命令根据\thesection计数器的值打印一个命令(只要\thesection小于四,否则它什么也不做,如果值是四或更大,也许应该抛出错误或类似操作\thesection)。

\documentclass{report}
\newcommand\nextsection{
    \ifnum\value{section}=3\section{Conclusions}\fi
    \ifnum\value{section}=2\section{Opinions}\fi
    \ifnum\value{section}=1\section{Cons}\fi
    \ifnum\value{section}=0\section{Pros}\fi
}

\begin{document}
\chapter{Report Title}
\nextsection
Pros
\nextsection
Cons
\nextsection
Opinions
\nextsection
Conclusions
\end{document}

在此处输入图片描述

虽然我认为手动输入带有适当参数的命令可能是更好的做法,\section因为它不太可能导致意外错误命名的部分。

相关内容