修复合并单元格对齐问题

修复合并单元格对齐问题

我正在尝试修复我制作的表格。我的代码是

% !TeX program = xelatex
% !BIB program = biber

\documentclass[12pt]{report}

\usepackage[spanish]{babel}
\usepackage{fontspec}
\setmainfont{Calibri}
\usepackage[top=2.5cm, bottom=2.5cm, left=3.5cm, right=2.5cm]{geometry}
\usepackage{float}
\usepackage{tabularx}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{makecell}
\usepackage{adjustbox}
\usepackage[table,usenames,dvipsnames]{xcolor}


\begin{document}

\begin{tabular}{|p{3cm}|l|l|}
    \hline
    \rowcolor{BurntOrange}
    \multicolumn{3}{|c|}{\color{white} \textbf{EDEBÉ}} \\
    \hline
    \cellcolor{Cyan} & \cellcolor{Cyan!80}
    9.1. Elementos básicos de geom. & \cellcolor{Cyan!80} 9.7. Polígono regulares. \\
    \cellcolor{Cyan} & \cellcolor{Cyan!60} 9.2. Rectas. & \cellcolor{Cyan!60} 9.8. Tamaño y forma. \\
    \cellcolor{Cyan} & \cellcolor{Cyan!80} 9.3. Semirrectas y segmentos. & \cellcolor{Cyan!80} 9.9. Traslación y giro. \\
    \cellcolor{Cyan} & \cellcolor{Cyan!60} 9.4. Construcciones con regla y compás. & \cellcolor{Cyan!60} 9.10. Simetría. \\
    \cellcolor{Cyan} & \cellcolor{Cyan!80} 9.5. Geometría con recursos digitales. & \cellcolor{Cyan!80} 9.11. Semejanza. \\
    \multirow{-6}{*}{\cellcolor{Cyan} \textcolor{white}{\textbf{Unidad 9.} Geometría en el plano.}} & \cellcolor{Cyan!60} 9.6. Polígonos. & \cellcolor{Cyan!60} 9.12. Mosaicos. \\
    \hline
\end{tabular}
\end{table}

其输出如下图所示。 输出表

如您所见,组合单元格内的文本未根据宽度规范进行调整。我该如何修复它?我不知道如何让该行分成两行。我试过了,parbox但结果不够好:

使用 parbox 进行采样

附言:稍后这将是一张很长的表格。所以如果我确定每列的宽度并让文本自动固定在里面,那可能更好?但如何强制对齐呢?

- - 更新 - -

  1. 在代码块中添加了前言。
  2. 将个性化颜色更改为xcolor伽马。
  3. 由于颜色不是主题,因此我不会更新图像。

答案1

与。{NiceTabular}nicematrix

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

\begin{document}
\begin{table}[ht]
\centering
\begin{NiceTabular}{p{3cm}ll}[vlines]
\CodeBefore
    \rowcolors{2}{cyan!60}{cyan!30}[cols={2,3}]
\Body
    \Hline
    \Block[fill=purple]{1-3}{\bfseries\color{white} EDEBÉ}
        &                                           &   \\
    \Hline
    \Block[fill=cyan!60]{6-1}{\textbf{Unidad 9.} Geometría en el plano.}
        &   9.1. Elementos básicos de geom.         &   9.7. Polígono regulares.    \\
        &   9.2. Rectas.                            &   9.8. Tamaño y forma.        \\
        &   9.3. Semirrectas y segmentos.           &   9.9. Traslación y giro.     \\
        &   9.4. Construcciones con regla y compás. &   9.10. Simetría.             \\
        &   9.5. Geometría con recursos digitales.  &   9.11. Semejanza.            \\
        &   9.6. Polígonos.                         &   9.12. Mosaicos.             \\
    \Hline
\end{NiceTabular}
\end{table}
\end{document}

您需要多次编译。

上述代码的输出

答案2

像这样:

