Enrico Gregorio
> Cool! Thanks for a present!
> I just won't ask to explain everything about those commands, rather,
> could you recommend the books / papers I should read through to do
> things as easy as you did?
TeXbook, TeX by Topic for the primitive commands; and then comp.text.tex
and many package sources.
Let's see what \lowbiglquote does.
\newcommand{\lowbiglquote}[1][24]{%
Ê \sbox0{\fontsize{#1}{0}\selectfont``}%
Ê \setlength{\dimen0}{\ht0 - \heightof{A}}%
Ê \noindent\llap{\smash{\lower\dimen0\box0 }}}
The beginning is standard: one optional argument whose default value
is 24 (for the size of the quotes).
The "big" quotes are put into box register 0; actually saying
\sbox0{...} instead of \setbox0=\hbox{...} is better LaTeX programming,
although in this case there's no difference, since we don't change
colors inside the box.
The register's content is at our disposal for measuring it and also
for typesetting it in the future.
Indeed we use its height (\ht0) to set the scratch length register
\dimen0. Using the syntax provided by calc we subtract from it the
height of a capital letter in the current font. It would be the
same with the combination
Ê \setlength{\dimen0}{\ht0}%
\settoheight{\dimen2}{A}%
\addtolength{\dimen0}{-\dimen2}%
but with "calc" it's easier. Why this calculation? If we lower the
quotes by that amount, the top of the quotes will be aligned with the
top of the capital letters in the current font.
That's indeed what we do next: \noindent starts a paragraph with no
indentation; with \llap we set its argument in such a way that it
takes no space and protrudes to the left (the same can be obtained
with LaTeX's \makebox[0pt][r]{...}, but \llap is more efficient).
The box register containing the big quotes is lowered, but it is
also submitted to \smash, which annihilates its vertical dimension;
otherwise the box would push down the second line of the paragraph.
That's all.
Ciao
Enrico