如何使用 tabularx、sidewaystable 和 longtable 中的多行命令设置列宽?

如何使用 tabularx、sidewaystable 和 longtable 中的多行命令设置列宽?

我想要请求一个很大的帮助:我需要做一个长表格(超过 1 页),它需要呈 90 度(侧向稳定),而且,我需要在使用多行时确定列的宽度。

目前我只能做多行和侧向可调整,但我需要修改列的宽度,当我使用多行时就会出现这个问题见图片

因此,正如您在图 1 中看到的,第一列上的文本应居中,长度为最后一列的 10 行。事实上确实如此,但我希望它说:

打击森林火灾(见图2)

然后,第二列发生了同样的事情,其中​​“Evaluación del sector”恰好使用了比我需要的更多的空间。

另一件事是,我也想设置“N”列的宽度,这样它就不会占用那么多空间......

最后一点,这只是完整表格的 1/10,我的意思是,“Peligro”列中有 100 多行,而第一列“Combate de incendios forestales”位于所有行的中心...所以,我需要使用longtable我尝试过的包,但没有用(很可能我做得不好,所以如果你能告诉我应该把命令放在哪里...)

我的代码:

\begin{sidewaystable}
  \centering
  \caption{Add caption}
    \begin{tabularx}{\columnwidth}{p{1.5cm}p{2cm}cX}
    \toprule
    Procedimiento & Actividad & N     & Peligro \\
    \midrule
    \multicolumn{1}{c}{\multirow{10}[4]{*}{Combate de incendios forestales}} & \multicolumn{1}{c}{\multirow{5}[2]{*}{Evaluación del sector}} & \multicolumn{1}{c}{1} & No tomar en cuenta la información técnica o de la situación del incendio. \\
    \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{2} & No considerar la geografía del sector  \\
    \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{3} & Omitir algunas variables meteorológicas \\
    \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{4} & Que la información anterior no llegue en el momento necesario  \\
    \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{5} & La existencia de fallas en los sistemas de recepción de los datos anteriormente nombrados \\
    \multicolumn{1}{c}{} & \multicolumn{1}{c}{\multirow{5}[2]{*}{Activar la alarma}} & \multicolumn{1}{c}{6} & Que no sea realmente una emergencia \\
    \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{7} & Que el personal no esté bien capacitados en cuanto al modo de actuar en una emergencia \\
    \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{8} & Que la alarma no funcione \\
    \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{9} & No tener redundancias en el sistema por si funciona solo en base a electricidad y se corta la luz \\
    \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{10} & No tener material disponible para ir a combatir el incendio \\
    \bottomrule

    \end{tabularx}%
  \label{tab:addlabel}%
\end{sidewaystable}

而且..最后一件事,让你有一个简单的想法..我希望它就像: 见图片

当然,由于采用了 LaTeX 表格样式,因此此图中的线条只是为了给您一个概念......

最后,我在 Windows 7 上使用 TexMAKER。

有谁能帮助我吗?

我将非常感激!谢谢!

答案1

这是一个使用makecell包的解决方案,它允许在单元格中换行。我借此机会简化了您的代码并自动化了第三列中的数字。对于跨页面的 tabularx,我加载了包ltablex,它将长表的功能带入 tabularx。

\documentclass[a4paper]{article}%
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fourier}

\usepackage{geometry}

\usepackage{array, mathtools}
\usepackage{ltablex, multirow, makecell, booktabs, caption}
\usepackage{rotating}

\begin{document}

\begin{sidewaystable}
  \centering\newcounter{rowctr}\setcounter{rowctr}{0}
  \begin{tabularx}{\columnwidth}{cc >{\stepcounter{rowctr}\therowctr}cX}
    \caption{Add caption}\\
    \toprule
    Procedimiento & Actividad & \multicolumn{1}{c}{N} & Peligro \\
    \midrule
    \endfirsthead
    \multicolumn{4}{c}{\footnotesize Table \thetable\enspace (continued)}\\
    \toprule
    Procedimiento & Actividad & \multicolumn{1}{c}{N} & Peligro \\
    \midrule
    \endhead
    \bottomrule
    \multicolumn{4}{r}{\footnotesize To be continued}
    \endfoot
    \bottomrule
    \endlastfoot
    \multirowcell{10}{Combate de & & & \\ incendios \\forestales} & \multirowcell{5}{Evaluación \\ del sector} & & No tomar en cuenta la información técnica o de la situación del incendio. \\
                                 & & & No considerar la geografía del sector \\
                                 & & & Omitir algunas variables meteorológicas \\
                                 & & & Que la información anterior no llegue en el momento necesario \\
                                 & & & La existencia de fallas en los sistemas de recepción de los datos anteriormente nombrados \\
    \cmidrule{2-4}
                                 & \multirowcell{5}{Activar la & & \\ alarma} & & Que no sea realmente una emergencia \\
                                 & & & Que el personal no esté bien capacitados en cuanto al modo de actuar en una emergencia \\
                                 & & & Que la alarma no funcione \\
                                 & & & No tener redundancias en el sistema por si funciona solo en base a electricidad y se corta la luz \\
                                 & & & No tener material disponible para ir a combatir el incendio \\
    \bottomrule

  \end{tabularx}%
  \label{tab:addlabel}%
A\end{sidewaystable}

\end{document} 

在此处输入图片描述

至于您的最后一个请求,可以修改代码以获得您想要的内容,但您不能booktabs这样做(垂直规则不会穿过水平规则),并且看起来不太专业......

相关内容