
Я хочу, чтобы текст в таблице автоматически переносился на новую строку, и для этого я использую столбец типа «p».
\documentclass{article}
\begin{document}
\begin{tabular}{p{2.5cm}|p{2.5cm}|p{2.7cm}|p{2.7cm}|p{2.5cm}}
\hline
\cline{1-6}
Genitourinary & Grade 1 & Grade 2 & Grade 3 & Grade 4 \\
\hline
Dysurie & Not therapy & Oral treatment (no narcotic analgesics) & Narcotic analgesics & Not \defined \\
Frequency & once/2h, twice pretherapy & once/1h &once/0.5h (more frequent than hourly) & Not defined \\
\hline
\end{tabular}
\hfill \break
\end{document}
Но вывод не совсем то, что я хочу, так как между двумя словами большой пробел (отмечен красной линией на рисунке). Может, у кого-то есть идеи, как это исправить? Спасибо.
решение1
Если вы хотите разрешить переносы, оставив при этом нормальный интервал между словами, вы можете использовать директиву \RaggedRight
в начале каждого столбца.
Кроме того, поскольку ваша таблица почти textwidth large, почему бы не использовать tabularx
? Вам не придется рассчитывать, какой ширины должен быть каждый столбец, чтобы вместить text width
.
Последнее замечание: поскольку \hline\cline
делает только более толстую линию, вы также можете загрузить makecell
и использовать ее \Xhline
команду для строк переменной ширины. Затем вы также можете использовать \makecell
команду, чтобы центрировать заголовки столбцов.
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[showframe]{geometry}
\usepackage{ragged2e}
\usepackage{tabularx, makecell}
\setlength{\extrarowheight}{2pt}
\setlength{\tabcolsep}{3pt}%
\begin{document}
\centering \begin{tabular}{p{2.5cm}|>{\RaggedRight}p{2.5cm}|>{\RaggedRight}p{2.7cm}|>{\RaggedRight}p{2.7cm}|p{2.5cm}}
\hline
\cline{1-5}
Genitourinary & Grade 1 & Grade 2 & Grade 3 & Grade 4 \\
\hline
Dysurie & Not therapy & Oral treatment (no narcotic analgesics) & Narcotic analgesics & Not defined \\
Frequency & once/2h, twice pretherapy & once/1h &once/0.5h (more frequent than hourly) & Not defined \\
\hline
\end{tabular}
\vspace{1cm}
\begin{tabularx}{\linewidth}{>{\RaggedRight\arraybackslash}X*{4}{|>{\RaggedRight\arraybackslash}X}}
\Xhline{0.8pt}
Genitourinary & \makecell{Grade 1} & \makecell{Grade 2} & \makecell{Grade 3} & \makecell{Grade 4} \\
\hline
Dysurie & Not therapy & Oral treatment (no narcotic analgesics) & Narcotic analge\-sics & Not defined \\
Frequency & once/2h, twice pretherapy & once/1h &once/0.5h (more frequent than hourly) & Not defined \\
\hline
\end{tabularx}
\hfill \break
\end{document}