Typesetting a dialogue - paragraphs or something else?

First, it seems you are not yet sure about how you want to style your dialogues and may change your mind afterwards. In these situations it is always a good idea to use the "markup" capabilities of LaTeX to mark the portions of your text with "semantic" commands so that you have control on what is what. This means you can create a custom environment dialogue to mark the beginning and end of a dialogue and use a command like \item inside to mark each "change of speaking character". The result would be a little bit more verbose but also self-explanatory and, most importantly will

  1. Avoid explicit hard-coded layout commands (error-prone: what if you forget a \\*?)
  2. Allow you to change the appearance of all dialogues by just changing the definition of your environment

Second, to alter the spacing, in a uniform way, LaTeX offers you the \parskip, \parindent and many other lengths that you can modify to get the effect. You can always limit the modifications to a piece of code by wrapping it in a group. Since environments wrap their contents in groups already you are all set.

Here's an example:

\documentclass[statementpaper]{memoir} % 8.5 x 5.5in

\newenvironment{dialogue}{\let\item\par}{\par\aftergroup\noindent\aftergroup\ignorespaces}

\begin{document}
\chapter{test}
Some flow text before the whole dialogue.
\begin{dialogue}
\item ``You need a fast-burning....."
\item ``Just as well;......"
\item ``That did occur to me as well."
\end{dialogue}
Some text after the dialogue that's not indented because of the double-slash-star in the line above and the lack of an empty line.
\end{document}

This definition of dialogue is not doing much and is not very general; the important bit is how the main text changes. Now you can change the definition of dialogue to obtain all sort of trickery: change spacing before and after, in between, linespread wathever.

A good idea is to define it using LaTeX's list see here for a nice discussion. A simple example:

\newenvironment{dialogue}{\list{}{\itemsep=\parskip \topsep=\parskip \parsep=\parskip}}{\endlist}

now want a dash before each item?

\newenvironment{dialogue}{\list{-}{\itemsep=\parskip \topsep=\parskip \parsep=\parskip}}{\endlist}

some more space between items?

\newenvironment{dialogue}{\list{}{\itemsep=\parskip \topsep=\parskip \parsep=2ex}}{\endlist}

want them all italics?

\newenvironment{dialogue}{\list{}{\itemsep=\parskip \topsep=\parskip \parsep=\parskip \itshape}}{\endlist}

The possibilities are endless!

Tags:

Xetex

Memoir