如何使用 \pbox 在表格中呈现这些 DNA 序列?

如何使用 \pbox 在表格中呈现这些 DNA 序列?

我已经在这个问题上困惑了一段时间了。

我有一张包含一些 DNA 序列的表格,tabularx不知道在哪里给序列加上连字符,表格超出了页面的边距。为了解决这个问题,我尝试使用包pbox并手动给序列加上连字符,但收效甚微。每个表格行的代码都相同,但表格的顶部与底部重叠——我似乎不知道为什么。

\begin{table}[h]
    \centering
    \begin{tabularx}{\textwidth}{|X|X|X|} 
    \hline 
    \multicolumn{3}{|c|}{\textbf{TruSeq Adapter Sequences.}} \\
    \hline
    & \textbf{Read 1} & \textbf{Read 2} \\
    \hline 
        \textbf{Forward Adapter} & \small{\pbox[t][0.3cm]{4cm}{AGATCGGAAGAGCACAC-\\GTCTGAACTCCAGTCAC}} & \small{\pbox[t][0.3cm]{4cm}{AGATCGGAAGAGCGTCG-\\TGTAGGGAAAGAGTGT}} \\
        & & \\
    \hline 
        \textbf{Reverse Compliment} & \small{\pbox[t][0.3cm]{4cm}{TCTAGCCTTCTCGTGT-\\GCAGACTTGAGGTCAGTG}} & \small{\pbox[t][0.3cm]{4cm}{TCTAGCCTTCTCGCAG-\\CACATCCCTTTCTCACA}} \\
        & & \\
    \hline
    \end{tabularx}

在此处输入图片描述

答案1

您可以使用\seqsplit同名包中的命令,或者对于更复杂的包,使用命令dnaseq

\documentclass{article}

\usepackage{geometry} 
\usepackage{tabularx, makecell, seqsplit}

\begin{document}

\begin{table}[h]
\centering\setcellgapes{0.5ex}\makegapedcells
\begin{tabularx}{\textwidth}{|X|X|X|}
\hline
\multicolumn{3}{|c|}{\textbf{TruSeq Adapter Sequences.}} \\
\hline
& \textbf{Read 1} & \textbf{Read 2} \\
\hline
    \textbf{Forward Adapter} & \small\seqsplit{AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC}& \small\seqsplit{AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT} \\
\hline
 \textbf{Reverse Compliment} & \small\seqsplit{TCTAGCCTTCTCGTGTGCAGACTTGAGGTCAGTG} & \small\seqsplit{TCTAGCCTTCTCGCACACATCCCTTTCTCACA} \\
 \hline
 \end{tabularx}
\end{table}

\end{document} 

在此处输入图片描述

答案2

我建议使用“手工制作”的序列分割宏:

\documentclass{article}
\usepackage{xparse}
\usepackage{tabularx}
\usepackage{booktabs} % for the second realization

\ExplSyntaxOn
\NewDocumentCommand{\sequence}{m}
 {
  \seq_set_split:Nnn \l_tmpa_seq { } { #1 }
  \seq_use:Nn \l_tmpa_seq { \linebreak[0] }
 }
\ExplSyntaxOff

\begin{document}

\begin{table}[htp]

\caption{A caged table}

\medskip

\begin{tabularx}{\textwidth}{|l|*{2}{>{\raggedright\arraybackslash}X|}}
\hline 
\multicolumn{3}{|c|}{\textbf{TruSeq Adapter Sequences.}} \\
\hline
& \textbf{Read 1} & \textbf{Read 2} \\
\hline 
\textbf{Forward Adapter} & 
  \sequence{AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC} &
  \sequence{AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT} \\
\hline 
\textbf{Reverse Complement} &
  \sequence{TCTAGCCTTCTCGTGTGCAGACTTGAGGTCAGTG} &
  \sequence{TCTAGCCTTCTCGCAGCACATCCCTTTCTCACA} \\
\hline
\end{tabularx}

\end{table}
\begin{table}[htp]

\caption{An uncaged table}

\medskip

\begin{tabularx}{\textwidth}{@{}l*{2}{>{\raggedright\arraybackslash}X}@{}}
\toprule
\multicolumn{3}{c}{\textbf{TruSeq Adapter Sequences.}} \\
\midrule
& \multicolumn{1}{c}{\textbf{Read 1}} & \multicolumn{1}{c}{\textbf{Read 2}} \\
\cmidrule(lr){2-2}\cmidrule(l){3-3}
\textbf{Forward Adapter} & 
  \sequence{AGATCGGAAGAGCACACGTCTGAACTCCAGTCAC} &
  \sequence{AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT} \\
\addlinespace
\textbf{Reverse Complement} &
  \sequence{TCTAGCCTTCTCGTGTGCAGACTTGAGGTCAGTG} &
  \sequence{TCTAGCCTTCTCGCAGCACATCCCTTTCTCACA} \\
\bottomrule
\end{tabularx}

\end{table}

\end{document}

\sequence宏将输入存储在一个序列中,然后使用 来在任意两个项目之间添加一个可行的换行点\linebreak[0]

我热烈建议底部样式。

在此处输入图片描述

相关内容