无段落缩进的新行

无段落缩进的新行

可能重复:
定义 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。

要设置字体系列,您可以使用addkomafontsetkomafont

\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命令setkomafontaddtokomafont并且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

当添加到您的最小示例代码时,输​​出为:

副标题示例

您可以根据需要自定义它。如果需要,还可以准备目录条目。

相关内容