[Tustep-Liste] Zeilennummerierung bei &!P(Vn)

Christian Moser christian.moser at theol.uzh.ch
Fr Feb 7 20:41:52 CET 2014


Liebe Liste

Die enorme Resonanz lässt darauf schliessen, dass ich auf ein echt 
drängendes Problem gestossen bin... :-)

Jedenfalls habe ich die geschilderte Problematik mit zwei verschiedenen 
Lösungen in den Griff gekriegt.

In der ersten Lösung werden die Tabellen zunächst (mit &!P(Vn)) gesetzt, 
anschliessend wird ein unsichtbarer Zeilenzähler eingebracht und zwar 
so, dass jede Zeile innerhalb jeder Tabellenzelle die "richtige" Zählung 
verpasst bekommt. Dieser Zeilenzähler dient als Referenz für 
Querverweise, Register und Apparateinträge. Anschliessend wird der 
sichtbare Zeilenzähler hinzugefügt, innerhalb einer Tabellenzeile nur 
jeweils für die höchste Spalte. Zum Schluss wird nochmals gesetzt.
Das funktioniert, bedeutet aber einen ziemlichen Aufwand.

In der zweiten Lösung werden die Tabellen in einem ersten Schritt ohne 
vertikale Positionierungen gesetzt (das ergibt so ein treppenartiges 
Resultat). Anschliessend werden aus diesem Umbruch die einzelnen Zeilen, 
so wie sie im Druck erscheinen sollen, "rekonstruiert" (alle Erstzeilen 
der Tabellenzellen ergeben dann eine Zeile, alle "Zweitzeilen" eine 
weitere etc.) und nochmals gesetzt. Diese Lösung hat den Vorteil, dass 
ZLN benutzt werden kann und dass beim Seitenumbruch keine Probleme wegen 
undefinierter vertikalen Merkstellen entstehen können.

Fazit meiner Erfahrungen bislang: Falls sowieso ein von ZLN unabhängiger 
Zeilenzähler Verwendung findet und/oder häufiger Rahmenlinien zu 
zeichnen oder Tabellenzeilen, -zellen, -spalten grau oder farbig zu 
hinterlegen sind, empfiehlt sich wohl die erste Lösung, ansonsten die 
zweite.

Freundliche Grüsse in die Runde
Christian Moser




On 01/30/2014 12:14 PM, Christian Moser wrote:
> Diskussionsforum Tustep-Liste
> Weitere Informationen: www.itug.de
> ------------------------------------------------------------
>
> Liebe Liste
>
> Seit einigen Tagen findet sich im Wiki unter 
> http://tustep.wikispaces.com/TUSTEP+-+Modul+Satz+Tabellen#Tabellensatz%20mit%20TUSCRIPT 
> ein Makro, mit dessen Hilfe man in Tustep Tabellen (auch solche mit 
> mehrzeiligen Zellen) ähnlich wie HTML/CSS-Tabellen setzen kann. Man 
> teilt seine Wünsche dem Programm einfach durch Attribute zum 
> Tabellenelement und den Zeilen- und Zellenelementen mit und schwupps, 
> die Sache wird (hoffentlich zufriedenstellend...) erledigt.
>
> Statt z.B.
>
> &!T1+&=(p10+5)&!s(1,p11-5)<td>Hurra!</td>&!s{&!T1- 
> &!P(11)&!(;D005)&!M(v6)&!(:) 
> @+&!P(10)&!p(v1)&!(:D018)&!=(*,V6,-1,0,0,25,20)&!(:) @+&!p(v2)&!T1.
>
> schreiben Sie einfach z.B. (die Terminologie ist frei wählbar)
>
> <td c="farbe">Hurra!</td>
>
> Über die verschiedenen Möglichkeiten, die das Makro bietet, kann man 
> sich in der dazugehörigen Dokumentation informieren.
>
> Ich setze das Makro bereits in einem grossen XML-basierten Projekt ein 
> und soweit läuft alles zu meiner Zufriedenheit.
> Allerdings gibt es noch ein Problem, an dem ich mir die Zähne 
> ausbeisse: um mehrzeilige Zellen in den Griff zu kriegen, muss mit 
> vertikalen Positionierungsanweisungen &!P(Vn) gearbeitet werden. Dies 
> hat leider die unangenehme Konsequenz, dass die Zeilenzählung nicht 
> mehr mit den für das Auge sichtbaren Zeilen übereinstimmt.
>
> Ein (vereinfachtes) Beispiel, wie das Resultat in der Zieldatei aussieht:
>
> 1 <table> <tr> &!M(v1)<td>Sp1</td> &!P(v1)<td>Sp2 bla bla
> 2 bla</td> &!P(v1)<td>Sp3 blaa blaa
> 3 blaa</td> </tr> </table>
>
> Spalte 1 beginnt und endet auf Zeile 1; Spalte 2 beginnt auf Zeile 1 
> und endet auf Zeile 2; Spalte 3 beginnt auf Zeile 2 und endet auf 
> Zeile 3.
> Tatsächlich ist es aber so, dass in der Postscript-Ausgabe dann Spalte 
> 3 auf Zeile 1 beginnt und auf Zeile 2 endet (wegen Positionierung mit 
> &!P(v1) ).
>
> Die sichtbare Zeilennummerierung kann folglich nicht mittels ZLN, 
> sondern muss mittels Marginalien realisiert werden, die in die 
> Zieldatei eingetragen werden.
> Wie kriegt man aber dabei die oben geschilderte Problematik in den 
> Griff? Es muss zu jeder (in der Ausgabe sichtbaren) Zeile innerhalb 
> jeder Tabellenzelle ein Zeilenzähler eingebracht werden.
> Hat sich möglicherweise jemand schon mal in dieses Problem 
> reingekniet? Wenn ja, wäre ich für eine zündende Idee sehr dankbar.
>
> Freundliche Grüsse
> Christian Moser
>
> ------------------------------------------------------------
> Tustep-Liste at itug.de
> https://lists.uni-wuerzburg.de/mailman/listinfo/tustep-liste
>

-- 
Dr. Christian Moser
Oberassistent
Institut für Schweizerische Reformationsgeschichte
Universität Zürich
Kirchgasse 9
CH-8001 Zürich
+41 (0)44 634 47 59

christian.moser at theol.uzh.ch
www.irg.uzh.ch/personen/moser.html



Mehr Informationen über die Mailingliste Tustep-Liste