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.

This is a series of books, the margins, page sizes are all identical. Depends on the content, the design of inner pages are slightly different, i.e. different type sizes, leading, etc.

The question is: I would like to set a consistent cover design through out the series with simple title and author.

Here is how I did it:

\clearpage
\pagestyle{empty}
\begin{center}
\fontsize{17pt}{19pt}\rmfamily The Metamorphosis
\vspace*{8pt}
\fontsize{14pt}{14.5pt}\it Franz Kafka
\vfill{}
\end{center}
\pagebreak{}

the typography aspect:

\usepackage{ebgaramond}
\usepackage[T1]{fontenc}

\input{glyphtounicode}
\pdfgentounicode=1

However, I found a small inconsistency in the author alignment—it is just a fractional difference across the series, very annoying. Please see the blue line. I thought I had not refer to any preamble so that such design will be independent, but somehow there is something that still exerts influence on the typeset. Wondered if anyone can spot it? The document class is Book, KOMA Script.

leading difference

Update A:

The problem seems to be caused by certain combination of letters in both title and author. Please find the following example, once I introduced certain letters, the leading is changed by the system.

enter image description here

share|improve this question
    
What if you add a \vphantom{p} near "Howards End" ? –  Lionel MANSUY Feb 5 '13 at 17:32
2  
It is minor tinkering by the TeX engine. Kafka has the lowecase 'f', whereas Forster doesn't. Can you try Forsterf and see if they are the same? –  Yiannis Lazarides Feb 5 '13 at 18:47
1  
Might this help? tex.stackexchange.com/questions/86569/… –  Ethan Bolker Feb 5 '13 at 19:47
3  
@ShiYuan To fix use a strut see tex.stackexchange.com/a/7531/963 –  Yiannis Lazarides Feb 5 '13 at 19:56
1  
Just to keep the site consistent; would not a tag like vertical-alignment or spacing be more accurate than horizontal-alignment? –  Johan_E Feb 5 '13 at 22:43
show 5 more comments

1 Answer

up vote 16 down vote accepted

The problem is due to your setting of the baseline skip, that is too small, so in one case it makes the \lineskip glue to come into action.

Indeed, if you say \vspace*{9pt} before "E. M. Forster" you get almost perfect alignment, as the difference of a bit less than 0.025pt is very tiny; the default value of \lineskip is exactly 1pt.

The descender in "Metamorphosis" is the factor that triggers insertion of \lineskip glue.

Let's do some computations; the depth of the "p" in the title line is 4.87898pt, the height of "Franz Kafka" in the author line is 9.646pt and the sum is 14.52498pt, which is bigger than the current value 14.5 of the baselineskip when the lines are to be set on the page, so the \lineskip glue is inserted.

Indeed, if we try with \fontsize{14}{15} for the author line, the alignment is perfect. However, I'd be more generous with the baseline skips, so to be sure these problems don't appear.

enter image description here

In all cases I've added \par (an empty line is the same) just before \vspace*{8pt}, or there wouldn't be two lines.

Some theory

When TeX breaks paragraphs into lines it stacks the lines one above the other with some glue between them. When a paragraph is finished, another one is typeset and put on the galley in the same way.

The distance from the baseline of a line (where the letters sit) to the following is, normally, regulated by the value of \baselineskip current for the line below (the value can change only when two distinct paragraphs are concerned, because only one value of \baselineskip is used for a single paragraph).

When stacking two lines, TeX computes the depth d of the line above (how much it sticks down the baseline) and the height h of the line below (how much it sticks over the baseline). If b is the value of \baselineskip (for the paragraph the second line belongs to), TeX computes

b - (d + h)

and, if the result is less than the current value of \lineskiplimit (default 0), TeX inserts \lineskip glue. Otherwise the glue inserted is exactly b - (d + h).

Let's assume b = 14.5pt.

In the first case the distance between the baselines will be

d + 1pt + h = 4.87898pt + 1pt + 9.646pt = 15.52498pt

In the second case, the depth of the line above is 0.31448pt and the height of the line below is 9.07199pt, so

b - (d + h) = 14.5pt - 9.38647pt = 5.11353pt

and this will be the glue inserted, making the distance exactly 14.5pt.

To this distance explicit (\vspace) or implicit (\parskip) glues are added. Thus the final distance between the baselines will be 23.52498pt for Kafka and 22.5pt for Forster.

The computations show why using b = 15pt doesn't show the problem.

share|improve this answer
    
very comprehensive! thanks @egreg –  Shi Yuan Feb 7 '13 at 12:04
add comment

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.