
У меня есть боковая таблица, которая не заполняет всю страницу. Она по центру, но я хочу, чтобы она была выровнена по левому краю (или, если вы перевернете книгу, по верхнему краю). Есть ли способ это сделать? Ниже приведен пример.
\documentclass[DIV12, a4paper, 12pt, listof=totocnumbered, bibliography=totoc]{book}
\usepackage[figuresright]{rotating}
\usepackage{threeparttable}
\usepackage{longtable, booktabs, tabularx}
\begin{document}
\begin{sidewaystable}
\caption{Overview of the literature}
\label{tab2:overviewliterature}
\begin{threeparttable}
\begin{tabularx}{\textwidth}{lXlXX}
\toprule
Year & Author(s) & Method & (+) & (--) \\
\midrule
xx & xx & xx & xx \\
\addlinespace
\bottomrule
\end{tabularx}
\begin{tablenotes}[para,flushleft]
\footnotesize
\item\hspace{-2.5pt}\noindent\textit{Continued on the next page.}
\end{tablenotes}
\end{threeparttable}
\end{sidewaystable}
\end{document}
решение1
- вместо того, чтобы
sidewaystable
посмотреть, дает ли использование пакетовpdflandscape
(или, если вы предпочитаете,lscape
package) иafterpage
желаемый результат:
\documentclass[DIV12, a4paper, 12pt, listof=totocnumbered, bibliography=totoc]{book}
\usepackage{pdflscape}
\usepackage{booktabs, longtable, tabularx}
\usepackage[referable]{threeparttablex}
\usepackage{afterpage}
\usepackage{lipsum} % for dummy text, not needed in real document
\begin{document}
\lipsum[1]
\afterpage{
\begin{landscape}
\begin{threeparttable}
\caption{Overview of the literature}
\label{tab2:overviewliterature}
\begin{tabularx}{\linewidth}{lXlXX}
\toprule
Year & Author(s) & Method & $(+)$ & $(-)$ \\
\midrule
xx & xx & xx & \lipsum[66] & \lipsum[11] \\
\bottomrule
\end{tabularx}
\begin{tablenotes}[para,flushleft]\footnotesize
\textit{Continued on the next page.}
\end{tablenotes}
\end{threeparttable}
\vfill\mbox{}
\end{landscape}
}
\lipsum[2-9]
\end{document}
- непонятно, почему вы используете
threeparttable
иtablenotes
при этом отмечаете, что таблица продолжается на следующей странице? - Если это так, то использование
tabularx
не позволит писать в таблицу на нескольких страницах. Вместо этого вам следует использовать, например,xltabular
окружение таблицы и использовать егоthreeparttable
только в том случае, если вам нужны заметки к таблице.
решение2
Это решение использует \rotatebox
(пакет adjustbox) для реализации боковых таблиц. Оно использует minpage, покрывающую текстовую область. Выравнивание осуществляется третьим необязательным аргументом: [t] [b] [c] и [s] для растяжения (пользовательский клей).
\documentclass[DIV12, a4paper, 12pt, listof=totocnumbered, bibliography=totoc]{book}
%\usepackage[figuresright]{rotating}
\usepackage{threeparttable}
\usepackage{longtable, booktabs, tabularx}
\usepackage{adjustbox}
\usepackage{showframe}% MWE only
\begin{document}
\begin{table}[p]
\rotatebox{90}{\begin{minipage}[b][\textwidth][t]{\textheight}
\caption{Overview of the literature}
\label{tab2:overviewliterature}
\begin{threeparttable}
\begin{tabularx}{\textwidth}{lXlXX}
\toprule
Year & Author(s) & Method & (+) & (--) \\
\midrule
xx & xx & xx & xx \\
\addlinespace
\bottomrule
\end{tabularx}
\begin{tablenotes}[para,flushleft]
\footnotesize
\item\hspace{-2.5pt}\noindent\textit{Continued on the next page.}
\end{tablenotes}
\end{threeparttable}
\end{minipage}}
\end{table}
\end{document}