TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This is a related question to:

How to change font size in verse environment?

Although this answer works very well, it does create a new Verse environment without the inherent functions of the verse package. In the case of LyX, it will be cumbersome to implement.

I wondered, if there is a way to define the font styles in the Preamble—font size, leading, style etc—with all the inherent proprieties of verse? It will keep the LyX interface clean and still modifiable through the Preamble.

ps. I tried \renewenvironment with simple \selectfont, it seems to erase the verse functions.

share|improve this question
up vote 2 down vote accepted

Aletrnative to Werner's, this solution doesn't rewriting of the whole environment. This goes into the preamble:

\newcommand{\versefont}{\itshape} % put here whatever font commands you want
\let\myoldverse\verse % now we store the original {verse}
\def\verse{\versefont\myoldverse} % and new {verse} just uses the font and original {verse}
share|improve this answer
this solution is very elegant! thanks! – Shi Yuan Feb 5 '13 at 11:53

If you're using one of the standard document classes, you can merely add the following to your LaTeX preamble:

                \list{}{\itemsep      \z@
                        \itemindent   -1.5em%
                        \rightmargin  \leftmargin
                        \advance\leftmargin 1.5em}%

This will allow you to redefine \versefont to make your font selections in the preamble, or through the body text using an ERT.

If you're using the verse package, then your preamble should look like this in order to do the same:

  \list{}{\itemsep \z@
          \itemindent  -\vindent%
          \parsep       \stanzaskip
          \ifdim #1 < \linewidth
            \rightmargin        \z@
            \rightmargin        \leftmargin

The above code just grabbed the verse environment definition from verse.dtx and inserted \versefont (defined to be empty).

share|improve this answer
I'd put \versefont before \list in both cases, so that it can contain also font size changing commands. – egreg Feb 5 '13 at 7:58
it works! thanks! very comprehensive! – Shi Yuan Feb 5 '13 at 11:53

Your Answer


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.