彩色列中的颜色单元格不完整 LaTeX 和 hhline 详细信息问题

彩色列中的颜色单元格不完整 LaTeX 和 hhline 详细信息问题

我的 LaTeX 表格有问题。一些单元格填充得不太好。我使用“makecell”包来做多行并定义新类型的列,而不是使用 colortbl 包(因为我读到这些包可能会有冲突),但我不知道为什么会发生这种情况。另外,我使用 hhline 来制作适合我的表格的线条,并使用宏来更改每列线条的颜色(顺便说一句,我不得不否认西班牙语 babel 包中的简写对宏有用),但我仍然得到白色的交叉点。最后,我修改了边缘线的粗细,但这并不奏效。有人可以给我一个建议吗?谢谢。下面是我的代码。

PD。我尝试使用“tabularx”和“tabulary”,但对我不起作用。

\documentclass[10pt,a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage[spanish,es-noshorthands]{babel} %es-noshorthands sirve para que el cambio de color en hhline sea efectivo
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}

\usepackage[table,svgnames,x11names]{xcolor}
\usepackage{hhline}
\usepackage{multirow,makecell,array}
\usepackage{diagbox}

\usepackage{tabulary}
\usepackage{adjustbox} 
\usepackage{anyfontsize}

\begin{document}
\newcolumntype{g}{>{\columncolor{LightSteelBlue}}c}
\newcolumntype{h}{>{\columncolor{Gainsboro}}c}
\newcolumntype{k}{>{\columncolor{Azure3}}c}

\begin{table}
\scriptsize
\centering
\begin{adjustbox}{max width=\textwidth}
%!{\vrule width1.2pt} modifica el ancho de linea vertical divisoria en la tabla, usar en vez de \hline
% \Xhline{1.2pt} modifica el ancho de linea horizontal divisoria en la tabla, usar en vez de solo |

\begin{tabular}{!{\vrule width1.2pt}g!{\vrule width1.2pt}h!{\vrule width1.2pt}k!{\vrule width1.2pt}k!{\vrule width1.2pt}}

%\hhline{>{\arrayrulecolor{LightSteelBlue}}->{\arrayrulecolor{black}}---} %hace una linea del color de la columna 1 y luego la cambia a color negro. Aplicar solo cuando tienes columnas de colores y hay problemas
%con el multirenglón. Si tu color de tabla es blanco con \cline{-} (linea parcial) basta.

\Xhline{1.2pt} %\hline 
\multicolumn{4}{|c|}{{\textsc{Características y parámetros...}}} \\ 

\Xhline{1.2pt} %\hline 
\multicolumn{2}{|g|}{\diagbox[innerwidth=7.5cm]{\textbf{Ítem}}{\textbf{Modelo}}} & \textbf{Modelo1} & \textbf{Modelo2} \\ 

\Xhline{1.2pt} %\hline 
 & \textbf{Material de máquina} & \multicolumn{2}{|h|}{Estructuras de aluminio} \\ 
\hhline{|>{\arrayrulecolor{LightSteelBlue}}-|>{\arrayrulecolor{black}}-|-|-|}  %\cline{2-4}               

 & \textbf{Láser} & \multicolumn{2}{|h|}{Generador de láser: Fibra óptica} \\ %\cline{2-4}

\hhline{|>{\arrayrulecolor{LightSteelBlue}}-|>{\arrayrulecolor{black}}-|-|-}  %\cline{2-4}
 & \textbf{Potencia de salida} & $\geq 20W$ & $\geq 30W$ \\ 

\hhline{|>{\arrayrulecolor{LightSteelBlue}}-|>{\arrayrulecolor{black}}-|-|-}  %\cline{2-4}
 & \textbf{Longitud de onda} & \multicolumn{2}{|h|}{$1064nm$} \\ 

\hhline{|>{\arrayrulecolor{LightSteelBlue}}-|>{\arrayrulecolor{black}}-|-|-}  %\cline{2-4}
 & \textbf{Lentes} & \multicolumn{2}{|h|}{\cellcolor{Gainsboro}\makecell{Sistema de escaneo de alta precisión\\2 dimensiones}} \\ 

