PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Longtable mit Spalten <b>und</b> Seitenumbruch- Frage an Experten



ctansearch
20-07-2011, 01:04
Longtable mit Spalten und Seitenumbruch

Hallo,
ich habe es mit einem C++ - Programm hingekriegt, innerhalb einer longtable-Umgebung einen Spalten - und Seitenumbruch in p-Spalten auszuführen. (Beispiel siehe Anhang).
Die Kalkulation der Spaltenhöhe und der Umbrüche errechnet sich aus der Anzahl der Zeichen. Daraus resultieren in vielen Spalten schlecht gefüllte letzte Zeilen, die durch die "penalty" von Tex/Latex nicht erfasst werden, da die Umbrüche manuell, bzw durch mein Programm gesetzt werden, jedoch nicht durch Latex. Das heißt, daß in der letzten Zeile einer Spalte "glue" und "hyphenation" nicht "normal" zur Anwendung kommen und die Zeile von Latex mit "glue" nur aufgefüllt wird.

Gibt es eine Möglichkeit, diesen Füllwert ("glue") anzuzeigen und als Wert zu erfassen und zu verwenden ?

Nachtrag:

Diese schlecht gefüllten letzten Zeilen kann ich durch manuelle Erhöhung der Zeichenzahl pro Spalte angleichen, indem ich die Anzahl der Zeichen für eine einzelne Spalte erhöhe. Das funktioniert aber nur durch viel Handarbeit und Augenmaß. Was ich brauche ist ein Hinweis, wieviele Zeichen noch in die Zeilen passen würden, und zwar nicht gestützt auf mein C++-Programm, sondern als Rückmeldung aus dem Latex - Compiler.
In etwa:
glue=68pt; possible extra chars in glue= (glue/charwidth); Extrachars=?? \hfill=glue-(glue/charwidfth*extrachars);

bobmalaria
20-07-2011, 10:43
hi,

eventuell hilft dir das:
http://tex.stackexchange.com/questions/17349/is-there-a-way-to-measure-the-remaining-space-of-a-line-of-text

voss
20-07-2011, 11:15
Gibt es eine Möglichkeit, diesen Füllwert ("glue") anzuzeigen und als Wert zu erfassen und zu verwenden ?


Vor das letzte Wort kannst du \parfillskip=0pt setzen, dann wird die Zeile auch im Blocksatz gesetzt.

Herbert

ctansearch
21-07-2011, 13:04
Vielen Dank erstmal.
Habe beide Vorschläge ausprobiert,

Das Nachmessen der Abstände hilft schon mal weiter, aber ich bräuchte eher eine Rückgabe vom Compiler, um diese dann wieder in das c++ Programm zu übergeben.
\parfillskip kann ich zwar für jede Tabellenzelle einsetzen, aber es hat dann den bekannten Gummieffekt und gibt über die Länge des Textes kein gutes Bild.

Ich habe nun erstmal die Berechnung der Spaltenbreite an die Schriftgröße gekoppelt, wie man an den 10 "m" sieht.

Hat noch jemand eine Idee dazu?