tabularx 表内的列表?

tabularx 表内的列表?

我正在做一个很长的sidewaystable工作tabularx。问题是我在列中有很多文本: 表格1。

我用的minipageenumerate完成了。问题是我想知道是否有办法获取其顶部的最后一列(与第三列相同的起点)。这是我的代码:

\documentclass[11pt,a4paper,twoside]{report}
\usepackage[spanish]{babel}
\addto\shorthandsspanish{\spanishdeactivate{~<>}}
\usepackage[utf8x]{inputenc}
\usepackage{microtype}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage[figuresright]{rotating} 
\usepackage{tabularx}
\usepackage{multirow}
\usepackage[sort&compress]{natbib}
\usepackage{amsmath}
.
.
\begin{document}
some text here..
.
.
\begin{sidewaystable}
\small
\centering
\begin{tabularx}{\textwidth}{ p{2.5cm} p{3.5cm} X X }
    \toprule
    \multicolumn{1}{l}{\textbf{Índice}} & \multicolumn{1}{c}{\textbf{Fórmula}} & \multicolumn{1}{c}{\textbf{Ventaja}}    & \multicolumn{1}{c}{\textbf{Contras}} \\
    \midrule
    \multirow{-10}[2]{1in}{\normalsize{\textbf{NDVI} \\[3mm] {\small Normalized Difference Vegetation Index \\[3mm] \citep{Rouse1973}}}}
        & \multirow{-10}[8]{1.5in}{
        \begin{equation*} 
            \frac{NIR_t-RED_t}{NIR_t+RED_t}
        \end{equation*}}
        & 
        \begin{minipage}{3.3in}
        \begin{enumerate}[{-}]
          \item ....
          \item bla bla...
        \end{enumerate}
        \end{minipage}
        &
        \begin{minipage}{3.3in}
        \begin{enumerate}[{-}]
          \item ....
          \item bla bla 2...
        \end{enumerate}
        \end{minipage}
        \\
\bottomrule
\end{tabularx}
\end{sidewaystable}

说实话,我对 LaTeX 还很陌生。所以我真的很需要帮助!提前谢谢。

答案1

借助两个新包:makecell用于列标题和多行单元格和paralist用于紧凑列表。包mathtools(使用包可以获得相同的结果amsmath)仅用于\text{...}一列标题中的命令。可能它会在报告中的其他地方。我用这个制作了下表:

在此处输入图片描述

使用代码:

\documentclass[11pt,a4paper,twoside]{report}
%\usepackage[spanish]{babel}
%\addto\shorthandsspanish{\spanishdeactivate{~<>}}
    \usepackage[utf8]{inputenc}
    \usepackage{mathtools}
%    \usepackage{microtype}
    \usepackage[T1]{fontenc}
    \usepackage{booktabs,makecell,multirow,tabularx}
\renewcommand\theadfont{\bfseries\sffamily}
\usepackage[figuresright]{rotating}%

\usepackage{paralist}%enumitem
\usepackage{lipsum}

\begin{document}
\lipsum[1-3]

\begin{sidewaystable}
    \small
    \centering
\begin{tabularx}{\textwidth}{p{1.5in} 
                             >{$}p{1.2in}<{$} 
                             X X }
\toprule
\thead{Índice} 
    &   \thead{\text{Fórmula}}
        &   \thead{Ventaja}    
            &   \thead{Contras}     \\
\midrule
\multirowcell{1}[-17em][l]{
    \large\textbf{NDVI}     \\[2ex] 
    Normalized Difference   \\
    Vegetation Index        \\[2ex]
    \cite{{Rouse1973}}
                            }   
    &   \multirowcell{1}[-19em][c]{\dfrac{NIR_t-RED_t}{NIR_t+RED_t}}   
        &  \begin{compactitem}[$-$] 
        \item \lipsum[2]
        \item \lipsum[2]
        \item  ...
            \end{compactitem}
        &      \begin{compactitem}[$-$]   
            \item \lipsum[2]
            \item  ...
            \item  ...
                \end{compactitem}   \\
\bottomrule
\end{tabularx}
\end{sidewaystable}
    \end{document}

lipsum仅用于虚拟文本。我评论microtype包我没有安装可缩放字体。我也评论了babel它相关的包,原因相同。这些更改不应破坏获得的结果。除此之外,我稍微简化了提供的 MWE。

注意:paralist可以使用较新的enumitem包,但是它以不同的方式确定项目之间的距离以及项目化环境周围(单元格的顶部和底部)之间的距离。

相关内容