\hhline{|>{\arrayrulecolor{LightSteelBlue}}-|>{\arrayrulecolor{black}}-|-|-}  %\cline{2-4}
 & \textbf{Velocidad de marcado} & \multicolumn{2}{|h|}{$<8000mm/s$} \\ 

\hhline{|>{\arrayrulecolor{LightSteelBlue}}-|>{\arrayrulecolor{black}}-|-|-}  %\cline{2-4} 
 &  & \multicolumn{2}{|h|}{Pantalla* integrada} \\ 
 
% 
 & \multirowcell{-2}{\textbf{Sistema de control principal}} & \multicolumn{2}{|h|}{Controlador táctil externo 10.4''} \\ 

\hhline{>{\arrayrulecolor{LightSteelBlue}}->{\arrayrulecolor{black}}---} %\cline{2-4}
\multirowcell{-8}{Características\\máquina\\láser} & \textbf{Sistema de enfriamiento} & \multicolumn{2}{|h|}{\cellcolor{Gainsboro} \makecell{Sistema de enfriamiento\\mediante agua o aire}} \\ 
%------------------------------------------------------------------------
\Xhline{1.2pt} %\hline
 & \cellcolor{Gainsboro} \makecell{\textbf{Aumento de enfoque}\\ \textbf{lentes (zoom)}} & \multicolumn{2}{|h|}{190mm en doble enfoque con luz roja} \\ 

\hhline{>{\arrayrulecolor{LightSteelBlue}}->{\arrayrulecolor{black}}---} %\cline{2-4}
 & \textbf{Tipo de fuente de marcado} & \multicolumn{2}{|h|}{\cellcolor{Gainsboro} \makecell{Marcado elegible entre gráficos vectoriales\\o mapas de bits}} \\ 

\hhline{>{\arrayrulecolor{LightSteelBlue}}->{\arrayrulecolor{black}}---} %\cline{2-4}
 & \textbf{Ancho de línea mínimo} & \multicolumn{2}{|h|}{$0.012mm$} \\ 

\hhline{>{\arrayrulecolor{LightSteelBlue}}->{\arrayrulecolor{black}}---} %\cline{2-4}
 & \textbf{Precisión de repetibilidad} & \multicolumn{2}{|h|}{0.003mm} \\ 

\hhline{>{\arrayrulecolor{LightSteelBlue}}->{\arrayrulecolor{black}}---} %\cline{2-4}
 & \textbf{Área de trabajo} & \multicolumn{2}{|h|}{$110mm x 110mm$} \\ 

\hhline{>{\arrayrulecolor{LightSteelBlue}}->{\arrayrulecolor{black}}---} %\cline{2-4}
 & \textbf{Posicionamiento} & \multicolumn{2}{|h|}{Luz roja posiciona, doble luz roja enfoca} \\ 

\hhline{>{\arrayrulecolor{LightSteelBlue}}->{\arrayrulecolor{black}}---} %\cline{2-4}
 & \textbf{Línea de marcado} & \multicolumn{2}{|h|}{Sin límite el área de trabajo} \\ 

\hhline{>{\arrayrulecolor{LightSteelBlue}}->{\arrayrulecolor{black}}---} %\cline{2-4} 
\multirowcell{-8}{Parámetros\\de marcado\\láser} & \textbf{Velocidad} & \multicolumn{2}{|h|}{$0-200m/min$} \\ 
%-----------------------------------------------------------------
\Xhline{1.2pt} %\hline
 & \textbf{Suministro de energía} & \multicolumn{2}{|h|}{$220V$} \\ 
%\cline{2-4}
\hhline{>{\arrayrulecolor{LightSteelBlue}}->{\arrayrulecolor{black}}---}
\multirowcell{-2}{Otros} & \textbf{Consumo de potencia} & \multicolumn{2}{|h|}{$600W$} \\ 
\Xhline{1.2pt} %\hline
\end{tabular} 
\end{adjustbox}
\end{table}


