在 tex 文件中呈现纯文本结果的最佳方法是什么?

在 tex 文件中呈现纯文本结果的最佳方法是什么?

我有一些纯文本结果,想将其包含到我的学士论文中。输出如下所示:

蛋白质:无名称 长度:611 N 端:OUT 跨膜数
螺旋:3 跨膜螺旋:518-537 546-563 578-602

模型总熵:17.0163 最佳路径熵:
17.0176

最佳路径:

     序列 KDAPDIDCHA INSEQENCEQ VQLQQPGAEL VKPGASVKLS CKASGYTFTS 50
     预测 OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO

     序列 DWIHWVKQRP GHGLEWIGEI IPSYGRANYN EKIQKKATLT ADKSSSTAFM 100
     预测 OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO

     序列 QLSSLTSEDS AVYYCARERG DGYFAVWGAG TTVTVSSAKT TPPSVYPLAP 150
     预测 OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO

     序列 GSAAQTNSMV TLGCLVKGYF PEPVTVTWNS GSLSSGVHTF PAVLQSDLYT 200
     预测 OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO

     序列 LSSSVTVPSS SWPSETVTCN VAHPASSTKV DKKIVPRDKD PDIDCHAINS 250
     预测 OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO

     序列 EQENCEDILL TQSPAILSVS PGERVSFSCR ASQSIGTDIH WYQQRTNGSP 300
     预测 OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO

     序列 RLLIKYASES ISGIPSRFSG SGSGTDFTLS INSVESEDIA NYYCQQSNRW 350
     预测 OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO

     序列 PFTFGSGTKL EIKRADAAPT VSIFPPSSEQ LTSGGASVVC FLNNFYPKDI 400
     预测 OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO

     序列 NVKWKIDGSE RQNGVLNSWT DQDSKDSTYS MSSTLTLTKD EYERHNSYTC 450
     预测 OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO

     序列 EATHKTSTSP IVKSFNRNKD CPDIDCHAIN SEQENCEMAP MLSGLLARLV 500
     预测 OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO OOOOOOOOOO

     序列 KLLLGRHGSA LHWRAAGAAT VLLVIVLLAG SYLAVLAERG APGAQLITYP 550
     pred OOoooooooo oooooooHHH HHHHHHHHHH HHHHHHHiii iiiiiHHHHH

     序列 RALWWSVETA TTVGYGDLYP VTLWGRCVAV VVMVAGITSF GLVTAALATW 600
     预计 HHHHHHHHHH HHHooooooo ooooooooHHH HHHHHHHHHH HHHHHHHHHHH

     序列 FVGREQERRG H 611
     pred HHiiiiiiii i

我只是不想让它看起来像普通文本,因为读者应该立即看到这是不同的东西。我想我可以以某种方式使用lstlistingtheorem包或figure,但是否有解决此类问题的最佳实践?

答案1

尝试verbatimVerbatim环境(第二个需要fancyvrb包裹)。

\documentclass{article}

\begin{document}
  \begin{verbatim}
  This is a large block of preformatted text.
   Line breaks, spaces, etc. will be preserved.
    It is roughly equivalent to the <pre /> HTML tag,
   and you can even write \LaTeX commands directly
  without fearing that they will ever be expanded.
  \end{verbatim}
\end{document}

答案2

另一个选项是使用软件包,这可能符合您的口味,也可能不符合listings。我使用它来将源代码合并到我的文档中。它具有一些您不需要的漂亮功能,例如语法突出显示,但它会获取您的文本,将其偏移到框中,对行进行编号,并使用固定宽度的字体。额外的好处是它可以指向外部文本文件,因此如果您更改结果,则不必剪切并粘贴回文档中。使用相当简单:

\usepackage{listings}

\lstinputlisting[frame=single]{../whatever.txt}

更多信息可以在这里找到:维基百科

希望你觉得这个有用。

编辑:我还应该注意,如果您的输出跨越多页,这个包非常有用。

