Wenn ich adjustbox
die Breite einer Tabelle ändere, ändert sich auch die Schriftgröße. Wie kann ich die Breite der Tabelle vergrößern, sie aber trotzdem über beide Ränder hinausragen lassen?
Mein MWE
\documentclass{elsarticle}
\usepackage{ragged2e}
% ========== Caption packages ==========
\usepackage{caption}
% ========== Table packages ==========
\usepackage{tabularx}
% BEGIN_FOLD
\newcolumntype{L}{ >{\arraybackslash \RaggedRight}X }
\newcolumntype{C}{ >{\arraybackslash \Centering}X }
\newcolumntype{R}{ >{\arraybackslash \RaggedLeft}X }
\newcolumntype{J}{ >{\arraybackslash\justifying} X }
\renewcommand{\tabularxcolumn}[1]{ >{\centering}m{#1} }
\newcommand{\scalelinespace}[1]{
\rule{0pt}{#1\normalbaselineskip}
}
% END_FOLD
\usepackage{booktabs}
\usepackage{makecell}
\usepackage[flushleft]{threeparttable}
% ========== Figures and tables locations packages ==========
\usepackage{float}
\usepackage{adjustbox}
% ========== Font encoding packages ==========
\usepackage[T1]{fontenc}
\usepackage{fontspec}
% BEGIN_FOLD
\setmainfont{TeX Gyre Pagella}
\setmonofont{Courier}
\newcommand{\textffam}[2]{{\fontencoding{T1} \fontfamily{#1} \selectfont#2}}
% END_FOLD
% ========== Equations and math packages ==========
\usepackage{amsmath}
\usepackage{amssymb, amsfonts}
\usepackage{stackengine}
\begin{document}
\begin{table*}[htp]
\begin{adjustbox}{width=1.5\textwidth, center}
\begin{threeparttable}
% Table options
% Caption
\caption{Determination of Critical Lines Among RESs Based on Operational Interaction Operators}
\label{table:critical_lines_w_ij_hat}
% Center the table
\centering
\newcommand{\setfontsizeTable}{\fontsize{9}{9} \selectfont}
\begin{tabularx}{1\textwidth}{c ||>{\hsize=0.5\hsize \setfontsizeTable}C >{\hsize=0.5\hsize}C >{\hsize=0.5\hsize}C >{\hsize=0.5\hsize}C >{\hsize=0.5\hsize}C |>{\hsize=1.5\hsize}C |>{\hsize=1.5\hsize}C |>{\hsize=1.5\hsize}C |>{\hsize=1.5\hsize}C |>{\hsize=1.5\hsize}C}
\toprule
\adjustbox{rotate=90, valign=c}{Quadrant} & \adjustbox{rotate=90, valign=c}{POI $i$} & \adjustbox{rotate=90, valign=c}{POI $j$} & \multicolumn{3}{c|}{Other POIs} &
Critical Line Based on $\displaystyle \angle \bar{w}_{ij}$ or $\displaystyle \left| \bar{w}_{ij} \right|$ & Actual Critical Line (based on [Eq]) & $\displaystyle \left| S_{eq, \thinspace i} \right|$ & $\displaystyle \mathit{SDSCR}_{i}$ & $\displaystyle \frac{\mathit{Max} \medspace \mathit{SDSCR}_{i}}{\textit{Mean} \medspace \mathit{SDSCR}_{i}}$
\\
\Xhline{0.25mm}
\scalelinespace{1.3} \adjustbox{rotate=90, valign=c}{III} & 101 & 64 & 96 & 106 & 37 & 86-87 & 86-87 & 4.38 & 2.02 & 1.41
\\
\scalelinespace{1.3} \adjustbox{rotate=90, valign=c}{IV} & 79 & 96 & 9 & 81 & 33 & 9-10 & 9-10 & 3.40 & 5.13 & 1.28
\\
\scalelinespace{1.3} \adjustbox{rotate=90, valign=c}{
\Shortstack[c]{{III} {IV \textsuperscript{a}}}
}
& 97 & 60 & 39 & 37 & 86 & 43-44 & 43-44 & 3.98 & 3.18 & 1.07
\\
\bottomrule
\end{tabularx}
\begin{tablenotes}
\item[a] angles of $\displaystyle \angle \bar{w}_{ij}$ exist in both quadrants
\end{tablenotes}
\end{threeparttable}
\end{adjustbox}
\end{table*}
\end{document}
Antwort1
Sie schrieben,
Ich verwende
adjustbox
, weil ich die Tabelle über die Standardränder hinaus erweitern möchte,
Für die vorliegende Tabelle ist es nicht notwendig, sie breiter als den Textblock zu machen. Geben Sie einfach entweder eine - \small
oder eine \footnotesize
-Direktive ein. Und greifen Sie auf keinen Fall auf das adjustbox
Gerät zurück.
Eine separate Beobachtung: Sie verwenden das fontspec
Paket und die TeX Gyre Pagella
Textschriftart. Um eine kompatible mathematische Schriftart zu verwenden, schlage ich vor, dass Sie das unicode-math
Paket laden (wodurch das fontspec
Paket automatisch geladen wird) und die Direktive ausgeben \setmathfont{TeX Gyre Pagella Math}
.
Und Sie müssen den Spaltentyp nicht für alle 10 Spalten verwenden C
. Tatsächlich benötigen Sie den C
Typ nur für zwei Spalten. Für die anderen 8 verwenden Sie einfach den einfachen c
Spaltentyp.
\documentclass{elsarticle}
\usepackage{ragged2e}
\usepackage{tabularx}
\newcolumntype{C}{ >{\Centering\arraybackslash }X }
\renewcommand{\tabularxcolumn}[1]{>{\centering}m{#1}}
\usepackage[flushleft]{threeparttable}
\usepackage{adjustbox}
\usepackage{amsmath,amssymb}
\usepackage{unicode-math}
\setmainfont{TeX Gyre Pagella}
\setmathfont{TeX Gyre Pagella Math}
\begin{document}
\begin{table*}[htp]
\setlength\tabcolsep{5pt}
\setlength\extrarowheight{2pt}
\footnotesize
\begin{threeparttable}
\caption{Determination of critical lines among RESs based on operational interaction operators}
\label{table:critical_lines_w_ij_hat}
\begin{tabularx}{\textwidth}{@{} c | ccccc | *{2}{C} ccc @{}}
\hline
\adjustbox{rotate=90, valign=c}{Quadrant} &
\adjustbox{rotate=90, valign=c}{POI $i$} &
\adjustbox{rotate=90, valign=c}{POI $j$} &
\multicolumn{3}{c|}{Other POIs}
& Critical line based on $\angle\bar{w}_{\!ij}$ or $| \bar{w}_{\!ij}|$
& Actual Critical Line (based on [Eq])
& $| S_{\mathit{eq},i}|$
& $\mathit{SDSCR}_{i}$
& $\frac{\max \mathit{SDSCR}_{i}}{\mathrm{mean}\,\mathit{SDSCR}_{i}}$
\\
\hline
III & 101 & 64 & 96 & 106 & 37 & 86-87 & 86-87 & 4.38 & 2.02 & 1.41
\\
IV & 79 & 96 & 9 & 81 & 33 & 9-10 & 9-10 & 3.40 & 5.13 & 1.28
\\
III, IV\tnote{a} & 97 & 60 & 39 & 37 & 86 & 43-44 & 43-44 & 3.98 & 3.18 & 1.07
\\
\hline
\end{tabularx}
\begin{tablenotes}
\item[a] Angles of $\angle \bar{w}_{\!ij}$ exist in both quadrants.
\end{tablenotes}
\end{threeparttable}
\end{table*}
\end{document}
Antwort2
Bevor Sie mit Ihrer Tabelle beginnen \begin{adjustwidth}{-0.5<text width increase>}{0em}
, verwenden Sie . Verwenden Sie in der Tabellenpräambel 1.<textwidth increase factor>
. Beispiel: Wenn Sie die Tabellenbreite um 0,3 der Textbreite erhöhen möchten, verwenden Sie \begin{adjustwidth}{-0.15\textwidth}{0em}
und {1.3\textwidth}
in tabularx
der Präambel. Der Hauptzweck der Verwendung \begin{adjustwidth}{0.5<text width increase>}{0em}
besteht darin, die Tabelle um einen Betrag nach links zu verschieben, der der Hälfte der Erhöhung der Tabellenbreite entspricht, und so sicherzustellen, dass die Tabelle beide Ränder gleichmäßig überragt.
Hier ist das vollständige MWE
\documentclass{elsarticle}
\usepackage{ragged2e}
% ========== Caption packages ==========
\usepackage{caption}
% ========== Table packages ==========
\usepackage{tabularx}
% BEGIN_FOLD
\newcolumntype{L}{ >{\arraybackslash \RaggedRight}X }
\newcolumntype{C}{ >{\arraybackslash \Centering}X }
\newcolumntype{R}{ >{\arraybackslash \RaggedLeft}X }
\newcolumntype{J}{ >{\arraybackslash\justifying} X }
\renewcommand{\tabularxcolumn}[1]{ >{\centering}m{#1} }
\newcommand{\scalelinespace}[1]{
\rule{0pt}{#1\normalbaselineskip}
}
% END_FOLD
\usepackage{booktabs}
\usepackage{makecell}
\usepackage[flushleft]{threeparttable}
% ========== Figures and tables locations packages ==========
\usepackage{float}
\usepackage{adjustbox}
% ========== Font encoding packages ==========
\usepackage[T1]{fontenc}
\usepackage{fontspec}
% BEGIN_FOLD
\setmainfont{TeX Gyre Pagella}
\setmonofont{Courier}
\newcommand{\textffam}[2]{{\fontencoding{T1} \fontfamily{#1} \selectfont#2}}
% END_FOLD
% ========== Equations and math packages ==========
\usepackage{amsmath}
\usepackage{amssymb, amsfonts}
\usepackage{stackengine}
\usepackage{changepage}
\begin{document}
\begin{table*}[htp]
\begin{adjustwidth}{-0.25\textwidth}{0em}
\begin{threeparttable}
% Table options
% Caption
\caption{Determination of Critical Lines Among RESs Based on Operational Interaction Operators}
\label{table:critical_lines_w_ij_hat}
% Center the table
\centering
\begin{tabularx}{1.5\textwidth}{c ||>{\hsize=0.5\hsize}C >{\hsize=0.5\hsize}C >{\hsize=0.5\hsize}C >{\hsize=0.5\hsize}C >{\hsize=0.5\hsize}C |>{\hsize=1.5\hsize}C |>{\hsize=1.5\hsize}C |>{\hsize=1.5\hsize}C |>{\hsize=1.5\hsize}C |>{\hsize=1.5\hsize}C}
\toprule
\adjustbox{rotate=90, valign=c}{Quadrant} & \adjustbox{rotate=90, valign=c}{POI $i$} & \adjustbox{rotate=90, valign=c}{POI $j$} & \multicolumn{3}{c|}{Other POIs} &
Critical Line Based on $\displaystyle \angle \bar{w}_{ij}$ or $\displaystyle \left| \bar{w}_{ij} \right|$ & Actual Critical Line (based on [Eq]) & $\displaystyle \left| S_{eq, \thinspace i} \right|$ & $\displaystyle \mathit{SDSCR}_{i}$ & \maxsizebox{\hsize}{!}{$\displaystyle \frac{\mathit{Max} \medspace \mathit{SDSCR}_{i}}{\textit{Mean} \medspace \mathit{SDSCR}_{i}}$}
\\
\Xhline{0.25mm}
\scalelinespace{1.3} \adjustbox{rotate=90, valign=c}{III} & 101 & 64 & 96 & 106 & 37 & 86-87 & 86-87 & 4.38 & 2.02 & 1.41
\\
\scalelinespace{1.3} \adjustbox{rotate=90, valign=c}{IV} & 79 & 96 & 9 & 81 & 33 & 9-10 & 9-10 & 3.40 & 5.13 & 1.28
\\
\scalelinespace{1.3} \adjustbox{rotate=90, valign=c}{
\Shortstack[c]{{III} {IV \textsuperscript{a}}}
}
& 97 & 60 & 39 & 37 & 86 & 43-44 & 43-44 & 3.98 & 3.18 & 1.07
\\
\bottomrule
\end{tabularx}
\begin{tablenotes}
\item[a] angles of $\displaystyle \angle \bar{w}_{ij}$ exist in both quadrants
\end{tablenotes}
\end{threeparttable}
\end{adjustwidth}
\end{table*}
\end{document}