添加不带连字符的换行符

添加不带连字符的换行符

我正在写一份关于基因测序的实验报告,我必须放入一大串核苷酸序列。我其实并不打算把它放在一个特殊的框里,只是把它当作另一个只有序列的段落来添加。但当我编译它时,它变成了一场彻底的灾难,LaTeX 无法将序列拆分到下一行,导致单行文本过长,超出了限制。我还使用 texttt 以等宽字体打印它。

\texttt{
TAATAATCATATAGATTCCGTTCACCAAGGAA\textbf{ATG}TCTGGATCTCGCAAATTTTTTGTTGGGGGGAACTGGAAAATGAACGGAAGCAGAGATGACAACGATAAGTTACTTAAGTTACTCTCAGAAGCTCATTTTGATGATAACACGGAAGTTTTAATTGCTCCACCTTCAGTCTTTTTGCACGAAATTCGAAAAAGTTTGAAGAAAGAAATACACGTGGCCGCTCAAAATTGCTATAAAGTATCAAAGGGTGCATTCACCGGAGAAATCAGCCCAGCAATGATAAGAGATATTGGTTGTGATTGGGTCATACTTGGACATTCTGAGCGTAGAAACATTTTTGGTGAATCTGATGAACTTATTGCTGAAAAAGTTCAACATGCACTTGCTGAAGGTCTAAGCGTTATTGCATGTATTGGTGAAACATTATCAGAGCGTGAATCTAATAAAACAGAGGAAGTATGCGTTAGACAGTTAAAAGCTATTGCAAATAAGATTAAATCAGCTGATGAATGGAAACGAGTAGTCGTAGCATATGAACCAGTTTGGGCTATTGGAACAGGTAAAGTTGCTACACCACAACAAGCTCAAGAAGTTCATAATTTCCTTCGTAAATGGTTTAAAACGAATGCACCAAATGGAGTTGATGAAAAAATACGTATTATCTATGGTGGATCTGTAACTGCTGCCAATTGTAAAGAATTAGCTCAACAACATGATGTCGATGGATTTTTGGTTGGTGGAGCTTCATTAAAACCGGAATTCACTGAGATATGTAAAGCCAGACAACGT\textbf{TGA}ACGTTTTGTTGGTCTTCTTCTTCTTACGCTTCTAAATTTTGTCTCTTCTCATGTCAGTTACTTGCTTTTTTTGTCTTGTTTTTTTGTTTTGACAACCAAAGCATATTATAATTAGTAGTATCTTAATGTCTAATGTAAAAAAAAATATCACCACTAGTTCGAACTATTTAATTACTATCAGTCAAAAAAATAATATTTGTCAATTTAGTTCATTGTTTCATTTATCGTCCCTTCTATTTAAATTTCTTATGGCCTAAATATACCTTGAATTAATAAAAAAAAAAAA}

上次尝试导致 Latex 连字符乱码,而使用 textttt 则完全不会破坏文本。此外,我无法使文本加粗。谢谢阅读。

答案1

这个seqsplit包就是为此而设的。在示例中,我使用了 Bera Mono 字体,因为默认的等宽字体没有粗体版本。

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{beramono}
\usepackage{seqsplit}

\begin{document}

