这是另一个关于“表格中的对齐问题“。
代码
\documentclass[
a4paper,
12pt,
landscape,
danish
]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[
hmargin = 1.561cm,
vmargin = 3cm
]{geometry}
\usepackage{fancyhdr}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{microtype}
\newcommand*\mcA[1]{\multicolumn{3}{@{}c@{\mlrA}}{#1}}
\newcommand*\mcB[1]{\multicolumn{3}{@{}l@{\mlrA}}{#1}}
\newcommand*\mcC[1]{\multicolumn{3}{@{}c@{\mlrB}}{#1}}
\newcommand*\Alignment[1]{%
\multicolumn{1}{r@{}}{\llap{\makebox[\widthof{--}][c]{#1}}}}
\def\mlrA{\hskip 2.5em}
\def\mlrB{\hskip 0.8em}
\def\mlrC{3ex}
\DisableLigatures[f]{encoding = T1}
\pagestyle{fancy}
\renewcommand*\headrulewidth{0pt}
\setlength\headheight{14.5pt}
\lhead{}
\rhead{}
\cfoot{}
\begin{document}
\begin{center}
\textbf{\Huge Skema~2015--2016}
\vspace{10ex}
\renewcommand*{\arraystretch}{1.2}
\begin{tabular}{
S[table-format = 2] @{\mlrB}
r @{\,--\,}
*{5}{
l @{\mlrA}
l @{\mlrB}
l @{\mlrB}
}
l
}
\toprule
{Lektion}
& \multicolumn{2}{@{}c@{\mlrA}}{Tidspunkt}
& \mcA{Mandag}
& \mcA{Tirsdag}
& \mcA{Onsdag}
& \mcA{Torsdag}
& \mcA{Fredag} \\
\midrule
1 & 8:10 & 8:55 & & & & 7.C & F/K & fys & 5.A & MAT & 09 & & & & 7.C & MAT & 22 \\[\mlrC]
2 & 8:55 & 9:40 & & & & 7.C & F/K & fys & 5.A & N/T & 09 & & & & 7.C & STU & 22 \\[\mlrC]
3 & 10:00 & 10:45 & 8. & IDR & hal/gym & 5.A & MAT & 09 & 7.C & STU & 22 & 7.C & BIO & bio & \mcC{Fagdag} \\[\mlrC]
4 & 10:45 & 11:30 & 8. & IDR & hal/gym & 5.A & MAT & 09 & & & & 7.C & BIO & bio & \mcC{Fagdag} \\[\mlrC]
5 & 11:30 & 12:00 & 5.A & FORD & 09 & 7.C & FORD & 22 & 5.A & FORD & 09 & & & & \mcC{Fagdag} \\[\mlrC]
6 & 12:40 & 13:25 & 7.C & GEO & 22 & 5.A & HIS & 09 & 7.C & MAT & 22 & & & & \mcC{Fagdag} \\[\mlrC]
7 & 13:25 & 14:10 & 7.C & GEO & 22 & 5.A & HIS & 09 & 7.C & MAT & 22 & & & & \mcC{Fagdag} \\[\mlrC]
8 & 14:25 & 15:10 & 7.C & MAT & 22 & & & & & & & \mcB{Møde: Rød fløj} & \multicolumn{3}{@{}c@{\mlrB}}{(Fagdag)} \\[\mlrC]
9 & 15:10 & 16:10 & \mcA{Møde: 7.~årgang} & \mcB{(Møde, koord.: Hvid fløj)} & & & & \mcB{Møde: 5.~årgang} & & & \\[\mlrC]
10 & 16:00 & 17:00 & & & & \mcB{(Møde, intern: Hvid fløj)} & & & & & & & & & \\
\bottomrule
\end{tabular}
\end{center}
\end{document}
问题
我如何使标记的文本相对于Tirsdag
上方居中?
答案1
我认为有必要重新考虑表格的概念。如果由三个“子列”组成的列被排版为单独的表格,并包含在主表中,并包含在涵盖大部分所属列的所属多行单元格中,那么居中问题可能更容易解决。
考虑到上述考虑的代码给出:
垂直线是故意放置的,用于显示列居中程度。它们还可以最大限度地减少主观印象,即列居中程度如何。在最终版本中,可以省略它们。
\documentclass[a4paper,12pt,landscape,
% danish
]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[hmargin = 1.561cm,vmargin = 3cm]{geometry}
\usepackage{booktabs,multirow}
\usepackage{siunitx}
\usepackage{microtype}
\DisableLigatures[f]{encoding = T1}
\begin{document}
\begin{center}
\textbf{\Huge Skema~2015--2016}
\vspace{10ex}
\renewcommand*{\arraystretch}{1.5}
\setlength{\tabcolsep}{7pt}
\begin{tabular}{|@{\ }S[table-format = 2]
|r @{\,--\,}l
*{5}{|c}@{\ }|}
\toprule
{Lektion}
& \multicolumn{2}{c|}{Tidspunkt}
& Mandag
& Tirsdag
& Onsdag
& Torsdag
& Fredag \\
\midrule
1 & 8:10 & 8:55 & & \multirow{7}*{
\begin{tabular}{rll}
7.C & F/K & fys \\
7.C & F/K & fys \\
7.C & MAT & 09 \\
7.C & MAT & 09 \\
7.C & FORD & 09 \\
7.C & HIS & 09 \\
7.C & HIS & 09
\end{tabular} } & \multirow{7}*{
\begin{tabular}{rll}
5.A & MAT & fys \\
5.A & N/T & fys \\
5.A & STU & 09 \\
&& \vphantom{09} \\
5.A & FORD & 09 \\
5.A & MAT & 09 \\
5.A & MAT & 09
\end{tabular} } & & \multirow{2}*{
\begin{tabular}{rll}
7.C & MAT & 22 \\
7.C & MAT & 22
\end{tabular} } \\%end of row
2 & 8:55 & 9:40 & \multirow{6}*{
\begin{tabular}{rll}
8. & IDR & fys \\
8. & IDR & fys \\
8. & FORD & 09 \\
8. & GEO & 09 \\
8. & GEO & 09 \\
8. & MAT & 09
\end{tabular} } & & & & \\
3 & 10:00 & 10:45 & & & & \multirow{2}*{
\begin{tabular}{rll}
7.C & BIO & bio \\
7.C & BIO & bio
\end{tabular} }
& Fagdag \\
4 & 10:45 & 11:30 & & & & & Fagdag \\
5 & 11:30 & 12:00 & & & & & Fagdag \\
6 & 12:40 & 13:25 & & & & & Fagdag \\
7 & 13:25 & 14:10 & & & & & Fagdag \\
8 & 14:25 & 15:10 & & & & & Fagdag \\
9 & 15:10 & 16:10 & Møde: 7.~årgang
& (Møde, koord.: Hvid fløj)
& & Møde: Rød fløj
& \\
10 & 16:00 & 17:00 & & (Møde, koord.: Hvid fløj)
& & Møde: 5.~årgang
& \\
\bottomrule
\end{tabular}
\end{center}
\end{document}
在代码中,我省略了序言中所有未使用的包、所有距离的定义和multicolumns
,因为它们不再需要,并添加了包multirow
。
行距可以通过 来设置,\arraystretch
测试值1.5
是一个不错的选择。同样,列距可以通过 来设置\tabcolsep
。选择7pt
似乎就足够了。
特定单元格的内容可能不正确。复制过程中出现错误是显而易见的 :-(。
我希望我能从另一种角度提供如何解决您的问题的观点。