PDA

View Full Version : LaTeX, Tabellen und Rahmen



magisterumbrae
16-07-2007, 22:01
Hi,

wie viele andere habe ich kürzlich erst auf LaTeX eingelassen und bin gerade erst dabei es richtig kennenzulernen. Nun habe ich letztens eine Liste unregelmäßiger Verben lernen müssen. ( Ich lerne gerade niederländisch ) Da dachte ich "hey am besten schreibst du die mal ab und druckst sie dir dann aus um sie an die Wand zu hängen, so lernst du LaTex und niederländisch zur selben Zeit! :)". Soweit zur Theorie. :eek: Ich habe es auch hinbekommen die Tabelle so hinzubekommen wie ich das haben wollte und wie es der Vorlage entspricht. Jetzt sieht die Tabelle einfach sch... aus.
Hat jemand eine Idee wie ich die Tabelle hablwegs ansehnlich hinbekomme? Zumindestens den Rahmen in der Tabelle durchziehe? oder wie ich die tabelle dazu zwinge den Absatz so zu machen wie ich es will? :/

Mfg, Magi

---
\documentclass[a4paper, oneside, 12pt]{book}
\usepackage{ngerman}
\usepackage{supertabular}
\begin{document}
\begin{center}
\tablefirsthead{\large{\textbf{Infinitief}} & \multicolumn{2}{|l|}{\large{\textbf{onvoltooid verleden tijd}}} & \large{\textbf{voltooid deelwoord}} & \large{\textbf{Duits}} \\ & \textbf{enkelvoud} & \textbf{meervoud} & & \\ \hline}
\tablehead{\large{\textbf{Infinitief}} & \multicolumn{2}{|l|}{\large{\textbf{onvoltooid verleden tijd}}} & \large{\textbf{voltooid deelwoord}} & \large{\textbf{Duits}} \\ & \textbf{enkelvoud} & \textbf{meervoud} & & \\ \hline}
\bottomcaption{Onregelmatige weerkvorden}
\begin{supertabular}[ht]{p{3cm}|p{3cm}|p{2cm}p{3cm}|p{2cm}}
\\ \hline
\multicolumn{5}{|l|}{\textbf{b}} \\ \hline
(zich) bedenken & bedacht & bedachten & bedacht & bedenken; ausdenken\\ \hline
bedragen & bedroeg & bedroegen & bedragen & betragen \\ \hline
beginnen & begon & begonnen & begonnen (zijn) & beginnen \\ \hline
\multicolumn{5}{|l|}{\textbf{d}} \\ \hline
denken & dacht & dachten & gedacht & denken \\ \hline
doen & deed & deden & gedaan & tuen \\ \hline
\\ \hline
\multicolumn{5}{|l|}{\textbf{e}} \\ \hline
ervaren & ervoer & ervoeren & ervaren & erfahren \\ \hline
eten & at & aten & gegeten & essen \\ \hline
\\ \hline
\multicolumn{5}{|l|}{\textbf{g}} \\ \hline
gaan & ging & gingen & gegaan & gehen \\ \hline
gelden & gold & golden & gelten (als) \\ \hline
\end{supertabular}
\end{center}
\end{document}

edico
17-07-2007, 07:45
Was schön ist, ist Geschmacksfrage, unabhängig von 'formalen' Regeln bei der Erstellung von Tabellen, die z.T. in tabsatz.pdf nachzulesen sind. Ich würde es 'entschlacken' und in folgende Richtung entwickeln:

\documentclass[a4paper, oneside, 12pt]{book}
\usepackage{ngerman}
\usepackage{supertabular,booktabs}
\newcommand{\leer}{\\\midrule}

\begin{document}
\the\textwidth
\begin{center}

