我现在正在编写一个包含许多部分、子部分和子子部分的文件。我希望为此声明一个新的简写。
可能类似于:\s、\ss、\sss 表示 section、subsection、sububsection,并使用 n 表示 *-versions。
例如
- \sssn{} = \subsubsection*{}
- \ss{}= \subsection{}
如何进行此项设置?
答案1
我可以想到两种不同的方法来实现你的目标。
首先,您可以发出一些\newcommand
指令来创建名为\s
、\ss
、的宏\sss
以及它们的“带星号的”对应项\sn
、\ssn
和\sssn
:
% Must un-define "\ss" first:
\let\ss\relax
% The unstarred commands take one optional argument:
\newcommand\s[2][]{\section[#1]{#2}}
\newcommand\ss[2][]{\subsection[#1]{#2}}
\newcommand\sss[2][]{\subsubsection[#1]{#2}}
% The starred commands take a single, mandatory argument:
\newcommand\sn[1]{\section*{#1}}
\newcommand\ssn[1]{\subsection*{#1}}
\newcommand\sssn[1]{\subsubsection*{#1}}
写诸如\s[abbr form]{full form}
和之类的东西\ssn{full form}
。
其次,您可以通过 TeX 的原语进行简化设置\let
:
% Must un-define "\ss" first:
\let\ss\relax
% Using TeX's "\let" primitive:
\let\s\section
\let\ss\subsection
\let\sss\subsubsection
写诸如\s[abbr form]{full form}
和之类的东西\ss*{full form}
。
不管怎样,取消定义现有的宏是至关重要的\ss
。如果你有理由相信你需要ß
在文档中排版这个字符,而又没有办法直接在键盘上输入,你一定要保存默认的含义\ss
,比如,\let\ssorig\ss
前取消定义它。