2

I found the related question Easiest way to delete a column?, which has a good answer for regular c type columns. But my data is formatted in the S type from siunitx, in the form of value \pm error. According to the array package, c is one of the supported column types, but the S type is not. Here is a MWE of what I tried:

\documentclass[a4paper]{article}
\usepackage{siunitx}
\usepackage{array}
\newcolumntype{H}{>{\setbox0=\hbox\bgroup}c<{\egroup}@{}} % hidden column for c
\newcolumntype{G}{>{\setbox0=\hbox\bgroup}S<{\egroup}@{}} % hidden column for S

\begin{document}

\fbox{
  \begin{tabular}{ccSc} % current format of my table, I want to hide the S column
    one & two & \text{S-type column} & three\\
    1 & 2 & 2 \pm 1 & 3
  \end{tabular}
}

\fbox{
  \begin{tabular}{ccHc} % column hide solution from the linked question
    one & two & hide & three\\
    1 & 2 & H & 3
  \end{tabular}
}

\fbox{
  \begin{tabular}{ccc} % intended result
    one & two & three\\
    1 & 2 &  3
  \end{tabular}
}
    
\end{document}

The result is that in the second table, the third column is hidden. What I want to achieve is to hide the third column in the first table. But if I naively replace the S in the table format {ccSc} with my new G type {ccGc}, LaTeX throws an error:

! Extra }, or forgotten \endgroup.
<template> \unskip \egroup 
                           \__siunitx_table_print: \relax \d@llarend \do@row...
l.14 }
      
? 
  • 1
    Use H, what’s the problem? – egreg Oct 21 at 16:42
  • @egreg the problem is that the entries in the table don't work with c or H because of the 2 \pm 1. I get ! Missing $ inserted. <inserted text> $ l.14 } – skaphle Oct 22 at 18:20
  • Please, add a proper example, then. – egreg Oct 22 at 19:24
  • @egreg What would a proper example look like? I thought I made a good MWE in my question. I could add the minimal non-working example, but it is only replacing S with G in the first table. Apologies if that is unclear. – skaphle Oct 23 at 11:02
1

You can add instructions to ignore \pm.

\documentclass[a4paper]{article}
\usepackage{siunitx}
\usepackage{array}
\newcolumntype{H}{>{\setbox0=\hbox\bgroup\let\pm\relax}c<{\egroup}@{}} % hidden column for c

\begin{document}

\begin{tabular}{ccS[table-format=1.0(1)]c}
one & two & \text{S-type column} & three\\
1 & 2 & 2 \pm 1 & 3
\end{tabular}

\begin{tabular}{ccHc}
one & two & \text{S-type column} & three\\
1 & 2 & 2 \pm 1 & 3
\end{tabular}

\end{document}

enter image description here

| improve this answer | |

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.