summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/noindentafter/noindentafter.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/noindentafter/noindentafter.tex')
-rw-r--r--macros/latex/contrib/noindentafter/noindentafter.tex205
1 files changed, 205 insertions, 0 deletions
diff --git a/macros/latex/contrib/noindentafter/noindentafter.tex b/macros/latex/contrib/noindentafter/noindentafter.tex
new file mode 100644
index 0000000000..6aac2ebe06
--- /dev/null
+++ b/macros/latex/contrib/noindentafter/noindentafter.tex
@@ -0,0 +1,205 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% 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} %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%