I want to learn Plain TeX to understand the underlying mechanics of TeX and friends. I am trying to reproduce the spacing of this dedication from the Spanish music-theory treatise, El porque de la música, by Andrés Lorente (Alcalá, 1672).

enter image description here

Here is the best I can do so far:

enter image description here

Why does the \hbox spread \hsize command create an \hbox larger than the \hsize?

(Also, why is the spacing so uneven between lines?)


\font\Huge=cmr10 at 48pt
\font\Large=cmr10 at 36pt
\font\large=cmr10 at 24pt
\font\big=cmr10 at 16pt
\font\mainfont=cmr10 at 12pt

\def\spreadtitleline #1 {\hbox spread \hsize\bgroup#1\egroup \titlelineskip}
\def\centertitleline #1 {\line{\hss #1\hss}\titlelineskip}
\def\titlelineskip {\par\vskip 1ex}


\spreadtitleline{\Huge A MARIA SAN-}
\spreadtitleline{\Large TISSIMA, NVESTRA}
\spreadtitleline{\large ABOGADA, Y SE\~NORA, CONCE-}
\centertitleline{bida sin mancha de Pecado Original, en el}
\centertitleline{Primer Instante de}
\centertitleline{su Ser.}

  • 1
    The spacing is uneven as you have not increased \baselineskip so you are setting large text on a small baseline, so TeX can not achieve even spacing – David Carlisle Sep 18 '14 at 16:19
  • Thanks. I will look into defining a font-size command that also changes the baselineskip. For this example, perhaps I also need looser inter-character spacing by changing glue settings. – musarithmia Sep 18 '14 at 16:44
  • Or just use latex, where size changing commands are set up to change the baseline already:-) – David Carlisle Sep 18 '14 at 16:55

spread is that much extra width, you want to which specifies the final width


Here's some additional ideas for you for use with XeTeX:


\def\mainfont{EB Garamond}
\font\hugefn="\mainfont:letterspace=10" at 30bp
\font\largefn="\mainfont:letterspace=5" at 22bp
\font\bigfn="\mainfont:letterspace=5" at 14bp % NOTE: \big is already defined!
\font\mainfn="\mainfont:+hlig;+onum" at 12bp % historical ligatures, old style numbers

\def\gaps{\spaceskip=.3333em plus 1fil }

\leftskip=0pt plus 1fil \rightskip=\leftskip \parfillskip=0pt \obeylines
\openup2\jot \line{\hugefn\gaps A MARIA SAN\rlap{-}}
\line{\largefn\gaps TISSIMA \raise.5ex\hbox{,} NVESTRA}
\line{\bigfn\gaps ABOGADA , Y SEÑORA , CONCE-}
\openup-1\jot bida ſin mancha de Pecado Original, en el
Primer Inſtante de
ſu Ser.

enter image description here

  • This is great! I will study it! I also want to see if it works with fbb or Cardo fonts. – musarithmia Sep 19 '14 at 0:21
  • How did you adjust the baselineskips? – musarithmia Sep 23 '14 at 14:05
  • @Andrew: With the \openup, which \advances all of \lineskip, \baselineskip, and \lineskiplimit by the amount of its dimen argument. The amount \jot is defined by default to be 3pt. – morbusg Sep 23 '14 at 15:27

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.