我一直在使用longtable
环境来构建下面概述的内容(这只是部分数据。整个数据跨越 4 页,而且更宽)。我遇到的问题是数据超出了右边距,并出现以下错误:
Overfull \hbox (605.54675pt too wide) in alignment at lines 12--40.
我听说没有命令可以自动调整表格以适合页面。但是,我想知道
- 有一种方法可以减少每列之间的距离,
- 缩小表格中的字体大小,以便所有列都适合页面。
我读过其他与此问题类似的帖子,但我是 LaTeX 新手,很难找到此问题的解决方案。有人能帮忙吗?谢谢 Alex
\documentclass{article}
\usepackage{graphicx,booktabs,rotating,adjustbox,geometry}
\usepackage{longtable}
\usepackage{ltablex}
\geometry{
a4paper,
total={170mm,257mm},
left=20mm,
top=20mm,}
\begin{document}
\begin{longtable}{lllllll}
\toprule[1pt]
& \multicolumn{4}{r}{Spectral Index} \\
\cmidrule(l{1pt}){4-5}
\emph{MGI Symbols} & \emph{Protein Name} & \emph{UniProt Acc} & \emph{AveKI} & \emph{AveWT} & \emph{KI/WT Ratio} & \emph{Cluster}\vspace{5mm} \\\midrule
Title/Title\vspace{5mm}\\
$Amph$ & Amphiphysin & Q7TQF7 & 1.42E-06 & 0.00E+00 & KI Only & X6\\
$Bin1$ & Myc Box-Dependent-Interacting Protein 1 & O08539 & 1.20E-06 & 0.00E+00 & KI Only & X6\\
$Cltc$ & Clathrin Heavy Chain 1 & Q68FD5 & 5.88E-07 & 6.00E-08 & 9.80 & X6\\
$Dnm1$ & Dynamin-1 & P39053 & 1.97E-06 & 3.41E-08 & 57.76 & X6\\
$Nsf$ & Vesicle Fusing ATPase & P46460 & 3.43E-07 & 0.00E+00 & KI Only & X6\\
$Snap25$ & Synaptosomal-Associated Protein 25 & P60879 & 8.90E-06 & 3.27E-06 & 2.72 & B\\
$Stxbp1$ & Isoform 2 Of Syntaxin-Binding Protein 1 & O08599 & 1.22E-06 & 0.00E+00 & KI Only & X6\\
$Syt1$ & Synaptotagmin 1 & P21579 & 1.02E-05 & 4.81E-06 & 2.13 & B\vspace{5mm}\\
\vspace{5mm}\\\bottomrule
\hline
\end{longtable}
\end{document}
答案1
您的表格中有一个问题,即蛋白质名称太长。如果您将它们的名称分成多行,则会自动获得更多空间。“MGI 符号”的长标题也是如此。
我不确定为什么将符号名称放入数学环境中,但如果您希望它们以斜体显示,请不要使用数学!
[由于您的代码对我来说不清楚,请检查我对标题的解释是否正确]
\documentclass{article}
\usepackage{booktabs,rotating,adjustbox,geometry}
\usepackage{longtable}
\geometry{
a4paper,
total={170mm,257mm},
left=20mm,
top=20mm,
}
\begin{document}
\begin{longtable}{lp{4.7cm}lllll}
\toprule
\emph{MGI} & & & \multicolumn{2}{c}{Spectral Index} & & \\
\cmidrule(l{1pt}){4-5}
\emph{Symbols} & \emph{Protein Name} & \emph{UniProt Acc} & \emph{AveKI} & \emph{AveWT} & \emph{KI/WT Ratio} & \emph{Cluster}\\
\midrule
\textit{Amph} & Amphiphysin & Q7TQF7 & 1.42E-06 & 0.00E+00 & KI Only & X6\\
\textit{Bin1} & Myc Box-Dependent-\newline Interacting Protein 1 & O08539 & 1.20E-06 & 0.00E+00 & KI Only & X6\\
\textit{Cltc} & Clathrin Heavy Chain 1 & Q68FD5 & 5.88E-07 & 6.00E-08 & 9.80 & X6\\
\textit{Dnm1} & Dynamin-1 & P39053 & 1.97E-06 & 3.41E-08 & 57.76 & X6\\
\textit{Nsf} & Vesicle Fusing ATPase & P46460 & 3.43E-07 & 0.00E+00 & KI Only & X6\\
\textit{Snap25} & Synaptosomal-As\-so\-ci\-ated Protein 25 & P60879 & 8.90E-06 & 3.27E-06 & 2.72 & B\\
\textit{Stxbp1} & Isoform 2 Of Syntaxin-Bind\-ing Protein 1 & O08599 & 1.22E-06 & 0.00E+00 & KI Only & X6\\
\textit{Syt1} & Synaptotagmin 1 & P21579 & 1.02E-05 & 4.81E-06 & 2.13 & B\\
\bottomrule
\end{longtable}
\end{document}
答案2
采取的主要措施是为第二列中的材料启用换行符。这可以通过使用列p
而不是l
列来实现。(通过反复试验,我发现此列的宽度为 4.5 厘米看起来差不多。)
如果第一列中的所有材料都必须用斜体显示,则使用>{\itshape}l
而不是仅l
用于列类型。(这需要加载array
包。)这样,您不必将每个条目装入\textit
“包装器”中(或者更糟的是,使用数学模式并以数学斜体显示单词...)。
为了在第 4 列和第 5 列中获得适合印刷的加号和减号符号,我建议您加载包dcolumn
并将数字对齐到相应的小数点标记上。
\documentclass{article}
\usepackage{booktabs,geometry,longtable,array,ragged2e,dcolumn}
\geometry{a4paper,total={170mm,257mm},left=20mm,top=20mm}
\begin{document}
\begin{longtable}{@{} >{\itshape}l >{\RaggedRight}p{4.5cm}
l *{2}{D..{1.6}} cc @{}}
\toprule \addlinespace
&& \multicolumn{4}{c}{Spectral Index} \\
\cmidrule(lr){4-5}
MGI Symbols & \emph{Protein Name} & \emph{UniProt Acc} & \multicolumn{1}{c}{\emph{AveKI}} &
\multicolumn{1}{c}{\emph{AveWT}} &
\emph{KI/WT Ratio} & \emph{Cluster}
\\ \addlinespace
\midrule \addlinespace
Amph & Amphiphysin & Q7TQF7 & 1.42E-06 & 0.00E+00 & KI Only & X6\\
Bin1 & Myc Box-Dependent-Interacting Protein 1 & O08539 & 1.20E-06 & 0.00E+00 & KI Only & X6\\
Cltc & Clathrin Heavy Chain 1 & Q68FD5 & 5.88E-07 & 6.00E-08 & 9.80 & X6\\
Dnm1 & Dynamin-1 & P39053 & 1.97E-06 & 3.41E-08 & 57.76 & X6\\
Nsf & Vesicle Fusing ATPase & P46460 & 3.43E-07 & 0.00E+00 & KI Only & X6\\
Snap25 & Synaptosomal-Associated Protein 25 & P60879 & 8.90E-06 & 3.27E-06 & 2.72 & B\\
Stxbp1 & Isoform 2 of Syntaxin-Binding Protein 1 & O08599 & 1.22E-06 & 0.00E+00 & KI Only & X6\\
Syt1 & Synaptotagmin 1 & P21579 & 1.02E-05 & 4.81E-06 & 2.13 & B\\ \addlinespace
\bottomrule
\end{longtable}
\end{document}