表の幅はヘッダーの幅と同じ

表の幅はヘッダーの幅と同じ

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}

関連情報