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

Christian Moser christian.moser at theol.uzh.ch
Do Jan 30 12:14:17 CET 2014


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



Mehr Informationen über die Mailingliste Tustep-Liste