\tablefirsthead{%
\large{\textbf{Infinitief}} &
\multicolumn{2}{l}{\large{\textbf{onvoltooid verleden tijd}}} &
\large{\textbf{voltooid deelwoord}} &
\large{\textbf{Duits}} \\%\cmidrule{2-3}
& \textbf{enkelvoud} & \textbf{meervoud} & & \\
}
%
\tablehead{%
\large{\textbf{Infinitief}} &
\multicolumn{2}{l}{\large{\textbf{onvoltooid verleden tijd}}} &
\large{\textbf{voltooid deelwoord}} &
\large{\textbf{Duits}} \\
& \textbf{enkelvoud} & \textbf{meervoud} & & \\%\midrule
}
\bottomcaption{Onregelmatige weerkvorden}
%
\begin{supertabular}[ht]{p{90pt}p{60pt}p{60pt}p{90pt}p{60pt}}\\\midrule
\multicolumn{5}{l}{\textbf{b}} \\\midrule
(zich) bedenken & bedacht & bedachten & bedacht & bedenken; ausdenken\\
bedragen & bedroeg & bedroegen & bedragen & betragen \\
beginnen & begon & begonnen & begonnen (zijn) & beginnen \\
\leer
%
\multicolumn{5}{l}{\textbf{d}} \\\midrule
denken & dacht & dachten & gedacht & denken \\
doen & deed & deden & gedaan & tuen \\
\leer
%
\multicolumn{5}{l}{\textbf{e}} \\\midrule
ervaren & ervoer & ervoeren & ervaren & erfahren \\
eten & at & aten & gegeten & essen \\
\leer
%
\multicolumn{5}{l}{\textbf{g}} \\\midrule
gaan & ging & gingen & gegaan & gehen \\
gelden & gold & golden & gelten (als) \\
\leer
\end{supertabular}

\end{center}
\end{document}

edico

magisterumbrae
17-07-2007, 21:21
Hi,

