如何使下一段不缩进?(`\noindent` 仅适用于本段)

如何使下一段不缩进?(`\noindent` 仅适用于本段)

我想为以日期开头的部分类型创建一个宏。我目前已经做到了这一点:

\documentclass[a5paper, 11pt]{memoir}
\usepackage{ebgaramond}
\usepackage{lipsum}

\setsecheadstyle{\Large\scshape\memRTLraggedright}

\newcommand{\dateSection}[2]{\section*{#1}{\vspace{-1\baselineskip}\hfill \small #2}\noindent}

\begin{document}
\dateSection{Lorem ipsum}{Monday Mars 21}

\lipsum[1-2]
\end{document}

但我在它之后得到了一个缩进并且\noindent我添加的对我没有帮助。

在此处输入图片描述

我该怎么做才能在宏中修复这个问题?

答案1

设置下一个段落以吞噬缩进框。

\documentclass[a5paper, 11pt]{memoir}
\usepackage{ebgaramond}
\usepackage{lipsum}

\setsecheadstyle{\Large\scshape\memRTLraggedright}

\makeatletter
\newcommand{\dateSection}[2]{%
  \section*{#1}%
  {\vspace{-1\baselineskip}\hfill \small #2\par\nobreak}%
  \@afterindentfalse % don't indent the next paragraph
  \@afterheading % don't break pages too early
}
\makeatother

\begin{document}

\dateSection{Lorem ipsum}{Monday Mars 21}

\lipsum[1-2]

\end{document}

这样,命令后是否有空行就无关紧要了\dateSection

下一段将至少有两行,以及章节标题和日期。

在此处输入图片描述

答案2

\raisebox在宏定义中添加:

\documentclass[a5paper, 11pt]{memoir}
\usepackage{ebgaramond}
\usepackage{lipsum}

\setsecheadstyle{\Large\scshape\memRTLraggedright}

\newcommand{\dateSection}[2]{\section*{#1\hfill\raisebox{-0.6\baselineskip}[0pt][0pt]{\upshape\small#2}}}

\begin{document}

\dateSection{Lorem ipsum}{Monday Mars 21}

\lipsum[1-2]

\end{document} 

在此处输入图片描述

相关内容