Regarding this issue I would like to know if this is:
- a bug in pdfTeX (in which case I'll escalate it)
- a bug in LaTeX (in tabular*)
- no bug at all
The following LaTeX code correctly creates this PDF output:
but with these messages (errors or warnings):
Overfull \vbox (1.49998pt too high) detected at line 18
Overfull \vbox (1.49998pt too high) detected at line 21
TeX code:
\documentclass[10pt, twoside, a4paper]{report}
\usepackage[utf8x]{inputenc}
\usepackage[english]{babel}
\usepackage{fontenc}
\usepackage[ top=21mm, bottom=21mm, left=12mm, right=8mm]{geometry}
\usepackage{multirow}
\begin{document}
\sffamily
\begin{scriptsize}
\begin{tabular*}{0.45\textwidth}[t]{@{\extracolsep{\fill}}|r|ccc|ccc|}
\multicolumn{7}{c}{\normalsize{}} \\
\hline
\multicolumn{1}{|c|}{} & & & \multicolumn{1}{|c|}{} & \multicolumn{1}{c|}{} & & \multicolumn{1}{c|}{}\\[-2.0ex]
\multicolumn{1}{|c|}{\multirow{2}{*}{\textbf{Lat.}}} &
\multicolumn{2}{c}{\multirow{1}{*}{\footnotesize{\textbf{Twilight}}}} &
\multicolumn{1}{|c|}{\multirow{2}{*}{\textbf{Sunrise}}} &
\multicolumn{1}{c|}{\multirow{2}{*}{\textbf{Sunset}}} &
\multicolumn{2}{c|}{\multirow{1}{*}{\footnotesize{\textbf{Twilight}}}} \\[0.6ex]
\multicolumn{1}{|c|}{} &
\multicolumn{1}{c}{Naut.} &
\multicolumn{1}{c}{Civil} &
\multicolumn{1}{|c|}{} &
\multicolumn{1}{c|}{} &
\multicolumn{1}{c}{Civil} &
\multicolumn{1}{c|}{Naut.}\\
\hline
\end{tabular*}
\end{scriptsize}
\end{document}
However if I simply remove "\footnotesize{...}" from the LaTeX code above (two instances), the error (or warning?) messages disappear!
And the following (again correct) PDF is generated:
I cannot understand that insertion of my desired font size "\footnotesize{}" should be the cause of any error/warning messages. (Over 350 of these messages are produced by my Python code making it look very unprofessional - hence I would to fix this issue.)
My environment is: Windows 10, Python, MiKTeX 2.9.7269 and the command issued is:
pdflatex <filename.tex>
\footnotesize
not\footnotesize{....}
(but that makes no difference here)\multirow{1}{*}
here? you could simply delete that and the over full box would go