Я прочитал первый ответ на этот вопрос
Как создать столбцы таблицы фиксированной ширины с текстом raggedright/centered/raggedleft?
Я пытался
\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}
Результат показан ниже. Почему при малых размерах у нас такой эффект? Как это исправить?
решение1
позвольте мне подробнее остановиться на моем комментарии ниже:
- Буквы
B
такжеb
шире 2 мм, что определяется шириной первого столбца. - опция
\hspace{0pt}
вC
определении столбца предотвращает перетекание содержимого ячеек в следующий столбец. следовательно,latex
переносит содержимое ячеек на следующую строку, где это ограничение не действует. следовательно, вы получаете свой результат.
возможные методы лечения:
- опустить
\hspace{0pt}
и тем самым разрешить содержимому ячейки использовать\tabcolsep
пространство с правой стороны ячеек и при необходимости переходить в следующий столбец - увеличить ширину ячеек. Например, если вы хотите, чтобы соотношение ширины столбцов составляло 2:5 (как можно заключить из вашего фрагмента кода), то вы можете определить ширину столбца как
\begin{tabular}{|C{1em}|C{2.5em}|}
Пример полного небольшого документа (называемого минимальным рабочим примером: 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}
который дает:
Конечно, вы можете определить другую ширину столбца, но она не должна быть меньше ширины буквы M
, т. е 1em
.
Примечание: пожалуйста, в будущем всегда предоставляйте MWe, а не просто фрагмент кода. Этим вы поможете нам помочь вам.
решение2
почему бы вместо этого не использовать «табу»?
Примером может быть
\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}