Ширина таблицы равна ширине заголовка

Ширина таблицы равна ширине заголовка

У меня есть таблица с 5 столбцами. Надеюсь, ширина таблицы будет такой же, как и ширина заголовка. Как показано ниже, я назначил ширину для каждого столбца, а горизонтальная линия выходит за пределы строки заголовка. Могу ли я:

  • назначить ширину первых 4 столбцов
  • и оставить ширину последнего столбца такой, чтобы она соответствовала границе строки заголовка?

Вот небольшой код:

\documentclass[a4paper]{article}
\usepackage{luamplib}
\usepackage{fancyhdr}
\usepackage{calc}
\usepackage[lmargin=0.80cm,rmargin=0.80cm,tmargin=2.50cm,bmargin=0.80cm]{geometry}
\usepackage{upgreek}
\usepackage{amsbsy}
\usepackage{amssymb}
\usepackage[sfdefault]{carlito}
\usepackage{array}
\newcolumntype{?}{!{\vrule width 1pt}}
\parindent=0pt
\linespread{1.00}   %the factor multiplied to the current `baselineskip'

\usepackage{graphicx}
\graphicspath{{../../texmf/img/}}

\usepackage{xcolor}

\pagestyle{fancy}
\fancyhf{}
\headsep=2.0mm

\usepackage{datetime}   %Change format of `\today' with commands for current time
\renewcommand{\dateseparator}{-}

\newcommand{\headertoday}{\the\year \dateseparator \twodigit\month \dateseparator \twodigit\day}

%### define an environment to have a local `\arraystretch'
\newenvironment{TabLocalVerticalSpacing}[1]
  {\def\arraystretch{#1}\tabular}
  {\endtabular}
%#####################################

\newcommand\leftheadercalc[1]{%
\begin{TabLocalVerticalSpacing}{#1}[b]{@{}ll}\footnotesize{balabala}&\footnotesize{}\\\footnotesize{Project: ??????}&\footnotesize{}\end{TabLocalVerticalSpacing}%
}
\newcommand\rightheadercalc[1]{%
\begin{TabLocalVerticalSpacing}{#1}[b]{rr@{}}\footnotesize{Date:}&\footnotesize{\headertoday}\\\footnotesize{Page:}&\footnotesize{\thepage}\end{TabLocalVerticalSpacing}%
}
\newcommand\midheadercalc[1]{%
\begin{TabLocalVerticalSpacing}{#1}[b]{cc}\footnotesize{}&\footnotesize{}\\\footnotesize{}&\footnotesize{}\end{TabLocalVerticalSpacing}%
}
\settototalheight\headheight{\maxof{\leftheadercalc{0.600000}}{\rightheadercalc{0.600000}}{\midheadercalc{0.600000}}}

\lhead{\leftheadercalc{0.600000}}
\rhead{\rightheadercalc{0.600000}}
\chead{\midheadercalc{0.600000}}
\newcommand\Tstrut{\rule{0pt}{3ex}}         % `top' strut
\newcommand\Bstrut{\rule[-0.9ex]{0pt}{0pt}} % `bottom' strut

\newcommand{\defaultfontsize}{\fontsize{10pt}{\baselineskip}\selectfont}
\begin{document}\defaultfontsize

\begin{tabular}{@{} p{1.5cm} p{12cm} p{1.5cm} p{1cm} p{2cm}}
Design to & \multicolumn{2}{l}{Steel structures AS 4100鈥?998} &&\\[1ex]
\hline
1 & Given data &Foo&Bar&cl5.2.3\Tstrut\\

\end{tabular}

\end{document}

Вот как выглядел PDF-файл: введите описание изображения здесь

Спасибо.

решение1

Похоже, это работа для tabularx.

\documentclass[a4paper]{article}
%\usepackage{luamplib}% easier to remove then get to work
\usepackage{fancyhdr}
\usepackage{calc}
\usepackage[lmargin=0.80cm,rmargin=0.80cm,tmargin=2.50cm,bmargin=0.80cm]{geometry}
\usepackage{upgreek}
\usepackage{amsbsy}
\usepackage{amssymb}
%\usepackage[sfdefault]{carlito}
\usepackage{array}
\newcolumntype{?}{!{\vrule width 1pt}}
\parindent=0pt
\linespread{1.00}   %the factor multiplied to the current `baselineskip'

\usepackage{graphicx}
\graphicspath{{../../texmf/img/}}

\usepackage{xcolor}

\pagestyle{fancy}
\fancyhf{}
\headsep=2.0mm

\usepackage{datetime}   %Change format of `\today' with commands for current time
\renewcommand{\dateseparator}{-}

\newcommand{\headertoday}{\the\year \dateseparator \twodigit\month \dateseparator \twodigit\day}

%### define an environment to have a local `\arraystretch'
\newenvironment{TabLocalVerticalSpacing}[1]
  {\def\arraystretch{#1}\tabular}
  {\endtabular}

\usepackage{tabularx}
%#####################################

\newcommand\leftheadercalc[1]{%
\begin{TabLocalVerticalSpacing}{#1}[b]{@{}ll}\footnotesize{balabala}&\footnotesize{}\\\footnotesize{Project: ??????}&\footnotesize{}\end{TabLocalVerticalSpacing}%
}
\newcommand\rightheadercalc[1]{%
\begin{TabLocalVerticalSpacing}{#1}[b]{rr@{}}\footnotesize{Date:}&\footnotesize{\headertoday}\\\footnotesize{Page:}&\footnotesize{\thepage}\end{TabLocalVerticalSpacing}%
}
\newcommand\midheadercalc[1]{%
\begin{TabLocalVerticalSpacing}{#1}[b]{cc}\footnotesize{}&\footnotesize{}\\\footnotesize{}&\footnotesize{}\end{TabLocalVerticalSpacing}%
}
\settototalheight\headheight{\maxof{\leftheadercalc{0.600000}}{\rightheadercalc{0.600000}}{\midheadercalc{0.600000}}}

\lhead{\leftheadercalc{0.600000}}
\rhead{\rightheadercalc{0.600000}}
\chead{\midheadercalc{0.600000}}
\newcommand\Tstrut{\rule{0pt}{3ex}}         % `top' strut
\newcommand\Bstrut{\rule[-0.9ex]{0pt}{0pt}} % `bottom' strut

\newcommand{\defaultfontsize}{\fontsize{10pt}{\baselineskip}\selectfont}
\begin{document}\defaultfontsize

\noindent\begin{tabularx}{\textwidth}{@{} p{1.5cm} X p{1.5cm} p{1cm} p{2cm}}
Design to & \multicolumn{2}{l}{Steel structures AS 4100鈥?998} &&\\[1ex]
\hline
1 & Given data &Foo&Bar&cl5.2.3\Tstrut\\

\end{tabularx}

\end{document}

Связанный контент