TransWikia.com

Table xcolor @{,} rowcolor broken text

TeX - LaTeX Asked by John.Doe_876 on May 22, 2021

i am using a formatted table like this:

    documentclass[a4paper,10pt]{report}    

    usepackage[table]{xcolor}

    begin{document}
    begin{tabular}{|c|r@{,}l|c|c|c|c|}
    hline
    $B_N$ & multicolumn{2}{c|}{$C_N$} & $i$ & $j$ & $k$ & $l$ 
    hline rowcolor{gray!35}
    $B_1$ & 5 & 128 & 0 & 1 & 0 & 0  
    hline rowcolor{gray!35}
    $B_2$ & 0 & 281 & 0 & 1 & 0 & 1 
    hline
    $B_{11}$ & 0 & $008 cdot e$ & 2 & -1 & -1 & 0  
    end{tabular}
    end{document}

And as you can see here:

Broken text: 5, is missing

the 5, and the 0, are cut in half.
I found a similar problem
(rowcolor truncating cells in table)
but i can not fix my bug with use of this answer.
How do i fix this issue ?

Thanks

4 Answers

Sorry blame the author of colortbl not xcolor the interface here is rubbish, however you can do this:

enter image description here

documentclass[a4paper,10pt]{report}    

    usepackage[table]{xcolor}

    begin{document}
    begin{tabular}{|c|r@{,}l|c|c|c|c|}
    hline
    $B_N$ & multicolumn{2}{c|}{$C_N$} & $i$ & $j$ & $k$ & $l$ 
    hline rowcolor{gray!35}
    $B_1$ &
multicolumn{1}{>{columncolor{gray!35}[tabcolsep][6pt]}r@{,}}{5}& 
multicolumn{1}{@{}>{columncolor{gray!35}[0pt][tabcolsep]}l|}{128}&
0 & 1 & 0 & 0  
    hline rowcolor{gray!35}
    $B_2$ & 
multicolumn{1}{>{columncolor{gray!35}[tabcolsep][6pt]}l@{,}}{0} &
multicolumn{1}{@{}>{columncolor{gray!35}[0pt][tabcolsep]}l|}{281}&
 0 & 1 & 0 & 1  
hline
    $B_{11}$ & 0 & $008 cdot e$ & 2 & -1 & -1 & 0 
hline 
    end{tabular}

end{document}

Correct answer by David Carlisle on May 22, 2021

An practical alternative: To write decimal numbers alegned at decimal mark you can use two packages:

  • dcolumn
  • siumitx

With both you simple merge r andl column in one and numbers write as ordinary decimal numbers. Since I'm more familiar with siunitx ...

   documentclass[a4paper,10pt]{report}    
    usepackage[table]{xcolor}
    usepackage[output-decimal-marker={,}]{siunitx}

begin{document}
    begin{tabular}{|c|S[table-format=1.3]|c|c|c|c|}
    hline
$B_N$ & {$C_N$} & $i$ & $j$ & $k$ & $l$ 
    rowcolor{gray!35}hline
$B_1$ & 5,128 & 0 & 1 & 0 & 0 
    rowcolor{gray!35}hline 
$B_2$ & 0,281 & 0 & 1 & 0 & 1 
    hline
    end{tabular}
end{document}

The looks of table is the same as in David Carlisle answer:

enter image description here

Upgrade: It seems, that above solution is more appropriate for new tables, for the existing the following escape of colortbl limitation (malfunction) can be simple solution:

documentclass[a4paper,10pt]{report}
usepackage[table]{xcolor}

begin{document}
begin{tabular}{|c|r<{,kern-tabcolsep}>{kern-tabcolsep}l|c|c|c|c|}
hline
$B_N$ & multicolumn{2}{c|}{$C_N$} & $i$ & $j$ & $k$ & $l$ 
hline rowcolor{gray!35}
$B_1$ & 5 & 128 & 0 & 1 & 0 & 0 
hline rowcolor{gray!35}
$B_2$ & 0 & 281 & 0 & 1 & 0 & 1 
hline
$B_{11}$ & 0 & $008 cdot e$ & 2 & -1 & -1 & 0 
hline
end{tabular}
end{document}

The result is the same as at the first example:enter image description here

Answered by Zarko on May 22, 2021

Use the math mode if it is more an array as a tabular:

documentclass{article}
usepackage[table]{xcolor}
usepackage{icomma,rccol}

begin{document}

$begin{array}{|c|R{1}{3}|c|c|c|c|}hline
B_N & multicolumn{1}{c|}{C_N} & i & j & k & l 
rowcolor{gray!35}hline
B_1 & 5,128 & 0 & 1 & 0 & 0 
rowcolor{gray!35}hline 
B_2 & 0,281 & 0 & 1 & 0 & 1 hline
end{array}$

end{document}

enter image description here

Answered by user2478 on May 22, 2021

The environment {NiceTabular} of nicematrix provides tools similar to those of colortbl but using PGF/Tikz for the drawing.

Using that environment, you have directly what you wish (but you need several compilations since nicematrix uses PGF/Tikz nodes).

documentclass[a4paper,10pt]{report}    

usepackage{xcolor}
usepackage{nicematrix}

begin{document}
begin{NiceTabular}{|c|r@{,}l|c|c|c|c|}[colortbl-like]
hline
$B_N$ & multicolumn{2}{c}{$C_N$} & $i$ & $j$ & $k$ & $l$ 
hline rowcolor{gray!35}
$B_1$ & 5 & 128 & 0 & 1 & 0 & 0  
hline rowcolor{gray!35}
$B_2$ & 0 & 281 & 0 & 1 & 0 & 1 
hline
$B_{11}$ & 0 & $008 cdot e$ & 2 & -1 & -1 & 0  
hline
end{NiceTabular}
end{document}

Output of the above code

Answered by F. Pantigny on May 22, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP