Ich versuche, eine ziemlich große Tabelle auf meine Seite zu bringen. Sie ist zu breit für die Seite. Ich habe etwas wie
\begin{longtable}{| p{0.14\textwidth} | p{0.14\textwidth} |
p{0.14\textwidth} | p{0.14\textwidth} | p{0.14\textwidth} |
p{0.14\textwidth} | p{0.14\textwidth} |}
weil ich sieben Spalten habe.
Eines der Probleme, die ich jetzt habe, ist, dass, da ich verwende scrartcl
, der Anmerkungsbereich \textwidth
auch in einbezogen wird, ich aber natürlich innerhalb der normalen Grenzen bleiben möchte.
Außerdem verwende ich bereits die Fußnotengröße, aber diese trennt Wörter nicht --> wenn sie zu lang sind, werden sie teilweise in die nächste Spalte geschrieben.
Ich brauche nun eine Methode, die die Tabelle auf die "normale" Seitenbreite einpasst (wie bei dargestellt showframe
) und zusätzlich einen Zeilenumbruch einfügt bzw. Wörter trennt, um das Schreiben in die nächste Spalte zu vermeiden.
Ich habe kein Minimalbeispiel gepostet, da ich für jede mögliche Lösung offen bin (es sollte aber etwas wie longtable verwenden und, wenn möglich, die Spaltengröße im Verhältnis zum anpassen \textwidth
).
(tut mir leid, wenn das ein bisschen chaotisch aussieht)
\begin{footnotesize}
\begin{center}
\begin{longtable}{| p{0.14\textwidth} | p{0.14\textwidth} |
p{0.14\textwidth} | p{0.14\textwidth} | p{0.14\textwidth} |
p{0.14\textwidth} | p{0.14\textwidth} |}
\hline
\textbf{Variable} & \textbf{Kurzbezeichnung} & \textbf{Frage} & \textbf{type} & \textbf{value label} & \textbf{Range} & \textbf{missing value}\\
\hline
\endhead % all the lines above this will be repeated on every page
ffhrwoggbgbgfieh & fefgogergeroigregb & fhoergregre & fhoerghergie & herogheggire & hgieghrgri & ngjreoigehrero\\
\hline
\caption{Alle Variablen von der Dokumentation aus dem Codebuch.}
\label{tab:VarDoku}
\end{longtable}
\end{center}
\end{footnotesize}
Antwort1
Da die Kurzbezeichnung in einer so schmalen Schriftbreite nicht Platz findet, habe ich sie mit „KB“ abgekürzt.
\documentclass{article}
\usepackage{longtable,calc,array}
\newlength\alicewidth
\begin{document}
\begingroup\footnotesize
\setlength{\alicewidth}{\textwidth/7-2\tabcolsep-8\arrayrulewidth/7}
\begin{longtable}{|*{7}{>{\raggedright\arraybackslash}p{\alicewidth}|}}
\hline
\textbf{Variable} & \textbf{KB} & \textbf{Frage} &
\textbf{type} & \textbf{value label} & \textbf{Range} & \textbf{missing value}\\
\hline
\endhead % all the lines above this will be repeated on every page
ffhrwo ggbgbg fieh & fefgo gerge roigr egb & fhoerg regre & fhoerg hergie &
herogh eggire & hgieg hrgri & ngjreoi gehrero\\
\hline
\caption{Alle Variablen von der Dokumentation aus dem Codebuch.\label{tab:VarDoku}}
\end{longtable}
\endgroup
\end{document}
Antwort2
ltablex
Ich würde das Paket verwenden , das die Funktionalitäten von longtable
und kombiniert tabularx
, und makecell
eine gemeinsame Formatierung aller Spaltenköpfe haben. Außerdem werden Tabellenüberschriften normalerweise platziertüberTabelle, insbesondere bei mehrseitigen Tabellen, zur Erleichterung für den Leser:
\documentclass[a4paper]{scrartcl}
\usepackage[utf8x]{inputenc}
\usepackage{ucs}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{makeidx}
\usepackage{graphicx}
\usepackage{caption, ltablex, makecell}%
\captionsetup{font=footnotesize, labelfont=sc}
\renewcommand\theadfont{\footnotesize\bfseries}
\usepackage{showframe} %
\renewcommand\ShowFrameLinethickness{0.3pt}
\renewcommand{\tabularxcolumn}[1]{>{\footnotesize\arraybackslash}p{#1}}
\begin{document}
\
\keepXColumns
\begin{tabularx}{\linewidth}{|*{7}{ X|}}
\caption{Alle Variablen von der Dokumentation aus dem Codebuch.}\medskip
\label{tab:VarDoku}\\
\hline \thead{Variable} & \thead{Kurzbe- & & & & & \\zeichnung} & \thead{Frage} & \thead{Type} & \thead{Value\\ label} & \thead{Range} & \thead{Missing\\ value}\\
\hline
\endfirsthead
\hline
\thead{Variable} & \thead{Kurzbe- & & & & & \\zeichnung} & \thead{Frage} & \thead{type} & \thead{value\\ label} & \thead{Range} & \thead{missing\\ value}\\
\hline
\endhead % all the lines above this will be repeated on every page
ffhrwogg bgbgfieh & fefgogerge roigregb & fhoergregre & fhoerghergie & herogheggire & hgieghrgri & ngjreoigeh rero \\
\hline
\end{tabularx}
\end{document}