Cabeçalhos em uma tabela com duas colunas duplas de letras com setas entre

Cabeçalhos em uma tabela com duas colunas duplas de letras com setas entre

Quero duas colunas duplas de letras com setas entre elas. Os cabeçalhos devem ser centralizados acima de cada uma das colunas duplas:

Header 1        Header 2
  A  B     <=>    C  D
  E  F     <=>    G  H

estou a usar

cc@{$\Leftrightarrow$}cc

para o modelo de corpo tabular e \multicolumn para os cabeçalhos. Porém, quando escrevo \multicolumn{2} o cabeçalho é centralizado na primeira coluna dupla mais a seta.

    Header 1       Header 2
  A  B     <=>    C  D
  E  F     <=>    G  H

Existe alguma maneira de conseguir o que desejo sem inserir setas manualmente em todas as linhas?

\documentclass[11pt]{article}

\begin{document}

\begin{tabular}{cc@{$\Leftrightarrow$}cc}

%Header centred over first double column of letters, then omit arrow, then header centred over second double column of letters.
\multicolumn{2}{c}{Header 1}
    &\multicolumn{2}{c}{Header 2}\\

%double column of letters, then arrow, then double column of letters
A& B& C& D\\
E& F& G& H\\
\end{tabular}
\end{document}

Responder1

Parte do seu problema vem do fato de os cabeçalhos serem mais largos que a soma das larguras das duas colunas abaixo.

Aqui está uma solução simples com uma coluna suplementar entre os dois grupos:

Uma solução simples com uma coluna suplementar entre os dois grupos:

\documentclass[11pt]{article}
\usepackage{array}

\begin{document}


\begin{tabular}{cc >{$\Leftrightarrow$}ccc}
%Header centred over first double column of letters, then omit arrow, then header centred over second double column of letters.
\multicolumn{2}{c}{\makebox[0pt]{Header 1}} & \multicolumn{1}{c}{}
    &\multicolumn{2}{c}{\makebox[0pt]{Header 2}}\\
%double column of letters, then arrow, then double column of letters
A& B& & C& D\\
E& F& & G& H
\end{tabular}

\end{document} 

insira a descrição da imagem aqui

informação relacionada