\end{document}

在此处输入图片描述

答案1

以下是您可以使用的环境执行{NiceTabular}的操作nicematrix

  • 您可以使用命令水平和垂直合并单元格\Block

  • 关键hvlines是绘制除块之外的所有规则。当然,这些规则的宽度(厚度)都等于\arrayrulewidth。这就是为什么我在后面绘制了较粗的规则。

  • nicematrix在数组下创建 PGF/Tikz 节点。可以将这些节点与 Tikz 一起使用。这就是我绘制重规则所做的事情。

  • nicematrix提供内置命令\diagbox

代码:

\documentclass[10pt,a4paper]{report}
\usepackage[spanish]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\usepackage[svgnames,x11names]{xcolor}
\usepackage{nicematrix}
\usepackage{tikz}

\begin{document}

\begin{table}
\centering


\begin{NiceTabular}{wc{2cm}>{\bfseries}ccc}[hvlines,cell-space-limits = 4pt]
\CodeBefore
  \columncolor{LightSteelBlue}{1}
  \rectanglecolor{Gainsboro}{3-2}{-}
  \rowcolor{white}{1}
  \rectanglecolor{LightSteelBlue}{2-1}{2-2}
  \rectanglecolor{Azure3}{2-3}{2-4}
  \rectanglecolor{Azure3}{5-3}{5-4}
\Body
  \Block{1-4}{\textsc{Características y parámetros...}} & & & \\ 
  \Block{1-2}{\diagbox{\strut Ítem}{\strut Modelo}} & & \makebox[3.5cm][c]{\textbf{Modelo1}} &
  \makebox[3.5cm][c]{\textbf{Modelo2}} \\ 
  \Block{9-1}{Características\\máquina\\láser}
   & Material de máquina & \Block{1-2}{Estructuras de aluminio} \\ 
   & Láser & \Block{1-2}{Generador de láser: Fibra óptica} \\
   & Potencia de salida & $\geq 20$ W & $\geq 30$ W \\ 
   & Longitud de onda & \Block{1-2}{$1064$ nm} \\ 
   & Lentes & \Block{1-2}{Sistema de escaneo de alta precisión\\2 dimensiones} \\ 
   & Velocidad de marcado & \Block{1-2}{$<8000$ mm/s} \\ 
   & \Block{2-1}{\textbf{Sistema de control principal}} & \Block{1-2}{Pantalla* integrada} \\ 
   &  & \Block{1-2}{Controlador táctil externo $10.4''$} \\ 
   & Sistema de enfriamiento & \Block{1-2}{Sistema de enfriamiento\\mediante agua o aire} \\ 
  %------------------------------------------------------------------------
  \Block{8-1}{Parámetros\\de marcado\\láser} 
   & \Block{1-1}{Aumento de enfoque\\ lentes (zoom)} & \Block{1-2}{$190$ mm en doble enfoque con luz roja} \\ 
   & Tipo de fuente de marcado &  \Block{1-2}{Marcado elegible entre gráficos vectoriales\\o mapas de bits} \\ 
   & Ancho de línea mínimo & \Block{1-2}{$0.012$ mm} \\ 
   & Precisión de repetibilidad & \Block{1-2}{$0.003$ mm} \\ 
   & Área de trabajo & \Block{1-2}{$110$ mm $\times$ $110$ mm} \\ 
   & Posicionamiento & \Block{1-2}{Luz roja posiciona, doble luz roja enfoca} \\ 
   & Línea de marcado & \Block{1-2}{Sin límite el área de trabajo} \\ 
   & Velocidad & \Block{1-2}{$0$-$200$ m/min} \\ 
  %-----------------------------------------------------------------
  \Block{2-1}{Otros} & Suministro de energía & \Block{1-2}{$220$ V} \\ 
   & Consumo de potencia & \Block{1-2}{$600$ W} 
