%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % 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. % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[a4paper]{noindentafter-packagedoc} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Setup % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NoIndentAfterEnv{latex-example-show} \NoIndentAfterCmd{\describemacro} \moretexcs{% NoIndentAfterThis,NoIndentAfterEnv,NoIndentAfterCmd } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Global Changes % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \changes{0.0.1}{2013/08/02} {initial version} \changes{0.2.0}{2014/11/30} {new implementation, fixing a spacing issue} \changes{0.2.2}{2014/11/30} {fixed version number in the README} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \maketitle %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Introduction} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Some people prefer certain LaTeX environments ---such as |itemize| or |theorem|--- never to be followed by an indented paragraph. It is of course possible to manually add the |\noindent| command to each occurrence, but it's easy to forget to do this. Also, all those |\noindent| commands leave your \TeX{} code just a little bit more chaotic and more burdensome to read. There are a number of solutions floating around, but many of them are not particularly robust, or only work in specific cases. The |noindentafter| package provides a few simple commands which can be used to patch existing macros and environments. They work as expected in all cases I've encountered. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Usage} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \noindent\DescribeMacro{\NoIndentAfterThis} % This is the most primitive macro offered by the package. It forces a paragraph break and suppresses indentation for whatever follows: \begin{latex-example-show} Lorem ipsum dolor sit amet, consectetur adipiscing elit. \NoIndentAfterThis Pellentesque hendrerit volutpat feugiat. Ut purus leo, pulvinar sit amet vehicula non, pulvinar eu lacus. Curabitur id mollis ligula. \end{latex-example-show} \pagebreak % Hack to make the footnote appear on page 1. \describemacro{\NoIndentAfterEnv}{\marg{environment}} This is probably the command most people will want to use. The \meta{environment} argument should contain an environment name. After using this command, any paragraph following such an environment will remain unindented. \begin{latex-example-show} Lorem ipsum dolor sit amet, consectetur adipiscing elit. \begin{itemize} \item First Item \item Second Item \end{itemize} Pellentesque hendrerit volutpat feugiat. Ut purus leo, pulvinar sit amet vehicula non, pulvinar eu lacus. Curabitur id mollis ligula. \NoIndentAfterEnv{itemize} Vestibulum id erat venenatis, facilisis enim non, consectetur felis. Quisque iaculis eu arcu non pretium. \begin{itemize} \item Third Item \item Fourth Item \end{itemize} Curabitur est elit, posuere pulvinar laoreet sed, varius id mi. Nam lobortis elit nec mauris condimentum gravida. \end{latex-example-show} You'll probably want to use these commands in the document preamble but, as you can see, you don't really have to. \needspace{10\baselineskip} Note that using the |\NoIndentAfterEnv| command on your own environment is not the same as adding |\NoIndentAfterThis| to the end of it: \begin{latex-example-show} \newenvironment{test}{\itshape}{\NoIndentAfterThis} \begin{test} Lorem ipsum dolor sit amet, consectetur adipiscing elit. \end{test} Pellentesque hendrerit volutpat feugiat. Ut purus leo, pulvinar sit amet vehicula non, pulvinar eu lacus. Curabitur id mollis ligula. \end{latex-example-show} |\NoIndentAfterEnv| works because it bypasses the group that surrounds every \LaTeX{} environment (and localizes declarations). \describemacro{\NoIndentAfterCmd}{\marg{command}} Finally, you may also patch command sequences using the |\NoIndentAfterCmd| command. There may not be many situations where this is useful, but for me, there is at least one: \begin{latex-example-show} Lorem ipsum dolor sit amet, consectetur adipiscing elit: \[ 1 + 1 = 2 \] Pellentesque hendrerit volutpat feugiat. Ut purus leo: \NoIndentAfterCmd \] \[ 2 + 2 = 4 \] Vestibulum id erat venenatis, facilisis enim non, consectetur felis. \end{latex-example-show} Note that braces around the \meta{command} argument are optional, as always when an argument in \TeX{} consists of only a single token. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Acknowledgements} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% I had been looking for a solution like this for quite a while. I came up with a number of hacks that workedin some situations but not in others. Eventually I asked a question on \url{http://tex.stackexchange.com}: \begin{itemize} \item \url{http://tex.stackexchange.com/questions/112404} \end{itemize} I received two excellent answers -- one from cgnieder and one from lockstep. This package was originally based on the technique proposed by cgnieder, as it is simpler and more generally applicable. Still, the answer by lockstep is definitely worth a read. Most recently, a better approach was implemented by tudscr to fix the spacing above headers: \begin{itemize} \item \url{https://github.com/mhelvens/latex-noindentafter/pull/1} \end{itemize} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \end{document} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%