Я хочу создать макрос для типа раздела, который начинается с даты. Я продвинулся так далеко:
\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}