wenn schön Geschmackssache ist, so hast du auf jeden Fall meinen getroffen. :D Es gefällt mir schon viel besser als zuvor.
( Btw das ich den Code so unübersichtlich reingestellt habe tut mir Leid ich habe einfach nicht darüber nachgedacht. )
Ich habe mich jedenfalls noch etwas informiert und kann allen die ein ähnliches Problem haben folgende Seite empfehlen: Tabellen in LaTeX von Thomas Fischer (http://www.unix-ag.uni-kl.de/~fischer/blog/20070411_Tabellen_in_LaTeX/)
oder für booktabs (http://www.tex.ac.uk/cgi-bin/texfaq2html?label=rulethk)

Ein par kleine Fragen habe ich allerdings noch:
1. Hat es irgendeinen bestimmten Grund das du die Textgröße angegeben hast?
2. Gibt es einen Weg den Absatz selbst zu bestimmen? Also das "deelwoord" in der zweiten Zeile steht?

Mfg, Magi

rais
17-07-2007, 22:35
Moin moin,

2. Gibt es einen Weg den Absatz selbst zu bestimmen? Also das "deelwoord" in der zweiten Zeile steht?

so ich die niederländischen Trennregeln auch nicht kenne...


%\usepackage{ngerman}
\usepackage[ngerman,dutch]{babel}
könnte hier schon helfen.;)
BTW: heißt es hierzulande nicht `tun´?
MfG,

edico
17-07-2007, 23:40
Ein par kleine Fragen habe ich allerdings noch:
1. Hat es irgendeinen bestimmten Grund das du die Textgröße angegeben hast?
2. Gibt es einen Weg den Absatz selbst zu bestimmen? Also das "deelwoord" in der zweiten Zeile steht?

Mfg, Magi

[1] ich habe Textgrössen nicht angefasst ?
[2] hat rais beantwortet

nochmal kleine Korrekturen
[a] Koma-KLasse bietet angemesseneren Satzspiegel per default, ohne dass Du mit dem geometry package hantieren musst, um die Textbreite zu manipulieren
[b] Anpassungen an die Spaltenbreiten i.S. einer Vereinheitlichung und damit 'Klarheit' der Tabelle
[c] 'global' festgelegte Fontgrösse auf default gesetzt
[d] ob longtable 'besser' wäre, hab ich nicht näher betrachtet -- aber Du hast sicher aus gutem Grund supertabular gewählt ;-)

Alles kannst Du natürlich Deinem Geschmack anpassen, so dass Dein Lernerfolg am grössten ist ...

\documentclass{scrartcl}
\usepackage[ngerman,dutch]{babel}
\usepackage{supertabular,booktabs}
\newcommand{\leer}{\\\midrule}
\pagestyle{empty}

\begin{document}

%\begin{center}
\noindent
\tablefirsthead{%
\multicolumn{1}{p{75pt}}{\large{\textbf{Infinitief }}} &
\multicolumn{2}{p{150pt}}{\large{\textbf{onvoltooi d verleden tijd}}}&
\multicolumn{1}{p{75pt}}{\large{\textbf{voltooid deelwoord}}} &
\multicolumn{1}{p{75pt}}{\large{\textbf{Duits}}} \\%\cmidrule{2-3}
& \textbf{enkelvoud} & \textbf{meervoud} & & \\
}
%
\tablehead{%
\multicolumn{1}{p{75pt}}{\large{\textbf{Infinitief }}} &
\multicolumn{2}{p{150pt}}{\large{\textbf{onvoltooi d verle\-den tijd}}}&
\multicolumn{1}{p{75pt}}{\large{\textbf{voltooid deelwoord}}} &
\multicolumn{1}{p{75pt}}{\large{\textbf{Duits}}} \\
& \textbf{enkelvoud} & \textbf{meervoud} & & \\%\midrule
}
\bottomcaption{Onregelmatige weerkvorden}
%
\begin{supertabular}[ht]{*{5}{p{75pt}}}\\\midrule
\multicolumn{5}{l}{\textbf{b}} \\\midrule
(zich) bedenken & bedacht & bedachten & bedacht & bedenken; ausdenken\\
bedragen & bedroeg & bedroegen & bedragen & betragen \\
beginnen & begon & begonnen & begonnen (zijn) & beginnen \\
\leer
%
\multicolumn{5}{l}{\textbf{d}} \\\midrule
denken & dacht & dachten & gedacht & denken \\
doen & deed & deden & gedaan & tuen \\
\leer
%
\multicolumn{5}{l}{\textbf{e}} \\\midrule
ervaren & ervoer & ervoeren & ervaren & erfahren \\
eten & at & aten & gegeten & essen \\
\leer
%
\multicolumn{5}{l}{\textbf{g}} \\\midrule
gaan & ging & gingen & gegaan & gehen \\
gelden & gold & golden & gelten (als) \\
\leer
\end{supertabular}

%\end{center}

\end{document}


edico

magisterumbrae
19-07-2007, 08:50
%\usepackage{ngerman}
\usepackage[ngerman,dutch]{babel}
könnte hier schon helfen.

Da hätte ich ja auch wirklich selbst drauf kommen können -.-''.


BTW: heißt es hierzulande nicht `tun´?
Hmm in meiner Grammatik steht das so... Mal eben nachschauen
also voltooid deelword -> fertiges Partizip
Eh, nicht das ich das wirklich nachgucken müsste, das wusste ich natürlich... :q



1. Hat es irgendeinen bestimmten Grund das du die Textgröße angegeben hast?[1] ich habe Textgrössen nicht angefasst ?
Das bezog sich eigentlich auf

\the\textwidth


ob longtable 'besser' wäre, hab ich nicht näher betrachtet -- aber Du hast sicher aus gutem Grund supertabular gewählt ;-)
Eh... Naja das Buch das ich besitze benutz Supertabular ... xD Werde mir mal die Unterschiede angucken.

Wieso auch immer dank Spalten-vereinheitlichung sieht die Tabelle jetzt so aus wie ich es gerne möchte :).



\documentclass{scrartcl}
\pagestyle{empty}

Das verstehe ich noch nicht ganz. Muss mir das nochmal später angucken.

Jetzt habe ich aber immer noch diese eine Frage... Wie bringe ich Latex dazu ein Wort nicht zu trennen sondern in die nächste Zeile zu setzen?
also quasi wie \\ nur in der Spalte selbst? Ich brauche es für die Tabelle nicht mehr aber es wäre gut zu wissen.

Ik bedank mee voor deze leuke antwoorden :D

PS: Im Attachement die Datei mit den unregelmäßigen Verben vielleicht braucht sie ja noch mal wer.

letzter Stand des Code:
\documentclass[a4paper, oneside, 12pt]{book}
%\usepackage{ngerman}
\usepackage[ngerman,dutch]{babel}
\usepackage{supertabular,booktabs}
\newcommand{\leer}{\\\midrule}
\begin{document}

