![Таблица слишком широкая для страницы](https://rvso.com/image/348622/%D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0%20%D1%81%D0%BB%D0%B8%D1%88%D0%BA%D0%BE%D0%BC%20%D1%88%D0%B8%D1%80%D0%BE%D0%BA%D0%B0%D1%8F%20%D0%B4%D0%BB%D1%8F%20%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B.png)
Я пытаюсь втиснуть довольно большую таблицу на страницу. Она слишком широкая для страницы. Я попробовал что-то вроде
\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} |}
потому что у меня семь колонок.
Одна из проблем, с которой я столкнулся, заключается в том, что при использовании scrartcl
, пространство аннотаций также включается в \textwidth
, но, конечно, я хочу оставаться в пределах нормы.
Кроме того, я уже использую footnotesize, но он не разделяет слова --> если они слишком длинные, они частично записываются в следующую колонку.
Теперь мне нужен метод, который впишет таблицу в «нормальную» ширину страницы (как показано showframe
), а также добавит перенос строки или разделит слова, чтобы избежать записи в следующий столбец.
Я не опубликовал минимальный пример, потому что я открыт для всех возможных решений (но он должен использовать что-то вроде longtable и, если возможно, корректировать размер столбца по отношению к \textwidth
).
(извините, если это выглядит немного беспорядочно)
\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}
решение1
«Kurzbezeichnung» невозможно втиснуть в такую узкую полосу, поэтому я сократил его до «KB».
\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}
решение2
Я бы использовал ltablex
пакет, который объединяет функциональность longtable
и tabularx
, и makecell
чтобы иметь общее форматирование всех заголовков столбцов. Кроме того, заголовки таблиц обычно размещаютсявышетаблица, особенно в случае многостраничных таблиц, для удобства читателя:
\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}