Eu li a primeira resposta sobre esta pergunta
Como criar colunas de tabela de largura fixa com texto irregular à direita/centralizado/raggedleft?
tentei
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\begin{tabular}{|C{0.2cm}|C{0.5cm}|}
\hline
b & c \\
\hline
B & C \\
\hline
\end{tabular}
O resultado é mostrado abaixo. Por que temos esse efeito em tamanhos pequenos? Como corrigi-lo?
Responder1
deixe-me elaborar meu comentário abaixo da pergunta:
- as letras
B
tambémb
são mais largas que 2 mm, o que é definido na largura da primeira coluna. - opção
\hspace{0pt}
naC
definição da coluna evita que o conteúdo das células se espalhe para a próxima coluna. conseqüentemente,latex
empurra o conteúdo das células para a próxima linha onde esta limitação não está em vigor. conseqüentemente você obtém seu resultado.
as possíveis curas:
- omitir
\hspace{0pt}
e assim permitir que o conteúdo da célula possa usar\tabcolsep
espaço no lado direito das células e, se necessário, passar para a próxima coluna - aumentar a largura das células. por exemplo, se você deseja ter uma proporção de largura de colunas de 2: 5 (como pode ser concluído no seu snippet de código), você pode definir a largura da coluna como
\begin{tabular}{|C{1em}|C{2.5em}|}
um exemplo de documento pequeno completo (chamado de exemplo de trabalho mínimo: mwe) é:
\documentclass{article}
\usepackage{array}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash}m{#1}}
\begin{document}
\begin{center}
\renewcommand\arraystretch{1.2}% for more vertical space in cells
\begin{tabular}{|C{1em}|C{2.5em}|}
\hline
b & c \\
\hline
B & C \\
\hline
\end{tabular}
\end{center}
\end{document}
que dá:
é claro que você pode definir outras larguras de coluna, mas elas não devem ser menores que a largura de letter M
, ou seja 1em
.
observação: no futuro, sempre forneça mwe, não apenas o trecho de código. com isso você nos ajudará a ajudá-lo.
Responder2
por que não usar 'tabu'?
Um exemplo poderia ser
\documentclass{article}
\usepackage{tabu}
\begin{document}
\begin{tabu} to 3cm {|X[cm]|X[2cm]|}
\hline
b & c \cr
\hline
B & C \cr
\hline
\end{tabu}
\end{document}