合并单元格时出现问题

合并单元格时出现问题

请帮忙。我正在尝试制作这张表,但在尝试合并单元格时遇到了一些问题。我想在合并的 3 行中写些内容,但文本转到了另一个位置,而且没有行来关闭合并的行。提前致谢。

  \documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{tabular}{|c|c|c|c|c|}
\hline
%\cline{2-6}
      \multirow{2}{*}{Vehículo} & \multirow{2}{*}{Trayectos} & \multicolumn{3}{c {Movimientos} \\
    \cline{3-5}
    &                                                       & Id & Cantidad & Movimiento & 
\hline
    {\multirow{10}{*}{1}}
    & 5 - 20                                                & 1 & 1200 & 3100 & 
%\hline
    \cline{2-5}
    & 20 - 11                                               { \multirow{3}{*}{Sin movimiento}}
    \cline{2-5}

    & {\multirow{4}{*}{11 - 20}}                            & 40 & 1000 & 19100 \\
    \cline{3-5}
    &                                                       & 33 & 1000 & 3700 \\
    \cline{3-5}
    &                                                       & 17 & 1200 & 8800 \\
    \cline{3-5}
    &                                                       & 36 & 2000 & 24400 \\
    \cline{2-5}
    & 20 - 1                                                & & & &
    \cline{2-5}
    & {\multirow{2}{*}{1 - 20}}                             & 30 & 2000 & 9000 \\
    \cline{3-5}
    &                                                       & 1 & 3800 & 3100 \\
    \cline{2-5}
    & 20 - 5                                                & & & &
    \cline{1-5}
\end{tabular}
\end{document}

答案1

塔布拉鼓

尝试这个:

    \documentclass{article}
    \usepackage[spanish]{babel}
    \usepackage[utf8]{inputenc}
    \usepackage{multirow, array}

\begin{document}
\renewcommand{\arraystretch}{1.5}
\begin{table}[h] \centering 
    \begin{tabular}{|c|c|c|c|c|}
        \hline
        \multirow{2}{*}{Vehículo} & \multirow{2}{*}{Trayectos} & \multicolumn{3}{c|}{Movimientos} \\ \cline{3-5}
                                  &                            & Id Producto & Cantidad & Precio  \\ \hline
           \multirow{10}{*}{1}    &           5 - 20           &      1      &   1200   &  3100   \\ \cline{2-5}
                                  &          20 - 11           &      \multicolumn{3}{c|}{}       \\ \cline{2-5}
                                  & {\multirow{4}{*}{11 - 20}} &     40      &   1000   &  19100  \\ \cline{3-5}
                                  &                            &     33      &   1000   &  3700   \\ \cline{3-5}
                                  &                            &     17      &   1200   &  8800   \\ \cline{3-5}
                                  &                            &     36      &   2000   &  24400  \\ \cline{2-5}
                                  &           20 - 1           &      \multicolumn{3}{c|}{}       \\ \cline{2-5}
                                  & {\multirow{2}{*}{1 - 20}}  &     30      &   2000   &  9000   \\ \cline{3-5}
                                  &                            &      1      &   3800   &  3100   \\ \cline{2-5}
                                  &           20 - 5           &      \multicolumn{3}{c|}{}       \\ \hline
    \end{tabular}
\end{table}
\end{document}

答案2

对于 OP 来说,这有点晚了,但这是一个解决方案卡路里

\documentclass{article}
\usepackage{cals}

\let\nc=\nullcell                                                  % Shortcuts
\let\sc=\spancontent
\newcommand{\ml}{\hspace*{1.75em}}

\begin{document}

\begin{table}[ht]

\begin{calstable}[c] % Centre the tabular

% Defining columns relative to the margin 
\colwidths{{\dimexpr(\columnwidth)/5\relax}
            {\dimexpr(\columnwidth)/5\relax}
            {\dimexpr(\columnwidth)/5\relax}
            {\dimexpr(\columnwidth)/5\relax}
            {\dimexpr(\columnwidth)/5\relax}
            }

% Set up the tabular
\makeatletter
\def\cals@framers@width{0.4pt}   % Outside frame rules, reduce if the rule is too heavy
\def\cals@framecs@width{0.4pt}
\def\cals@bodyrs@width{0.4pt}
\def\cals@cs@width{0.4pt}             % Inside rules, reduce if the rule is too heavy
\def\cals@rs@width{0.4pt}

% R1H1
\thead{\bfseries
\brow
    \nc{lrt}
    \nc{lrt}
    \nc{ltb}
    \nc{tb}
    \nc{rtb}\alignC\sc{\vfil Movimientos}
\erow
% R2H2
\brow
    \nc{lrb}\alignC\sc{\vfil Vehículo}
    \nc{lrb}\alignC\sc{\vfil Trayectos}
    \alignC\cell{\vfil Id Producto}
    \alignC\cell{\vfil Cantidad}
    \alignC\cell{\vfil Precio }
\erow
\mdseries
}
% R3B1
\brow
    \nc{lrt}
    \alignC\cell{\vfil 5 -- 20}
    \alignR\cell{\vfil 1\ml}
    \alignC\cell{\vfil 1200}
    \alignR\cell{\vfil 3100\ml}
\erow
% R4B2
\brow
    \nc{lr}
    \alignC\cell{\vfil 20 -- 11}
    \nc{ltb}
    \nc{tb}
    \nc{rtb}\sc{}
\erow
% R5B3
\brow
    \nc{lr}
    \nc{lrt}
    \alignR\cell{\vfil 40\ml}
    \alignC\cell{\vfil 1000}
    \alignR\cell{\vfil 19\,100\ml}
\erow
% R6B4
\brow
    \nc{lr}
    \nc{lr}
    \alignR\cell{\vfil 33\ml}
    \alignC\cell{\vfil 1000}
    \alignR\cell{\vfil 3700\ml}
\erow
% R7B5
\brow
    \nc{lr}
    \nc{lr}
    \alignR\cell{\vfil 17\ml}
    \alignC\cell{\vfil 1200}
    \alignR\cell{\vfil 8800\ml}
\erow
% R8B6
\brow
    \nc{lr}
    \nc{lrb}\alignC\sc{\vfil 11 -- 20}
    \alignR\cell{\vfil 36\ml}
    \alignC\cell{\vfil 2000}
    \alignR\cell{\vfil 24\,400\ml}
\erow
% R9B7
\brow
    \nc{lr}
    \alignC\cell{\vfil 20 -- 1}
    \nc{ltb}
    \nc{tb}
    \nc{rtb}\sc{}
\erow
% R10B8
\brow
    \nc{lr}
    \nc{lrt}
    \alignR\cell{\vfil 30\ml}
    \alignC\cell{\vfil 2000}
    \alignR\cell{\vfil 9000\ml}
\erow
% R11B9
\brow
    \nc{lr}
    \nc{lrb}\alignC\sc{\vfil 1 -- 20}
    \alignR\cell{\vfil 1\ml}
    \alignC\cell{\vfil 3800}
    \alignR\cell{\vfil 3100\ml}
\erow
% R12B10
\brow
    \nc{lrb}\alignC\sc{\vfil 1}
    \alignC\cell{\vfil 20 -- 5}
    \nc{ltb}
    \nc{tb}
    \nc{rtb}\sc{}
\erow
\makeatletter
\end{calstable}\par % \par to align the tabular
\end{table}

\end{document}

在此处输入图片描述

答案3

您可以使用 轻松制作该{NiceTabular}nicematrix

在 中{NiceTabular},您可以使用命令 水平和垂直合并单元格\Block。对于行,您可以指定逻辑行数(而不是像 那样的物理行数\multicolumn)。

使用键hvlines,绘制所有规则,但块(由 构造\Block)除外。

\documentclass{article}
\usepackage[spanish]{babel}
\usepackage{nicematrix}

\begin{document}
\renewcommand{\arraystretch}{1.5}
\begin{table}[h] \centering 
\begin{NiceTabular}{ccccc}[hvlines]
\Block{2-1}{Vehículo} & \Block{2-1}{Trayectos} & \Block{1-3}{Movimientos}         \\ 
                      &                        & Id Producto & Cantidad & Precio  \\ 
\Block{*-1}{1}        &           5 - 20       &      1      &   1200   &  3100   \\ 
                      &          20 - 11       & \Block{1-3}{} \\
                      & \Block{4-1}{11 - 20}   &     40      &   1000   &  19100  \\ 
                      &                        &     33      &   1000   &  3700   \\ 
                      &                        &     17      &   1200   &  8800   \\ 
                      &                        &     36      &   2000   &  24400  \\ 
                      &           20 - 1       & \Block{1-3}{} \\
                      & \Block{2-1}{1 - 20}    &     30      &   2000   &  9000   \\ 
                      &                        &      1      &   3800   &  3100   \\ 
                      &           20 - 5       & \Block{1-3}{} \\
\end{NiceTabular}
\end{table}
\end{document}

上述代码的输出

相关内容