Re: LaTeX-Programmierung

Home Foren METAL HAMMER’s Ballroom Mediapit LaTeX-Programmierung Re: LaTeX-Programmierung

#6987141  | PERMALINK

mors lucis

Registriert seit: 30.07.2011

Beiträge: 3,637

bambiHalli Hallo,
habe mir ein kleines Mammutprojekt aufgebrummt und möchte mich als Programmier-Laie in LaTeX einarbeiten.

Ein Leidensgenosse! 😉

– Wie kann ich Tabellen erstellen und ordentlich nach meinem Gustus positionieren?

Tabellen halt in einer tabular-Umgebung
\begin{tabular}{Ausrichtung der einzelnen Spalten (l,c,r)}
A1 & B1 & C1 \\
A2 & B2 & C2 \\
\end{tabular}

Standardmäßig sind die Zellen zentriert und in ihrer Breite an den innenliegenden Text angepasst.
horizontale Trennlinien \hline bzw. \cline{Anfangsspalte-Endspalte}
vertikale Trennlinien werden in der Ausrichtungsdefinition geschrieben z.B. {||c|c|r||} und gelten dann natürlich auch über die gesamte Tabelle.
feste Spaltenbreite p{Breite}

Probleme sind jetzt, dass 1. langer Text innerhalb einer Zelle nicht umgebrochen wird (auch wenn man eine feste Spaltenbreite definiert hat) und die Tabelle ggf. überragt; und 2. dass man bei definierter Spaltenbreite keine Ausrichtung abseits des Standards festlegen kann. Da muss man sich dann mit Zusammenfügen von Zellen ohne Trennlinie und Befehlen zum Textversatz (\hspace{}, \quad etc.) oder Boxen was hinwurschteln.
Umständlich ist außerdem, dass eine evtl. Textformatierung für jede Zelle neu gesetzt werden muss.

Ausrichtung der gesamten Tabelle entweder mit Umgebungen (center, flushleft etc.) oder indem man die ganze Tabelle wieder in eine Box packt, die man quais beliebig positionieren kann. Vor allem mit den Boxen muss man ein bisschen rumspielen, gefühlt folgt das Ergebnis mMn. keinen so richtigen Regeln :8)

Zusammenfügen von Zellen: Prinzipiell läuft das mit \multirow{Anzahl}{Ausrichtung}{Inhalt} bzw. äquivalent \multicolumn{}{}{} (es muss das Paket multirow eingebunden werden). Mit einem * statt {Ausrichtung} in multirow wird der Spass automatisch vertikal zentriert. Ansonsten für die Textpositionierung auch wieder mit Boxen arbeiten.

Ich bin mir grad nicht sicher, ob ich das jetzt alles so richtig aus dem Kopf hingeschrieben habe, deswegen schmeiß ich zur Verdeutlichung einfach mal den Code einer Tabelle ein, die wir nachbauen sollten. Da sollte so ziemlich alles demonstriert worden sein.
https://groupware.tu-braunschweig.de/Session/154607-2Lw2DDsuEYBlSGXeGuEe-hidwjxv/MIME/Sent%20Items/246-02-B/Unbenannt.png
[SPOILER]
\documentclass[a4paper,12pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{tabularx}
\usepackage{multirow}
\begin{document}

\begin{center}
\begin{tabular}{||c|c|c|c|c||}
\hline
\hline
\bfseries Expositions- & \bfseries Stahlbeton & \bfseries Vorspannung & \multicolumn{2}{|c||}{\bfseries Vorspannung mit} \\
\bfseries klasse & \bfseries und & \bfseries mit & \multicolumn{2}{|c||}{\bfseries sofortigem Verbund} \\
\ & \bfseries Vorspannung & \bfseries nachträglichem & \multicolumn{2}{|c||}{\mbox{}} \\
\ & \bfseries ohne Verbund & \bfseries Verbund & \multicolumn{2}{|c||}{\mbox{}} \\
\cline{2-5}
\ & \multicolumn{4}{c||}{\bfseries mit Einwirkungskombination} \\
\cline{2-5}
\ & \bfseries quasi-ständig & \bfseries häufig & \bfseries häufig & \bfseries selten \\
\hline
\hline
\multicolumn{1}{||l|}{X0, XC1} & 0,4 $^a$ & 0,2 & 0,2 & \multirow{2}*{—}\\
\cline{1-4}
\multicolumn{1}{||l|}{XC2-XC4} & 0,3 & 0,2 $^{b,c}$ & 0,2 $^b$ & \\
\cline{1-1} \cline{4-5}
\multicolumn{1}{||l|}{XS1-XS3} & & & Dekom- & 0,2 \\
\multicolumn{1}{||l|}{XD1, XD2,} & & & pression & \\
\multicolumn{1}{||l|}{XD3 $^d$} & & & & \\
\hline
\multicolumn{5}{||l||}{
\begin{tabular}{rl}
\scriptsize Anmerkungen: & \\
$^a$ &\scriptsize \parbox[t]{11cm}{
Bei den Expositionsklassen X0 und XC1 hat die Rissbreite keinen Einfluss auf die Dauerhaftigkeit und dieser Grenzwert wird i. Allg. zur Wahrung eines akzeptablen Erscheinungsbildes gesetzt. Fehlen entsprechende Anforderungen, darf dieser Grenzwert erhöht werden.\\
}\\
$^b$ &\scriptsize \parbox[t]{11cm}{
Zusätzlich ist der Nachweis der Dekompression unter der quasi-ständigen Einwirkung zu führen.\\
}\\
$^c$ &\scriptsize \parbox[t]{11cm}{
Wenn der Korrosionsschutz anderweitig sichergestellt wird (Hinweise hierzu in den Zulassungen der Spannverfahren), darf der Dekompressionsnachweis entfallen.\\
}\\
$^d$ &\scriptsize Beachte 7.3.1\,(7).\\
\end{tabular}
} \\
\hline \hline
\end{tabular}
\end{center}
\qquad \itshape DIN EN 1992-1-1, Tabelle NA.7.1 \upshape

\end{document}

Ansonsten kann ich empfehlen, falls es sowas gibt, einen Kurs an der Uni zu besuchen. Möglichst natürlich einen, der nicht nur reinen Vorlesungsbetrieb macht, sondern auch Rechnerübungen oder Hausaufgaben mit Möglichkeiten, einen Hiwi im Rechnerpool zu fragen.
Gerade als Programmierlaie habe ich zumindest die Erfahrung gemacht, dass man zwar im Selbststudium mit Internetsuche und Kopieren der Befehle den Spass einigermaßen hinkriegt, aber je nachdem, um welche Befehle es geht, braucht man da schon einiges an Hintergrundwissen zur Programmlogik, die man als Programmierlaie natürlich nicht hat und wo man mit geduldiger menschlicher Erklärung + sofort Ausprobieren einiges mehr mitnimmt. Bei dem Tabellenlayout hat sich ja z.B. schon gezeigt, dass man da mit „Excel-Logik“ nicht so weit kommt und spätestens bei Saveboxen und Makros mit (optionalen) Argumenten hat mich meine gottgegebene Verfahrens- und Denkweise vollkommen verlassen :haha: