5

I am trying to typeset a song where some lines are repeated. In order to tell what are they, I grouped them using right curly brackets.

Here is a MWE:

\documentclass[12pt]{article}
\usepackage[english]{babel}
\usepackage{verse}
\usepackage{amsmath}
\newenvironment{rcases}
  {\left.\begin{aligned}}
  {\end{aligned}\right\rbrace}

\begin{document}
\begin{verse}
la la\\
\begin{equation*}
\begin{rcases}
  \text{blah blah}\\
  \text{ha ha ha}\\
\end{rcases}
\text{repeat 2 times}
\end{equation*}
\end{verse}
\end{document}

Output:

enter image description here

Unfortunately the text inside equation is being centered. How can I align it left?

This is not an equation, but I don't know, how to implement such a non-standard requirement and mark the repeated lines without using equation trick.

4

Don't use a displayed-equation environment. Use inline math mode instead.

\documentclass[12pt]{article}
\usepackage[english]{babel}
\usepackage{verse}
\usepackage{amsmath}
\newenvironment{rcases}
  {\left.\begin{aligned}}
  {\end{aligned}\right\rbrace}

\begin{document}
\begin{verse}
la la\\
$
\begin{rcases}
  \text{blah blah}\\
  \text{ha ha ha}\\
\end{rcases}
\text{repeat 2 times}
$
\end{verse}
\end{document}

Addendum: As @Bernard has pointed out in a comment, the rcases environment is defined by the mathtools package. Instead of using lower-level math commands inside the verse environment, it's probably better to create a dedicated macro -- called \vrepeat below; it takes two arguments -- that lets you achieve the desired formatting.

\documentclass[12pt]{article}
\usepackage[english]{babel}
\usepackage{verse,amsmath,mleftright}
\newcommand\vrepeat[2]{%
  \smallskip$\mkern-1.7mu\mleft.\begin{tabular}{@{}l@{}}
  #1\end{tabular}\mright\}$#2}

\begin{document}
\begin{verse}
la la\\
\vrepeat{blah blah\\
         ha ha}{
         repeat 2 times}\\
la la la
\end{verse}
\end{document}
  • good idea, but two tiny problems ... (1) braced lines are flushed right to brace; precede by & to left-align them with one another; (2) they are indented by a small distance; reverse this by \mspace{-\medmuskip} before each line. – barbara beeton Aug 19 '16 at 18:19
  • @barbarabeeton - Good suggestions indeed! :-) The OP didn't mention these "two tiny problems", so I didn't point them out in my answer... – Mico Aug 19 '16 at 18:24
  • @Mico: rcases already exists in mathtools – Bernard Aug 19 '16 at 18:37
  • @Bernard - Thanks. I've provided an addendum to (a) point out that mathtools provides an environment called rcases and (b) provide a dedicated macro that lets the user enter the repeat-related information without having to resort to explicit math mode commands inside a verse environment. – Mico Aug 19 '16 at 19:16
  • 1
    The ‘Repeat’ or ‘Twice’ mean exactly that but not both. – Bernard Aug 19 '16 at 22:23
5

No math required: you canuse the blkarray package:

\documentclass[12pt]{article}
\usepackage{ebgaramond} 
\usepackage[english]{babel}
\usepackage{verse}
\usepackage{blkarray}

\begin{document}
\begin{verse}
La la la\\
La la la\\[1ex]
\begin{blockarray}{@{}l\Right{\}}{\footnotesize\enspace Repeat twice}}
 blah blah\\
 ha ha ha
\end{blockarray}\\[ -2ex]
La la la \end{verse}

\end{document}

enter image description here

2

If you're willing to move the repeated part outside of the verse environment, here is another approach, with some parameters you can fine-tune.

enter image description here

\documentclass[12pt]{article}
\usepackage[english]{babel}
\usepackage{verse}
\usepackage[fleqn]{amsmath}
\newenvironment{rcases}
  {\left.\begin{aligned}}
  {\end{aligned}\right\rbrace}

\setlength{\mathindent}{26pt} % <--- fine tune

\begin{document}
\begin{verse}
la la\\
\end{verse}
\vspace{-1.4\baselineskip} % <--- fine tune
\begin{align*}
\begin{rcases}
  \text{blah blah}\\
  \text{ha ha ha}\\
\end{rcases}&\text{\ repeat 2 times}&
\end{align*}
\end{document}

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.