¿Crear columnas de tabla de ancho fijo pequeño y desiguales a la derecha/centradas/desigualdas a la izquierda?

¿Crear columnas de tabla de ancho fijo pequeño y desiguales a la derecha/centradas/desigualdas a la izquierda?

Leí la primera respuesta a esta pregunta.

¿Cómo crear columnas de tabla de ancho fijo con texto raggedright/centered/raggedleft?

Lo intenté

\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}

El resultado se muestra a continuación. ¿Por qué en tallas pequeñas tenemos tal efecto? ¿Como arreglarlo?

ingrese la descripción de la imagen aquí

Respuesta1

déjame elaborar mi comentario debajo de la pregunta:

  • Las letras Btambién btienen un ancho superior a 2 mm, lo que se define como el ancho de la primera columna.
  • La opción \hspace{0pt}en Cla definición de su columna evita que el contenido de las celdas se extienda a la siguiente columna. en consecuencia, latexempuja el contenido de las celdas a la siguiente línea donde esta limitación no está vigente. en consecuencia obtienes tu resultado.

las posibles curas:

  • omitir \hspace{0pt}y con esto permitir que el contenido de la celda pueda usar \tabcolsepel espacio en el lado derecho de las celdas y, si es necesario, pasar a la siguiente columna
  • aumentar el ancho de las celdas. por ejemplo, si desea tener una proporción de ancho de columna de 2:5 (como se puede concluir del fragmento de código), puede definir el ancho de columna como\begin{tabular}{|C{1em}|C{2.5em}|}

un ejemplo de documento pequeño completo (llamado ejemplo de trabajo mínimo: mwe) es:

\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}

lo que da:

ingrese la descripción de la imagen aquí

Por supuesto, puede definir otro ancho de columna, pero no debe ser menor que el ancho de la letra M, es decir 1em.

nota: en el futuro, proporcione siempre mwe, no solo un fragmento de código. con esto nos ayudarás a ayudarte.

Respuesta2

¿Por qué no utilizar 'tabú' en su lugar?

Un ejemplo podría 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}

información relacionada