请考虑以下示例:
\documentclass[
12pt
]{article}
\usepackage[
a3paper,
landscape,
hmargin = 3cm,
vmargin = 0cm
]{geometry}
\usepackage[sc]{mathpazo}
\usepackage{
multirow,
ragged2e
}
\usepackage{graphicx}
\usepackage[
locale = DE
]{siunitx}
\def\mlr{0.8}
\newcommand*\mc[2]{\multicolumn{1}{c}{#1}}
\newcommand*\mcA[2]{\multicolumn{#1}{c|}{#2}}
\newcommand*\mcB[2]{\multicolumn{#1}{p{2cm}|}{#2}}
\newcommand*\afsnit[1]{\textsl{#1}}
\newcommand*\farve{\cellcolor{black}}
\newcommand*\saenk[1]{\raisebox{-1ex}{#1}}
\pagestyle{empty}
\begin{document}
\begin{center}
\large
\begin{tabular}{
|>{\RaggedRight\arraybackslash}m{2.3cm}
*{2}{|>{\centering\arraybackslash}m{1.15cm}}
*{1}{|>{\centering\arraybackslash}m{2.3cm}}
*{2}{|>{\centering\arraybackslash}m{1.15cm}}
*{10}{|>{\centering\arraybackslash}m{2.3cm}}|
}
\hline
\textbf{Tid}
& \mcA{2}{\SI{75}{\minute}}
& \SI{15}{\minute}
& \mcA{2}{\SI{45}{\minute}}
& 5
& 6
& 7
& 8
& 9
& 10
& 11
& 12
& 13
& 14 \\[\mlr ex]
\hline
\textbf{Sted}
& \mcA{2}{Bog}
& Mappe
& \mcA{2}{Bog/comp.}
& 5
& 6
& 7
& 8
& 9
& 10
& 11
& 12
& 13
& 14 \\[\mlr ex]
\hline
\multirow{3}{2cm}{\huge\bfseries Uge 8--9}
& \mcB{2}{\includegraphics[width = 2.5cm]{kontext.jpg}}
& \includegraphics[width = 2.5cm]{tabel.jpg}
& \mcB{2}{\includegraphics[width = 2.5cm]{rumgeometri.jpg}}
& 5
& 6
& 7
& 8
& 9
& 10
& 11
& 12
& 13
& 14 \\[\mlr ex]
\cline{2-16}
& \mcB{2}{\afsnit{Kasser til markedet}}
& Tabel- tr{\ae}ning
& \mcB{2}{Under- s{\o}gelse}
& 5
& 6
& 7
& 8
& 9
& 10
& 11
& 12
& 13
& 14 \\[\mlr ex]
\cline{2-16}
& $1$--$4$
& $5$--$9$
&
& $116$
& $117$
& 5
& 6
& 7
& 8
& 9
& 10
& 11
& 12
& 13
& 14 \\[\mlr ex]
\hline
Amalie
&
&
&
&
&
& 5
& 6
& 7
& 8
& 9
& 10
& 11
& 12
& 13
& 14 \\[\mlr ex]
\hline
\end{tabular}
\end{center}
\end{document}
图片:
疑问/问题
- 我希望这三幅图像都放置在各自单元格的顶部。
- 我希望将带有图像的单元格正下方的单元格中的文本放置在其各自单元格的顶部。
- 我希望文本
Uge 8--9
在第一列的三个单元格内垂直居中。
表格根本不是我的专长,所以我真的不知道从哪里开始解决这些“问题”。
更新
使用Zarko的代码后,几乎完美;
\documentclass[
12pt,
danish
]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[
a3paper,
landscape,
hmargin = 0.2cm,
vmargin = 0cm
]{geometry}
\usepackage[sc]{mathpazo}
\usepackage{
multirow,
tabularx,
ragged2e
}
\usepackage{mwe}
\usepackage[
export
]{adjustbox}
\usepackage[
table
]{xcolor}
\usepackage[
locale = DE
]{siunitx}
\usepackage{microtype}
\def\mlr{0.37}
\newcommand*\mcA[2]{\multicolumn{#1}{c|}{#2}}
\newcommand*\mcB[2]{\multicolumn{#1}{p{2cm}|}{#2}}
\newcommand*\afsnit[1]{\textsl{#1}}
\newcommand*\navn[1]{\textsf{#1}}
\newcommand*\farveA{\cellcolor{gray}}
\newcommand*\aktivitet[3]{%
\mcA{#1}{%
\includegraphics[
width = #2,
valign = t,
margin = 0pt 3pt 0pt 0pt
]{example-image-#3}%
}%
}
\DisableLigatures[f]{encoding = T1}
\pagestyle{empty}
\begin{document}
\begin{center}
\large
\setlength\extrarowheight{3pt}
\begin{tabular}{
|>{\RaggedRight}p{2.3cm}
*{2}{|>{\Centering}p{1.3cm}}
|>{\Centering}p{2.3cm}
*{2}{|>{\Centering}p{1.3cm}}
|>{\Centering}p{2.4cm}
|>{\Centering}p{1.6cm}
|>{\Centering}p{2.8cm}
|>{\Centering}p{2cm}
|>{\Centering}p{3.5cm}
*{5}{|>{\Centering}p{0.5cm}}
|>{\Centering}p{2.4cm}|
}
\hline
\textbf{Tid}
& \mcA{2}{\SI{110}{\minute}}
& \SI{30}{\minute}
& \mcA{2}{\SI{80}{\minute}}
& \SI{50}{\minute}
& \mcA{2}{\SI{90}{\minute}}
& \SI{30}{\minute}
& \SI{180}{\minute}
& \mcA{5}{\SI{30}{\minute}}
& \\[\mlr ex]
\hline
\textbf{Sted}
& \mcA{2}{Bog}
& Mappe
& \mcA{2}{Bog/comp.}
& \navn{Mat.Fessor}
& \mcA{2}{Bog}
&
& \navn{MinUddannelse}
& \mcA{5}{Udendørs}
& Kasse \\[\mlr ex]
\hline
\multirow{7}{=}{\huge\bfseries Uge 9--10}
& \aktivitet{2}{2cm}{10x16}
& \aktivitet{1}{2cm}{10x16}
& \aktivitet{2}{2cm}{1x1}
& \aktivitet{1}{1.6cm}{10x16}
& \aktivitet{2}{2cm}{10x16}
& \aktivitet{1}{2cm}{1x1}
& \aktivitet{1}{2cm}{10x16}
& \aktivitet{5}{1.8cm}{10x16}
& \aktivitet{1}{2cm}{1x1} \\[\mlr ex]
\cline{2-17}
& \mcB{2}{\afsnit{Kasser til markedet}}
& \RaggedRight Tabel\-træning
& \mcB{2}{Undersøgelse}
& \RaggedRight Trænings\-opgaver
& \mcB{2}{\afsnit{Breddeopgaver}}
& \RaggedRight Skak
& \RaggedRight \afsnit{Vand som en ressource}
& \mcB{5}{Lufter}
& \RaggedRight Ekstra\-opgaver \\[\mlr ex]
\cline{2-17}
& $1$--$4$
& $5$--$9$
&
& $116$
& $117$
&
& $1,4,7,8$
& $2,3,10,11,15$
&
&
& \mcB{5}{}
& \\[\mlr ex]
\hline
Amalie
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Arthur
&
&
& \farveA
&
&
&
&
&
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Asker
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Augusta
&
&
&
&
&
&
&
& \farveA
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Benjamin
&
& \farveA
&
&
& \farveA
&
&
& \farveA
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Camilla
&
& \farveA
&
&
& \farveA
&
&
& \farveA
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Carla
&
& \farveA
&
&
& \farveA
&
&
& \farveA
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Casper
&
& \farveA
&
&
& \farveA
&
&
& \farveA
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Cecilie
&
& \farveA
&
&
& \farveA
&
&
& \farveA
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Jessica
&
& \farveA
&
&
& \farveA
&
&
& \farveA
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Kasper
&
&
& \farveA
&
&
&
&
&
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Katrine
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Lea
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Liv
&
& \farveA
&
&
& \farveA
&
&
& \farveA
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Lukas
&
& \farveA
&
&
& \farveA
&
&
& \farveA
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Maria
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Marius
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Mathilde
&
& \farveA
&
&
& \farveA
&
&
& \farveA
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Mikkel B.
&
& \farveA
&
&
& \farveA
&
&
& \farveA
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Mikkel K.
&
&
&
&
&
&
&
& \farveA
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Mikkel P.
&
& \farveA
&
&
& \farveA
&
&
& \farveA
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Mille
&
&
& \farveA
&
&
&
&
&
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Philip
&
&
& \farveA
&
&
&
&
&
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Shiyar
&
& \farveA
&
&
& \farveA
&
&
& \farveA
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Sofie
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
Solveig
&
&
& \farveA
&
&
&
&
&
&
&
&
&
&
&
&
& \\[\mlr ex]
\hline
\end{tabular}
\end{center}
\end{document}
唯一的小问题是,我得到了两个
过满
\hbox
警告,但我不知道如何消除它们。
答案1
你有更多问题姆韦:
- 定义和使用
multicolumn
单元格不匹配。 - 估计行数跨度
multirow
- 等等(我只关注前两个问题)
这就是你要找的吗?
在您的姆韦
- 用于代替
\mcA
图像\mcB
- 图像宽度减小到 2 厘米(从 2.5 厘米减小到比规定
\mcB
宽度更宽) - 添加了一个包,
adjustbox
通过它可以将图像基线从底部更改为顶部,并在图像周围添加边距 - 对于
multirow
单元格使用{=}
超越列格式的选项 - 我估计 `multirow` 跨越的行数为 9 (其中 3 行来自文本,6 行来自图像高度)
- 添加是
\extrarowheight
为了更好地垂直间隔单元格的内容
\documentclass[12pt]{article}
\usepackage[a3paper,
landscape,
hmargin = 0.2cm,
vmargin = 0.5cm
]{geometry}
\usepackage[sc]{mathpazo}
\usepackage{multirow, tabularx}
\usepackage{ragged2e}
\usepackage[demo]{graphicx}
\usepackage[export]{adjustbox}
\usepackage[locale = DE]{siunitx}
\def\mlr{0.8}
\newcommand*\mc[2]{\multicolumn{1}{c}{#1}}
\newcommand*\mcA[2]{\multicolumn{#1}{c|}{#2}}
\newcommand*\mcB[2]{\multicolumn{#1}{p{2cm}|}{#2}}
\newcommand*\afsnit[1]{\textsl{#1}}
\newcommand*\farve{\cellcolor{black}}
\newcommand*\saenk[1]{\raisebox{-1ex}{#1}}
\begin{document}
\pagestyle{empty}
\begin{center}
\large
\setlength\extrarowheight{2pt}
\begin{tabular}{
|>{\RaggedRight}p{2.3cm}
*{2}{|>{\Centering}p{1.15cm}}
*{1}{|>{\Centering}p{2.3cm}}
*{2}{|>{\Centering}p{1.15cm}}
*{10}{|>{\Centering}p{2.3cm}}|
}
\hline
\textbf{Tid}
& \mcA{2}{\SI{75}{\minute}}
& \SI{15}{\minute}
& \mcA{2}{\SI{45}{\minute}}
& 5
& 6
& 7
& 8
& 9
& 10
& 11
& 12
& 13
& 14 \\[\mlr ex]
\hline
\textbf{Sted}
& \mcA{2}{Bog}
& Mappe
& \mcA{2}{Bog/comp.}
& 5
& 6
& 7
& 8
& 9
& 10
& 11
& 12
& 13
& 14 \\[\mlr ex]
\hline
\multirow{9}{=}{\huge\bfseries Uge 8--9}
& \mcA{2}{\includegraphics[width = 2cm,valign=t,
margin=0pt 3pt 0pt 3pt
]{kontext.jpg}}
& \includegraphics[width = 2cm,valign=t]{tabel.jpg}
& \mcA{2}{\includegraphics[width = 2cm,valign=t]{rumgeometri.jpg}}
& 5
& 6
& 7
& 8
& 9
& 10
& 11
& 12
& 13
& 14 \\[\mlr ex]
\cline{2-16}
& \mcB{2}{\afsnit{Kasser til markedet}}
& Tabel- tr{\ae}ning
& \mcB{2}{Under- s{\o}gelse}
& 5
& 6
& 7
& 8
& 9
& 10
& 11
& 12
& 13
& 14 \\[\mlr ex]
\cline{2-16}
& $1$--$4$
& $5$--$9$
&
& $116$
& $117$
& 5
& 6
& 7
& 8
& 9
& 10
& 11
& 12
& 13
& 14 \\[\mlr ex]
\hline
Amalie
&
&
&
&
&
& 5
& 6
& 7
& 8
& 9
& 10
& 11
& 12
& 13
& 14 \\[\mlr ex]
\hline
\end{tabular}
\end{center}
\end{document}
编辑: 如果所有图像都具有相同的参数(宽度、对齐方式、边距),您可以定义新的命令,使在表格中插入图像的代码更短:
\newcommand\insertimage[1]{%
\includegraphics[width=22mm,
valign=t,
margin=0pt 3pt 0pt 3pt]{#1}
}
用法如下:
...
\hline
\multirow{9}{=}{\huge\bfseries Uge 8--9}
& \mcA{2}{\insertimage{kontext.jpg}}
& \insertimage{tabel.jpg}
& \mcA{2}{\insertimage{rumgeometri.jpg}}
& 5
& 6
...
答案2
您发现的“故障”我无法完全重现(正如我在上面的评论中所说,它不会损害您的表格外观)。在更仔细地检查您的表格后,请向我展示一些如何改进它的可能性:
- 从添加的包中
makecell
使用:makecell
用于设置具有两行文本的单元格的宏(它删除了行中其他单元格中的坏框和垂直中心内容)makegapedcells
用于在单元格内容中添加更多垂直空间的宏
- 将列宽确定为表格宽度的分数后,表格宽度(几乎)等于文本宽度(同时仍然忽略由于计算精度导致的微小差异)
- 因为所有图像都有相同的宽度(否则它们不适合单元格)是合理的,使用新命令插入图像,正如我在上一个答案中所建议的那样
由于重新设计您的表格花费了我相当长的时间和精力,而且这不是问题的第一个版本所关注的,所以我决定值得写一个新的答案。
在姆韦下面我删除了你的所有未使用的定义和包姆韦并添加showframe
展示页面布局的包(用红线表示)。
注意:您选择的边距(在我看来)非常不寻常。您将难以打印此表格(在页面边框上有一条线,这会给大多数打印机带来问题)。
\documentclass[12pt]{article}
\usepackage[a3paper,
landscape,
hmargin = 2mm,
vmargin = 0mm
]{geometry}
\usepackage[sc]{mathpazo}
\usepackage{microtype}
\usepackage{ragged2e}
\usepackage{makecell, multirow}
\setcellgapes{3pt}
\newcommand\mcx[1]{%
\multicolumn{2}%
{>{\Centering}p{\dimexpr0.0714\linewidth-2\tabcolsep-1.06\arrayrulewidth\relax}|}%
{#1}}
\usepackage[demo]{graphicx}
\usepackage[export]{adjustbox}
\newcommand\insertimage[1]{\includegraphics[width=20mm, valign=t]{#1}}
\usepackage[locale=DE]{siunitx}
%-------------------------------- show page layout, only for test
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.5pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\begin{document}
\centering
\setlength\tabcolsep{4pt}
\makegapedcells
\begin{tabular}{
|>{\RaggedRight\bfseries}%
p{\dimexpr0.0714\linewidth-2\tabcolsep-1.06\arrayrulewidth\relax}
*{2}{|>{\Centering}p{\dimexpr0.0357\linewidth-2\tabcolsep-1.06\arrayrulewidth\relax}}
|>{\Centering}p{\dimexpr0.0714\linewidth-2\tabcolsep-1.06\arrayrulewidth\relax}
*{2}{|>{\Centering}p{\dimexpr0.0357\linewidth-2\tabcolsep-1.06\arrayrulewidth\relax}}|
*{10}{>{\Centering}p{\dimexpr0.0714\linewidth-2\tabcolsep-1.06\arrayrulewidth\relax}|}
}
\hline
Tid & \mcx{\SI{75}{\minute}}
& \SI{15}{\minute}
& \mcx{\SI{45}{\minute}}
& 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 \\ \hline
Sted & \mcx{Bog}
& Mappe
& \mcx{Bog/comp.}
& 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 \\ \hline
\multirow{9}{=}{\huge\bfseries Uge 8--9}
& \mcx{\insertimage{kontext.jpg}}
& \insertimage{tabel.jpg}
& \mcx{\insertimage{rumgeometri.jpg}}
& 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 \\ \cline{2-16}
& \mcx{\itshape \makecell{Kasser til\\ markedet}}
& \makecell{Tabel-\\ tr{\ae}ning}
& \mcx{\makecell{Under-\\ s{\o}gelse}}
& 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 \\ \hline
& 1 -- 4
& 5 -- 6
&
& 116
& 117
& 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 \\ \hline
Amalie
&
&
&
&
&
& 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 \\ \hline
\end{tabular}
\end{document}