多行,创建表时文本可在参数间移动

多行,创建表时文本可在参数间移动

我正在尝试为我的一项作业制作下面的表格。我尝试过通过不同的变体来制作。但是,我的文本最终无法在表格边框内正确居中。

我想了解如何使文本因为边框而向下流动,而不必创建不同的多列并单独输入单词。

任何帮助,将不胜感激。

在此处输入图片描述

这是一些非常破烂的代码,但可以让我了解一下我想做什么。只是缺少整个对齐

\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)}}}

相关内容