我正在尝试在 turn 环境中将文本换行到表格列标题中(来自 -rotating- 包)。有没有办法使用 turn 来执行此操作,或者是否必须嵌入小页面(例如...... & \begin{turn}{60}\begin{minipage}[t]{3cm}\textbf{Returned Surveys}\end{mini page}
)?还有其他想法吗?
(笔记:我正在使用统计程序来生成/编织代码到 latex 文档中,而将 minipage 代码放在 turn 环境中会导致字符串长度的其他问题 - 我宁愿使用 turn 的替代方案或 turn 中的选项来解决这个问题)。感谢您的任何建议!
例子:
\documentclass{article}
\usepackage{booktabs,rotating,tabularx}
\begin{document}
\begin{table}[htbp]
\centering
\caption{Add caption}
\begin{tabular}{p{7cm}p{1cm}p{1cm}p{1cm}p{1cm}p{1cm}p{1cm}p{1cm}rrrrr}
\textbf{OTP Name} & \begin{turn}{60}\textbf{Initial Email Sent}\end{turn} & \begin{turn}{60}\begin{minipage}[t]{3cm}\textbf{Returned Surveys}\end{minipage}\end{turn} & \begin{turn}{60}\textbf{Survey Reminder Sent}\end{turn} & \begin{turn}{60}\textbf{Response Received from Reminder}\end{turn} & \begin{turn}{60}\textbf{Returned Surveys}\end{turn} \\
\midrule
UAMS Psychiatric Research Institute & x & & x & & x \\
Valley Alliance Treatment Services & x & & x & x & \\
\ldots &&&&&&&\\
\bottomrule
\end{tabular}%
\label{tab:addlabel}%
\end{table}%
\end{document}
答案1
以下是你可能的选择。它修改了我的解决方案表格中的旋转列标题以适应你的情况:
\documentclass{article}
\usepackage{booktabs}% http://ctan.org/pkg/booktabs
\usepackage{graphicx}% http://ctan.org/pkg/graphicx
\usepackage{varwidth}% http://ctan.org/pkg/varwidth
\newcommand{\turn}[3][10em]{% \turn[<width>]{<angle>}{<stuff>}
\rlap{\rotatebox{#2}{\begin{varwidth}[t]{#1}\bfseries#3\end{varwidth}}}%
}
\begin{document}
\begin{table}[htbp]
\centering
\caption{Add caption}
\begin{tabular}{p{7cm}*{5}{p{1cm}}}
\textbf{OTP Name} &
\turn{60}{Initial Email Sent} &
\turn[3cm]{60}{Returned Surveys} &
\turn{60}{Survey Reminder Sent} &
\turn{60}{Response Received from Reminder} &
\turn{60}{Returned Surveys} \\
\midrule
UAMS Psychiatric Research Institute & x & & x & & x \\
Valley Alliance Treatment Services & x & & x & x & \\
\ldots & & & & & \\
\bottomrule
\end{tabular}
\label{tab:addlabel}
\end{table}
\end{document}
varwidth
提供与环境允许的类似的接口minipage
,但如果宽度为更长比其内容长。minipage
如果长度为更短。graphicx
允许按度数旋转一定角度。
在上面的例子中,命令以角度\turn[<width>]{<angle>}{<stuff>}
旋转,包裹的长度/宽度为(默认值为;可根据需要更改)。它还设置在<stuff>
<angle>
<width>
10em
<stuff>
大胆的默认情况下,由于\bfseries
,并将其放在零宽度框中(感谢\rlap
),因此您不会收到。对于非常长且包装的标头,这可能不是最佳选择。但是您应该问自己是否应该修改结构。
还请注意,重复列规范使用缩写符号。使用*{<num>}{<colspec>}
重复<colspec>
的<num>
次数。它很有用,并且避免计算您是否恰好(比如说)r
中有 11 个列rrrrrrrrrrr
。