我如何定义类似部分的命令?

我如何定义类似部分的命令?

我想定义一个\case像部分一样的命令,这意味着当我输入时\case{Some Case},它将:

  1. 结束当前段落(如果有)
  2. \textsc{Some Case}
  3. 结束行并在行后留出一些空格
  4. 确保下一个段落不会缩进,即使我在命令和段落之间留一个空行

我怎样才能做到这一点?

答案1

姆韦

\documentclass{article}
\usepackage{lipsum} % for dummy text
\makeatletter
\newcommand\case%
{\@startsection {section}{2}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\scshape}}
\makeatother
\begin{document}
\lipsum[1][1-4] % dummy text 
\case*{A case} 
\lipsum[2][1-4]

\lipsum[3][1-4]
\end{document}

注意:没有星号的版本将被编号,但使用相同的计数器\section{}(因此不要在同一文档中同时使用两者)。但这可以使用新的计数器和其他一些技巧来解决。更复杂,但可以在索引中显示案例:

\documentclass{article}
\usepackage{lipsum}
\makeatletter
\newcounter{case}
\newcommand\case%
{\@startsection%
{case}%
{2}
{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\scshape}}
\renewcommand*\l@section{\@dottedtocline{1}{0em}{2em}}% for toc
\newcommand*\l@case{\@dottedtocline{1}{3em}{1em}}% for toc
\newcommand{\casemark}[1]{}% for page headers
\makeatother
\begin{document}
\tableofcontents
\section{Foo}   \lipsum[1][1-4] 
\case*{A case}      \lipsum[2][1-4]
\case{Numbered case}        \lipsum[3][1-4]
\case{Another numbered case}        \lipsum[4][1-4]
\section{Bah}   \lipsum[1][1-4] 
\end{document}

答案2

这能满足您的需要吗?

\documentclass{article}

\usepackage{noindentafter}
\newcommand{\case}[1]{%
  \par\textsc{#1}\NoIndentAfterThis}

\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
\case{Jahyah}

Pellentesque hendrerit volutpat feugiat. Ut purus leo,
pulvinar sit amet vehicula non, pulvinar eu lacus.
Curabitur id mollisligula.
\end{document}

在此处输入图片描述

相关内容