Margens irregulares ao centralizar verticalmente em células tabularx multilinhas

Margens irregulares ao centralizar verticalmente em células tabularx multilinhas

Eu li muito sobre centralização vertical em tabelas tabularx e encontrei uma solução geral. No entanto, ao ter várias linhas nas células, as margens parecem estar erradas.

Você pode ver que na célula mais à direita da linha superior não há margem na parte inferior. Além disso, na segunda linha, os círculos não parecem estar perfeitamente alinhados no meio, enquanto na terceira linha fica bem.

Eu apreciaria qualquer idéia sobre como consertar isso!

insira a descrição da imagem aqui

\documentclass[a4paper,10pt,BCOR10mm,oneside,headsepline]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{wasysym}
\usepackage{enumitem}
\usepackage{color}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{typearea}
\usepackage[T1]{fontenc}
\usepackage[table]{xcolor}    % loads also »colortbl«
\areaset{17cm}{26cm}
\setlength{\topmargin}{-1cm}

\begin{document}

\newcolumntype{P}[1]{>{\centering\arraybackslash}m{#1}}
\renewcommand{\tabularxcolumn}[1]{m{#1}}

\setlength{\extrarowheight}{0.35cm}

\newcommand{\QO}{\huge{\textbf{$\Circle$}}\small}

\rowcolors{2}{gray!5}{gray!25}
\begin{tabularx}{\linewidth}{cX*{4}{P{1.5cm}}}%
   \rowcolor{gray!50}
   \textbf{1.} & \textbf{A very very very super long question, that is going to be split for sure\dots \newline (Something else)}
   & short & longer & little longer & super-duper mega very very very long \\[1em]%
   & short & \QO & \QO & \QO & \QO\\[1em]
   & Very long, will most propably span multiple lines. Might even mess up the formatting a little bit\dots & \QO & \QO & \QO & \QO\\[1em]
\end{tabularx}

\end{document}

Responder1

Aqui está uma solução com o cellspacepacote, que define o preenchimento vertical mínimo na parte superior e inferior das células em colunas com especificador prefixado pela letra S. Aproveitei para simplificar a definição de \QO.

\documentclass[a4paper,10pt,BCOR10mm,oneside,headsepline]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{wasysym, amssymb, amsfonts, bm}
\usepackage{enumitem}
\usepackage{color}
\usepackage{tabularx}
\renewcommand{\tabularxcolumn}[1]{m{#1}}
\usepackage{booktabs}
\usepackage{typearea}
\usepackage[T1]{fontenc}
\usepackage[table]{xcolor} % loads also »colortbl«
\areaset{17cm}{26cm}
\setlength{\topmargin}{-1cm}
\newcolumntype{P}[1]{>{\centering\arraybackslash}S{m{#1}}}
\renewcommand{\tabularxcolumn}[1]{m{#1}}

\newcommand{\QO}{\textbf{\huge\Circle}}

\usepackage{cellspace}
\setlength{\cellspacetoplimit}{2ex}
\setlength{\cellspacebottomlimit}{2ex}
\addparagraphcolumntypes{X}

\begin{document}

\rowcolors{2}{gray!5}{gray!25}
\begin{tabularx}{\linewidth}{cS{X}*{4}{P{1.5cm}}}%
   \rowcolor{gray!50}
   \textbf{1.} & \textbf{A very very very super long question, that is going to be split for sure\dots \newline (Something else)}
   & short & longer & little longer & super-duper mega very very very long \\
   & short & \QO & \QO & \QO & \QO \\
   & Very long, will most probably span multiple lines. Might even mess up the formatting a little bit\dots & \QO & \QO & \QO & \QO\\
\end{tabularx}

\end{document} 

insira a descrição da imagem aqui

Responder2

A definição do círculo afeta o texto circundante

\newcommand{\QO}{\textbf{\huge$\Circle$}}

seria uma definição melhor, mas fica mais claro se você fizer

\newcommand{\QO}{!\dotfill\textbf{\huge$\Circle$}\dotfill!}

insira a descrição da imagem aqui

Aqui você pode ver que a linha de base .... se alinha com a linha de base de Short, mas como a maior parte do círculo está acima da linha de base, ele aparece mais alto na célula.

Responder3

Como David Carlisle apontou ema resposta dele, sua definição \QOcoloca o círculo na linha de base (tipográfica). Como seu tamanho é enorme (literalmente: \huge), acaba parecendo que foi deslocado um pouco para cima. Uma solução é centralizar o centro verticalmente no eixo matemático. (Para visualizar a altura do eixo matemático: os símbolos matemáticos -e +são colocados neste eixo.)

insira a descrição da imagem aqui

A imagem anterior foi gerada por

ABC\dots$\bm\Circle$\dots\QOa\dots$-$\QOb$-$\dots XYZ

onde

\newcommand{\QOa}{\textbf{\huge$\Circle$}} % OP's definition, improved
\newcommand{\QOb}{$\vcenter{\hbox{\huge$\bm\Circle$}}$} % proposed new def.

De qualquer forma, se colocarmos os círculos na linha matemática, a mesa parece boa (pelo menos aos meus olhos).

insira a descrição da imagem aqui

\documentclass[paper=a4,  fontsize=10pt,
               BCOR=10mm, twoside=false, 
               headsepline]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage{wasysym} % for "\Circle" macro
\usepackage{enumitem}
%%\usepackage{color} % don't load both 'color' and 'xcolor'
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{typearea}
\usepackage[T1]{fontenc}
\usepackage[table]{xcolor}    % loads also »colortbl«
\areaset{17cm}{26cm}
\setlength{\topmargin}{-1cm}

\usepackage{bm} % for "\bm" macro
%% center the circle (vertically) on the math axis:
\newcommand{\QO}{$\vcenter{\hbox{\huge$\bm\Circle$}}$}

\newcolumntype{P}[1]{>{\centering\arraybackslash}m{#1}}
\renewcommand{\tabularxcolumn}[1]{m{#1}}

\setlength{\extrarowheight}{0.35cm}

\begin{document}

\noindent % <-- don't forget this instruction
\rowcolors{2}{gray!5}{gray!25}
\begin{tabularx}{\linewidth}{cX*{4}{P{1.5cm}}}%
   \rowcolor{gray!50}
   \textbf{1.} 
   & \textbf{A very very very super long question, that is 
     going to be split for sure\dots   
   \newline (Something else)}
   & short & longer & little longer 
   & super-duper mega very very very long \\[1em]%
   & short & \QO & \QO & \QO & \QO\\[1em]
   & Very long, will most propably span multiple lines. 
     Might even mess up the formatting a little bit\dots 
           & \QO & \QO & \QO & \QO\\[1em]
\end{tabularx}

\end{document}

informação relacionada