我正在写博士论文,我是 LaTeX 的新手,正在努力处理表格。如下所示:https://i.stack.imgur.com/LL6sH.jpg我的表格跨越两页,但在第二页它没有正确对齐。
我已经使用了 tabularx、longtable 和 \setlength\LTleft{-1cm},但似乎没有任何帮助,也阅读了其他相关问答,问题仍然存在。我需要我的表格跨越多页,表格必须居中,标题从左侧开始。表格很宽,但我需要将其缩小为纵向布局。
我有下一个代码,它为我提供了一个跨越两页的表格,但在第二个代码中,表格没有正确对齐,它向右移动了大约几个像素:
\documentclass[a4paper,12pt,times,numbered,print,index]{Classes/PhDThesisPSnPDF}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% PREAMBLE: Contains packages and user-defined commands and settings
\usepackage{booktabs}
\usepackage{ltablex}
\usepackage{dcolumn,tabularx,booktabs}
\usepackage{longtable}
\usepackage{pdflscape}
\usepackage{adjustbox} %para ajustar las tablas
\usepackage{ltablex}
\usepackage{textcomp}
\usepackage{siunitx}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% APPENDICES
\begin{appendices} % Using appendices environment for more functunality
\include{Appendix2/appendix2}
\end{appendices}
%%%%%%%%%%%%%%%%%%%%
%appendix2.tex file
\subsection{CSH table for peptide xxxx in xxxx mM DPC}
\label{table:CSH-xxxxx-DPC}
\setlength\LTleft{-1cm}
\begin{tabularx}{\linewidth}{lllll lllll lll}
\caption{chemical shifts (ppm from DSS) for peptide ----}\\
\endfirsthead
\endhead
\toprule
\multicolumn{2}{l}{\textbf{Residue}} &
\textbf{HN} &
\textbf{ H\textalpha }&
\textbf{H\textbeta} &
\textbf{H\textgamma } &
\textbf{H\textdelta } &
\textbf{H\textepsilon } &
\textbf{H\textzeta } &
\textbf{C\textalpha }
\\[6pt]
\midrule
Arg & 845 & 7.37 & 7.37 & 7.37 , 7.37 & 7.37 , 7.37 & 7.37 , 7.37 & 7.37 7.37 & 6.70 , 6.57 & 56.76 \\
\bottomrule
\end{longtable}
\clearpage
谢谢
答案1
编辑:
在您回复之后,我再次检查了我的答案......并发现代码中存在一些故障,这些故障是由于不理解表格上下文而引起的。现在我怀疑,该表实际上有九列。在回答文档类时,我使用了book
我PhDThesisPSnPDF
没有使用过的类。
您可以使用tabularx
,但在这种情况下至少有一列必须是以下X
类型:
\documentclass[a4paper,12pt,times,numbered,print,index]{report}%{Classes/PhDThesisPSnPDF}
\usepackage[showframe]{geometry}
\usepackage{booktabs, ltablex}
\newcommand\mcbf[1]{\multicolumn{1}{c}{\textbf{#1}}} % <-- added
\usepackage{textcomp}
\usepackage{siunitx}
\usepackage[version=4]{mhchem} % <-- added
\begin{document}
\setlength\LTcapwidth{\linewidth} % <-- added
\keepXColumns % <-- added
\small % <-- added
\setlength\tabcolsep{5pt} % <-- added
\begin{tabularx}{\linewidth}{*{10}{X}}
\begin{tabularx}{\linewidth}{@{} X*{8}{l} @{}}
\caption{\ce{^1H} and \ce{^13 C\alpha} chemical shifts (ppm from DSS) for peptide --- in \ce{H2O}/\ce{D2O} (9:1 v/v), \SI{30}{mM} DPC, pH 3.5, \SI{35}\degreeCelsius}\\
\toprule
\textbf{Residue} &
\mcbf{HN} &
\mcbf{\ce{H\alpha}} &
\mcbf{\ce{H\beta}} &
\mcbf{\ce{H\gamma}} &
\mcbf{\ce{H\delta}} &
\mcbf{\ce{H\epsilon}} &
\mcbf{\ce{H\zeta}} &
\mcbf{\ce{C\alpha}} \\
\midrule
\endfirsthead
% table headers on the next page
\caption{\ce{^1H} and \ce{^13 C\alpha} chemical shifts \dots (cont.) } \\
\toprule
\textbf{Residue} &
\mcbf{HN} &
\mcbf{\ce{H\alpha}} &
\mcbf{\ce{H\beta}} &
\mcbf{\ce{H\gamma}} &
\mcbf{\ce{H\delta}} &
\mcbf{\ce{H\epsilon}} &
\mcbf{\ce{H\zeta}} &
\mcbf{\ce{C\alpha}} \\
\midrule
\endhead
\bottomrule
\multicolumn{9}{r}{\footnotesize\itshape continue on the next page} % <-- added
\endfoot
\endlastfoot
%%%% table body
Arg 845 & 7.37 & 7.37 & 7.37, 7.37 & 7.37, 7.37 & 7.37, 7.37
& 7.37 7.37 & 6.70, 6.57 & 56.76 \\
Arg 845 & 7.37 & 7.37 & 7.37, 7.37 & 7.37, 7.37 & 7.37, 7.37
& 7.37 7.37 & 6.70, 6.57 & 56.76 \\
% ...
\bottomrule
\end{tabularx}
\end{document}
该代码需要编译三次才能获得正确的形式。
- 代码中的变化以 表示
% <-- added
。 - 我建议使用
mhchem
化学公式包,siunity
单位包。
- 因为表格比文本宽度略宽,所以考虑了两个措施(如果原始文档情况并非如此,则可以删除此更改):
\small
使用字体大小- 将列之间的距离从默认值减少
6pt
到5pt
答案2
感谢@Bernard 和@Zarko,我终于找到了问题所在:
我现在改为 longtable 并添加了以下几行:
\setlength\LTleft{-1cm}
\setlength\LTright{-1cm}
\begin{longtable}{lllll lllll lll}
%%%%%%content
\bottomrule
\end{longtable}
\clearpage