\begin{center}
%
\lightrulewidth=1pt
\tablefirsthead{%
\large{\textbf{Infinitief}} &
\multicolumn{2}{l}{\large{\textbf{onvoltooid verleden tijd}}} &
\large{\textbf{voltooid deelwoord}} &
\large{\textbf{Duits}} \\%\cmidrule{2-3}
& \emph{enkelvoud} & \emph{meervoud} & & \\
}
\bottomcaption{Onregelmatige weerkvorden}
%
\begin{supertabular}[ht]{*{5}{p{75pt}}}\\\midrule

\multicolumn{5}{l}{\textbf{b}} \\\midrule
(zich) bedenken & bedacht & bedachten & bedacht & bedenken; ausdenken\\
bedragen & bedroeg & bedroegen & bedragen & betragen \\
beginnen & begon & begonnen & begonnen (zijn) & beginnen \\
\leer
%
\multicolumn{5}{l}{\textbf{d}} \\\midrule
denken & dacht & dachten & gedacht & denken \\
doen & deed & deden & gedaan & tuen \\
\leer
%
\multicolumn{5}{l}{\textbf{e}} \\\midrule
ervaren & ervoer & ervoeren & ervaren & erfahren \\
eten & at & aten & gegeten & essen \\
\leer
%
\multicolumn{5}{l}{\textbf{g}} \\\midrule
gaan & ging & gingen & gegaan & gehen \\
gelden & gold & golden & gelten (als) \\
\leer
%
\multicolumn{5}{l}{\textbf{h}} \\\midrule
hangen & hing & hingen & gehangen & h\"angen \\
hebben & had & hadden & gehad & haben \\
helpen & hielp & hielpen & geholpen & helfen \\
houden & hield & hielden & gehouden & halten; behalten \\
\leer
%
\end{supertabular}
\end{center}
\end{document}

Salnic
19-07-2007, 09:39
Ik bedank mee voor deze leuke antwoorden
Kan ik verstaan dat ook zonder woordenboek :-) (oder so ähnlich)


Wie bringe ich Latex dazu ein Wort nicht zu trennen sondern in die nächste Zeile zu setzen?
also quasi wie \\ nur in der Spalte selbst?
wie Du sicher schon gemerkt hast, geht es mit \\ nicht, da Latex denkt, hier soll die Tabellenzeile zu ende sein.

Es geht statt dessen mit \newline.


groet
Salnic

PS: noch ein paar Anmerkungen zum pdf
ich würde keine p-Spalten nehmen, Blocksatz finde ich hier nicht so richtig angebracht. Linksbündig sieht besser aus.

Du kannst Dir mit dem Packet array leicht eigene Spaltentypen definieren, hier z.B. wird die p-Spalte ein wenig modifiziert

\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}

der Aufruf ist der gleiche: L{5cm} , allerdings wird jetzt rechts ausgerichtet

Ich denke, in Deinem Fall ist eine Tabellenunterschrift nicht nötig, den Code kannst Du einfach weglassen. Und wenn Du es doch brauchst, wäre es besser, sie auf jeder Seite zu haben. Das Packet longtable mit der longtable bietet solche Möglichkeiten. Sehe gerade, dass das auch mit supertabular möglich ist, siehe Beispiel in der Anleitung (http://www.dante.de/CTAN//macros/latex/contrib/supertabular/supertabular.pdf) auf Seite 3.

magisterumbrae
20-07-2007, 12:02
Kan ik verstaan dat ook zonder woordenboek :-) (oder so ähnlich)
Hmmm... ich kann nicht widerstehen xD -> "Dat kan ik ook zonder woordenboek verstaan

Hi,

mittlerweile habe ich raus was \documentclass{scr...} und \pagestyle{empty} bedeutet.
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1}}
Allein dieser Befehl macht mir noch ein bisschen Kopfzerbrechen alles außer \raggedright\arraybackslash ist einfach verständlich. Nur dieses Makro (das ist doch ein Makro?!) begreife ich nicht. Anderseits ist es wahrscheinlich für einen Beginner auch ein wenig zu hoch.
Sollte jemand aber ein gutes Tutorial über Makros kennen. So bin ich natürlich froh wenn er es posten würde :).

Ich bedanke mich jedenfalls für die schnellen Antworten :D
Jetzt bin ich in zwei Tagen viel viel weiter gekommen!