\noindent\texttt{\seqsplit{%
  TAATAATCATATAGATTCCGTTCACCAAGGAA{\textbf{ATG}}TCTGGATCTCGCAAATTTTTTGTT%
  GGGGGGAACTGGAAAATGAACGGAAGCAGAGATGACAACGATAAGTTACTTAAGTTACTCTCAGAAGCTC%
  ATTTTGATGATAACACGGAAGTTTTAATTGCTCCACCTTCAGTCTTTTTGCACGAAATTCGAAAAAGTTT%
  GAAGAAAGAAATACACGTGGCCGCTCAAAATTGCTATAAAGTATCAAAGGGTGCATTCACCGGAGAAATC%
  AGCCCAGCAATGATAAGAGATATTGGTTGTGATTGGGTCATACTTGGACATTCTGAGCGTAGAAACATTT%
  TTGGTGAATCTGATGAACTTATTGCTGAAAAAGTTCAACATGCACTTGCTGAAGGTCTAAGCGTTATTGC%
  ATGTATTGGTGAAACATTATCAGAGCGTGAATCTAATAAAACAGAGGAAGTATGCGTTAGACAGTTAAAA%
  GCTATTGCAAATAAGATTAAATCAGCTGATGAATGGAAACGAGTAGTCGTAGCATATGAACCAGTTTGGG%
  CTATTGGAACAGGTAAAGTTGCTACACCACAACAAGCTCAAGAAGTTCATAATTTCCTTCGTAAATGGTT%
  TAAAACGAATGCACCAAATGGAGTTGATGAAAAAATACGTATTATCTATGGTGGATCTGTAACTGCTGCC%
  AATTGTAAAGAATTAGCTCAACAACATGATGTCGATGGATTTTTGGTTGGTGGAGCTTCATTAAAACCGG%
  AATTCACTGAGATATGTAAAGCCAGACAACGT\textbf{TGA}ACGTTTTGTTGGTCTTCTTCTTCTTA%
  CGCTTCTAAATTTTGTCTCTTCTCATGTCAGTTACTTGCTTTTTTTGTCTTGTTTTTTTGTTTTGACAAC%
  CAAAGCATATTATAATTAGTAGTATCTTAATGTCTAATGTAAAAAAAAATATCACCACTAGTTCGAACTA%
  TTTAATTACTATCAGTCAAAAAAATAATATTTGTCAATTTAGTTCATTGTTTCATTTATCGTCCCTTCTA%
  TTTAAATTTCTTATGGCCTAAATATACCTTGAATTAATAAAAAAAAAAAA}}

\end{document}

在此处输入图片描述

我会改变的定义\seqsplit

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{beramono}
\usepackage{seqsplit}

\makeatletter
\renewcommand{\seqsplit}[2][\seqsplitdefaultfont]{%
  \begingroup
  #1% should be a font selection command
  \SQSPL@scan#2\SQSPL@end
  \endgroup
}
\makeatother
\newcommand{\seqsplitdefaultfont}{\ttfamily}% or whatever you prefer as default

\begin{document}

\noindent
\seqsplit{%
  TAATAATCATATAGATTCCGTTCACCAAGGAA{\textbf{ATG}}TCTGGATCTCGCAAATTTTTTGTT%
...

TTTAATTACTATCAGTCAAAAAAATAATATTTGTCAATTTAGTTCATTGTTTCATTTATCGTCCCTTCTA% TTTAAATTTCTTATGGCCTAAATATACCTTGAATTAATAAAAAAAAAAAA}

\end{document}

例如,可以通过输入以下命令来更改设置:

\seqsplit[\ttfamily\bfseries]{...}

如果在某些情况下您希望整个序列采用等宽粗体。

答案2

这个seqsplit包就是为此而做的。这里有一些可能性的演示(可能与你真正需要的无关)。如果你不知道,你也可以看看这个dnaseq包。我也给出了一个演示

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[showframe]{geometry}%
\usepackage{xcolor}
\usepackage{seqsplit, dnaseq}
\usepackage[default]{sourcecodepro}
% inconsolata
\begin{document}

