是否可以使用宏来格式化表格内的文本?我天真地尝试了以下方法:
\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}