忽略宏结束后的 \par;然后插入 \noindent

忽略宏结束后的 \par;然后插入 \noindent

在我的回答中将文本定位到部分下方,barbara beeton 评论说,也许我应该让这个新的“类似章节”的定义之后的第一个段落不缩进。

是的,我同意了,但我不知道该如何接受\par。我发现了这个问题,类似 `\ignorespaces` 的宏用于忽略 `\par`,而 egreg 对此的回答看起来最有希望。我实际上很惊讶没有现成的 TeX 解决方案(也许有一个适用于 LaTeX 的解决方案)

我尝试对其进行调整,使后续文本不缩进。只有\par在节式调用后没有出现 s 时,我才能成功。我的方法是采用 egreg 的\futurelet/方法,并在其宏的最后\eat一个之前添加 a ,其中定义为。如上所述,当s 出现在调用之后时,这种方法不起作用。\else\expandafter\shazam\fi\ignoreparsA\shazam\def\shazam{\noindent\expandafter\ignorespaces}\par\mysection

\documentclass[]{article}  
\usepackage{rotating,stackengine,lipsum}  
\newcommand{\mysection}[1]{\leavevmode\llap{\smash{%
  \belowbaseline[\dimexpr\baselineskip-.8\ht\strutbox\relax]{%
  \rotatebox{90}{#1}}}\hspace{5.5ex}}\par%
  \def\shazam{\noindent\expandafter\ignorespaces}%
  \expandafter\ignorepars}
\setstackEOL{\cr} 
% modified egreg's answer from
% https://tex.stackexchange.com/questions/279652/macro-like-ignorespaces-for-ignoring-pars
% Trying to end on a \noindent, without success
\long\def\eat#1{\ignorepars}
\def\ignorepars{\futurelet\next\ignoreparsA}
\def\ignoreparsA{\ifx\next\par\expandafter\eat\else\expandafter\shazam\fi}

\begin{document}   

\mysection{publications}

\lipsum[1]

\mysection{\Longstack[r]{a longer\cr title name}}
\lipsum[4]
\end{document}

在此处输入图片描述

我不知道所引用问题的 OP(enax)是否需要\noindent,但它似乎很有用,能够忽略\par然后发出\noindent

答案1

你只想调用\@afterindentfalse\@afterheading此外,我还从标题偏移中删除了段落缩进

在此处输入图片描述

\documentclass[]{article}  
\usepackage{rotating,stackengine,lipsum}  
\makeatletter
\newcommand{\mysection}[1]{\par\noindent\llap{\smash{%
  \belowbaseline[\dimexpr\baselineskip-.8\ht\strutbox\relax]{%
  \rotatebox{90}{#1}}}\hspace{5pt}}\par%
  \@afterindentfalse\@afterheading}
\makeatother
\setstackEOL{\cr} 
% modified egreg's answer from
% http://tex.stackexchange.com/questions/279652/macro-like-ignorespaces-for-ignoring-pars
% Trying to end on a \noindent, without success


\begin{document}   

\mysection{publications}


\lipsum[1]

\mysection{\Longstack[r]{a longer\cr title name}}
\lipsum[4]
\end{document}

相关内容