\vspace*{1cm}
\noindent\seqsplit{\ttfamily%\ttfamily
\bgroup\itshape\bfseries TAA\egroup TAATCATATAGATTCCGTTCACCAAGGAAATGTCTGGATCTCGC{\color{red}AAA\color{black}}TTTTTTGTTGGGGGGAACTGGAAAATGAACGGAAGCAGAGATGACAACGATAAGTTACTTAAGTTACTCTCAGAAGCTCATTTTGATGATAACACGGAAGTTTTAATTGCTCCACCTTCAGTCTTTTTGCACGAAATTCGAAAAAGTTTGAAGAAAGAAATACACGTGGCCGCTCAAAATTGCTATAAAGTATCAAAGGGTGCATTCACCGGAGAAATCAGCCCAGCAATGATAAGAGATATTGGTTGTGATTGGGTCATACTTGGACATTCTGAGCGTAGAAACATTTTTGGTGAATCTGATGAACTTATTGCTGAAAAAGTTCAACATGCACTTGCTGAAGGTCTAAGCGTTATTGCATGTATTGGTGAAACATTATCAGAGCGTGAATCTAATAAAACAGAGGAAGTATGCGTTAGACAGTTAAAAGCTATTGCAAATAAGATTAAATCAGCTGATGAATGGAAACGAGTAGTCGTAGCATATGAACCAGTTTGGGCTATTGGAACAGGTAAAGTTGCTACACCACAACAAGCTCAAGAAGTTCATAATTTCCTTCGTAAATGGTTTAAAACGAATGCACCAAATGGAGTTGATGAAAAAATACGTATTATCTATGGTGGATCTGTAACTGCTGCCAATTGTAAAGAATTAGCTCAACAACATGATGTCGATGGATTTTTGGTTGGTGGAGCTTCATTAAAACCGGAATTCACTGAGATATGTAAAGCCAGACAACGT\textbf{TGA}ACGTTTTGTTGGTCTTCTTCTTCTTACGCTTCTAAATTTTGTCTCTTCTCATGTCAGTTACTTGCTTTTTTTGTCTTGTTTTTTTGTTTTGACAACCAAAGCATATTATAATTAGTAGTATCTTAATGTCTAATGTAAAAAAAAATATCACCACTAGTTCGAACTATTTAATTACTATCAGTCAAAAAAATAATATTTGTCAATTTAGTTCATTGTTTCATTTATCGTCCCTTCTATTTAAATTTCTTATGGCCTAAATATACCTTGAATTAATAAAAAAAAAAAA}

\vspace*{1cm}
\DNA ! TAATCATATAGATTCCGTTCACCAAGGAAATGTCTGGATCTCGC'{red}AAA'{white}TTTTTTGTTGGGGGGAACTGGAAAATGAACGGAAGCAGAGATGACAACGATAAGTTACTTAAGTTACTCTCAGAAGCTCATTTTGATGATAACACGGAAGTTTTAATTGCTCCACCTTCAGTCTTTTTGCACGAAATTCGAAAAAGTTTGAAGAAAGAAATACACGTGGCCGCTCAAAATTGCTATAAAGTATCAAAGGGTGCATTCACCGGAGAAATCAGCCCAGCAATGATAAGAGATATTGGTTGTGATTGGGTCATACTTGGACATTCTGAGCGTAGAAACATTTTTGGTGAATCTGATGAACTTATTGCTGAAAAAGTTCAACATGCACTTGCTGAAGGTCTAAGCGTTATTGCATGTATTGGTGAAACATTATCAGAGCGTGAATCTAATAAAACAGAGGAAGTATGCGTTAGACAGTTAAAAGCTATTGCAAATAAGATTAAATCAGCTGATGAATGGAAACGAGTAGTCGTAGCATATGAACCAGTTTGGGCTATTGGAACAGGTAAAGTTGCTACACCACAACAAGCTCAAGAAGTTCATAATTTCCTTCGTAAATGGTTTAAAACGAATGCACCAAATGGAGTTGATGAAAAAATACGTATTATCTATGGTGGATCTGTAACTGCTGCCAATTGTAAAGAATTAGCTCAACAACATGATGTCGATGGATTTTTGGTTGGTGGAGCTTCATTAAAACCGGAATTCACTGAGATATGTAAAGCCAGACAACGTTGAACGTTTTGTTGGTCTTCTTCTTCTTACGCTTCTAAATTTTGTCTCTTCTCATGTCAGTTACTTGCTTTTTTTGTCTTGTTTTTTTGTTTTGACAACCAAAGCATATTATAATTAGTAGTATCTTAATGTCTAATGTAAAAAAAAATATCACCACTAGTTCGAACTATTTAATTACTATCAGTCAAAAAAATAATATTTGTCAATTTAGTTCATTGTTTCATTTATCGTCCCTTCTATTTAAATTTCTTATGGCCTAAATATACCTTGAATTAATAAAAAAAAAAAA
! 

\end{document} 

在此处输入图片描述

相关内容