
Проблема и MWE
Я хотел бы увеличить ширину следующей longtblr
таблицы настолько, насколько это максимально допустимая ширина страницы, которая должна быть - я полагаю - такой же ширины, как и текст, т. е. от левого поля до правого поля страницы. Другими словами, я хотел бы сделать следующую таблицу такой же ширины, как текст, от левого поля до правого поля.
Однако, у меня будет ограничение. Я хотел бы сохранить ту же ширину следующих столбцов
colspec={m{0.9cm} m{0.1cm} m{0.6cm} m{1cm} m{3cm} m{6cm} m{1.5cm}},
за исключением 6-го столбца (того, который называется Feature 2
), который теперь 6cm
широкий. Поэтому идея заключается в том, чтобы работать только с шириной 6-го столбца.
По сути, я хотел бы расширить/увеличить ширину 6-го столбца таким образом, чтобы вся ширина таблицы достигла максимально допустимой ширины страницы.
Есть ли какой-либо автоматический способ сделать это или мне следует увеличить ширину 6-го столбца, при условии, что я визуально вижу, что левая и правая границы моей таблицы выровнены со всем текстом документа?
Надеюсь, это достаточно ясно! Ниже следует мой MWE и соответствующая ему диаграмма:
\documentclass[twocolumn]{article}
% Some packages
\usepackage[margin=2cm]{geometry}
\usepackage[dvipsnames,table]{xcolor}
\definecolor{light-gray}{HTML}{FFFFFF}
\definecolor{light-blue}{HTML}{EBF5FB}
\usepackage{tabularray}
\usepackage{url}
% Other packages
\usepackage{lipsum}
\usepackage{tabulary,longtable,afterpage}
\usepackage{booktabs}
\makeatletter
\newcommand{\aftertwo}[1]{\afterpage{\if@firstcolumn #1
\else\afterpage{#1}\fi}}
\makeatother
% Start of the document
\begin{document}
% Some text
\lipsum[1-8]
% A "longtblr" table
\aftertwo{
\onecolumn
\begin{longtblr}[
caption = {This is a caption.},
]{
colspec={m{0.9cm} m{0.1cm} m{0.6cm} m{1cm} m{3cm} m{6cm} m{1.5cm}},
cells={font=\small},
row{1}={font=\itshape\small},
row{2,5-7}={bg=light-blue},
row{3-4}={bg=light-gray},
column{6}={preto={\minipage{6cm}}, appto={\endminipage}},
hlines
}
& Day
& Month
& Hours
& Feature 1
& Feature 2
& Feature 3\\
%-------------------------------------------------
Friday
& 5
& June
&
& This is a quite short text.
& This is a long text that will be repeated many times. This is a long text that will be repeated many times. This is a long text that will be repeated many times. This is a long text that will be repeated many times. This is a long text that will be repeated many times. This is a long text that will be repeated many times. This is a long text that will be repeated many times. This is a long text that will be repeated many times. This is a long text that will be repeated many times.
\begin{tblr}{ |c|c|c| }
\hline
cell1 & cell2 & cell3 \\
cell4 & cell5 & cell6 \\
cell7 & cell8 & cell9 \\
\hline
\end{tblr}
& Short text
\\
%-------------------------------------------------
\SetCell[r=2]{l} Saturday
& \SetCell[r=2]{l} 6
& \SetCell[r=2]{l} June
& 14 -- 21
& B\textsubscript{1}
&
& B\textsubscript{3}
\\
&
&
&
& C\textsubscript{1}
& C\textsubscript{2}
& C\textsubscript{3}
\\
% -------------------------------------------------
\SetCell[r=3]{l} Sunday
& \SetCell[r=3]{l} 7
& \SetCell[r=3]{l} June
& 08 -- 10
& D\textsubscript{1}
& D\textsubscript{2}
& D\textsubscript{3}
\\
&
&
& 10 -- 17
& E\textsubscript{1}
&
& E\textsubscript{3}
\\
&
&
&
& F\textsubscript{1}
& F\textsubscript{2}
& F\textsubscript{3}
\\
% -------------------------------------------------
\end{longtblr}
\twocolumn
}
% End of the document
\end{document}
решение1
- Увеличить ширину 6-го столбца можно только уменьшив ширину другого столбца. В вашем случае я бы уменьшил ширину zje 5-го и последнего столбца, для 6-го столбца я бы использовал
X
тип столбца, ширина которого\textwidth
- сумма ширин остальных столбцов. - Для большей ширины 6-го столбца можно уменьшить
colsep
. - Как видите, в 6-м столбце я по центру вставил
tblr
таблицу-
\documentclass[twocolumn]{article}
\usepackage[showframe,
margin=2cm]{geometry}
\usepackage{lipsum} %for dummy text
\usepackage[dvipsnames,table]{xcolor}
\definecolor{light-gray}{HTML}{FFFFFF}
\definecolor{light-blue}{HTML}{EBF5FB}
\usepackage{tabularray}
\UseTblrLibrary{booktabs}
\usepackage{tabulary,longtable,afterpage}
\usepackage{url}
\makeatletter
\newcommand{\aftertwo}[1]{\afterpage{\if@firstcolumn #1
\else\afterpage{#1}\fi}}
\makeatother
\begin{document}
% Some text
\lipsum[1-8]
% A "longtblr" table
\aftertwo{
\onecolumn
\begin{longtblr}[
caption = {This is a caption.},
]{colspec = {llll Q[l,22mm] X[h, j] Q[l, 3em] },
colsep=4pt,
column{6}={preto={\minipage{\linewidth}}, appto={\endminipage}},
cells={font=\small},
row{1}={font=\itshape\small},
row{2,5-7}={bg=light-blue},
row{3-4}={bg=light-gray},
hlines
}
& Day
& Month
& Hours
& Feature 1
& Feature 2
& Feature 3\\
%-------------------------------------------------
Friday
& 5
& June
&
& This is a quite short text.
& This is a long text that will be repeated many times. This is a long text that will be repeated many times. This is a long text that will be repeated many times. This is a long text that will be repeated many times. This is a long text that will be repeated many times. This is a long text that will be repeated many times. This is a long text that will be repeated many times. This is a long text that will be repeated many times. This is a long text that will be repeated many times.
\centering
\begin{tblr}{ |c|c|c| }
\hline
cell1 & cell2 & cell3 \\
cell4 & cell5 & cell6 \\
cell7 & cell8 & cell9 \\
\hline
\end{tblr}
& Short text \\
%-------------------------------------------------
\SetCell[r=2]{l} Saturday
& \SetCell[r=2]{l} 6
& \SetCell[r=2]{l} June
& 14 -- 21
& B\textsubscript{1}
&
& B\textsubscript{3}
\\
&
&
&
& C\textsubscript{1}
& C\textsubscript{2}
& C\textsubscript{3} \\
%--------------------------------------------------
\SetCell[r=3]{l} Sunday
& \SetCell[r=3]{l} 7
& \SetCell[r=3]{l} June
& 08 -- 10
& D\textsubscript{1}
& D\textsubscript{2}
& D\textsubscript{3}
\\
&
&
& 10 -- 17
& E\textsubscript{1}
&
& E\textsubscript{3}
\\
&
&
&
& F\textsubscript{1}
& F\textsubscript{2}
& F\textsubscript{3} \\
% -------------------------------------------------
\end{longtblr}
\twocolumn
}
% End of the document
\end{document}
Серые линии обозначают макет страницы.