Rechnen in LaTeX
Dirk Hünniger (via tex-d-l Mailing List) <[email protected]>
| Newsgroups | gmane.comp.tex.german |
|---|---|
| Message-ID | <[email protected]> |
Hallo,
das Ziel was ich im Moment verfolge ist eine "automatische
Spaltenbreite". Hierzu kann ich bereits eine relative Breite der i-ten
Spalte im Verhältnis zum insgesamt für alle Spalten einer Tabelle
verfügbaren Platz in meinem Programm berechnen, diese Zahl nenne ich
p_i. p_i liegt zwischen 0.0 und 1.0 . Die Summe von p_i über alle i ist
1.0 .
In allererster Näherung ist die Spaltenbreite der i-ten Spalte p_i \cdot
\linewidth. Jetzt ist noch zu berücksichtigen, dass der tatsächlich für
alle Spalten insgesamt zur Verfügung stehende Platz etwas kleiner ist
als \linewidth. Er ist \linewidth - (2 \cdot \tabcolsep +
\arrayrulewidth) \cdot \ncols - \arrayrulewidth. Wobei \ncols die Anzahl
der Spalten der Tabelle ist. Ich möchte daher die Tabelle wie folgt
hinschreiben (angenommen p_i=0.333 für i \in \{1,2,3\}) :
\begin{tabular}{|p{0.333\scaledlinewidth(3)}|p{0.333\scaledlinewidth(3)}|p{0.333\scaledlinewidth(3)}|}
\hilne bla & bla \\ \hline
\end{tabular}
Der Wert von \scaledlinewidth(x) soll eine vom Parameter x abhängige
Funktion sein, wobei x die Anzahl der Spalten in der zu setzten der
Tabelle ist und nach dem oben gesagten nach folgender Formel berechnet
werden soll:
\scaledlinewidth(x) := \linewidth - (2 \cdot \tabcolsep +
\arrayrulewidth)\cdot x - \arrayrulewidth
Die Frage die ich nun habe ist. Wie schreibe ich das in LaTeX hin. Also
wie bekomme ich LaTeX dazu diese Rechnung durchzuführen. Ich möchte sie
gerne in LaTeX selbst ausführen und nicht in meinem Haskell Programm
außen herum machen, das ich sonst \linewidth im Haskell Code
entsprechend verwalten müsste. \scaledlinewidth muss dabei nicht
zwingend eine Funktion sein, nur soll die Kopfzeile für das tabular aus
dem Haskell Code heraus ausgegeben werden können, welche zwar 3 als
Anzahl der Spalten und [0.333, 0.333, 0.333] also die p_i kennt aber
eben nicht \tabcolsep und nicht \arrayrulewidth und nicht insbesondere
nicht \linewidth
Viele Grüße Dirk
--
FAQ: http://texfragen.de/
Durchsuchbares Archiv: https://www.listserv.dfn.de/sympa/arc/tex-d-l
Unsubscribe/Verwaltung: https://www.listserv.dfn.de/sympa/info/tex-d-l