Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Consider the following MWE.

\documentclass[12pt]{report}
\usepackage[francais]{babel}
\usepackage[utf8]{inputenc}

\begin{document}
\vspace*{\fill}
\begin{tabular}{l}
    \textbf{« Ah ! comme la neige a neigé !} \\
    \textbf{Ma vitre est un jardin de givre.} \\
    \textbf{Ah ! comme la neige a neigé !} \\
    \textbf{Qu'est-ce que le spasme de vivre} \\
    \textbf{À la douleur que j'ai, que j'ai ! [...] »} \\
    Émile Nelligan
\end{tabular}
\vspace*{\fill}

\end{document}

I want to double the space between the last rows, so that the name of the poet be disjoint from the poem. I know I can add an argument in brackets to the \\ to put more vertical space, but I don't know what is the exact value of the space between rows in a \tabular environment. All I've found is that it has default value 1 when trying to renew the command \arraystretch in the preamble. Since 1 is dimensionless, this tells me absolutely nothing about the real value.

share|improve this question
1  
Use an empty line \\~\\ Émile Nelligan –  Sigur Jul 28 at 1:48
2  
Have you considered the verse package? –  pablos Jul 28 at 1:54
    
@pablos No, I haven't. But thanks for letting me know it exists. –  Amateur Jul 28 at 1:54
    
@Amateur you can find how to typeset poetry here ctan.math.washington.edu/tex-archive/macros/latex/contrib/verse/… –  pablos Jul 28 at 2:09
2  
The \vspace*{\fill} at the beginning of your code let mea think perhaps you want to typeset epigraphs. If this is indeed the case, there is an epigraph package. Otherwise, less known than verse is the gmverse package that's dedicated to typesetting verses too long to fit on one line. –  Bernard Jul 28 at 2:29

2 Answers 2

up vote 5 down vote accepted

To answer your question, in an array or tabular environment, line spacing is done by placing a strut in every row of height and depth given by \arraystretch times the height and depth of the strut produced by an ordinary \strut commmand. Thus, you can get the desired value (under normal circumstances) with something like

\newlength\mylen
\setlength\mylen{\dimexpr\arraystretch\ht\strutbox+\arraystretch\dp\strutbox\relax}

So you could do:

\documentclass[12pt]{report}
\usepackage[francais]{babel}
\usepackage[utf8]{inputenc}

\newlength\mylen
\setlength\mylen{\dimexpr\arraystretch\ht\strutbox+\arraystretch\dp\strutbox\relax}

\begin{document}
\vspace*{\fill}
\begin{tabular}{l}
    \textbf{« Ah ! comme la neige a neigé !} \\
    \textbf{Ma vitre est un jardin de givre.} \\
    \textbf{Ah ! comme la neige a neigé !} \\
    \textbf{Qu'est-ce que le spasme de vivre} \\
    \textbf{À la douleur que j'ai, que j'ai ! [...] »} \\[\mylen]
    Émile Nelligan
\end{tabular}
\vspace*{\fill}
\end{document}

which produces

enter image description here

The exact same result would be obtained with an empty additional row:

\begin{tabular}{l}
    \textbf{« Ah ! comme la neige a neigé !} \\
    \textbf{Ma vitre est un jardin de givre.} \\
    \textbf{Ah ! comme la neige a neigé !} \\
    \textbf{Qu'est-ce que le spasme de vivre} \\
    \textbf{À la douleur que j'ai, que j'ai ! [...] »} \\
    \\
    Émile Nelligan
\end{tabular}

However, as has been noticed in comments, to typeset poetry instead of using a tabular you could use the standard verse environment or the features provided by a number of dedicated packages such as:

In CTAN, under Poetry and Drama you'll find a list of other related packages.

In case you are interested in epigraphs, the epigraph package could be of interest for standard classes; memoir and the KOMA classes offer their own epigraph mechanisms.

share|improve this answer

Apart from reminding about the verse environment (and the package with the same name that provides some enhancements), I want to suggest using a special environment for this: the advantage is greater flexibility.

In the example I show that by just modifying the definition of \poet you get a different effect without acting on all poems.

\documentclass[12pt]{report}
\usepackage[T1]{fontenc}     % <---- Don't forget this with French!
\usepackage[utf8]{inputenc}
\usepackage[francais]{babel}

\newenvironment{poetry}[1][]
 {#1\begin{tabular}{l}}
 {\end{tabular}}

\newcommand{\poet}[1]{\noalign{\vspace{.5\normalbaselineskip}}\normalfont#1}

\begin{document}
\begin{poetry}[\bfseries]
« Ah ! comme la neige a neigé ! \\
Ma vitre est un jardin de givre. \\
Ah ! comme la neige a neigé ! \\
Qu'est-ce que le spasme de vivre \\
À la douleur que j'ai, que j'ai ! [...] » \\
\poet{Émile Nelligan}
\end{poetry}

\bigskip

\begin{poetry}[\itshape]
« Ah ! comme la neige a neigé ! \\
Ma vitre est un jardin de givre. \\
Ah ! comme la neige a neigé ! \\
Qu'est-ce que le spasme de vivre \\
À la douleur que j'ai, que j'ai ! [...] » \\
\poet{Émile Nelligan}
\end{poetry}

\bigskip

% this is how \poet could be defined in the preamble
\renewcommand{\poet}[1]{%
  \noalign{\vspace{.5\normalbaselineskip}}%
  \multicolumn{1}{r}{\normalfont\scshape#1}%
}

\begin{poetry}
« Ah ! comme la neige a neigé ! \\
Ma vitre est un jardin de givre. \\
Ah ! comme la neige a neigé ! \\
Qu'est-ce que le spasme de vivre \\
À la douleur que j'ai, que j'ai ! [...] » \\
\poet{Émile Nelligan}
\end{poetry}

\end{document}

enter image description here

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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