答案3

这是一个可能引起兴趣的温和选择:

在此处输入图片描述

\documentclass{article}
\usepackage{etoolbox,xstring}% http://ctan.org/pkg/{etoolbox,xstring}
\newcommand{\seqname}{\normalfont seq}\newcommand{\predname}{\normalfont pred}
\newcounter{seqcount}%
\newlength{\seqpredsep}\setlength{\seqpredsep}{\jot}
\newenvironment{predseq}[1]
  {\setcounter{seqcount}{0}%
   \tabular{l*{#1}{@{\hspace*{.5\tabcolsep}}l}r}}% \begin{predseq}{<num>}
  {\\[-\seqpredsep]\endtabular}% \end{predseq}
\newcommand{\seq}[1]{% \seq{..,..,..,...}
  \gdef\do##1{%
    \StrLen{##1}[\tmpcount]% capture sequence length
    \addtocounter{seqcount}{\tmpcount}% increase sequence counter
    & ##1}%
  \seqname\hspace*{\tabcolsep} \docsvlist{#1} & \theseqcount \\%
}
\newcommand{\pred}[1]{% \pred{..,..,..,...}
  \gdef\do##1{& ##1}%
  \predname\hspace*{\tabcolsep} \docsvlist{#1} \\[\seqpredsep]%
}
\begin{document}
\small\ttfamily
\begin{predseq}{5}
  \seq{KDAPDIDCHA,INSEQENCEQ,VQLQQPGAEL,VKPGASVKLS,CKASGYTFTS}
  \pred{OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO}
  \seq{DWIHWVKQRP,GHGLEWIGEI,IPSYGRANYN,EKIQKKATLT,ADKSSSTAFM}
  \pred{OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO}
  \seq{QLSSLTSEDS,AVYYCARERG,DGYFAVWGAG,TTVTVSSAKT,TPPSVYPLAP}
  \pred{OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO}
  \seq{GSAAQTNSMV,TLGCLVKGYF,PEPVTVTWNS,GSLSSGVHTF,PAVLQSDLYT}
  \pred{OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO}
  \seq{LSSSVTVPSS,SWPSETVTCN,VAHPASSTKV,DKKIVPRDKD,PDIDCHAINS}
  \pred{OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO}
  \seq{EQENCEDILL,TQSPAILSVS,PGERVSFSCR,ASQSIGTDIH,WYQQRTNGSP}
  \pred{OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO}
  \seq{RLLIKYASES,ISGIPSRFSG,SGSGTDFTLS,INSVESEDIA,NYYCQQSNRW}
  \pred{OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO}
  \seq{PFTFGSGTKL,EIKRADAAPT,VSIFPPSSEQ,LTSGGASVVC,FLNNFYPKDI}
  \pred{OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO}
  \seq{NVKWKIDGSE,RQNGVLNSWT,DQDSKDSTYS,MSSTLTLTKD,EYERHNSYTC}
  \pred{OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO}
  \seq{EATHKTSTSP,IVKSFNRNKD,CPDIDCHAIN,SEQENCEMAP,MLSGLLARLV}
  \pred{OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO,OOOOOOOOOO}
  \seq{KLLLGRHGSA,LHWRAAGAAT,VLLVIVLLAG,SYLAVLAERG,APGAQLITYP}
  \pred{OOoooooooo,oooooooHHH,HHHHHHHHHH,HHHHHHHiii,iiiiiHHHHH}
  \seq{RALWWSVETA,TTVGYGDLYP,VTLWGRCVAV,VVMVAGITSF,GLVTAALATW}
  \pred{HHHHHHHHHH,HHHooooooo,oooooooHHH,HHHHHHHHHH,HHHHHHHHHH}
  \seq{FVGREQERRG,H,{},{},{}}
  \pred{HHiiiiiiii,i,{},{},{}}
\end{predseq}
\end{document}

它用etoolbox用于列表管理和xstring用于字符串计算(或枚举)。

相关内容