16

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. – Paul Gessler Jan 31 '14 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}. – Paul Gessler Jan 31 '14 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 '14 at 11:12
32

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.