summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-08-12 16:14:22 +0000
committerKarl Berry <karl@freefriends.org>2006-08-12 16:14:22 +0000
commitdabbfe2e772f87cead086c07c264a5c6524cc13e (patch)
tree4bf2d947d03587e11445be58881f27ab3ab734ad
parentcbcc07d7f45d448a51a7bd37225bdc276318f101 (diff)
new latex package seqsplit
git-svn-id: svn://tug.org/texlive/trunk@1938 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/seqsplit/README18
-rw-r--r--Master/texmf-dist/doc/latex/seqsplit/seqsplit.pdfbin0 -> 127960 bytes
-rw-r--r--Master/texmf-dist/source/latex/seqsplit/Makefile47
-rw-r--r--Master/texmf-dist/source/latex/seqsplit/seqsplit.dtx424
-rw-r--r--Master/texmf-dist/source/latex/seqsplit/seqsplit.ins29
-rw-r--r--Master/texmf-dist/tex/latex/seqsplit/seqsplit.sty41
-rw-r--r--Master/texmf-dist/tpm/seqsplit.tpm30
-rw-r--r--Master/texmf/lists/seqsplit9
-rw-r--r--Master/texmf/tpm/collection-latexextra.tpm1
9 files changed, 599 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/seqsplit/README b/Master/texmf-dist/doc/latex/seqsplit/README
new file mode 100644
index 00000000000..1a1939c648c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/seqsplit/README
@@ -0,0 +1,18 @@
+ Splitting Long Sequences of Letters (DNA, RNA, Proteins, Etc.)
+ Boris Veytsman
+ Version 0.1, August 7, 2006
+
+Sometimes one needs to typeset long sentences of letters, which should
+not have spaces between them (like letters in words), but could be
+split between lines at any point, often without a hyphenation
+character. This problem was formulated at the PracticalTeX-2006
+conference by Klaus Hoeppner. In the general discussion several
+solutions were suggested. This package implements the one belonging
+to, I believe, Peter Flynn.
+
+
+Copyright 2006, Boris Veytsman <borisv@lk.net>
+
+This work may be distributed and/or modified under the conditions of
+the LaTeX Project Public License, either version 1.3 of this license
+or (at your option) any later version.
diff --git a/Master/texmf-dist/doc/latex/seqsplit/seqsplit.pdf b/Master/texmf-dist/doc/latex/seqsplit/seqsplit.pdf
new file mode 100644
index 00000000000..014a11d0d75
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/seqsplit/seqsplit.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/seqsplit/Makefile b/Master/texmf-dist/source/latex/seqsplit/Makefile
new file mode 100644
index 00000000000..b98979e03f0
--- /dev/null
+++ b/Master/texmf-dist/source/latex/seqsplit/Makefile
@@ -0,0 +1,47 @@
+#
+# Makefile for seqsplit package
+#
+# This file is in public domain
+#
+# $Id: Makefile,v 1.1 2006/08/07 22:00:19 boris Exp $
+#
+
+PACKAGE=seqsplit
+
+all: $(PACKAGE).pdf
+
+
+%.pdf: %.dtx $(PACKAGE).sty
+ pdflatex $<
+ - bibtex $*
+ pdflatex $<
+ - makeindex -s gind.ist -o $*.ind $*.idx
+ - makeindex -s gglo.ist -o $*.gls $*.glo
+ pdflatex $<
+ while ( grep -q '^LaTeX Warning: Label(s) may have changed' $*.log) \
+ do pdflatex $<; done
+
+
+%.sty: %.ins %.dtx
+ pdflatex $<
+
+
+
+.PRECIOUS: $(PACKAGE).cfg $(PACKAGE).sty
+
+
+clean:
+ $(RM) $(PACKAGE).sty $(PACKAGE).log $(PACKAGE).aux \
+ $(PACKAGE).cfg $(PACKAGE).glo $(PACKAGE).idx $(PACKAGE).toc \
+ $(PACKAGE).ilg $(PACKAGE).ind $(PACKAGE).out $(PACKAGE).lof \
+ $(PACKAGE).lot $(PACKAGE).bbl $(PACKAGE).blg $(PACKAGE).gls \
+ $(PACKAGE).dvi $(PACKAGE).ps
+
+veryclean: clean
+ $(RM) $(PACKAGE).pdf
+
+#
+# Archive for the distribution. Includes typeset documentation
+#
+archive: all clean
+ tar -czvf $(PACKAGE).tgz --exclude '*~' --exclude '*.tgz' --exclude CVS .
diff --git a/Master/texmf-dist/source/latex/seqsplit/seqsplit.dtx b/Master/texmf-dist/source/latex/seqsplit/seqsplit.dtx
new file mode 100644
index 00000000000..7c5b6874db4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/seqsplit/seqsplit.dtx
@@ -0,0 +1,424 @@
+% \iffalse
+%<*gobble>
+% $Id: seqsplit.dtx,v 1.3 2006/08/08 00:02:08 boris Exp $
+%
+% Copyright 2006, Boris Veytsman <borisv@lk.net>
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3 of this license or (at your option) any
+% later version.
+% The latest version of the license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of
+% LaTeX version 2003/06/01 or later.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Boris Veytsman
+%
+% This work consists of the file seqsplit.dtx and the
+% derived files seqsplit.sty, seqsplit.dtx.
+%
+% \fi
+% \CheckSum{50}
+%
+% \changes{v0.1}{2006/08/07}{The first released version}
+%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%
+%\iffalse
+% \begin{macrocode}
+\documentclass{ltxdoc}
+\usepackage{array}
+\usepackage{url}
+\usepackage{seqsplit}
+\DoNotIndex{\NeedsTeXFormat, \ProvidesPackage, \def, \hspace}
+\DoNotIndex{\futurelet, \@gobble, \ifx, \else, \fi, \relax}
+\DoNotIndex{\ifmmode, \fi, \allowbreak}
+\PageIndex
+\CodelineIndex
+\RecordChanges
+\EnableCrossrefs
+\begin{document}
+ \DocInput{seqsplit.dtx}
+\end{document}
+% \end{macrocode}
+%</gobble>
+% \fi
+% \MakeShortVerb{|}
+%
+%\GetFileInfo{seqsplit.sty}
+% \title{Splitting Long Sequences of Letters (DNA, RNA, Proteins,
+% Etc.)\thanks{\copyright Boris Veytsman, 2006}}
+% \author{Boris Veytsman}
+% \date{\filedate, \fileversion}
+% \maketitle
+%
+% \begin{abstract}
+% Sometimes one needs to typeset long sentences of letters, which
+% should not have spaces between them (like letters in words), but
+% could be split between lines at any point, and without a
+% hyphenation character. This package provides a command for such
+% sequences.
+% \end{abstract}
+%
+% \tableofcontents
+%
+% \clearpage
+%
+%\section{Introduction}
+%\label{sec:intro}
+%
+% At a recent Practical\TeX{} conference (Practical\TeX-2006, Rutgers,
+% New Jersey, USA, \url{http://www.tug.org/practicaltex2006}) Klaus
+% H\"oppner asked, how one typesets long sequences like the ones
+% related to DNA code. Usually there is no space between letters, but
+% a sequence could be split at any point and continued on the next
+% line. The audience suggested several solutions to this problem.
+% One solution, for example, was to define a new language, where
+% hyphenation is possible at any point, and hyphenation character is
+% empty. However, this would require regeneration of all \TeX{}
+% formats, which might be not practical or even not possible. Another
+% solution, suggested, if my memory is right, by Peter Flynn, was to
+% scan the sequence and insert a breaking point after each letter.
+% This later approach is implemented in this package.
+%
+%
+%
+%\section{User Interface}
+%\label{sec:interface}
+%
+%
+%\subsection{Main Command}
+%\label{sec:command}
+%
+% \DescribeMacro{\seqsplit}
+% The main (and actually the only) command in this package is
+% |\seqsplit|. Its usage is very simple, for example to typeset the
+% gene HBB, related to sickle cell anaemia (actually, the
+% corresponding mRNA Reference Sequence), we use the following:
+% \begin{verbatim}
+% \seqsplit{%
+% acatttgcttctgacacaactgtgttcactagcaacctcaaacagacaccatggtgcatc%
+% tgactcctgaggagaagtctgccgttactgccctgtggggcaaggtgaacgtggatgaag%
+% ttggtggtgaggccctgggcaggctgctggtggtctacccttggacccagaggttctttg%
+% agtcctttggggatctgtccactcctgatgctgttatgggcaaccctaaggtgaaggctc%
+% atggcaagaaagtgctcggtgcctttagtgatggcctggctcacctggacaacctcaagg%
+% gcacctttgccacactgagtgagctgcactgtgacaagctgcacgtggatcctgagaact%
+% tcaggctcctgggcaacgtgctggtctgtgtgctggcccatcactttggcaaagaattca%
+% ccccaccagtgcaggctgcctatcagaaagtggtggctggtgtggctaatgccctggccc%
+% acaagtatcactaagctcgctttcttgctgtccaatttctattaaaggttcctttgttcc%
+% ctaagtccaactactaaactgggggatattatgaagggccttgagcatctggattctgcc%
+% taataaaaaacatttattttcattgc}.
+% \end{verbatim}
+% which produces
+% \begin{quote}
+% \seqsplit{%
+% acatttgcttctgacacaactgtgttcactagcaacctcaaacagacaccatggtgcatc%
+% tgactcctgaggagaagtctgccgttactgccctgtggggcaaggtgaacgtggatgaag%
+% ttggtggtgaggccctgggcaggctgctggtggtctacccttggacccagaggttctttg%
+% agtcctttggggatctgtccactcctgatgctgttatgggcaaccctaaggtgaaggctc%
+% atggcaagaaagtgctcggtgcctttagtgatggcctggctcacctggacaacctcaagg%
+% gcacctttgccacactgagtgagctgcactgtgacaagctgcacgtggatcctgagaact%
+% tcaggctcctgggcaacgtgctggtctgtgtgctggcccatcactttggcaaagaattca%
+% ccccaccagtgcaggctgcctatcagaaagtggtggctggtgtggctaatgccctggccc%
+% acaagtatcactaagctcgctttcttgctgtccaatttctattaaaggttcctttgttcc%
+% ctaagtccaactactaaactgggggatattatgaagggccttgagcatctggattctgcc%
+% taataaaaaacatttattttcattgc}.
+% \end{quote}
+% Note that the breaking points in the code (commented out by \%) have
+% nothing to do with the breaking points in the typeset sequence and
+% are introduced only for readability of the code.
+%
+% The corresponding protein sequence ($\beta$-globulin) is shorter:
+% \begin{verbatim}
+% \seqsplit{%
+% mvhltpeeksavtalwgkvnvdevggealgrllvvypwtqrffesfgdlstpdavmgnpk%
+% vkahgkkvlgafsdglahldnlkgtfatlselhcdklhvdpenfrllgnvlvcvlahhfg%
+% keftppvqaayqkvvagvanalahkyh}.
+% \end{verbatim}
+% \begin{quote}
+% \seqsplit{%
+% mvhltpeeksavtalwgkvnvdevggealgrllvvypwtqrffesfgdlstpdavmgnpk%
+% vkahgkkvlgafsdglahldnlkgtfatlselhcdklhvdpenfrllgnvlvcvlahhfg%
+% keftppvqaayqkvvagvanalahkyh}.
+% \end{quote}
+%
+% The command works in math mode as well:
+% \begin{verbatim}
+% $\pi = \seqsplit{%
+% 3.
+% 1415926535 8979323846 2643383279 5028841971 6939937510
+% 5820974944 5923078164 0628620899 8628034825 3421170679
+% 8214808651 3282306647 0938446095 5058223172 5359408128
+% 4811174502 8410270193 8521105559 6446229489 5493038196
+% 4428810975 6659334461 2847564823 3786783165 2712019091
+% 4564856692 3460348610 4543266482 1339360726 0249141273
+% 7245870066 0631558817 4881520920 9628292540 9171536436
+% 7892590360 0113305305 4882046652 1384146951 9415116094
+% 3305727036 5759591953 0921861173 8193261179 3105118548
+% 0744623799 6274956735 1885752724 8912279381 8301194912
+% 9833673362 4406566430 8602139494 6395224737 1907021798
+% 6094370277 0539217176 2931767523 8467481846 7669405132
+% 0005681271 4526356082 7785771342 7577896091 7363717872
+% 1468440901 2249534301 4654958537 1050792279 6892589235}
+% \ldots$
+% \end{verbatim}
+% \begin{quote}
+% $\pi = \seqsplit{%
+% 3.
+% 1415926535 8979323846 2643383279 5028841971 6939937510
+% 5820974944 5923078164 0628620899 8628034825 3421170679
+% 8214808651 3282306647 0938446095 5058223172 5359408128
+% 4811174502 8410270193 8521105559 6446229489 5493038196
+% 4428810975 6659334461 2847564823 3786783165 2712019091
+% 4564856692 3460348610 4543266482 1339360726 0249141273
+% 7245870066 0631558817 4881520920 9628292540 9171536436
+% 7892590360 0113305305 4882046652 1384146951 9415116094
+% 3305727036 5759591953 0921861173 8193261179 3105118548
+% 0744623799 6274956735 1885752724 8912279381 8301194912
+% 9833673362 4406566430 8602139494 6395224737 1907021798
+% 6094370277 0539217176 2931767523 8467481846 7669405132
+% 0005681271 4526356082 7785771342 7577896091 7363717872
+% 1468440901 2249534301 4654958537 1050792279 6892589235}
+% \ldots$
+% \end{quote}
+%
+%\subsection{Customization}
+%\label{sec:customization}
+%
+% \DescribeMacro{\seqinsert} The command |\seqsplit| can be customized
+% by redefining the command |\seqinsert|, which is the macro that is
+% inserted between the letters of the sequence. By default it is
+% defined as |\allowbreak| in math mode and |\hspace{0pt plus 0.02em}|
+% in text mode: a slightly stretchable glue of zero length. This
+% definition gives \TeX{} a chance to justify the lines. However,
+% there might be other definitions. For example, if we want hyphens
+% at the breakpoints in text mode, we can use:
+% \begin{quote}
+% |\renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi}|
+% \end{quote}
+% which produces for the $\beta$-globulin protein from the previous
+% section the following:
+% \begin{quote}
+% \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi}
+% \seqsplit{%
+% mvhltpeeksavtalwgkvnvdevggealgrllvvypwtqrffesfgdlstpdavmgnpk%
+% vkahgkkvlgafsdglahldnlkgtfatlselhcdklhvdpenfrllgnvlvcvlahhfg%
+% keftppvqaayqkvvagvanalahkyh}.
+% \end{quote}
+% Another redefinition,
+% \begin{quote}
+% |\renewcommand{\seqinsert}{\ifmmode\allowbreak\else{} \fi}|,
+% \end{quote}
+% produces an output with spaces between letters. Note that there is
+% no space between the last letter and the dot: the package takes care
+% of this:
+% \begin{quote}
+% \renewcommand{\seqinsert}{\ifmmode\allowbreak\else{} \fi}
+% \seqsplit{%
+% mvhltpeeksavtalwgkvnvdevggealgrllvvypwtqrffesfgdlstpdavmgnpk%
+% vkahgkkvlgafsdglahldnlkgtfatlselhcdklhvdpenfrllgnvlvcvlahhfg%
+% keftppvqaayqkvvagvanalahkyh}.
+% \end{quote}
+%
+%
+%
+%\subsection{Grouping and Commands}
+%\label{sec:grouping}
+%
+% The command |\seqsplit| does not insert breakpoints between the
+% letters inside braces |{...}|. Compare the typesetting of
+% $\beta$-globulin in Section~\ref{sec:command} and the following
+% example:
+% \begin{verbatim}
+% \seqsplit{%
+% mvhltpeeksavtalwgkvnvdevggealgrllvvypwtqrffesfgdlstpdavmgnpk%
+% v{kahg}kkvlgafsdglahldnlkgtfatlselhcdklhvdpenfrllgnvlvcvlahhfg%
+% keftppvqaayqkvvagvanalahkyh}.
+% \end{verbatim}
+% \begin{quote}
+% \seqsplit{%
+% mvhltpeeksavtalwgkvnvdevggealgrllvvypwtqrffesfgdlstpdavmgnpk%
+% v{kahg}kkvlgafsdglahldnlkgtfatlselhcdklhvdpenfrllgnvlvcvlahhfg%
+% keftppvqaayqkvvagvanalahkyh}.
+% \end{quote}
+% The braces around |{kahg}| prevented a splitting of this group.
+% This effect can be used for typesetting special substrings inside
+% sequences.
+%
+% The way |\seqsplit| works interferes with formatting commands like
+% |\textit|. Therefore the sequence |{kahg}| is \emph{not} italicized
+% in the following example:
+% \begin{verbatim}
+% \seqsplit{%
+% mvhltpeeksavtalwgkvnvdevggealgrllvvypwtqrffesfgdlstpdavmgnpk%
+% v\textit{kahg}kkvlgafsdglahldnlkgtfatlselhcdklhvdpenfrllgnvl%
+% vcvlahhfgkeftppvqaayqkvvagvanalahkyh}.
+% \end{verbatim}
+% \begin{quote}
+% \seqsplit{%
+% mvhltpeeksavtalwgkvnvdevggealgrllvvypwtqrffesfgdlstpdavmgnpk%
+% v\textit{kahg}kkvlgafsdglahldnlkgtfatlselhcdklhvdpenfrllgnvl%
+% vcvlahhfgkeftppvqaayqkvvagvanalahkyh}.
+% \end{quote}
+%
+% Using grouping |{\textit{kahg}}| we can save the situation:
+% \begin{verbatim}
+% \seqsplit{%
+% mvhltpeeksavtalwgkvnvdevggealgrllvvypwtqrffesfgdlstpdavmgnpk%
+% v{\textit{kahg}}kkvlgafsdglahldnlkgtfatlselhcdklhvdpenfrllgnvl%
+% vcvlahhfgkeftppvqaayqkvvagvanalahkyh}.
+% \end{verbatim}
+% \begin{quote}
+% \seqsplit{%
+% mvhltpeeksavtalwgkvnvdevggealgrllvvypwtqrffesfgdlstpdavmgnpk%
+% v{\textit{kahg}}kkvlgafsdglahldnlkgtfatlselhcdklhvdpenfrllgnvl%
+% vcvlahhfgkeftppvqaayqkvvagvanalahkyh}.
+% \end{quote}
+%
+% If we want the italicized sequence to be splittable as well, we can
+% use \emph{nested} |\seqsplit|:
+% \begin{verbatim}
+% \seqsplit{%
+% mvhltpeeksavtalwgkvnvdevggealgrllvvypwtqrffesfgdlstpdavmgnpk%
+% v{\textit{\seqsplit{kahg}}}kkvlgafsdglahldnlkgtfatlselhcdklhvdpenfrllgnvl%
+% vcvlahhfgkeftppvqaayqkvvagvanalahkyh}.
+% \end{verbatim}
+% \begin{quote}
+% \seqsplit{%
+% mvhltpeeksavtalwgkvnvdevggealgrllvvypwtqrffesfgdlstpdavmgnpk%
+% v{\textit{\seqsplit{kahg}}}kkvlgafsdglahldnlkgtfatlselhcdklhvdpenfrllgnvl%
+% vcvlahhfgkeftppvqaayqkvvagvanalahkyh}.
+% \end{quote}
+%
+% These tricks allow one to produce splittable sequences with a rather
+% complex formatting.
+%
+%
+%\StopEventually{}
+%
+% \clearpage
+%
+% \section{Implementation}
+% \label{sec:implementation}
+%
+%
+%\subsection{Declarations}
+%\label{sec:decl}
+%
+% We start with declaration, who we are:
+%
+%
+% \begin{macrocode}
+%<*style>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{seqsplit}
+[2006/08/07 v0.1 Splitting long sequences (DNA, RNA, proteins, etc.) ]
+% \end{macrocode}
+%
+%
+%
+%
+%\subsection{Inserted Text}
+%\label{sec:insertion}
+%
+%
+% \begin{macro}{\seqinsert}
+% This is the macro we insert between letters:
+% \begin{macrocode}
+\def\seqinsert{\ifmmode\allowbreak\else\hspace{0pt plus 0.02em}\fi}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%\subsection{Scanner}
+%\label{sec:scanner}
+%
+% The scanner code is not too trivial. Here we describe it in detail.
+%
+% \begin{macro}{\seqsplit}
+% The main (actually, the only) user-space macro just starts the
+% scanner.
+% \begin{macrocode}
+\def\seqsplit#1{\SQSPL@scan#1\SQSPL@end}
+% \end{macrocode}
+% \end{macro}
+%
+% The macro |\SQSPL@end| is never expanded, it is just a marker.
+% \begin{macro}{\SQSPL@scan}
+% The macro |\SQSPL@scan| saves the next token in the special
+% register |\SQSPL@next|, so we can decide what to do with it:
+% \begin{macrocode}
+\def\SQSPL@scan{\futurelet\SQSPL@next\SQSPL@scani}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\SQSPL@scani}
+% Now since we know the next token, we can decide to either stop the
+% expansion if we met the end, or continue it if we did not.
+% \begin{macrocode}
+\def\SQSPL@scani#1{%
+ \ifx \SQSPL@end \SQSPL@next \def\SQSPL@process{\@gobble}%
+ \else \def\SQSPL@process{\SQSPL@doprocess}\fi%
+ \SQSPL@process{#1}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\SQSPL@doprocess}
+% The processing of a letter depends on what is the next letter. If
+% the sequence is finished, we should not insert anything after the
+% last letter: we do not want to break the line between the sequence
+% and, say, a comma. Therefore we insert a special smart macro:
+% \begin{macrocode}
+\def\SQSPL@doprocess#1{#1\SQSPL@insert}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\SQSPL@insert}
+% The macro |\SQSPL@insert| uses |\futurelet| to check whether the
+% processed letter is the last one in the sentence:
+% \begin{macrocode}
+\def\SQSPL@insert{\futurelet\SQSPL@next\SQSPL@doinsert}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\SQSPL@doinsert}
+% And this is the macro that inserts |\seqinsert| and continues
+% scanning:
+% \begin{macrocode}
+\def\SQSPL@doinsert{%
+ \ifx \SQSPL@end \SQSPL@next \relax%
+ \else \seqinsert \fi%
+ \SQSPL@scan}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%\subsection{The Last Words}
+%\label{sec:last}
+%
+%
+%
+% \begin{macrocode}
+%</style>
+% \end{macrocode}
+%\Finale
+%\clearpage
+%
+%\PrintChanges
+%\clearpage
+%\PrintIndex
+%
+\endinput
diff --git a/Master/texmf-dist/source/latex/seqsplit/seqsplit.ins b/Master/texmf-dist/source/latex/seqsplit/seqsplit.ins
new file mode 100644
index 00000000000..bd453b4fcc8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/seqsplit/seqsplit.ins
@@ -0,0 +1,29 @@
+%
+% Doctrip file for seqsplit
+% This file is in public domain
+% $Id: seqsplit.ins,v 1.1 2006/08/07 22:00:19 boris Exp $
+%
+\def\batchfile{seqsplit.ins}
+\input docstrip
+\keepsilent
+\showprogress
+
+
+\askforoverwritefalse
+
+\generate{%
+ \file{seqsplit.sty}{\from{seqsplit.dtx}{style}}}
+
+\obeyspaces
+\Msg{*****************************************************}%
+\Msg{* Congratulations! You successfully generated the *}%
+\Msg{* seqsplit package. *}%
+\Msg{* *}%
+\Msg{* Please move the file seqsplit.sty the place where *}%
+\Msg{* LaTeX files are kept in your system. The manual *}%
+\Msg{* for the package is in the file seqsplit.pdf. *}%
+\Msg{* *}%
+\Msg{* The package is released under LPPL *}%
+\Msg{* *}%
+\Msg{* Happy TeXing! *}%
+\Msg{*****************************************************}% \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/seqsplit/seqsplit.sty b/Master/texmf-dist/tex/latex/seqsplit/seqsplit.sty
new file mode 100644
index 00000000000..995f640068d
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/seqsplit/seqsplit.sty
@@ -0,0 +1,41 @@
+%%
+%% This is file `seqsplit.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% seqsplit.dtx (with options: `style')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from seqsplit.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file seqsplit.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{seqsplit}
+[2006/08/07 v0.1 Splitting long sequences (DNA, RNA, proteins, etc.) ]
+\def\seqinsert{\ifmmode\allowbreak\else\hspace{0pt plus 0.02em}\fi}
+\def\seqsplit#1{\SQSPL@scan#1\SQSPL@end}
+\def\SQSPL@scan{\futurelet\SQSPL@next\SQSPL@scani}
+\def\SQSPL@scani#1{%
+ \ifx \SQSPL@end \SQSPL@next \def\SQSPL@process{\@gobble}%
+ \else \def\SQSPL@process{\SQSPL@doprocess}\fi%
+ \SQSPL@process{#1}}
+\def\SQSPL@doprocess#1{#1\SQSPL@insert}
+\def\SQSPL@insert{\futurelet\SQSPL@next\SQSPL@doinsert}
+\def\SQSPL@doinsert{%
+ \ifx \SQSPL@end \SQSPL@next \relax%
+ \else \seqinsert \fi%
+ \SQSPL@scan}
+\endinput
+%%
+%% End of file `seqsplit.sty'.
diff --git a/Master/texmf-dist/tpm/seqsplit.tpm b/Master/texmf-dist/tpm/seqsplit.tpm
new file mode 100644
index 00000000000..6269e751ce6
--- /dev/null
+++ b/Master/texmf-dist/tpm/seqsplit.tpm
@@ -0,0 +1,30 @@
+<!DOCTYPE rdf:RDF SYSTEM "../../support/tpm.dtd">
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:TPM="http://texlive.dante.de/">
+ <rdf:Description about="http://texlive.dante.de/texlive/Package/seqsplit.zip">
+ <TPM:Name>seqsplit</TPM:Name>
+ <TPM:Type>Package</TPM:Type>
+ <TPM:Date>2006/08/07 23:02:00</TPM:Date>
+ <TPM:Version></TPM:Version>
+ <TPM:Creator>karl</TPM:Creator>
+ <TPM:Title>The seqsplit package.</TPM:Title>
+ <TPM:Description></TPM:Description>
+ <TPM:Author></TPM:Author>
+ <TPM:Size>147029</TPM:Size>
+ <TPM:Build/>
+ <TPM:RunFiles size="2421">
+texmf-dist/tex/latex/seqsplit/seqsplit.sty
+texmf-dist/tpm/seqsplit.tpm
+ </TPM:RunFiles>
+ <TPM:DocFiles size="128740">
+texmf-dist/doc/latex/seqsplit/README
+texmf-dist/doc/latex/seqsplit/seqsplit.pdf
+ </TPM:DocFiles>
+ <TPM:SourceFiles size="16943">
+texmf-dist/source/latex/seqsplit/Makefile
+texmf-dist/source/latex/seqsplit/seqsplit.dtx
+texmf-dist/source/latex/seqsplit/seqsplit.ins
+ </TPM:SourceFiles>
+ <TPM:Provides>Package/seqsplit</TPM:Provides>
+ </rdf:Description>
+</rdf:RDF>
+
diff --git a/Master/texmf/lists/seqsplit b/Master/texmf/lists/seqsplit
new file mode 100644
index 00000000000..440e40316f5
--- /dev/null
+++ b/Master/texmf/lists/seqsplit
@@ -0,0 +1,9 @@
+texmf-dist/doc/latex/seqsplit/README
+texmf-dist/doc/latex/seqsplit/seqsplit.pdf
+texmf-dist/source/latex/seqsplit/Makefile
+texmf-dist/source/latex/seqsplit/seqsplit.dtx
+texmf-dist/source/latex/seqsplit/seqsplit.ins
+texmf-dist/tex/latex/seqsplit/seqsplit.sty
+texmf-dist/tpm/seqsplit.tpm
+
+texmf/lists/seqsplit
diff --git a/Master/texmf/tpm/collection-latexextra.tpm b/Master/texmf/tpm/collection-latexextra.tpm
index 39289e07385..5670622afcc 100644
--- a/Master/texmf/tpm/collection-latexextra.tpm
+++ b/Master/texmf/tpm/collection-latexextra.tpm
@@ -407,6 +407,7 @@ A large collection of add-on packages for LaTeX.
<TPM:Package name="sectsty"/>
<TPM:Package name="semantic"/>
<TPM:Package name="semioneside"/>
+ <TPM:Package name="seqsplit"/>
<TPM:Package name="sf298"/>
<TPM:Package name="sffms"/>
<TPM:Package name="shadbox"/>