可能重复:
定义 latex 命令来创建新类型的标题
我必须创建一个新命令来创建新的标题样式。以下是简化版本:
\newcommand{\subheading}[1] {\vspace*{1em}\normalfont {#1}}
一个简单的例子:
\documentclass{scrartcl}
\usepackage{ucs} \usepackage[utf8x]{inputenc} \usepackage{lipsum}
\newcommand{\subheading}[1] {\vspace*{1em}\normalfont {#1}}
\begin{document}
\lipsum[1]
\subheading{One of these subheadings}
\lipsum[1]
\end{document}
这里的问题是,后续行将被缩进,因为 LaTeX 会将其解释为新段落。但是,显然新部分的第一行不应缩进。我该如何实现这一点?
更新:副标题也应该左对齐,并且本身不要缩进。
答案1
您正在使用KOMA
类。KOMA
提供命令minisec
。上面的空间minisec
设置为1.5ex。
要设置字体系列,您可以使用addkomafont
或setkomafont
\documentclass{scrartcl}
\usepackage{ucs} \usepackage[utf8x]{inputenc} \usepackage{lipsum}
\begin{document}
\lipsum[1]
\minisec{One of these subheadings}
\lipsum[1]
\end{document}
要创建我们自己的,minisec
您可以使用内部定义作为主定义:
\documentclass{scrartcl}
\usepackage{color}
\usepackage{ucs} \usepackage[utf8x]{inputenc} \usepackage{lipsum}
\makeatletter
\newkomafont{subheading}{}
\newcommand\subheading[1]{\@afterindentfalse \vskip 1.0ex
{\parindent \z@
\ifnum \scr@compatibility>\@nameuse{scr@[email protected]}\relax
\setlength{\parfillskip}{\z@ plus 1fil}\fi
\raggedsection\normalfont\sectfont\nobreak
\usekomafont{subheading}#1\par\nobreak}\nobreak%
\@afterheading
}
\makeatother
\addtokomafont{subheading}{\color{red}}
\begin{document}
\lipsum[1]
\subheading{One of these subheadings}
\lipsum[1]
\end{document}
一个优点是您可以使用KOMA
命令setkomafont
,addtokomafont
并且usekomafont
答案2
您可以使用 LaTeX 的命令定义标题\@startsection
,例如:
\newcounter{subheading}[subparagraph]
\renewcommand{\thesubheading}{\thesubparagraph.\arabic{subheading}}
\makeatletter
\newcommand\subheading{\@startsection{subheading}{6}{0pt}
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\normalfont\normalsize}}
\newcommand{\l@subheading}{\bprot@dottedtocline{6}{14em}{7em}}
\newcommand{\subheadingmark}[1]{}
\makeatother
当添加到您的最小示例代码时,输出为:
您可以根据需要自定义它。如果需要,还可以准备目录条目。