我正在尝试创建一个多列的长表。在其中一列中,我有一个非常长的 DNA 序列。我尝试使用 \multicolumn,但文本没有换行,可能是因为它将 DNA 序列视为一个单词,因此该单词继续并溢出到下一列。另外,我不想在我的 DNA 序列中引入连字符或下一行。请帮忙。TIA 我的代码给了我这个输出
\documentclass{report}
\usepackage{array}
\usepackage{longtable}
\begin{document}
\begin{longtable}{c c c}
\caption {Primers}\\
Code & Sequence (5' to 3') & Use \\
D10520 &CCCTGCGGTGCCCCTCAAG &\multicolumn{1}{m{6cm}}{Anneals upstream of the EcoRI site in pRW50/ PRW224/pRW225. Used for sequencing and amplification of inserts in this vector.}\\
D812443 &\multicolumn{1}{m{6cm}}{GGGGGGGAATTCGTCTGCACAGTGGTGTTTATTTATCTTTTTAGTAACTTTGTTTTAAGTCGCATATTAAC} &\multicolumn{1}{m{6cm}}{aafD upstream primer containing an EcoRI site for amplification of aafD96-65C promoter fragment.}
\end{longtable}
\end{document}
答案1
您可能不想将 用作c
所有三列的主要列类型,而是考虑将其用作l
第一列和第二列和第三列。这样,您就可以在表格主体中p
省去很多语句。\multicolumn{1}{..}{...}
将这个想法与\seqsplit
长字符序列的宏结合起来,并为提供更多的结构longtable
,得到:
\documentclass{report}
\usepackage{array,longtable,booktabs,ragged2e}
\usepackage{seqsplit} % for \seqsplit macro
\begin{document}
\begin{longtable}{@{} l p{5cm} >{\RaggedRight\arraybackslash}p{4cm} @{}}
\caption{Primers}\\
\toprule
Code & Sequence (5' to 3') & Use \\
\midrule
\endhead
\bottomrule
\endfoot
D10520
&\seqsplit{CCCTGCGGTGCCCCTCAAG}
&Anneals upstream of the EcoRI site in pRW50\slash PRW224\slash pRW225.
Used for sequencing and amplification of inserts in this vector.\\
\addlinespace
D812443
&\seqsplit{GGGGGGGAATTCGTCTGCACAGTGGTGTTTATTTATCTTTTTAGTAACTTTGTTTTAAGTCGCATATTAAC}
&aafD upstream primer containing an EcoRI site for amplification of
aafD96-65C promoter fragment.\\
\end{longtable}
\end{document}