我正在尝试为我的一项作业制作下面的表格。我尝试过通过不同的变体来制作。但是,我的文本最终无法在表格边框内正确居中。
我想了解如何使文本因为边框而向下流动,而不必创建不同的多列并单独输入单词。
任何帮助,将不胜感激。
这是一些非常破烂的代码,但可以让我了解一下我想做什么。只是缺少整个对齐
\begin{table}[h!]
\centering
\textbf{\caption{Design Specifications}}
\begin{tabular}{|M|M|M|M|M|M|M|M|}
\hline
\multirow{5}{1cm}{\textbf{Power (kW)}} &
\multirow{5}{1cm}{\textbf{Input Speed (rpm)}} &
\multirow{5}{1.5cm}{\textbf{Speed Ratio (in/out)}} &
\multirow{5}{1.5cm}{\textbf{Reliability (\%)}} &
\multirow{5}{2.cm}{\textbf{Lifespan (Years of 24/7 Operation)}} &
\multirow{5}{3cm}{\textbf{Housing Type: 1.Open Gearing 2.Commerical Enclosed}} &
\multicolumn{2}{|c|}{\textbf{Operating Conditions}} &
\cline{7-8}
& & & & & &
\multirow{4}{3cm}{\textbf{Power: 1.Uniform 2.Light Shock 3. Medium Shock}} &
\multirow{4}{3.5cm}{\textbf{Driven Machine: 1.Uniform 2.Moderate Shock 3.Heavy Shock}} &
& & & & & & & &
& & & & & & & &
& & & & & & & &
\hline
\end{tabular}
\end{table}
答案1
已经很晚了,但它可能会对某些人有所帮助......
正如我在问题评论中提到的,你的问题不清楚:
- 您没有提供一个 MWE (最小工作示例),即一个完整的小文档,可以重现您的问题。
\multirow
如果五行中没有任何一列包含文本,为什么要使用单元格?- 代码片段有误。行未以 终止
\\
。 - 列类型
M
未定义。 - 您的回答没有任何帮助,因为它无法经过测试并确认是否真的解决了您的问题。
我猜测,可能的解决方案很简单,就是
\multirow
从代码片段第一行的单元格中删除所有命令。顺便说一句,您的表格太宽了,有些列标题很长。您应该考虑重新措辞(如果可能的话),让它们变得更短。
让我在@samcarter_is_at_topanswers.xyz 评论中详细说明建议:
\documentclass{article}
\usepackage[margin=20mm]{geometry}
\usepackage{tabularray}
\usepackage[font={small, bf}]{caption}
\begin{document}
\begin{table}[ht]
\caption{Design Specifications}
\begin{tblr}{hlines, vlines,
colspec = {*{8}{X[c]}},
colsep = 3pt,
row{1} = {c, font=\footnotesize\bfseries}
}
Power (kW)
& Input Speed (rpm)
& Speed Ratio (in/out)
& Reliability (\%)
& Lifespan (Years of 24/7 Operation)
& Housing Type: 1.Open Gearing 2.Commerical Enclosed
& \SetCell[c=2]{} Operating Conditions
& \\
& & & & & & & \\
& & & & & & & \\
& & & & & & & \\
\end{tblr}
\end{table}
\end{document}
编辑:
列标题缩短的情况及其含义在表格注释中解释如下:
\documentclass{article}
\usepackage[margin=20mm]{geometry}
\usepackage{tabularray}
\usepackage[font={small, bf}]{caption}
\begin{document}
\begin{table}[ht]
\caption{Design Specifications}
\begin{talltblr}[
entry=none, % <---
label=none, % <---
note{a} = {Open Gear},
note{b} = {Commerical Enclosed},
]{hlines, vlines,
colspec = {*{8}{X[l]}},
colsep = 3pt,
row{1} = {c, font=\footnotesize\bfseries}
}
Power (kW)
& Input Speed (rpm)
& Speed Ratio (in/out)
& Reliability (\%)
& Lifespan (Years of Operation)
& Housing Types: OG\TblrNote{a} or CE\TblrNote{b}
& \SetCell[c=2]{} Operating Conditions
& \\
& & & & & & & \\
& & & & & & & \\
& & & & & & & \\
\end{talltblr}
\end{table}
\end{document}
答案2
在多行内居中解决了这个问题
\multirow{5}{1cm}{\centering{\textbf{Power (kW)}}}