我试图将表格放在这样的页面上:
但事实却是这样的:
左侧是页面的末尾。我该怎么做?这是我所拥有的:
\begin{table}[!htb]
\centering
\begin{tabular}{|l|l|l|l|l|l|l|}
\hline
Monday-saturday & Full-time new (break after 3 hours) & Full-time new (break after 4 hours) & Part-time new & Total employees working & Minimum employees needed & Additional costs
\\\hline
10:00-11:00 & 0 & 1 & 1 & 2 & 2 & \euro0
\\\hline
11:00-12:00 & 1 & 0 & 2 & 5 & 5 & \euro 30
\\\hline
12:00-13:00 & 1 & 2 & 1 & 9 & 9 & \euro40
\\\hline
13:00-14:00 & 0 & 0 & 0 & 9 & 9 & \euro0
\\\hline
14:00-15:00 & 0 & 0 & 0 & 6 * 6 & \euro0
\\\hline
15:00-16:00 & 0 & 0 & 0 & 5 & 5 & \euro10
\\\hline
16:00-17:00 & 0 & 0 & 2 & 5 & 5 & \euro10
\\\hline
17:00-18:00 & 0 & 0 & 4 & 11 & 9 & \euro0
\\\hline
18:00-19:00 & 0 & 0 & 0 & 10 & 10 & \euro10
\\\hline
19:00-20:00 & 0 & 0 & 0 & 9 & 9 & \euro40
\\\hline
20:00-21:00 & 0 & 0 & 0 & 4 & 4 & \euro10
\\\hline
\end{tabular}
\end{table}
答案1
使用不同的列类型。在下面的例子中,我切换了一个列类型,l
以便p{3cm}
在 3cm 后断开该列。
但下次请提供一个完整的示例,包括前言和任何所需的包。\euro
由于您没有指定使用的包,我不得不自己定义命令。
\documentclass[12pt]{article}
\newcommand{\euro}{EUR~}
\begin{document}
\begin{table}[!htb]
\centering
\begin{tabular}{|l|p{3cm}|l|l|l|l|l|}
\hline
Monday-saturday & Full-time new (break after 3 hours) & Full-time new (break after 4 hours) & Part-time new & Total employees working & Minimum employees needed & Additional costs
\\\hline
10:00-11:00 & 0 & 1 & 1 & 2 & 2 & \euro0
\\\hline
11:00-12:00 & 1 & 0 & 2 & 5 & 5 & \euro 30
\\\hline
12:00-13:00 & 1 & 2 & 1 & 9 & 9 & \euro40
\\\hline
13:00-14:00 & 0 & 0 & 0 & 9 & 9 & \euro0
\\\hline
14:00-15:00 & 0 & 0 & 0 & 6 * 6 & \euro0
\\\hline
15:00-16:00 & 0 & 0 & 0 & 5 & 5 & \euro10
\\\hline
16:00-17:00 & 0 & 0 & 2 & 5 & 5 & \euro10
\\\hline
17:00-18:00 & 0 & 0 & 4 & 11 & 9 & \euro0
\\\hline
18:00-19:00 & 0 & 0 & 0 & 10 & 10 & \euro10
\\\hline
19:00-20:00 & 0 & 0 & 0 & 9 & 9 & \euro40
\\\hline
20:00-21:00 & 0 & 0 & 0 & 4 & 4 & \euro10
\\\hline
\end{tabular}
\end{table}
\end{document}
答案2
我建议您执行以下操作:
使用
tabularx
环境代替tabular
,并对第 2 列至第 7 列使用列类型的修改形式。X
与基本p
列类型一样,X
列类型允许材料跨行换行。与p
列类型相比,X
列类型会为您完成所有必需的列宽计算。(默认情况下,所有类型的列都X
具有相同的宽度;但是,可以更改。)修改(如下面的代码所示)允许在窄列中排版材料右倾斜模式而不是完全对齐模式。为了实现开放且易于访问的外观,请删除所有垂直线和大多数内部水平线。使用
booktabs
包的宏来处理剩余的三条水平线。您可能希望在每三行或四行后插入一些空白。如果要启用每个单元格中第一个单词的连字符,请使用 LuaLaTeX 而不是 pdfLaTeX。或者
\hspace{0pt}
在“Minimum”和“Additional”之前插入。
\documentclass{article}
\usepackage{eurosym}
\usepackage{tabularx,ragged2e,booktabs}
\newcolumntype{Y}{>{\RaggedRight\arraybackslash}X}
\newenvironment{narrowtab}{\begin{tabular}[t]{@{}l@{}}}{\end{tabular}}
\begin{document}
\begin{table}[!htb]
\begin{tabularx}{\textwidth}{@{} l *{6}{Y} @{}}
\toprule
\begin{narrowtab}Monday--\\Saturday\end{narrowtab} &
Full-time new (break after 3 hours) &
Full-time new (break after 4 hours) &
Part-time new &
Total employees working &
Minimum employees needed &
Additional costs
\\
\midrule
10:00--11:00 & 0 & 1 & 1 & 2 & 2 & \euro0\\
11:00--12:00 & 1 & 0 & 2 & 5 & 5 & \euro 30\\
12:00--13:00 & 1 & 2 & 1 & 9 & 9 & \euro40\\
\addlinespace
13:00--14:00 & 0 & 0 & 0 & 9 & 9 & \euro0\\
14:00--15:00 & 0 & 0 & 0 & 6 & 6 & \euro0\\
15:00--16:00 & 0 & 0 & 0 & 5 & 5 & \euro10\\
\addlinespace
16:00--17:00 & 0 & 0 & 2 & 5 & 5 & \euro10 \\
17:00--18:00 & 0 & 0 & 4 & 11 & 9 & \euro0\\
18:00--19:00 & 0 & 0 & 0 & 10 & 10 & \euro10\\
\addlinespace
19:00--20:00 & 0 & 0 & 0 & 9 & 9 & \euro40\\
20:00--21:00 & 0 & 0 & 0 & 4 & 4 & \euro10\\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
答案3
我建议使用另一种方法,即旋转表头、缩小字体,数字在它们之间右对齐,而在列中左对齐。我还使用了以下booktabs
包:
\documentclass[12pt,]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{array, makecell, tabularx, rotating, booktabs}
\usepackage{marvosym}
\newcommand{\euro}[1]{\EUR\,#1}
\renewcommand{\tabularxcolumn}[1]{>{\raggedright\small\arraybackslash}m{#1}}
\renewcommand\theadfont{\footnotesize}
\renewcommand\theadalign{lc}
\usepackage{siunitx}
\sisetup{table-format = 2.0,table-number-alignment = left}
\newcommand\till{$ \mkern2mu $--}
\begin{document}
\begin{table}[!htb]
\centering
\settowidth{\rotheadsize}{Minimum employees}
\renewcommand\cellrotangle{30}
\setlength\extrarowheight{2pt}
\footnotesize
\begin{tabularx}{\linewidth}{l@{\hskip-2em}*{3}{X}@{}*{3}{S@{\hskip-5.5em}}}
\rothead{\\\ Monday--Saturday} & \rothead{Full-time new\\\scriptsize (break after 3 hours)} & \rothead{Full-time new \\\scriptsize(break after 4 hours)} & \rothead{Part-time new} & {\rothead{Total employees \\working}} & {\rothead{Minimum employees\\ needed}} & {\rothead{Additional costs\\ (\EUR)}}
\\
\toprule
10:00\till 11:00 & 0 & 1 & 1 & 2 & 2 & 0\\
11:00\till 12:00 & 1 & 0 & 2 & 5 & 5 & 30 \\
12:00\till 13:00 & 1 & 2 & 1 & 9 & 9 & 40 \\
13:00\till 14:00 & 0 & 0 & 0 & 9 & 9 & 0 \\
14:00\till 15:00 & 0 & 0 & 0 & 6 & 6 & 0\\
15:00\till 16:00 & 0 & 0 & 0 & 5 & 5 & 10\\
16:00\till 17:00 & 0 & 0 & 2 & 5 & 5 & 10 \\
17:00\till 18:00 & 0 & 0 & 4 & 11 & 9 & 0 \\
18:00\till 19:00 & 0 & 0 & 0 & 10 & 10 & 10 \\
19:00\till 20:00 & 0 & 0 & 0 & 9 & 9 & 40 \\
20:00\till 21:00 & 0 & 0 & 0 & 4 & 4 & 10 \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}