0

I am trying to print a historic text testified. I want to print in roughly 20 witnesses in parallel lines to make it comparable. That means 20 lines (each for one witness) with almost the same text so you can spot differences (view the picture). Each page the leftmost column needs to be the same, indicating a short label for the witness the text in the respective line is from.

Sadly the text is quiet long so that it takes lots of pages. I have already tried the following:

a) Any tricks with rotating the table won't work since I need to be able to swap lines flexibly.

b) Widesplit: I have tried Column-wise break of extra wide tables but I need more than 9 units in a row (units are needed to get on the next page and I want to have everything in one table to be able to swap lines). I think I will need approx 20 lines and 100 columns, so many pages.

\def\widesplit#1{%
\cleardoublepage
\def\row##1##2##3{##1}%
#1%
%\clearpage
\def\row##1##2##3{##2}%
#1%
\clearpage
\def\row##1##2##3{##3}%
#1%
\clearpage
}

Attached you find an example of what I tried.

Thank in advance! Bennoenter image description here

  • Welcome to TeX.SE! – Mensch Nov 30 '21 at 22:42
  • Perhaps flowfram https://ctan.math.utah.edu/ctan/tex-archive/macros/latex/contrib/flowfram/ffuserguide.pdf would be helpful or David's answer in the other question you referenced. – Dan Dec 01 '21 at 00:15

1 Answers1

0

Separate the content from the layout and formattiing.

The key is to give a systematic name to all the items.

To manage a 20 x 100 = 2000 element text array, the most practical method is with a spreadsheet (e.g., LibeOffice Calc): (i) for data entry; (ii) for re-arranging items many times (with drag/drop) until you are satisfied; (iii) for building Latex code using the =CONCATENATE() function to paste into your TeX editor.

If the naming has been systematic, loops will come in handy.

In this example, just for illustration, a 20x5=100 element array, all 20 witnesses say the same thing.

First two lines

3rd line (in image: some W only, because text is long)

Third line

MWE

\documentclass{article}
\usepackage{pgffor}% for looping
%% +++++++++++++++++++++++++++++++++++++++
%% Populate text array
%%\expandafter\newcommand\csname W1/L1\endcsname{First line of text for W1}
%%\expandafter\newcommand\csname W1/L2\endcsname{Second line of text for W1}
%% etc ....
%% -------------------------------------
%% (dummy data, for illustration):
\foreach \z in {1,...,20}{%
\expandafter\gdef\csname W\z/L1\endcsname{The cat sat on the mat.}
\expandafter\gdef\csname W\z/L2\endcsname{The quick brown fox jumps over the lazy dog.}
\expandafter\gdef\csname W\z/L3\endcsname{Many volcanos erupt mulberry jam sandwiches under normal pressure. Many volcanos erupt mulberry jam sandwiches under normal pressure. Many volcanos erupt mulberry jam sandwiches under normal pressure. Many volcanos erupt mulberry jam sandwiches under normal pressure. Many volcanos erupt mulberry jam sandwiches under normal pressure. Many volcanos erupt mulberry jam sandwiches under normal pressure. }
\expandafter\gdef\csname W\z/L4\endcsname{xxx}
\expandafter\gdef\csname W\z/L5\endcsname{yyy}
}%

% +++++++++++++++++++++++++++++++++++++++ % display text \newcommand{\showtest}{% \foreach \y in {1,...,5}{% line by line \section*{L\y} \foreach \x in {1,...,20}{% witness by witness \noindent\fbox{W\x-L\y}: \csname W\x/L\y\endcsname\par }% \newpage }% } % just for illustration \usepackage{pgfpages} \pgfpagesuselayout{2 on 1}%[a4paper,border shrink=5mm]

\begin{document}

\showtest

\end{document}

Cicada
  • 10,129