如果标题没有太多意义,我很抱歉,但我会尝试更彻底地描述问题。我有下面显示的代码,它为我提供了图片中显示的表格。
\begin{figure}
\centering
\begin{tabular}{|p{2.0cm}|p{2.0cm}|p{2.0cm}|p{2.0cm}|p{2.0cm}|p{2.0cm}|}
\hline
\multicolumn{2}{|c|}{\textbf{Qualität}} &\multicolumn{1}{c|}{\textbf{Wände}} & `enter code here`\multicolumn{2}{c|}{\textbf{Oben/Unten}} & \multicolumn{1}{c|}{\textbf{\makecell{Geschwin-\\digkeit}}}\\
\hline
Schichtdicke & Linienbreite & \makecell[tl]{Anzahl der\\ Wandlinien} & \makecell[tl]{ Oberfläche\\ Außenhaut\\ Linien-\\breite} & \makecell[tl]{Glätten \\ aktivieren} & \makecell[tl]{Druckge- \\schwindig- \\keit}\\
\hline
0.15mm & 0.2mm & 0 & 0.2mm & \checkmark & 25mm/s\\
\hline
\end{tabular}
\bigskip
\begin{tabular}{|p{2.0cm}|p{2.0cm}|p{2.0cm}|p{2.0cm}|p{2.0cm}|p{2.0cm}|}
\hline
\multicolumn{3}{|c|}{\textbf{Material}} & \multicolumn{2}{c|}{\textbf{\makecell{Druckplattenhaftung}}} & \multicolumn{1}{c|}{\textbf{\makecell{Sonder-\\funktionen}}}\\
\hline
\makecell[tl]{Drucktem- \\peratur} & Temperatur der Druckplatte & Fluss & \makecell[tl]{Haftungs-\\typ} & \makecell[tl]{Anzahl der\\ Skirtlinien} & \makecell[tl]{Druckreihen-\\folge}\\
\hline
$\mathrm{230^\circ C}$ & $\mathrm{70^\circ C}$ & 106\% & Skirt & 10 & Nacheinander \\
\hline
\end{tabular}
\caption{Druckereinstellungen der ersten Versuchsreihe}
\label{tab:Druckereinstellungen der ersten Versuchsreihe}
\结束{图}
尽管顶部和底部表格的列大小相同(p{2.0cm}),但表格大小仍然不一致,左侧甚至无法完美对齐。这对我来说很奇怪,我尝试了一些方法,但都不起作用。有人能帮我解决这个问题吗?谢谢
答案1
我建议您修改列类型,以自动居中单元格内容并允许单元格中的第一个单词换行。(列p
类型既不执行任何操作。)我还建议您摆脱\makecell
包装器,并建议您使用该siunitx
包及其\qty
宏来排版物理量及其相关单位。最后但并非最不重要的是,请插入换行符。前 \bigskip
。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{geometry} % set page parameters as needed
\usepackage{amssymb} % for \checkmark macro
\usepackage{array} % for \newcolumntype macro
\usepackage{ragged2e} % for \Centering macro
% column type that allows hyphenation of first word in a cell:
\newcolumntype{C}[1]{>{\Centering\hspace{0pt}}m{#1}}
\usepackage[,locale=DE,per-mode=symbol]{siunitx} % '\qty' macro
\begin{document}
\begin{figure}
\setlength\extrarowheight{2pt} % for a less-cramped "look"
\centering
\begin{tabular}{| *{6}{C{2.0cm}|} }
\hline
\multicolumn{2}{|c|}{\textbf{Qualität}} &
\textbf{Wände} &
\multicolumn{2}{ c|}{\textbf{Oben\slash Unten}} &
\textbf{Geschwindigkeit} \\
\hline
Schichtdicke &
Linienbreite &
Anzahl der Wandlinien &
Oberfläche Außenhaut Linienbreite &
Glätten aktivieren &
Druck\-geschwin\-digkeit \\ % optional: indicate preferred line break points
\hline
\qty{0.15}{\milli\meter} &
\qty{0.2}{\milli\meter} & 0 &
\qty{0.2}{\milli\meter} &
\checkmark &
\qty{25}{\milli\meter\per\second} \\
\hline
\end{tabular}
\bigskip % insert line break *before* this command
\begin{tabular}{| *{6}{C{2.0cm}|}}
\hline
\multicolumn{3}{|c|}{\textbf{Material}} &
\multicolumn{2}{ c|}{\textbf{Druckplattenhaftung}} &
\textbf{Sonderfunktionen} \\
\hline
Druck\-temperatur &
Temperatur der Druckplatte &
Fluss & Haftungstyp &
Anzahl der Skirtlinien &
Druck\-reihenfolge \\ % optional: indicate preferred line break points
\hline
\qty{230}{\celsius} &
\qty{70}{\celsius} &
106\% &
Skirt &
10 &
Nacheinander \\
\hline
\end{tabular}
\caption{Druckereinstellungen der ersten Versuchsreihe}
\label{tab:Druckereinstellungen der ersten Versuchsreihe}
\end{figure}
\end{document}
答案2
你没有提供一个例子,但可以构造一个
\documentclass[a4paper,12pt]{article}
\usepackage{makecell}
\newcommand\checkmark{?}
\begin{document}
\begin{figure}
\centering
\begin{tabular}{|p{2.0cm}|p{2.0cm}|p{2.0cm}|p{2.0cm}|p{2.0cm}|p{2.0cm}|}
\hline
\multicolumn{2}{|c|}{\textbf{Qualität}} &\multicolumn{1}{c|}{\textbf{Wände}} & \multicolumn{2}{c|}{\textbf{Oben/Unten}} & \multicolumn{1}{c|}{\textbf{\makecell{Geschwin-\\digkeit}}}\\
\hline
Schichtdicke & Linienbreite & \makecell[tl]{Anzahl der\\ Wandlinien} & \makecell[tl]{ Oberfläche\\ Außenhaut\\ Linien-\\breite} & \makecell[tl]{Glätten \\ aktivieren} & \makecell[tl]{Druckge- \\schwindig- \\keit}\\
\hline
0.15mm & 0.2mm & 0 & 0.2mm & \checkmark & 25mm/s\\
\hline
\end{tabular}
\bigskip
\begin{tabular}{|p{2.0cm}|p{2.0cm}|p{2.0cm}|p{2.0cm}|p{2.0cm}|p{2.0cm}|}
\hline
\multicolumn{3}{|c|}{\textbf{Material}} & \multicolumn{2}{c|}{\textbf{\makecell{Druckplattenhaftung}}} & \multicolumn{1}{c|}{\textbf{\makecell{Sonder-\\funktionen}}}\\
\hline
\makecell[tl]{Drucktem- \\peratur} & Temperatur der Druckplatte & Fluss & \makecell[tl]{Haftungs-\\typ} & \makecell[tl]{Anzahl der\\ Skirtlinien} & \makecell[tl]{Druckreihen-\\folge}\\
\hline
$\mathrm{230^\circ C}$ & $\mathrm{70^\circ C}$ & 106\% & Skirt & 10 & Nacheinander \\
\hline
\end{tabular}
\caption{Druckereinstellungen der ersten Versuchsreihe}
\label{tab:Druckereinstellungen der ersten Versuchsreihe}
\end{figure}
\end{document}
请注意,您需要12pt
文档选项。
该问题是由于
\multicolumn{1}{c|}{\textbf{\makecell{Sonder-\\funktionen}}}
这会覆盖规范p
并要求使用,c
因此使列宽与条目一样宽,funktionen
比 12pt 的列宽。因此,您需要以不同的方式拆分该文本,或重新调整p
宽度以给该列留出更多空间。
答案3
似乎规定的列宽有点太小,以至于正常字体大小的单元格中的文本无法很好地容纳其中。如果不知道文档页面布局,很难理解它们为什么有 2 厘米的宽度。我预计 6 列表格中的列宽将定义为文本宽度的 1/6(不幸的是未知)。
使用较小的字体大小也可以使文本更好地适应单元格。例如使用\small
大小。
考虑到上述情况,我会选择tabularx
或tblr
包tabularray
进行表格设计,\small
文本的字体大小和类似的东西,就像@Mico 在他的回答中所做的那样,启用单元格文本中第一个单词的换行并用于siunitx
写入数量。
带表的 MWEtblr
可以是:
\documentclass{article}
\usepackage{geometry} % set page parameters as needed
\usepackage{lipsum}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\hyphenation{Druck-geschwin-digkeit Druck-reihen-folge}
\usepackage{amssymb} % for \checkmark
\usepackage{ragged2e} % for \RaggedRight macro
\usepackage{tabularray}
\UseTblrLibrary{siunitx}% for \qty
\sisetup{locale=DE,
per-mode=symbol}
\begin{document}
\lipsum[66]
\begin{figure}[ht]
\small
\begin{tblr}{hlines, vlines,
colspec = { *{6}{X[cmd=\RaggedRight\hspace{0pt}]} },
colsep = {3pt},
row{1} = {font=\bfseries, m}
}
\SetCell[c=2]{c} Qualität
& & Wände
& \SetCell[c=2]{c} Oben\slash Unten
& & Geschwindigkeit \\
Schichtdicke
& Linienbreite
& Anzahl der Wandlinien
& Oberfläche Außenhaut Linienbreite
& Glätten aktivieren
& Druckgeschwindigkeit \\
\qty{0.15}{\milli\meter}
& \qty{0.2}{\milli\meter}
& 0 & \qty{0.2}{\milli\meter}
& \checkmark
& \qty{25}{\milli\meter\per\second} \\
\end{tblr}
\medskip
\begin{tblr}{hlines, vlines,
colspec = { *{6}{X[cmd=\RaggedRight\hspace{0pt}]} },
colsep = {3pt},
row{1} = {font=\bfseries, m}
}
\SetCell[c=3]{c} Material
& & & \SetCell[c=2]{c} Druckplattenhaftung
& & Sonderfunktionen \\
Druck\-temperatur
& Temperatur der Druckplatte
& Fluss
& Haftungstyp
& Anzahl der Skirtlinien
& Druckreihenfolge \\
\qty{230}{\celsius}
& \qty{70}{\celsius}
& \qty{106}{\%}
& Skirt
& 10
& Nacheinander \\
\end{tblr}
\caption{Druckereinstellungen der ersten Versuchsreihe}
\label{tab:Druckereinstellungen der ersten Versuchsreihe}
\end{figure}
\lipsum[11]
\end{document}