[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Problem mit LaTeX und tabular*-Tabellen.



Hallo!

On 03 May 2003 at 14:48 +0200, Markus Hubig wrote:

> Und zwar möchte ich gerne eine Tabelle erstellen die
> genauso breit ist wie der Text und in der alle Zellen zentriert sind.
> 
> Leider zentriert folgender Code,
> 
> % \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}|c|c|c|c|}\hline
> % 
> % bla  & 1845  & 1847  & 1850 \\ \hline
> % blub & 1458  & 1421  & 1382 \\ \hline
> % 
> % \end{tabular*}
> 
> nur die Einträge in der ersten Spalte.

\extracolsep wird am _Anfang_ jeder Spalte eingefügt, folglich drücken die
\fill-Gummilängen den Text nach rechts.

Die erste Möglichkeit wäre, die Pakete array und calc zu verwenden, um
an erweiterte Spaltenoptionen und Rechenmöglichkeiten zu kommen. Dann
sollte Folgendes[1] das Gewünschte leisten:

\newcommand{\PreserveBackslash}[1]{\let\temp=\\#1\let\\=\temp}
\newlength{\tmplength}
\newenvironment{TabularC}[1] 
{%
  \setlength{\tmplength}{\linewidth/(#1)
    - \tabcolsep*2
    - \arrayrulewidth*(#1+1)/(#1)}%
  \par\begin{tabular*}{\linewidth}%
    {*{#1}{|>{\PreserveBackslash\centering\hspace{0pt}}%
      p{\the\tmplength}}|}%
}
{\end{tabular*}\par}

Wobei jetzt natürlich TabularC an Stelle von tabular* verwendet werden
muss.

Die zweite Alternative wäre die Verwendung des Pakets tabularx, welches
explizit für solche Fälle gedacht ist, die Tabelle zur Findung der
optimalen Aufteilung allerdings wiederholt formatiert und somit
langsamer ist.

Gruß,
Elmar

[1] Goossens, Mittelbach, Samarin: Der LaTeX-Begleiter. Addison-Wesley,
München 2000, S. 113.

-- 
  \----------------------------------------------------------------
GnuPG: D8A88C0D / 2407 063C 1C92 90E9 4766 B170 5E95 0D7F D8A8 8C0D
-------------------------------------------------------------------
Sicher ist, dass nichts sicher ist. Selbst das nicht. -- Ringelnatz

Attachment: pgpJhb6mhYZ6H.pgp
Description: PGP signature


Reply to: