我有一个由许多部分组成的文件:我不确定这个选择,也许将来我想切换到章节(或者例如小节)。
我的解决方案是以下命令:
\newcommand{\mychapter}[1]
{
\section{#1}
}
我使用\mychapter{Title}
而不是\section{Title}
。这样,我可以简单地编辑命令以从部分切换到我想要的任何部分。
这是一个有效的解决方案吗?
答案1
如果你确实想这样做:
\begingroup
\let\orisection\section
\let\orisubsection\subsection
\let\orisubsubsection\subsubsection
\let\oriparagraph\paragraph
\let\orisubparagraph\subparagraph
\global\let\section\chapter
\global\let\subsection\orisection
\global\let\subsubsection\orisubsection
\global\let\paragraph\orisubsubsection
\global\let\subparagraph\oriparagraph
\global\let\subsubparagraph\orisubparagraph % for symmetry
\endgroup
答案2
如果我过一段时间后再回头查看文档,或者被要求为其他人审阅文档,我会觉得这很令人困惑。您可以使用类似 的方法\newcommand{\MyLevelOneDiv}[1]{\section{#1}}
,但我会采取不同的方法。
在任何像样的文本编辑器中,您都可以使用正则表达式进行简单的查找/替换来执行此操作。通过搜索\\section\{([^}]*)\}
和替换,您可以轻松地将所有部分降级为子部分。此简单版本不适用于可选短标题,或者标题中\\subsection{$1}
有宏。}
适用于(子)节名称的版本可以用\section[short title]{A rather \emph{long} title}
替换(尽管这假设您在结尾之后除了空格之外没有其他内容- 如果您想在那里添加注释则不行。\\section(\[[^\]]*\])?(\{.*\})\s*$
\\subsection$1\$2
}
确切的语法可能需要根据您的正则表达式引擎进行调整,特别是\
在搜索中需要用 a 转义哪些括号以及如何在替换中引用捕获的组方面。我的版本是在 jEdit 下测试的。
许多 TeX 特定的编辑器不提供此功能,这就是我不使用它们而更喜欢通用编程文本编辑器的原因。
答案3
您可以使用memoir
包含book
、report
和article
类的类。将文档设置为book
或report
(即用\chapter
作主文档分区)。然后,如果您指定
\documentclass[...]{memoir}
它将像一本书或一份报告一样设置,但如果你指定
\documentclass[article,...]{memoir}
它将被设置为一篇文章,其中章节设置为节,节设置为小节,等等。
答案4
它应该可以完成工作,但是你也应该注意小节、小小节......
\newcommand{\mychapter}[1]
{
\section{#1}
}
\newcommand{\mysection}[1]
{
\subsection{#1}
}
\newcommand{\mysubsection}[1]
{
\subsubsection{#1}
}
...
这样,您就可以在一个地方调整整个结构。