[texhax] Documents with multi-line headers, and mostly a multi-page table contents
Peter Ragosch
peter.ragosch at kabelmail.de
Sun Apr 10 19:30:36 CEST 2011
Am Sat, 9 Apr 2011 19:54:07 -0600
schrieb Gordon Haverland <ghaverla at materialisations.com>:
> Hello.
>
> I've played with TeX and LaTeX a long time (1985?), never had a
> need to ask a question. Hopefully someone can help.
>
> I'm trying to generate "reports" out of a database, and nominally
> I will have a Perl program read the database and write LaTeX
> source, which will get processed by pdflatex to produce PDFs.
>
> The original reports consist of a header on each page, and the
> body of the document almost entirely consists of a multipage
> table. The document ends with a Notes section (which is either a
> list or a table).
>
> The header varies from report to report, the one I am playing with
> has a header that is 14 lines long. Which is not quite what
> fancyhdr seems to be comfortable with.
>
> The header looks like a bunch of stacked rectangles. The upper-
> left rectangle will eventually contain a SVG letterhead. Running
> pdflatex multiple times produces the body table being about the
> width of the header, but not exactly.
>
> Problems:
> 1) The upper-right rectangle should have the text near the right
> border. I can force this by inserting a hspace, but I think I
> don't need to. I don't understand why 'r' justification doesn't
> place the text at the right.
> 1a) When I first started playing with this, the LastPage
> reference worked. Now it doesn't work (I just get ?? for
> LastPage).
> 2) The 3rd line contains 3 rectangular areas. The right most
> rectangle has the same problem as the first line.
> 3) The middle rectangle is supposed to be centered.
> 4) The left rectangle has always started some distance below the
> line that defines the box for the table. I've never had tables do
> this before, but I would like the content to start at the top of
> the space, and not 1 or 2 lines down.
> 5) Running pdflatex multiple times, the hyperref link from a note
> in the header (which will be on every page) doesn't resolve.
> 6) Quirk: it would be nice to have the same border width for the
> double lines around the header box.
>
> A couple of "minimal" files are below.
>
> Thanks for any suggestions.
> Gord
>
>
> ==========pg.tex=============
> \documentclass[11pt,letter,oneside]{report}
>
> \usepackage{tabularx}
> \usepackage{textcomp}
> \usepackage{fancyhdr}
> \usepackage{lastpage}
> \usepackage{ltxtable}
> \usepackage{hyperref}
>
>
> \setlength{\textwidth}{7.5in}
> \setlength{\evensidemargin}{-0.75in}
> \setlength{\oddsidemargin}{-0.75in}
\setlength{\parindent}{0pt} %% solves indent of last hrule and footnotes
\setlength{\extrarowheight}{1pt} %% a bit more distance between hrule
% and text
>
> \pagestyle{fancy}
> \fancyhead{}
> \fancyfoot{}
>
> \setlength{\tabcolsep}{2pt}
>
> \setlength{\fboxsep}{2pt}
> \newlength{\msinnerbox}
> \setlength{\msinnerbox}{\textwidth}
> %\addtolength{\msinnerbox}{-0.5\fboxsep}
% replace above line by
\addtolength{\msinnerbox}{2\fboxsep}
% reduces the distance between outer and inner vertical rule
>
> \newsavebox{\edochdr}
> \sbox{\edochdr}{
> %\fbox{
% replace above line by
\fbox{%
reduces the distance between outer and inner vertical rule
> \begin{minipage}{1.0\textwidth}
> \begin{tabularx}{\msinnerbox}{|X|r|}
> \hline
> EngineeringLetterhead & {
>% \begin{tabularx}{0.2\msinnerbox}{r}
>% {\large{\bf A}} \\
>% Rev. 3 \\
>% \hfill January, 2009 \\
>% \thepage~of~\pageref{LastPage} \\
>% \end{tabularx}
% see at bottom of this file
\begin{minipage}[c][54pt]{0.2\msinnerbox}
\begin{flushright}
{\large{\bf A}} \\
Rev. 3 \\
January, 2009 \\
\thepage~of~\pageref{LastPage}
\end{flushright}
\end{minipage}
% to be improved by content dependent height
> } \\
> \hline
> \end{tabularx}
>
> \begin{tabularx}{\msinnerbox}{|X|} \hline
> \begin{center}
> {\large{\bf Piping Material Specification}}
> \end{center}
> \end{tabularx}
>
> \begin{tabularx}{\msinnerbox}{|X|r|r|} \hline
> {\bf Some title\newline}
> Some really long content that just goes on forever. But
> what is it really? I don't know. \vfill
> & {
> \begin{tabularx}{0.30\msinnerbox}{rrcrr}
> \multicolumn{5}{c}{\bf Pressure Limits} \\
> 1965 & kPa & @ & -29 &
> \textdegree{C} \\
> {\sl 280} & {\sl psi} & @ & {\sl -20} & {\sl
> \textdegree{F}} \\
> 1172 & kPa & @ & 260 &
> \textdegree{C} \\
> {\sl 170} & {\sl psi} & @ & {\sl 500} & {\sl
> \textdegree{F}} \\
> \end{tabularx}
> } & {
> \begin{tabularx}{0.20\msinnerbox}{c}
> {\bf B31.3 Piping} \\
> Class \\
> {\bf 150} \\
> ASME
> \end{tabularx}
> } \\
> Note: 1\ref{n:1} & & \\
> \hline
> \end{tabularx}
>
> \begin{tabularx}{\msinnerbox}{|X|X|X|} \hline
> CA: 1.6mm ({\sl 0.0625in\/}) &
> PWHT: Code &
> Tubing Class: CLC \\
> Radiography: 10\% &
> Material Group: 1.1 &
> Branch Table: 1 \\
> \hline
> \end{tabularx}
>
> \end{minipage}
> }
> }
>
> \setlength{\textheight}{10.0in}
> \setlength{\topmargin}{-0.5in}
> \newlength{\msheadheight}
> \settoheight{\msheadheight}{\usebox{\edochdr}}
> \setlength{\headheight}{\msheadheight}
> \addtolength{\headheight}{1.25in}
> \addtolength{\headheight}{18pt}
>
>
> \chead{
> \usebox{\edochdr}
> }
>
> \renewcommand{\headrulewidth}{0pt}
>
>
> \begin{document}
>
> \LTXtable{\textwidth}{table.tex}
>
> \begin{tabularx}{\msinnerbox}{X} \hline
> {\label{n:1}1: This is note 1.} \\
> {\label{n:2}2: This is note 2.} \\
> \end{tabularx}
\fbox{%
\begin{tabularx}{0.2\msinnerbox}{r}
{\large{\bf A}} \\
Rev. 3 \\
January, 2009 \\
\thepage~of~\pageref{LastPage} \\
\end{tabularx}
}
% as you can see here the text is on the right, but only relative to
longest line
> \end{document}
> ================table.tex=============
> \setlength{\tabcolsep}{6pt}
>
> \begin{longtable}{llllXll}
> \caption*{Valves: ASME B16.5, B16.10} \\
> \hline % \toprule
> Type & NPS (in) & Rating & Joint & Material & Tag & Notes \\
> \hline % \midrule
> \endhead
> % \cmidrule{7-7}
> \hline
> \multicolumn{7}{c}{\textit{continued}}
>
> \endfoot
> \hline % \bottomrule
> \endlastfoot
>
> {\bf Gate Valve} \\
> API 602 & 0.5 to 1.5 & 150 Class & RF & A105-N, TR 8, bolted
> bonnet, OS\&Y, solid wedge & GABCD0 & 2\ref{n:2} \\
> & 2 to 12 & 150 Class & RF & A216-WCB, TR 8, welded
> bonnet, OS\&Y, flexible wedge & FEDK3 & \\
> & 14 to 24 & 150 Class & SW & A216-WCB, TR 8, welded
> bonnet, OS\&Y, flexible wedge, gear oper. & ABCD5 & \\
> \hline
> \end{longtable}
>
> _______________________________________________
> TeX FAQ: http://www.tex.ac.uk/faq
> Mailing list archives: http://tug.org/pipermail/texhax/
> More links: http://tug.org/begin.html
>
> Automated subscription management:
> http://tug.org/mailman/listinfo/texhax Human mailing list managers:
> postmaster at tug.org
>
Sorry, no more time left.
Hope that helps
with kind regards
Peter
--
Mit freundlichen Grüßen
Peter Ragosch
More information about the texhax
mailing list