\CodeAfter
  \tikz
  \draw [line width = 1.2pt]
    (1-|1) rectangle (22-|5) 
    (2-|1)  -- (2-|5) 
    (3-|1)  -- (3-|5) 
    (12-|1) -- (12-|5) 
    (20-|1) -- (20-|5) 
    (3-|2)  -- (22-|2) 
    (2-|3)  -- (22-|3) ;
\end{NiceTabular} 

\end{table}

\end{document}

aux您需要两次编译(因为信息,特别是 PGF/Tikz 节点的信息,将在第一次编译后写入文件中)。

上述代码的输出

答案2

使用tabularx包和相应定义的\multicolumn单元:

\documentclass[10pt,a4paper]{report}
\usepackage[margin=2cm]{geometry}

\usepackage[table,svgnames,x11names]{xcolor}
\usepackage{hhline}
\usepackage{makecell, multirow, tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}

\usepackage{siunitx} % new

\begin{document}
    \begin{table}[ht]
    \newcommand\hlx {\hhline{|>{\arrayrulecolor{LightSteelBlue}}->{\arrayrulecolor{black}}|-|-|-|}}
    \newcommand\hlxx{\hhline{|>{\arrayrulecolor{LightSteelBlue}}-->{\arrayrulecolor{black}}|-|-|}}
    \newcommand\mcxx[1]{\multicolumn{2}
                    {>{\hsize=\dimexpr 1.6\hsize+2\tabcolsep+1.2pt}C!{\vrule width1.2pt}} % \hsize=\textwidth/4
                    {\cellcolor{Gainsboro}{#1}}}
    \renewcommand\arraystretch{1.1}
    \renewcommand\tabularxcolumn[1]{m{#1}}
    \small
    \centering
\begin{tabularx}{\linewidth}
               {!{\vrule width1.2pt}>{\columncolor{LightSteelBlue}\hsize=0.8\hsize}X
                !{\vrule width1.2pt}>{\columncolor{Gainsboro}\bfseries\hsize=1.6\hsize}L
                !{\vrule width1.2pt}>{\columncolor{Gainsboro}\hsize=0.8\hsize}C
                !{\vrule width1.2pt}>{\columncolor{Gainsboro}\hsize=0.8\hsize}C!{\vrule width1.2pt}
               }
    \Xhline{1.2pt}
\multicolumn{4}{c}{\textsc{Características y parámetros \dots}}    \\
    \Xhline{1pt} 
    \rowcolor{LightSteelBlue}
\multicolumn{2}{!{\vrule width1.2pt} c !{\vrule width1.2pt}}{}                              
    & \multicolumn{2}{c!{\vrule width1.2pt}}{\textbf{Modelo}}       \\
    \hlxx
    \rowcolor{LightSteelBlue}
\multicolumn{2}{!{\vrule width1.2pt}
                >{\hsize=\dimexpr 2.4\hsize+2\tabcolsep+1.2pt}X
                !{\vrule width1.2pt}
                }
               {\multirow{-2}{=}{\centering\textbf{item}}}
            &   \textbf{1}  &   \textbf{1}                              \\
    \Xhline{1pt}
    &   Material de máquina
        &   \mcxx{Estructuras de aluminio}                              \\
    \hlx
    & Láser 
        &   \mcxx{Generador de láser: Fibra óptica}                     \\
    \hlx
    &   Potencia de salida
        &   \cellcolor{Azure3}{$\geq 20W$}
            &   \cellcolor{Azure3}{$\geq 30W$}                          \\
    \hlx
    & Longitud de onda          & \mcxx{\SI{1064}{nm}}                  \\
    \hlx
    & Lentes                    & \mcxx{Sistema de escaneo de 
                                        alta precisión 2 dimensiones}   \\
    \hlx
    & Lentes                    & \mcxx{Sistema de escaneo de
                                        alta precisión 2 dimensiones}   \\
    \hlx
    & Velocidad de marcado      & \mcxx{\SI{<8000}{mm/s}}               \\
    \hlx
    & Sistema de control principal
                                & \mcxx{Controlador táctil externo \SI{10.4}{''} 
                                        Pantalla* integrada}            \\
    \hlx
\multirow{-12}{=}{Características máquina láser}
    & Sistema de enfriamiento   & \mcxx{Sistema de enfriamiento
                                        mediante agua o aire}           \\
%------------------------------------------------------------------------
    \Xhline{1pt} 
    & Aumento de enfoque lentes (zoom)        
                                & \mcxx{\SI{190}{mm} en doble
                                        enfoque con luz roja}           \\
    \hlx
    & Tipo de fuente de marcado & \mcxx{Marcado elegible entre gráficos
                                        vectoriales o mapas de bits}    \\
    \hlx
    & Ancho de línea mínimo     & \mcxx{\SI{0.012}{mm}}                 \\
    \hlx
    & Precisión de repetibilidad& \mcxx{\SI{0.003}{mm}}                 \\
    \hlx
    & Área de trabajo           & \mcxx{\SI{110x110}{mm}}               \\
    \hlx
    & Posicionamiento           & \mcxx{Luz roja posiciona,
                                        doble luz roja enfoca}          \\
    \hlx
    & Línea de marcado          & \mcxx{Sin límite el área de trabajo}  \\
    \hlx
\multirow{-9}{=}{Parámetros de marcado láser}
    & Velocidad                 & \mcxx{\SIrange{0}{200}{m/min}}        \\
%-----------------------------------------------------------------
    \Xhline{1pt}
    & Suministro de energía     & \mcxx{\SI{220}{V}}                    \\
    \hlx
\multirow{-2}{=}{Otros} 
    &   Consumo de potencia     & \mcxx{\SI{600}{W}}                    \\
    \Xhline{1.2pt}
\end{tabularx}
    \end{table}
\end{document}

在此处输入图片描述

答案3

众所周知,在表格着色方面存在问题,因为后台makecell有嵌套的表格,它们有自己的。所以我使用了。此外,为了确保最后两列的宽度相等,我将它们定义为列并使用了环境。还用于粗垂直线,因为它的语法更简单,并简化了 的使用:\tabcolsep\CenterstackstackengineXtabularxboldline\hhline

    \documentclass[10pt, a4paper]{report}
    \usepackage[utf8]{inputenc}
    \usepackage[spanish,es-noshorthands]{babel} %es-noshorthands sirve para que el cambio de color en hhline sea efectivo
    \usepackage{amsmath,amssymb}
    \usepackage[margin=2cm]{geometry}
    \usepackage[table,svgnames,x11names]{xcolor}
    \usepackage{hhline}
    \usepackage{boldline}
    \usepackage{multirow,makecell,array}
    \usepackage{diagbox}
    \usepackage{tabularx}
    \usepackage{tabulary}
    \usepackage{adjustbox}
    \usepackage[column= O]{cellspace}
    \setlength{\cellspacetoplimit}{3pt}
    \setlength{\cellspacebottomlimit}{3pt}
    \addparagraphcolumntypes{X}
    \usepackage{anyfontsize}
    \usepackage[usestackEOL]{stackengine}
    \usepackage{siunitx}

    \begin{document}
    \newcolumntype{g}{>{\columncolor{LightSteelBlue}}c}
    \newcolumntype{h}{>{\columncolor{Gainsboro}}Oc}
    \newcolumntype{k}{>{\columncolor{Azure3}\centering\arraybackslash}X}

    \begin{table}
    \scriptsize
    \centering
    \setlength{\extrarowheight}{2pt}
    \sisetup{range-phrase=--, range-units=single}
    \begin{tabularx}{\linewidth}{V{3}g V{3}h V{3}kV{3}k V{3}}%
    \Xhline{1.2pt}
    \multicolumn{4}{V{3}OcV{3}}{{\textsc{Características y parámetros...}}} \\
    \Xhline{1.2pt}
    \multicolumn{2}{V{3}gV{3}}{\diagbox[innerwidth=6cm, linewidth=1.2pt]{\textbf{Ítem}}{\textbf{Modelo}}} & \textbf{Modelo1} & \textbf{Modelo2} \\
    \Xhline{1.2pt} %
     & \textbf{Material de máquina} & \multicolumn{2}{hV{3}}{Estructuras de aluminio} \\[-0.5pt]
    \hhline{~---}
     & \textbf{Láser} & \multicolumn{2}{hV{3}}{Generador de láser: Fibra óptica} \\[-0.45pt]
    \hhline{~---}
     & \textbf{Potencia de salida} & $\geq \SI{20}{W}$ & $\geq \SI{30}{W}$ \\[-0.5pt]
    \hhline{~---}
     & \textbf{Longitud de onda} & \multicolumn{2}{hV{3}}{\SI{1064}{\nm}} \\[-0.5pt]
    \hhline{~---}
     & \textbf{Lentes} & \multicolumn{2}{hV{3}}{\Centerstack{Sistema de escaneo de alta precisión\\2 dimensiones}} \\[-0.5pt]
    \hhline{~---}
     & \textbf{Velocidad de marcado} & \multicolumn{2}{hV{3}}{$<\SI{8000}{\mm\per s}$} \\[-0.5pt]
    \hhline{~---}
     & \textbf{Sistema de control principal} & \multicolumn{2}{hV{3}}{\Centerstack{Pantalla* integrada \\ Controlador táctil externo 10.4''}} \\[-0.5pt]
    \hhline{~---}
    \multirowcell{-11}{Características\\máquina láser} & \textbf{Sistema de enfriamiento} & \multicolumn{2}{hV{3}}{%
    \Centerstack{Sistema de enfriamiento\\mediante agua o aire}} \\
    %------------------------------------------------------------------------
    \Xhline{1.2pt}
     & \Centerstack{\textbf{Aumento de enfoque}\\ \textbf{lentes (zoom)}} & \multicolumn{2}{hV{3}}{190\,mm en doble enfoque con luz roja} \\[-0.5pt]
    \hhline{~---}
     & \textbf{Tipo de fuente de marcado} & \multicolumn{2}{hV{3}}{\Centerstack{Marcado elegible entre gráficos vectoriales\\o mapas de bits}} \\[-0.5pt]
    \hhline{~---}
     & \textbf{Ancho de línea mínimo} & \multicolumn{2}{hV{3}}{0.012\,mm} \\[-0.5pt]
    \hhline{~---}
     & \textbf{Precisión de repetibilidad} & \multicolumn{2}{hV{3}}{0.003\,mm} \\[-0.45pt]
    \hhline{~---}
     & \textbf{Área de trabajo} & \multicolumn{2}{hV{3}}{$\SI{110}{mm} × \SI{110}{mm}$} \\[-0.5pt]
    \hhline{~---}
     & \textbf{Posicionamiento} & \multicolumn{2}{hV{3}}{Luz roja posiciona, doble luz roja enfoca} \\[-0.5pt]
    \hhline{~---}
     & \textbf{Línea de marcado} & \multicolumn{2}{hV{3}}{Sin límite el área de trabajo} \\[-0.5pt]
    \hhline{~---}
    \multirow{-10}{*}[2ex]{\Centerstack{Parámetros\\de marcado\\láser}} & \textbf{Velocidad} & \multicolumn{2}{hV{3}}{\SIrange{0}{200}{m/min}} \\
    %-----------------------------------------------------------------
    \Xhline{1.2pt}
     & \textbf{Suministro de energía} & \multicolumn{2}{hV{3}}{220\,V} \\[-0.45pt]
    \hhline{~---}
    \multirow{-2}{*}{Otros} & \textbf{Consumo de potencia} & \multicolumn{2}{hV{3}}{ 600\,W } \\
    \Xhline{1.2pt}
    \end{tabularx}
    \end{table}

    \end{document} 

在此处输入图片描述

相关内容