3

How does one most easily typeset a paragraph marker inside the margin, at the beginning of every paragraph?

There are different practices regarding the indication of paragraph boundaries.

  • indentation of every paragraph: Makes for a visually consistent appearance.
  • indentation of every paragraph except the first after a heading: A bit more functional; I think it's a matter of taste compared to universal indentation.
  • no paragraph indentation: In my opinion not nearly as much of a problem as some would like to make you think: That the preceding paragraph ends exactly on the right-hand margin is infrequent, and even if it happens: what is the problem? There are many other ambiguities in printed language (including ambiguities related to spelling, sentence structure, and punctuation overloading).

The actual issue I have with indentation of every paragraph is that I find it ugly [Disclaimer: subjective opinion!] when there are many short lines. This can happen in a novel with lots of short dialogue but also and especially in text with lots of math. When both every math formula as well as many of the lines around these formulas are indented (often with indentation that differs only slightly), that clearly makes it harder to discern the document structure. I personally also think that it's okay to not indent after any float or formula, independent of whether the first line after the float or formula starts a new paragraph - but I will not claim that my opinion is common. By the way, I like it if indentation of paragraphs and indentation of mathematical material clearly differ (say, by a factor of 2).

A "solution" to the question of proper paragraph indentation is to not indent at all but precede every paragraph with a marker. Here is one way:

\documentclass{article}
\usepackage{xcolor}
\usepackage{lipsum}

\parindent0pt % no paragraph indentation

\newcommand*{\parindicator}%
  {\everypar{\llap{\textcolor{gray}{\raisebox{0.5ex}[0pt][0pt]{\footnotesize \P}}\quad}}}


\begin{document}

\parindicator
\lipsum[1-2]

\begin{itemize}
  \item Text.
  \item Text.
  \item \parindicator \lipsum[3] \lipsum*[4]
  \item Text.
\end{itemize}

\parindicator
\lipsum[5-6]
\lipsum[7-8]

\end{document}

This will typeset a "¶" just inside the margin at the beginning of every paragraph. I picked the "¶" for its meaning, even though it's outdated. For the modern eye it may be a bit of an unusual choice, but why not put this character to some real use; it'd be lame if it just kept sitting there within ASCII for all eternity. I made it a bit smaller and greyed it out as well to make it less obtrusive.

Above are stylistic justifications, and, yes, doing things this way will be regarded as unusual - but why not try it out. I ask: How does one most easily typeset a paragraph marker inside the margin, at the beginning of every paragraph? In my code above the \parindicator has to be used repeatedly, and the result for the bulleted list is unsatisfactory. Perhaps one could use a "¶" there only for non-initial paragraphs, or one could move these markers to the right-hand margin.

  • 1
    For the \lipsum[1-2] in the item list the problem is that the \lipsum command ends it output with \par. If you had normal text here it would not be a problem. Cf. \lipsum* which does not end with \par. – Andrew Swann Jun 18 '13 at 14:17
  • @AndrewSwann Thx! See edit. – Lover of Structure Jun 18 '13 at 22:43
3

You can use \vadjust to place the markers in the margin as follows:

Sample output

\documentclass{article}
\usepackage{xcolor}
\usepackage{lipsum}

\parindent0pt % no paragraph indentation

\newcommand*{\lparind}{\leavevmode\vadjust{\llap{\textcolor{gray}{\raisebox{0.5ex}[0pt][0pt]{\footnotesize \P\quad}}}}}

\newcommand*{\rparind}{\leavevmode\vadjust{\hbox to \hsize{\hfill\rlap{\textcolor{gray}{\raisebox{0.5ex}[0pt][0pt]{\footnotesize \quad\P}}}}}}

\newcommand*{\parindicator}{\everypar{\lparind}}

\newcommand*{\rtparindicator}{\everypar{\rparind}}

\begin{document}

\parindicator
\lipsum[1-2]

\begin{itemize}
  \item \rparind Text.
  \item \rparind Text.
  \item \rparind \lipsum[3] \rtparindicator \lipsum*[4]
  \item \rparind Text.
\end{itemize}

\parindicator
\lipsum[5-6]
\lipsum[7-8]

\end{document}

As you probably know, the standard \item command sets \everypar itself, which is why I inserted the symbol explicitly there. Doing this automatically would require some rewriting of \item.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.