%作者:李清 %链接:https://www.zhihu.com/question/51062435/answer/124466547 %来源:知乎 %著作权归作者所有,转载请联系作者获得授权。 \documentclass{article} \usepackage{xparse} \usepackage{marvosym} \usepackage{environ} \ExplSyntaxOn \makeatletter %% 可选参数 #1 指定行宽 \NewEnviron { dnaseq } [1] [ \linewidth ] { \exp_args:Nno \@@_dna_seq:nn {#1} { \BODY } } \cs_new_protected_nopar:Npn \@@_dna_seq:nn #1#2 { \vbox:n { \scriptsize \ttfamily \offinterlineskip \skip_set:Nn \lineskip { 2pt } \hbox_set:Nn \l_tmpa_box { T } \dim_set:Nn \l_tmpa_dim { \box_wd:N \l_tmpa_box } \int_set:Nn \l_@@_line_int { \dim_ratio:nn {#1} { \l_tmpa_dim } - 5 } \dim_set:Nn \linewidth { \l_@@_line_int \l_tmpa_dim } \dim_set:Nn \l_tmpa_dim { ( \box_ht:N \l_tmpa_box + \lineskip ) / 2 } \hbox_set:Nn \l_@@_lmark_box { \smash { \box_move_down:nn { \l_tmpa_dim } { \hbox_overlap_left:n { \LeftTorque \, } } } } \hbox_set:Nn \l_@@_rmark_box { \smash { \box_move_down:nn { \l_tmpa_dim } { \hbox_overlap_right:n { \, \RightTorque } } } } \@@_dna_seq:n {#2} } } \int_new:N \l_@@_line_int \box_new:N \l_@@_lmark_box \box_new:N \l_@@_rmark_box \cs_new_protected_nopar:Npn \@@_dna_seq:n #1 { \int_zero:N \l_tmpa_int \@@_normal:w #1 \q_recursion_tail \q_recursion_stop } \cs_new_protected_nopar:Npn \@@_normal:w { \tex_hbox:D \c_group_begin_token \@@_normal_line:w } \cs_new_protected_nopar:Npn \@@_normal_line:w #1 { \quark_if_recursion_tail_stop_do:Nn #1 { \c_group_end_token } #1 \int_incr:N \l_tmpa_int \int_compare:nNnTF \l_tmpa_int < \l_@@_line_int { \@@_normal_line:w } { \@@_normal_line_stop:w } } \cs_new_protected_nopar:Npn \@@_normal_line_stop:w #1 { \quark_if_recursion_tail_stop_do:Nn #1 { \c_group_end_token } \box_use:N \l_@@_rmark_box \c_group_end_token \@@_reverse:w #1 } \cs_new_protected_nopar:Npn \@@_reverse:w { \tex_hbox:D \c_group_begin_token \@@_reverse_line:w \q_mark } \cs_new_protected_nopar:Npn \@@_reverse_line:w #1 \q_mark #2 { \quark_if_recursion_tail_stop_do:Nn #2 { \@@_reverse_stop:n {#1} } \int_incr:N \l_tmpa_int \int_compare:nNnTF \l_tmpa_int < \l_@@_line_int { \@@_reverse_line:w } { \@@_reverse_line_stop:w } #2#1 \q_mark } \cs_new_protected_nopar:Npn \@@_reverse_line_stop:w #1 \q_mark #2 { \quark_if_recursion_tail_stop_do:Nn #2 { \@@_reverse_stop:n {#1} } \box_use:N \l_@@_lmark_box #1 \c_group_end_token \@@_normal:w #2 } \cs_new_protected_nopar:Npn \@@_reverse_stop:n #1 { \hbox_to_wd:nn { \linewidth } { \tex_hfil:D #1 } \c_group_end_token } \makeatother \ExplSyntaxOff \begin{document} \begin{dnaseq} CCGTCAGGATTGACACCCTCCCAATTGTATGTTTTCATGCCTCCAAATCTTGGAGGCTTTTTTATGGTTCGT TCTTATTACCCTTCTGAATGTCACGCTGATTATTTTGACTTTGAGCGTATCGAGGCTCTTAAACCTGCTATT GAGGCTTGTGGCATTTCTACTCTTTCTCAATCCCCAATGCTTGGCTTCCATAAGCAGATGGATAACCGCATC AAGCTCTTGGAAGAGATTCTGTCTTTTCGTATGCAGCCCGTTGAGTTCGATAATGGTGATATGTATGTTGAC GGCCATAAGGCTGCTTCTGACGTTCGTGATGAGTTTGTATCTGTTACTGAGAAGTTAATGGATGAATTGGCA CAATGCTACAATGTGCTCCCCCAACTTGATATTAATAACACTATAGACCACCGCCCCGAAGGGGACGAAAAA TGGTTTTTAGAGAACGAGAAGACGGTTACGCAGTTTTGCCGCAAGCTGGCTGCTGAACGCCCTCTTAAGGAT ATTCGCGATGAGTATAATAACCCCAAAAAGAAAGGTATTAAGGATGAGTGTTCAAGATTGCTGGAGGCCTCC ACTAAGATATCGCGTAGAGGCTTTGCTATTCAGCGTTTGATGAATGCAATGCGACAGGCTCATGCTGATGGT TGGTTTATCGTTTTTGACACTCTCACGTTGGCTGACGACCGATTAGAGGCGTTTTATGATAATCCCAATGCT TTGCGTGACTATTTTCGTGATATTGGTCGTATGGTTCTTGCTGCCGAGGGTCGCAAGGCTAATGATTCACAC GCCGACTCCTATCAGTATTTTTGTGTGCCTGAGTATGGTACAGCTAATGGCCGTCTTCATTTCCATGCGGTG CACTTTATGCGGACACTTCCTACAGGTAGCGTTGACCCTAATTTTGGTCGTCGGATACGCAATCGCCGCCAG TTAAATAGCTTGCAAAATACGTGGCCTTATGGTTACAGTATGCCCATCCCAGTTCGCTACACGCAGGACGCT TTTTCACCTTCTGGTTGGTTGTGGCCTGTTGATGCTAAAGGTGAGCCGCTTAAAGCTACCAGTTATATGGCT GTTGGTTTCTATGTGCCTAAATACGTTAACAAAAAGTCAGATATGGACCTTGCTGCTAAAGGTCTAGGAGCT AAAGAATGGAACAACTCACTAAAAACCAAGCTGTCGCTACTTCCCAAGAAGCTGTTCAGAATCAGAATGAGC CGCAACTTCGGGATGAAAATGCTCACAATGACAAATCTGTCCACGGAGTGCTTAATCCAACTTACCAAGCTG GGTTACGACGCGACGCCGTTCAACCAGATATTGAAGCAGAACGCAAAAAGAGAGATGAGATTGAGGCTGGGA AAAGTTACTGTAGCCGACGTTTTGGCGGCGCAACCTGTGACGACAAATCTGCTCAAATTTATGCGCGCTTCG ATAAAAATGATTGGCGTATCCAACCTGCAGAGTTTTATCGCTTCCATGACGCAGAAGTTAACACTTTCGGAT ATTTCTGATGAGTCGAAAAATTATCTTGATAAAGCAGGAATTACTACTGCTTGTTTACGAATTAAATCGAAG TGGACTGCTGGCGGAAAATGAGAAAATTCGACCTATCCTTGCGCAGCTCGAGAAGCTCTTACTTTGCGACCT TTCGCCATCAACTAACGATTCTGTCAAAAACTGACGCGTTGGATGAGGAGAAGTGGCTTAATATGCTTGGCA CGTTCGTCAAGGACTGGTTTAGATATGAGTCACATTTTGTTCATGGTAGAGATTCTCTTGTTGACATTTTAA AAGAGCGTGGATTACTATCTGAGTCCGATGCTGTTCAACCACTAATAGGTAAGAAATCATGAGTCAAGTTAC CGAACAATCCGTACGTTTCCAGACCGCTTTGGCCTCTATTAAGCTCATTCAGGGTTCTGCCGTTTTGGATTT AACCGAAGATGATTTCGATTTTCTGACGAGTAACAAAGTTTGGATTGCTACTGACCGCTCTCGTGCTCGTCG CTGCGTTGAGGCTTGCGTTTATGGTACGCTGGACTTTGTAGGATACCCTCGCTTTCCTGCTCCTGTTGAGTT TATTGCTGCCGTCATTGCTTATTATGTTCATCCCGTCAACATTCAAACGGCCTGTCTCATCATGGAAGGCGC TGAATTTACGGAAAACATTATTAATGGCGTCGAGCGTCCGGTTAAAGCCGCTGAATTGTTCGCGTTTACCTT GCGTGTACGCGCAGGAAACACTGACGTTCTTACTGACGCAGAAGAAAACGTGCGTCAAAAATTACGTGCGGA AGGAGTGATGTAATGTCTAAAGGTAAAAAACGTTCTGGCGCTCGCCCTGGTCGTCCGCAGCCGTTGCGAGGT ACTAAAGGCAAGCGTAAAGGCGCTCGTCTTTGGTATGTAGGTGGTCAACAATTTTAATTGCAGGGGCTTCGG CCCCTTACTTGAGGATAAATTATGTCTAATATTCAAACTGGCGCCGAGCGTATGCCGCATGACCTTTCCCAT CTTGGCTTCCTTGCTGGTCAGATTGGTCGTCTTATTACCATTTCAACTACTCCGGTTATCGCTGGCGACTCC TTCGAGATGGACGCCGTTGGCGCTCTCCGTCTTTCTCCATTGCGTCGTGGCCTTGCTATTGACTCTACTGTA GACATTTTTACTTTTTATGTCCCTCATCGTCACGTTTATGGTGAACAGTGGATTAAGTTCATGAAGGATGGT GTTAATGCCACTCCTCTCCCGACTGTTAACACTACTGGTTATATTGACCATGCCGCTTTTCTTGGCACGATT AACCCTGATACCAATAAAATCCCTAAGCATTTGTTTCAGGGTTATTTGAATATCTATAACAACTATTTTAAA GCGCCGTGGATGCCTGACCGTACCGAGGCTAACCCTAATGAGCTTAATCAAGATGATGCTCGTTATGGTTTC CGTTGCTGCCATCTCAAAAACATTTGGACTGCTCCGCTTCCTCCTGAGACTGAGCTTTCTCGCCAAATGACG ACTTCTACCACATCTATTGACATTATGGGTCTGCAAGCTGCTTATGCTAATTTGCATACTGACCAAGAACGT GATTACTTCATGCAGCGTTACCATGATGTTATTTCTTCATTTGGAGGTAAAACCTCATATGACGCTGACAAC CGTCCTTTACTTGTCATGCGCTCTAATCTCTGGGCATCTGGCTATGATGTTGATGGAACTGACCAAACGTCG TTAGGCCAGTTTTCTGGTCGTGTTCAACAGACCTATAAACATTCTGTGCCGCGTTTCTTTGTTCCTGAGCAT GGCACTATGTTTACTCTTGCGCTTGTTCGTTTTCCGCCTACTGCGACTAAAGAGATTCAGTACCTTAACGCT AAAGGTGCTTTGACTTATACCGATATTGCTGGCGACCCTGTTTTGTATGGCAACTTGCCGCCGCGTGAAATT TCTATGAAGGATGTTTTCCGTTCTGGTGATTCGTCTAAGAAGTTTAAGATTGCTGAGGGTCAGTGGTATCGT TATGCGCCTTCGTATGTTTCTCCTGCTTATCACCTTCTTGAAGGCTTCCCATTCATTCAGGAACCGCCTTCT GGTGATTTGCAAGAACGCGTACTTATTCGCAACCATGATTATGACCAGTGTTTCAGTCGTTCAGTTGTTGCA GTGGATAGTCTTACCTCATGTGACGTTTATCGCAATCTGCCGACCACTCGCGATTCAATCATGACTTCGTGA TAAAAGATTGAGTGTGAGGTTATAACCGAAGCGGTAAAAATTTTAATTTTTGCCGCTGAGGGGTTGACCAAG CGAAGCGCGGTAGGTTTTCTGCTTAGGAGTTTAATCATGTTTCAGACTTTTATTTCTCGCCACAATTCAAAC TTTTTTTCTGATAAGCTGGTTCTCACTTCTGTTACTCCAGCTTCTTCGGCACCTGTTTTACAGACACCTAAA GCTACATCGTCAACGTTATATTTTGATAGTTTGACGGTTAATGCTGGTAATGGTGGTTTTCTTCATTGCATT CAGATGGATACATCTGTCAACGCCGCTAATCAGGTTGTTTCAGTTGGTGCTGATATTGCTTTTGATGCCGAC CCTAAATTTTTTGCCTGTTTGGTTCGCTTTGAGTCTTCTTCGGTTCCGACTACCCTCCCGACTGCCTATGAT GTTTATCCTTTGGATGGTCGCCATGATGGTGGTTATTATACCGTCAAGGACTGTGTGACTATTGACGTCCTT CCCCGTACGCCCGGCAATAACGTCTACGTTGGTTTCATGGTTTGGTCTAACTTTACCGCTACTAAATGCCGC GGATTGGTTTCGCTGAATCAGGTTATTAAAGAGATTATTTGTCTCCAGCCACTTAAGTGAGGTGATTTATGT TTGGTGCTATTGCTGGCGGTATTGCTTCTGCTCTTGCTGGTGGCGCCATGTCTAAATTGTTTGGAGGCGGTC AAAAAGCCGCCTCCGGTGGCATTCAAGGTGATGTGCTTGCTACCGATAACAATACTGTAGGCATGGGTGATG CTGGTATTAAATCTGCCATTCAAGGCTCTAATGTTCCTAACCCTGATGAGGCCGCCCCTAGTTTTGTTTCTG GTGCTATGGCTAAAGCTGGTAAAGGACTTCTTGAAGGTACGTTGCAGGCTGGCACTTCTGCCGTTTCTGATA AGTTGCTTGATTTGGTTGGACTTGGTGGCAAGTCTGCCGCTGATAAAGGAAAGGATACTCGTGATTATCTTG CTGCTGCATTTCCTGAGCTTAATGCTTGGGAGCGTGCTGGTGCTGATGCTTCCTCTGCTGGTATGGTTGACG CCGGATTTGAGAATCAAAAAGAGCTTACTAAAATGCAACTGGACAATCAGAAAGAGATTGCCGAGATGCAAA ATGAGACTCAAAAAGAGATTGCTGCCATTCAGTCGGCGACTTCACGCCAGAATACGAAAGACCAGGTATATG CACAAAATGAGATGCTTGCTTATCAACAGAAGGAGTCTACTGCTCGCGTTGCGTCTATTATGGAAAACACCA ATCTTTCCAAGCAACAGCAGGTTTCCGAGATTATGCGCCAAATGCTTACTCAAGCTCAAACGGCTGGTCAGT ATTTTACCAATGACCAAATCAAAGAAATGACTCGCAAGGTTAGTGCTGAGGTTGACTTAGTTCATCAGCAAA CGCAGAATCAGCGGTATGGCTCTTCTCATATTGGCGCTACTGCAAAGGATATTTCTAATGTCGTCACTGATG CTGCTTCTGGTGTGGTTGATATTTTTCATGGTATTGATAAAGCTGTTGCCGATACTTGGAACAATTTCTGGA AAGACGGTAAAGCTGATGGTATTGGCTCTAATTTGTCTAGGAAATAA \end{dnaseq} \end{document}
发表评论 取消回复