表内的宏(dnaseq)

表内的宏(dnaseq)

是否可以使用宏来格式化表格内的文本?我天真地尝试了以下方法:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{dnaseq}

\begin{document}

\section{Working}

\DNA!  ACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTA !

\section{Failing}

\begin{tabular}{ c c }
 Sequence 1 & \DNA!  ACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTA !
\end{tabular}

\end{document}

但 \DNA 命令在表格中不起作用。我得到了一个

缺少} 插入。

以及多个

未定义控制序列。

错误

答案1

宏会因为单元格是在受限的水平模式下排版的这一事实而感到困惑,因为tabular在这种情况下不可能出现换行符。

然而,即使指定也p{<length>}实际上不起作用。

您可以使用 来解决这个问题minipage。为了计算合适的宽度,我\ttfamily在 之前设置了minipage并将宽度设置为 24.1em。

为什么?该\DNA构造使用\ttfamily每个块列出 10 个核苷酸。因此,每个块有 5em;您还需要考虑数字(四位数字)的 2em 和列之间的每个空格的 0.5em。因此,每行四个块需要 48 个字符的空间,每个字符的宽度为 0.5em。然而,事实证明,宏需要一些回旋余地,多余的 0.1em 似乎可以带来圆满的结局。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{dnaseq}

\begin{document}

\section{Working}

\DNA!  ACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGT%
CATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTA%
ACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCAT%
CGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAG%
TCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGT%
AACGCTAGTCATGCATCGTATGTA !

\section{Failing}

\begin{tabular}{ c c }
Sequence 1 & 
\ttfamily\begin{minipage}[t]{24.1em}
  \DNA!  ACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTA%
         GTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATG%
         CATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGT%
         ATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAA%
         CGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAG%
         TCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGC%
         ATCGTATGTA !
\end{minipage}
\end{tabular}

\end{document}

在此处输入图片描述

答案2

表格中的逐字环境会出现问题(例如:https://stackoverflow.com/questions/3220121/verbatim-environment-inside-latex-cell)。

我建议使用一个盒子:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{dnaseq}

\begin{document}

\section{Working}

\DNA!  ACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTA !

\newsavebox{\mybox}
\savebox{\mybox}{\begin{minipage}{.75\linewidth}
\DNA!  ACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTAACGCTAGTCATGCATCGTATGTA !
\end{minipage}}

\section{Working with a box}

\begin{tabular}{ c c }
 Sequence 1 & \usebox{\mybox}
\end{tabular}

\end{document}

在此处输入图片描述

相关内容