%20%D0%B2%D1%81%D1%8E%20%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%83.png)
Я хочу, чтобы моя таблица tabularx охватывала (почти) всю страницу по ширине, а не только textwidth. Вот ее текущее изображение (с \usepackage{showframe}
:
Я хочу, чтобы ширина таблицы была такой же, как у внешнего правого блока на изображении, но применялась с обеих сторон (чтобы оставалось немного белого пространства с обеих сторон). Кто-нибудь знает, как это сделать? Вот код:
\documentclass[a4paper,12pt]{article}
\usepackage[margin=1.in]{geometry}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{ltablex}
\usepackage{siunitx}[input-decimal-markers=.]
\usepackage{lipsum}
\usepackage{threeparttable}
\usepackage{showframe}
\usepackage[sort, numbers, compress]{natbib}
\usepackage{amsmath}
\usepackage{makebox}
\usepackage[font=scriptsize,labelfont=bf,labelsep=period]{caption}
\usepackage[export]{adjustbox}
\usepackage[hidelinks]{hyperref}
\begin{document}
\renewcommand{\arraystretch}{2}
\begin{tiny}
\begin{tabularx}{\linewidth}{@{}XXXXXX@{}}
\caption{a table}\\
\toprule
\multicolumn{1}{l}{1}&\multicolumn{1}{l}{2}&\multicolumn{1}{c}{3 }&\multicolumn{1}{c}{4 }&\multicolumn{1}{c}{5}&\multicolumn{1}{c}{6} \\
\midrule
\textbf{text123 test test test test test test test}&textasddsa&textasdasd&textas sada &textasd asd adas das&test 123 test 123 test 123 test 123 test 123 tesrt 123 test 123 test 123\\
\\
\bottomrule
\end{tabularx}
\end{tiny}
\end{document}
решение1
Чтобы сделать таблицу шире, textwidth
у вас есть два варианта:
- локально увеличить ширину текста. например с помощью
adjustwidth
макроса - переверните страницы с таблицей в
landscape
ориентацию
the мвениже рассмотрим оба эти варианта:
\documentclass[a4paper,12pt]{article}
\usepackage[margin=1 in]{geometry}
\usepackage{ragged2e}
\usepackage{booktabs, ltablex, makecell}
\keepXColumns
\newcolumntype{L}{>{\raggedright\arraybackslash}X}
\setcellgapes{3pt}
\renewcommand\theadfont{\small\bfseries}
\renewcommand\theadgape{}
\usepackage[strict]{changepage}
\usepackage{pdflscape}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\usepackage{lipsum}
\begin{document}
\lipsum[66]
\begin{adjustwidth}{}{-\dimexpr\marginparsep+\marginparwidth}
\footnotesize
\makegapedcells
\setlength\tabcolsep{3pt}
\begin{tabularx}{\linewidth}{@{}>{\bfseries}*{6}{L}@{}}
\caption{A wide table}\\
\toprule
\thead{1} & \thead{2} & \thead{3} & \thead{4} & \thead{5} & \thead{6} \\
\midrule
\endfirsthead
\caption*{Table~\thetable: A wide table \hfill(cont.)}\\
\toprule
\thead{1} & \thead{2} & \thead{3} & \thead{4} & \thead{5} & \thead{6} \\
\midrule
\endhead
\multicolumn{6}{r}{continue on the next page}
\endfoot
\bottomrule
\endlastfoot
% table body
text123 test test test test test test test
& textasddsa & textasdasd & textas sada & textasd asd adas das & test 123 test 123 test 123 test 123 test 123 tesrt 123 test 123 test 123 \\
\midrule
\lipsum*[66] & & & & & \\
\midrule
\lipsum*[66] & & & & & \\
\end{tabularx}
\end{adjustwidth}
\lipsum[66]
second option: table in landscape orientation
\begin{landscape}
\footnotesize
\makegapedcells
\setlength\tabcolsep{3pt}
\begin{tabularx}{\linewidth}{@{}>{\bfseries}*{6}{L}@{}}
\caption{A wide table}\\
\toprule
\thead{1} & \thead{2} & \thead{3} & \thead{4} & \thead{5} & \thead{6} \\
\endfirsthead
\caption*{Table~\thetable: A wide table \hfill(cont.)}\\
\toprule
\thead{1} & \thead{2} & \thead{3} & \thead{4} & \thead{5} & \thead{6} \\
\midrule
\endhead
\multicolumn{6}{r}{continue on the next page}
\endfoot
\bottomrule
\endlastfoot
% table body
\lipsum*[66] & & & & & \\
\midrule
\lipsum*[66] & & & & & \\
\midrule
\lipsum*[66] & & & & & \\
\end{tabularx}
\end{landscape}
\end{document}
если в некоторых столбцах имеются ячейки с коротким, однострочным текстом, то разумно для этих столбцов использовать тип столбца l
.