我有一个愚蠢的问题,可能看起来像是重复的,但我仍然无法让它工作...我有下表,我只需要在第三行的顶部和底部增加垂直间距...在行尾后添加 [3cm] 会给我更多空间在行的底部,但顶部的空间怎么办?非常感谢! MWE:
\documentclass{standalone}
\usepackage{pbox}
\begin{document}
\renewcommand{\arraystretch}{2}
\begin{tabular}{|c|c|c|c|c|}
\cline{2-5}
\multicolumn{1}{c|}{}
& \textbf{group a}
& \textbf{group b}
& \textbf{group c}
& \textbf{group d}\\
\cline{1-5}
\textbf{classif1}
& A
& B
& A
& B\\
\cline{1-5}
\textbf{classif2}
& A
& B
& B
& A\\
\cline{1-5}
\textbf{IDs}
& \textit{\pbox{20cm}{ALK, APC,\\CDH1, EGFR,\\GPC3, HNF1A,\\MPL, PHOX2B,\\RET, TSHR}}
& \textit{\pbox{20cm}{AXIN1, BRCA2,\\BUB1B, CDKN2A,\\ERCC2, ERCC4,\\FANCC, FANCE,\\FH, HRAS,\\MLH1, MSH6,\\NF1, PMS2,\\PRKAR1A, RB1,\\SBDS, SDHAF2,\\SDHB, SDHD,\\SMAD4, SMARCB1,\\STK11, SUFU,\\TP53, TSC1,\\XPA, XPC}}
& \textit{\pbox{20cm}{ATM, BLM,\\BRCA1, BRIP1,\\CDC73, CDK4,\\CHEK2, CYLD,\\DDB2, DICER1,\\ERCC3, ERCC5,\\EXT1, EXT2,\\FANCA, FANCD2,\\FANCG, FLCN,\\MSH2, MUTYH,\\NF2, PALB2,\\PMS1, RECQL4,\\SDHC, SMARCE1,\\TSC2, VHL,\\WRN}}
& \textit{\pbox{20cm}{BMPR1A, FANCF,\\KCNJ5, KIT,\\LMO1, MAX,\\MEN1, NBN,\\PRF1, PTCH1,\\PTEN, TERT,\\WT1}}\\[3cm]
\cline{1-5}
\textbf{Number}
& 10
& 28
& 29
& 13\\
\cline{1-5}
\end{tabular}
\end{document}
答案1
为了在相关单元格的顶部和底部强制添加一些额外的垂直空白,您可以插入“支柱”——具有一定高度(可能还有深度)但没有宽度的对象,因此是不可见的。例如,指令
\rule{0pt}{3cm}
将插入高度3cm
为
\rule[-3cm]{0pt}{0pt}
将插入深度为的“底部支柱” 3cm
。
要将其应用到手头的表格中,“组 c”列中的单元格可以设置为
\textit{\pbox{20cm}{\rule{0pt}{3cm}ATM, BLM,\\BRCA1, BRIP1,\\CDC73, CDK4,\\CHEK2, CYLD,
\\DDB2, DICER1,\\ERCC3, ERCC5,\\EXT1, EXT2,\\FANCA, FANCD2,\\FANCG, FLCN,
\\MSH2, MUTYH,\\NF2, PALB2,\\PMS1, RECQL4,\\SDHC, SMARCE1,\\TSC2, VHL,
\\WRN \rule[-3cm]{0pt}{0pt}}
有关在表格中使用支柱以及如何选择比3cm
您给出的示例更适合印刷的支柱高度/深度设置的更多信息,请查看这篇文章(无耻的自我引用警报!)。
答案2
第一个解决方案是使用 cellspace 包,它定义文本和单元格顶部或底部之间的最小距离(\cellspacetoplimit & \cellspacebottomlimit):
\documentclass{standalone}
\usepackage{pbox, cellspace}
\cellspacetoplimit = 6pt\cellspacebottomlimit =6pt
\renewcommand{\arraystretch}{2}
\begin{document}
\begin{tabular}{>{\bfseries}c|*{4}{Sc|}}
\cline{2-5}
\multicolumn{1}{c|}{}
& \textbf{Class 1}
& \textbf{Class 2}
& \textbf{Class 3}
& \textbf{Class 4}\\
\hline
Penetrance
& Tissue specific
& Ubiquitous
& Tissue specific
& Ubiquitous\\
\hline
Expression
& Tissue specific
& Ubiquitous
& Ubiquitous
& Tissue specific\\
\hline
Genes
& \textit{\pbox{20cm}{ALK, APC,\\CDH1, EGFR,\\GPC3, HNF1A,\\MPL, PHOX2B,\\RET, TSHR}}
& \textit{\pbox{20cm}{AXIN1, BRCA2,\\BUB1B, CDKN2A,\\ERCC2, ERCC4,\\FANCC, FANCE,\\FH, HRAS,\\MLH1, MSH6,\\NF1, PMS2,\\PRKAR1A, RB1,\\SBDS, SDHAF2,\\SDHB, SDHD,\\SMAD4, SMARCB1,\\STK11, SUFU,\\TP53, TSC1,\\XPA, XPC}}
& \textit{\pbox{20cm}{ATM, BLM,\\BRCA1, BRIP1,\\CDC73, CDK4,\\CHEK2, CYLD,\\DDB2, DICER1,\\ERCC3, ERCC5,\\EXT1, EXT2,\\FANCA, FANCD2,\\FANCG, FLCN,\\MSH2, MUTYH,\\NF2, PALB2,\\PMS1, RECQL4,\\SDHC, SMARCE1,\\TSC2, VHL,\\WRN}}
& \textit{\pbox{20cm}{BMPR1A, FANCF,\\KCNJ5, KIT,\\LMO1, MAX,\\MEN1, NBN,\\PRF1, PTCH1,\\PTEN, TERT,\\WT1}}\\%
\hline
Number
& 10
& 28
& 29
& 13\\
\hline
\end{tabular}
\end{document}
导致:
另一种解决方案是使用 booktabs 包及其 \addlinespace 命令,但假设没有垂直线(在许多人看来这样更好):
\documentclass{standalone}
\usepackage{pbox, array, booktabs}
\renewcommand{\arraystretch}{2}
\begin{document}
\begin{tabular}{>{\bfseries}c*{4}{c}}
\cmidrule[\heavyrulewidth]{2-5}
%\multicolumn{1}{c|}{}
& \textbf{Class 1}
& \textbf{Class 2}
& \textbf{Class 3}
& \textbf{Class 4}\\
\toprule
Penetrance
& Tissue specific
& Ubiquitous
& Tissue specific
& Ubiquitous\\
\midrule
Expression
& Tissue specific
& Ubiquitous
& Ubiquitous
& Tissue specific\\
\midrule\addlinespace
Genes
& \textit{\pbox{20cm}{ALK, APC,\\CDH1, EGFR,\\GPC3, HNF1A,\\MPL, PHOX2B,\\RET, TSHR}}
& \textit{\pbox{20cm}{AXIN1, BRCA2,\\BUB1B, CDKN2A,\\ERCC2, ERCC4,\\FANCC, FANCE,\\FH, HRAS,\\MLH1, MSH6,\\NF1, PMS2,\\PRKAR1A, RB1,\\SBDS, SDHAF2,\\SDHB, SDHD,\\SMAD4, SMARCB1,\\STK11, SUFU,\\TP53, TSC1,\\XPA, XPC}}
& \textit{\pbox{20cm}{ATM, BLM,\\BRCA1, BRIP1,\\CDC73, CDK4,\\CHEK2, CYLD,\\DDB2, DICER1,\\ERCC3, ERCC5,\\EXT1, EXT2,\\FANCA, FANCD2,\\FANCG, FLCN,\\MSH2, MUTYH,\\NF2, PALB2,\\PMS1, RECQL4,\\SDHC, SMARCE1,\\TSC2, VHL,\\WRN}}
& \textit{\pbox{20cm}{BMPR1A, FANCF,\\KCNJ5, KIT,\\LMO1, MAX,\\MEN1, NBN,\\PRF1, PTCH1,\\PTEN, TERT,\\WT1}}\\%
\addlinespace\midrule
Number
& 10
& 28
& 29
& 13\\
\bottomrule
\end{tabular}
\end{document}
它看起来像这样:
答案3
在s 中插入tabular
特殊支柱;它们是普通支柱,但乘以了因子。\@arstrut
\arraystretch
由于\pbox
es 太大,自动插入的 struts 不起作用。最好将 strut 添加到 中行的第一行和最后一行\pbox
。但是,由于 很大\arraystretch
, 的第一行中的 strut\pbox
不应具有深度,而 最后一行中的 strut 不应具有高度。这是通过 的可选参数实现的,\raisebox{0pt}
该参数允许设置高度和深度。
进一步说明:
\arstrutDP
在 最后一行中使用具有深度和零高度的支柱,\pbox
避免了 的可选参数中的魔法空间值\\[30cm]
。- 宏
\pboxIDs
调用\pbox
其\itshape
内容并将“半支柱”添加到第一行和最后一行。
\documentclass{standalone}
\usepackage{pbox}
\makeatletter
\newcommand*{\arstrutHT}{%
\raisebox{0pt}[\height][0pt]{\@arstrut}%
}
\newcommand*{\arstrutDP}{%
\raisebox{0pt}[0pt][\depth]{\@arstrut}%
}
\makeatother
\begin{document}
\renewcommand{\arraystretch}{2}
\newcommand*{\pboxIDs}[1]{%
\pbox{20cm}{%
\itshape
\arstrutHT
\ignorespaces
#1%
\unskip
\arstrutDP
}%
}
\begin{tabular}{|c|c|c|c|c|}
\cline{2-5}
\multicolumn{1}{c|}{}
& \textbf{group a}
& \textbf{group b}
& \textbf{group c}
& \textbf{group d}\\
\cline{1-5}
\textbf{classif1}
& A
& B
& A
& B\\
\cline{1-5}
\textbf{classif2}
& A
& B
& B
& A\\
\cline{1-5}
\textbf{IDs}
& \pboxIDs{ALK, APC,\\CDH1, EGFR,\\GPC3, HNF1A,\\MPL,
PHOX2B,\\RET, TSHR}
& \pboxIDs{AXIN1, BRCA2,\\BUB1B, CDKN2A,\\ERCC2,
ERCC4,\\FANCC, FANCE,\\FH, HRAS,\\MLH1, MSH6,\\NF1,
PMS2,\\PRKAR1A, RB1,\\SBDS, SDHAF2,\\SDHB, SDHD,\\SMAD4,
SMARCB1,\\STK11, SUFU,\\TP53, TSC1,\\XPA, XPC}
& \pboxIDs{ATM, BLM,\\BRCA1, BRIP1,\\CDC73, CDK4,\\CHEK2,
CYLD,\\DDB2, DICER1,\\ERCC3, ERCC5,\\EXT1, EXT2,\\FANCA,
FANCD2,\\FANCG, FLCN,\\MSH2, MUTYH,\\NF2, PALB2,\\PMS1,
RECQL4,\\SDHC, SMARCE1,\\TSC2, VHL,\\WRN}
& \pboxIDs{BMPR1A, FANCF,\\KCNJ5, KIT,\\LMO1, MAX,\\MEN1,
NBN,\\PRF1, PTCH1,\\PTEN, TERT,\\WT1}\\
\cline{1-5}
\textbf{Number}
& 10
& 28
& 29
& 13\\
\cline{1-5}
\end{tabular}
\end{document}