Optimierung Tabelle bzw. parbox Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


latexisteinfach
Forum-Anfänger
Forum-Anfänger
Beiträge: 24
Registriert: Sa 10. Jul 2010, 11:10
Wohnort: Berlin

Beitrag von latexisteinfach »

KOMA hat geschrieben:
latexisteinfach hat geschrieben:Prima Beispiel, prima Tip, aber eins ist mir unklar,
was bewirkt das "größer-Zeichen" vor {\hspace{0pt}}?
Ich wiederhole mich ungern: siehe die Anleitung zum Paket array.
Prima, daß Du die Quelle zum Nachlesen angibst.
Hier nun die Antwort auf meine Frage:
So wie ich es verstehe, ist das Paket "array" ein Ergebnis des latex3-
Projektes und steht deshalb im Ordner: "tools".
Das Paket "array" verändert/erweitert die Syntax der "array" oder "tabular"
Spaltenformatierungsoption "p{ZahlLängeneinheit}" (z.B. p{2.0em})
Das "Größerzeichen" deutet an, daß sich die folgende Anweisung
auf die nächste Spaltenformatierung bezieht.
Jetzt verstehe ich, warum ich im Buch von H. Kopka dazu nix finde.

Nun war ich natürlich überrascht, daß die veränderte Syntax bei mir
auch funktioniert, obwohl ich das Paket array in meinem Dokument
gar nicht aktiv lade.
Deshalb habe ich mal eine Beispieldatei gebaut, um herauszufinden,
durch welches andere Paket, das array-Paket in meinem Dokument
geladen wird. - Ich bin fündig geworden: dcolumn lädt das Paket
array automatisch, hier mein Beispiel:
\documentclass[parskip=half-]{scrartcl}
\usepackage[latin1]{inputenc}      % latin1 ermöglicht direkte Eingabe von "ä,ö,ü" 
\usepackage[T1]{fontenc}           % enable EC-Fonts (extended cork)
\usepackage[ngerman]{babel}        % Vorgaben zur Verwendung der neuen Rechtschreibung
\usepackage{dcolumn}               % ermöglicht dezimale Ausrichtung in Tabellen
% \usepackage{array}               % "array" wird bereits durch "dcolumn" geladen
\usepackage[NewCommands]{ragged2e} % stellt die Befehle \Centering \RaggedLeft etc. 
                                   % für Tabellen zu Verfügung

%%% Paket "dcolumn"
\newcolumntype{d}[1]{D{,}{,}{#1}}  % definiert Spaltentyp, dezimale Ausrichtung
                                   % am Punkt, mit #1 dezimalstellen, Komma bleibt Komma
%%% LaTeX2e Silbentrennungsphilosophie und Paket "ragged2e":
%%  Das erste Wort im Absatz wird nicht getrennt. Wird "\hspace{0pt}" vorangestellt,
%%  wird dieses Kommando als erstes Wort interpretiert
%%% Verwendung von "\arraybackslash" 
%%  Aus der array-Doku, S. 18:
%%    "\arraybackslash Restore \\ for use in array and tabular environment 
%%     (after \raggedright etc.).
%%  Wenn der Doppelbackslash "\" die Bedeutung \tabularnewline behalten und 
%%  nicht als Zeilenumbruch innerhalb der Zelle interpretiert werden soll, 
%%  sollte man auch noch \arraybackslash ergänzen (eigentlich nur bei der letzten Spalte 
%%  einer Tabelle notwendig). 
%%  Siehe dazu auch die Anleitungen zu den Paketen array und tabularx.  
\newcolumntype{K}[1]{>{\hspace{0pt}\arraybackslash}p{#1}} 
\newcolumntype{L}[1]{>{\hspace{0pt}\RaggedRight\arraybackslash}p{#1}} 
\newcolumntype{R}[1]{>{\hspace{0pt}\RaggedLeft\arraybackslash}p{#1}}
\newcolumntype{C}[1]{>{\hspace{0pt}\Centering\arraybackslash}p{#1}}
%%% Vorgaben zur Silbentrennung:
\hyphenation{stür-misch-er}
%%% ---
\begin{document}
\rule{1cm}{\ht\strutbox}

\parbox{1cm}{Umbruch}

\begin{tabular}{@{}p{1cm}@{}}
Umbruch
\end{tabular}

\parbox{1cm}{\hspace{0pt}Umbruch}

\paragraph*{Tabelle:}
\begin{tabular}{@{}K{1cm}L{1cm}R{1cm}d{4}@{\,Mäuse}}
Umbruch              & Umbruch              & Umbruch 
    & \multicolumn{1}{C{6.0em}}{Zahlen} \\ \hline{}
Noch mehr Umbruch    & Noch mehr Umbruch    & Noch mehr Umbruch    
    & 23,0 \\ \hline{}
stürmischer Aufstand & stürmischer Aufstand & stürmischer Aufstand 
    & 0,2 \\ \hline{}
unblutige Revolution & unblutige Revolution & unblutige Revolution 
    & 1234,1234
\end{tabular}
\end{document}
LaTeX ist ganz einfach, mensch muß nur viele Dokumentationen gründlich lesen und verstehen ;-)

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

array hat nichts mit LaTeX3 zu tun, sondern gehört zu den Standard-Tools von LaTeX2e. Da es eine sehr grundlegende Erweiterung des Tabellenmechanismus von LaTeX2e bereitstellt, wird es von sehr vielen Tabellenpaketen angefordert.

latexisteinfach
Forum-Anfänger
Forum-Anfänger
Beiträge: 24
Registriert: Sa 10. Jul 2010, 11:10
Wohnort: Berlin

Beitrag von latexisteinfach »

KOMA hat geschrieben:array hat nichts mit LaTeX3 zu tun, ... .
Danke für die Aufklärung.
Ich habe mal ein bischen mit den Spaltenformatierungen herumexperimentiert
evtl. ist meine Beispieldatei auch für andere interessant.
Bei der Gelegenheit habe ich ich auch Schriften verglichen und den optischen
Randausgleich ausprobiert.
Einen Unterschied zw. \raggedright und \RaggedRight konnte
ich nicht feststellen, aber die Begründung dafür steht bestimmt in einer
der vielen Doku-Files ;-)
Dateianhänge
tables+arrays.zip
(320.32 KiB) 418-mal heruntergeladen
LaTeX ist ganz einfach, mensch muß nur viele Dokumentationen gründlich lesen und verstehen ;-)

latexisteinfach
Forum-Anfänger
Forum-Anfänger
Beiträge: 24
Registriert: Sa 10. Jul 2010, 11:10
Wohnort: Berlin

Beitrag von latexisteinfach »

latexisteinfach hat geschrieben: Einen Unterschied zw. \raggedright und \RaggedRight konnte
ich nicht feststellen, aber die Begründung dafür steht bestimmt in einer
der vielen Doku-Files ;-)
Ich habe den Fehler selber gefunden, die Option NewCommands
des Paketes ragged2e führt zu einer Neudefinition der ursprünglichen
LaTeX-Befehle \raggedright, \raggedleft (siehe Doku zu
ragged2e). Wenn ich die Option weg lasse, ist der Unterschied sichtbar:
\usepackage{ragged2e}             % stellt die Befehle \Centering \RaggedLeft etc. 
                                   % für Tabellen zu Verfügung
Der Unterschied liegt in der unterschiedlichen Glättung des Flatterrandes.
LaTeX ist ganz einfach, mensch muß nur viele Dokumentationen gründlich lesen und verstehen ;-)

Antworten