| %% Notice to comply with Clause 6 of LPPL v 1.3c |
| %% This file is copied from TeX Live 2015/Debian. |
| %% Whole package including documentation can be obtained from: |
| %% https://ctan.org/pkg/noindentafter |
| |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \iffalse %%%% |
| % % |
| % Copyright (c) 2014 - Michiel Helvensteijn - www.mhelvens.net % |
| % % |
| % http://latex-noindentafter.googlecode.com % |
| % % |
| % This work may be distributed and/or modified under the conditions % |
| % of the LaTeX Project Public License, either version 1.3 of this % |
| % license or (at your option) any later version. The latest version % |
| % of this license is in http://www.latex-project.org/lppl.txt % |
| % and version 1.3 or later is part of all distributions of LaTeX % |
| % version 2005/12/01 or later. % |
| % % |
| % This work has the LPPL maintenance status `maintained'. % |
| % % |
| % The Current Maintainer of this work is Michiel Helvensteijn. % |
| % % |
| % This work consists of the files noindentafter.tex and noindentafter.sty. % |
| % % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fi %%%% |
| |
| % \CheckSum{50} |
| % |
| % \CharacterTable |
| % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z |
| % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z |
| % Digits \0\1\2\3\4\5\6\7\8\9 |
| % Exclamation \! Double quote \" Hash (number) \# |
| % Dollar \$ Percent \% Ampersand \& |
| % Acute accent \' Left paren \( Right paren \) |
| % Asterisk \* Plus \+ Comma \, |
| % Minus \- Point \. Solidus \/ |
| % Colon \: Semicolon \; Less than \< |
| % Equals \= Greater than \> Question mark \? |
| % Commercial at \@ Left bracket \[ Backslash \\ |
| % Right bracket \] Circumflex \^ Underscore \_ |
| % Grave accent \` Left brace \{ Vertical bar \| |
| % Right brace \} Tilde \~} |
| |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % \subsection{Package Info} % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| |
| |
| |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % \begin{macrocode} |
| \NeedsTeXFormat{LaTeX2e} |
| \ProvidesPackage{noindentafter}[2014/11/30 0.2.2 |
| prevent paragraph indentation after specific environments or macros] |
| % \end{macrocode} |
| % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| |
| |
| |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % \subsection{Packages} % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| |
| |
| |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % |
| % \begin{macrocode} |
| \RequirePackage{etoolbox} |
| % \end{macrocode} |
| % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| |
| |
| |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % \subsection{Patches} % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| |
| |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| %%% \needspace{5\baselineskip}\begin{macro}{\end} |
| % |
| % The package |etoolbox| provides the command |
| % |\AfterEndEnvironment| which creates a hook executed at a |
| % very late point inside the |\end| command. However, this |
| % hook is still located before |\ignorespaces|, which is |
| % too early to properly suppress the indention after an |
| % environment. Therefore another hook is now added to |\end| |
| % using |\patchcmd|. This new hook puts new code at the very |
| % end. |
| % |
| % \begin{macrocode} |
| \patchcmd\end{% |
| \if@ignore\@ignorefalse\ignorespaces\fi% |
| }{% |
| \if@ignore\@ignorefalse\ignorespaces\fi% |
| \csuse{@noindent@#1@hook}% |
| }{}{% |
| \PackageWarningNoLine{noindentafter}{% |
| Patching `\string\end' failed!\MessageBreak% |
| `\string\NoIndentAfter...' commands won't work% |
| }% |
| } |
| % \end{macrocode} |
| % |
| %\end{macro}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| |
| |
| |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % \subsection{Macros} % |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| |
| |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| %%% \needspace{5\baselineskip}\begin{macro}{\@NoIndentAfter} |
| % |
| % \noindent This command implements the main principle |
| % behind this package. It checks whether it is followed by |
| % a paragraph. If so, the command |\par| is temporarily |
| % changed using |\everypar|, so that the following paragraph |
| % is not indented. Immediately afterwards, default paragraph |
| % behavior is restored with |\@restorepar| (from the \LaTeX{} |
| % base). |
| % |
| % \begin{macrocode} |
| \newcommand*\@NoIndentAfter{% |
| \@ifnextchar\par{% |
| \def\par{% |
| \everypar{\setbox\z@\lastbox\everypar{}}% |
| \@restorepar% |
| }% |
| }{}% |
| } |
| % \end{macrocode} |
| % |
| %\end{macro}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| |
| |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| %%% \needspace{5\baselineskip}\begin{macro}{\NoIndentAfterThis} |
| % |
| % \noindent Enforce a paragraph break and suppress |
| % indentation for whatever follows. |
| % |
| % \begin{macrocode} |
| \newrobustcmd*{\NoIndentAfterThis}{\@NoIndentAfter\par\par} |
| % \end{macrocode} |
| % |
| %\end{macro}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| |
| |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % \needspace{5\baselineskip}\begin{macro}{\NoIndentAfterEnv} |
| %%% \marg{environment}\\ |
| % |
| % \noindent Append |\@NoIndentAfter| to the output of |
| % \meta{environment} by using the new environment hook. |
| % |
| % \begin{macrocode} |
| \newrobustcmd{\NoIndentAfterEnv}[1]{% |
| \csdef{@noindent@#1@hook}{\@NoIndentAfter}% |
| } |
| % \end{macrocode} |
| % |
| %\end{macro}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| |
| |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| % \needspace{5\baselineskip}\begin{macro}{\NoIndentAfterCmd} |
| %%% \marg{command}\\ |
| % |
| % \noindent Append |\NoIndentAfterThis| to the output of |
| % \meta{command}. |
| % |
| % \begin{macrocode} |
| \newrobustcmd*{\NoIndentAfterCmd}[1]{% |
| \apptocmd{#1}{\NoIndentAfterThis}{}{% |
| \PackageWarning{noindentafter}{% |
| Patching `\string#1' failed!\MessageBreak% |
| `\string\NoIndentAfterCmd' won't work% |
| }% |
| }% |
| } |
| % \end{macrocode} |
| % |
| %\end{macro}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| |
| |
| |