21

I have this table and I would like to make two vertical lines thiker than the others. This turns out to be useful to visually divide the columns. Basically my table has 13 columns and I would like to turn 2 of them a bit thicker. I won't show the code for the table because it is really huge and not practical to paste it here. What I'm looking for is probably a keyword to make the vertical line thicker, without messing too much with this already messed-up table :-).

Thanks a lot.

EDIT: I tried with the following command

\newcolumntype{"}{@{\hskip\tabcolsep\vrule width 1pt\hskip\tabcolsep}}

But it creates some spacing between one column and the other. Trying to remove the first \tablecolsep solves the issue (that is no more spacing between the columns), but I get three errors: Package array Error: Illegal pream-token (2.2mm): 'c' used. this probably because I declare the column like this: |"{2.2mm} but it I do not declare the size it messes the whole table up, Missing number, treated as zero. on

    \vrule 
\end{tabularx}

and Illegal unit of measure (pt inserted). on the exact same output as the second error. Sorry if these are stupid mistakes but modifying the command shown doesn't lead me to success.

EDIT2: By using the "array" package and following what @egreg said, I get the following error: Package array Error: Illegal pream-token (2.2mm):c' used. This is probably because I define the columns like this (wherexis\newcolumntype{x}[1]{>{\centering\hspace{0pt}}b{#1}}`):

|?{2.2mm}
|x{2.2mm}
|x{2.2mm}

and so on.

3
  • 2
    This question is very similar to How can I reproduce this table with thick lines?. Please take a look at it as the information there might help you. If so, that's great, and we'll probably close this question as a duplicate just to keep the place tidy and to help people find answers quickly. If not, please edit your question here to explain why so that people can better focus their attention to help you. Jan 31, 2014 at 10:29
  • The solution I linked to was designed to work with the tabular environment because at the time I didn't know you were using tabularx instead. Please add a minimal working example (MWE) that illustrates your problem. It will be much easier for us to reproduce your situation and find out what the issue is when we see compilable code, starting with \documentclass{...} and ending with \end{document}. Jan 31, 2014 at 11:01
  • It's very complicated and since I don't really understand all the code of this table in the first place this is going to take some time. I'll try to provide a MWE. I hoped there was a simpler solution.
    – Masiar
    Jan 31, 2014 at 11:12

1 Answer 1

43

You could use the ! feature of array:

\documentclass{article}
\usepackage{array}
\newcolumntype{?}{!{\vrule width 1pt}}

\begin{document}
\begin{tabular}{|c?c|c|}
x & 1 & 2 \\
y & 11 & 22 \\
z & 111 & 222
\end{tabular}
\end{document}

I wouldn't use " as a specifier, because it can conflict with babel.

enter image description here

However, my advice is don't use vertical rules at all.

If you want to specify the thickness, change the code into

\newcolumntype{?}[1]{!{\vrule width #1}}

and then you can do

\begin{tabular}{|c?{2mm}c|c|}

for having a thickess of 2mm.

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .