我想定义一个\case
像部分一样的命令,这意味着当我输入时\case{Some Case}
,它将:
- 结束当前段落(如果有)
- 写
\textsc{Some Case}
- 结束行并在行后留出一些空格
- 确保下一个段落不会缩进,即使我在命令和段落之间留一个空行
我怎样才能做到这一点?
答案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}