在此处输入图片描述

  • 您也没有提供 MWE(最小工作示例),所以我们没有关于<我们的文档序言(使用的文档类、页面布局、颜色定义等)的任何信息。
  • 表格中的图像由 MWE 生成,我预计您的文档中会用到 -article文档类
    • geometry包(用于页面布局)
    • 不使用未知的命名颜色,而是使用任何xcolor选项中可用的默认颜色
  • 为了表格的简单和简洁,使用了tabularray以下包:
\documentclass{article}
\usepackage{geometry}
\usepackage[spanish]{babel}
\usepackage{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{booktabs}


\begin{document}
    \begin{table}[ht]
    \centering
\begin{tblr}{vlines,
             colspec = {X[0.3, l, bg=cyan!60] *{2}{X[bg=cyan!30]}},
             row{1} = {font=\bfseries, fg=white, bg=purple},
             row{even[2-Z]} = {bg=cyan!60}
            }
    \toprule
\SetCell[c=3]{c}    EDEBÉ       
    &                                           &   \\
    \midrule
\SetCell[r=6]{m}     \textbf{Unidad 9.} Geometría en el plano.
    &   9.1. Elementos básicos de geom.         &   9.7. Polígono regulares.    \\
    &   9.2. Rectas.                            &   9.8. Tamaño y forma.        \\
    &   9.3. Semirrectas y segmentos.           &   9.9. Traslación y giro.     \\
    &   9.4. Construcciones con regla y compás. &   9.10. Simetría.             \\
    &   9.5. Geometría con recursos digitales.  &   9.11. Semejanza.            \\
    &   9.6. Polígonos.                         &   9.12. Mosaicos.             \\
    \bottomrule
\end{tblr}
    \end{table}
\end{document}

答案3

顺便说一句,经过长时间的编辑和尝试,我想出了这个低调的选择。

% !TeX program = xelatex
% !BIB program = biber

\documentclass[12pt]{report}

\usepackage[spanish]{babel}
\usepackage{fontspec}
\setmainfont{Calibri}
\usepackage[top=2.5cm, bottom=2.5cm, left=3.5cm, right=2.5cm]{geometry}
\usepackage{float}
\usepackage{tabularx}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{makecell}
\usepackage{adjustbox}
\usepackage[table,usenames,dvipsnames]{xcolor}


\begin{document}
    
    
    \begin{tabular}{|c|>{\raggedright\arraybackslash}m{6cm}|>{\raggedright\arraybackslash}m{6cm}|}
        \hline
        \rowcolor{BurntOrange}
        \multicolumn{3}{|c|}{\color{white} \textbf{EDEBÉ}} \\
        \hline
        \cellcolor{Cyan} & \cellcolor{Cyan!80}
        9.1. Elementos básicos de geom. & \cellcolor{Cyan!80} 9.7. Polígono regulares. \\
        \cellcolor{Cyan} & \cellcolor{Cyan!60} 9.2. Rectas. & \cellcolor{Cyan!60} 9.8. Tamaño y forma. \\
        \cellcolor{Cyan} & \cellcolor{Cyan!80} 9.3. Semirrectas y segmentos. & \cellcolor{Cyan!80} 9.9. Traslación y giro. \\
        \cellcolor{Cyan} & \cellcolor{Cyan!60} 9.4. Construcciones con regla y compás. & \cellcolor{Cyan!60} 9.10. Simetría. \\
        \cellcolor{Cyan} & \cellcolor{Cyan!80} 9.5. Geometría con recursos digitales. & \cellcolor{Cyan!80} 9.11. Semejanza. \\
        \multirow{-8}{*}{\cellcolor{Cyan} \parbox{2.25cm}{\textcolor{white}{\bf Unidad 9. Geometría en el plano.}}} & \cellcolor{Cyan!60} 9.6. Polígonos. & \cellcolor{Cyan!60} 9.12. Mosaicos. \\
        \hline
    \end{tabular}
    
\end{document}

其结果将是:

表输出

正如我在之前的评论中所说,并不像 @Zarko 或 @F. Pantigny 提出的建议那么花哨(我的代码中的排列/调整很尴尬)但直到我真正理解这些代码,这就是我得到的。

相关内容