diff options
author | Karl Berry <karl@freefriends.org> | 2010-10-12 00:14:10 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-10-12 00:14:10 +0000 |
commit | d514da93f0c807683bc53dab573bc0900c64b3c9 (patch) | |
tree | bffd4d97992ba34a75243ff7e521653a20d3db70 /Master/texmf-dist | |
parent | 789dbe837b7d397424aa86d0c0439fdb2d5a9703 (diff) |
texshade (11oct10)
git-svn-id: svn://tug.org/texlive/trunk@20065 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/texshade/README | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/texshade/texshade.pdf | bin | 692481 -> 760478 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/texshade/texshade.dtx | 320 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/texshade/texshade.sty | 256 |
4 files changed, 509 insertions, 69 deletions
diff --git a/Master/texmf-dist/doc/latex/texshade/README b/Master/texmf-dist/doc/latex/texshade/README index 6cb21a49fb5..4bfb071ff50 100644 --- a/Master/texmf-dist/doc/latex/texshade/README +++ b/Master/texmf-dist/doc/latex/texshade/README @@ -1,4 +1,4 @@ - TeXshade v1.21 + TeXshade v1.22 >> >> A LaTeX package for setting nucleotide and peptide alignments. >> diff --git a/Master/texmf-dist/doc/latex/texshade/texshade.pdf b/Master/texmf-dist/doc/latex/texshade/texshade.pdf Binary files differindex 78bc44f0b78..fe59789d182 100644 --- a/Master/texmf-dist/doc/latex/texshade/texshade.pdf +++ b/Master/texmf-dist/doc/latex/texshade/texshade.pdf diff --git a/Master/texmf-dist/source/latex/texshade/texshade.dtx b/Master/texmf-dist/source/latex/texshade/texshade.dtx index c5098fdb54b..bcfd2b97ea3 100644 --- a/Master/texmf-dist/source/latex/texshade/texshade.dtx +++ b/Master/texmf-dist/source/latex/texshade/texshade.dtx @@ -10,7 +10,7 @@ % `README.txt' for further information! % % -% Copyright (C) 1999-2009 Eric Beitz +% Copyright (C) 1999-2010 Eric Beitz % See the file texshade.txt % % \fi @@ -372,6 +372,15 @@ % `lowerregion' and `lowerblock'. % } % +% \changes{1.22}{2010-10-11}{% +% Corrections: minor bug fixes. +% Introduction: `defshadingcolors' defines and names sets of shading +% colors for later re-use within the alignment; +% `changeshadingcolors' allows one to use different sets +% of shading colors in different sequence blocks. +% } +% +% % % \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 @@ -410,7 +419,7 @@ % for further information, updates and on-line documentation % see my homepage at % \texttt{www.pharmazie.uni-kiel.de/chem/Prof\_Beitz/biotex.html} }} -% \date{\small v1.21; 2010/03/01\\[2pt]} +% \date{\small v1.22; 2010/10/11\\[2pt]} % \maketitle % \begin{abstract} % Setting alignments of nucleotides and peptides for publication @@ -489,6 +498,16 @@ % % \subsection{Version History} % +% \textbf{v1.22 2010/10/11} +% \medskip +% +% \emph{Introductions:} +% Sets of shading colors can be defined and named using +% |\defshadingcolors| (p.\ \pageref{Ldefshadingcolors}) and different +% sets of colors can be selected for different sequence blocks by +% |\changeshadingcolors| (\ref{Lchangeshadingcolors}). +% \medskip +% % \textbf{v1.21 2010/03/01} % \medskip % @@ -511,7 +530,6 @@ % line. % \medskip % -% \newpage % % \textbf{v1.20 2009/10/05} % \medskip @@ -2325,7 +2343,7 @@ % % \item |\shadingmode[|\meta{allmatchspecial/number}|]{identical}| % -% There is not much to explain here (see \ref{ident}). Use the +% See \ref{ident} for examples. Use the % option |allmatchspecial| to shade positions with a special color % where all residues are identical. Or use a percentage number % (0--100) as an option to set an additional threshold for highly @@ -2396,6 +2414,11 @@ % Note the double curly braces which make \TeXshade{} % interpret this complex symbol description as one single % character. +% +% Once a set of shading colors is redefined, it can be saved using +% |\defshadingcolors{|\meta{name}|}|\label{Ldefshadingcolors} for +% later use in the document (see \ref{shaderegion}). +% % \bigskip % % @@ -3593,6 +3616,25 @@ % \medskip % % +% Another option is to change the whole set of shading colors for certain +% sequence blocks, e.\,g.\ from |blues| to |reds| or self-defined color sets (see \ref{Lshadingmode}). +% Therefore, the following command was implemented: +% \medskip +% +% \quad |\changeshadingcolors{|\meta{seqref}|}{|\meta{selection}|}{|\meta{name}|}| +% \medskip \label{Lchangeshadingcolors} +% +% Examples: +% \medskip +% +% \quad |\changeshadingcolors{1}{10..50}{reds}| +% \medskip +% +% \quad |\changeshadingcolors{AQP1}{[AS]NKD}{my_set}| +% \medskip +% +% etc. +% % \subsubsection{Emphasizing, tinting, lowercasing, and framing} % % \label{Lemphregion}\label{Lemphblock} @@ -4119,8 +4161,12 @@ % % See section \ref{colors} for how to select colors in \TeX{}shade. % -% Font styles can be set as usual, e.\,g.\ |\setsize{featurenames}{large}| or -% |\featurestylenamesrm| etc. (see section \ref{Lsetfamily}). +% Font styles can be set as usual (see section \ref{Lsetfamily}), e.\,g.\ +% \medskip +% +% |\setsize{featurenames}{large}| or |\featurestylenamesrm| etc. +% \medskip +% % % % Examples for the appearance of features are given in the @@ -5594,6 +5640,8 @@ % \quad|\conservedresidues{|\meta{res.col.}|}{|\meta{shad.col.}|}{|\meta{case}|}{|\meta{style}|}| % % \quad|\allmatchresidues{|\meta{res.col.}|}{|\meta{shad.col.}|}{|\meta{case}|}{|\meta{style}|}| +% +% \quad|\defshadingcolors{|\meta{name}|}| % \newpage % % \quad|\funcshadingstyle{|\meta{residue}|}{|\meta{res.col.}|}{|\meta{shad.color}|}| @@ -5975,8 +6023,8 @@ % \quad|\shadeblock{|\meta{seqref}|}{|\meta{selection}|}{|\meta{res.col.}|}{|\meta{shad.col.}|}| % \hfill[\pageref{Lshadeblock}] % -% \quad|\shadeblock{|\meta{seqref}|}{|\meta{selection}|}{|\meta{res.col.}|}{|\meta{shad.col.}|}| -% \hfill[\pageref{Lshadeblock}] +% \quad|\changeshadingcolors{|\meta{seqref}|}{|\meta{selection}|}{|\meta{name}|}| +% \hfill[\pageref{Lchangeshadingcolors}] % % \quad|\emphregion{|\meta{seqref}|}{|\meta{selection}|}| % \hfill[\pageref{Lemphregion}] @@ -6378,8 +6426,8 @@ % \begin{macrocode} %<*texshade> \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{texshade}[2010/03/01 LaTeX TeXshade (v1.21)] -\message{Package `texshade', Version 1.21 of 2010/03/01.} +\ProvidesPackage{texshade}[2010/10/11 LaTeX TeXshade (v1.22)] +\message{Package `texshade', Version 1.22 of 2010/10/11.} \PassOptionsToPackage{dvips}{color} \PassOptionsToPackage{dvips}{graphicx} @@ -6479,6 +6527,7 @@ \newif\ifall@fshade \newif\ifregionalemph \newif\ifregionallower \newif\ifframe@ \newif\ifregionaltint +\newif\ifshading@ \newif\ifshow@logo \newif\ifshow@sublogo \newif\ifhidechar \newif\ifsh@wg@ps \newif\ifsimmode @@ -6495,6 +6544,7 @@ \newif\ifbbbottomfeaturenow \newif\ifbbbbottomfeaturenow \newif\ifframenow +\newif\ifshadingnow \newif\iffix@ \expandafter\ifx\csname mdqon\endcsname\relax @@ -6506,7 +6556,7 @@ \def\gre@ter{>} \def\sm@ller{<} \def\N@{N} \def\equ@l{=} \def\H@{H} \def\gap@char{.} \def\dom@char{{\dom@rule}} \def\yes{yes} \def\y@{y} \def\n@{n} \def\o@{o} \def\d@t{.} \def\questi@n{?} \def\st@p@char{*} \def\semic@n{;} -\def\br@cket{[} +\def\br@cket{[} \def\p@r@gr@ph{¤} \def\@TOM{ATOM} \def\C@lpha{CA} \def\@point@{point} \def\@line@{line} \def\@plane@{plane} \def\gap@rule{\rule[0.3\box@height]{\box@width}{\gap@rulethick}} \def\dom@rule{\vrule depth\box@depth height\box@height width\domgap@rulethick} @@ -8671,6 +8721,8 @@ \csname stack@@lowerreg#1\endcsname} \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{% \csname stack@@framereg#1\endcsname} + \expandafter\xdef\csname stack@shadingreg\the\loopcount\endcsname{% + \csname stack@@shadingreg#1\endcsname} \expandafter\xdef\csname stack@top\the\loopcount\endcsname{% \csname stack@@top#1\endcsname} \expandafter\xdef\csname stack@ttop\the\loopcount\endcsname{% @@ -8724,6 +8776,8 @@ \csname stack@lowerreg\the\loopcount\endcsname} \expandafter\xdef\csname stack@@framereg\the\loopcount\endcsname{% \csname stack@framereg\the\loopcount\endcsname} + \expandafter\xdef\csname stack@@shadingreg\the\loopcount\endcsname{% + \csname stack@shadingreg\the\loopcount\endcsname} \expandafter\xdef\csname stack@@top\the\loopcount\endcsname{% \csname stack@top\the\loopcount\endcsname} \expandafter\xdef\csname stack@@ttop\the\loopcount\endcsname{% @@ -9013,6 +9067,8 @@ \csname stack@lowerreg\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{% \csname stack@framereg\the\innerloopcount\endcsname} + \expandafter\xdef\csname stack@shadingreg\the\loopcount\endcsname{% + \csname stack@shadingreg\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@top\the\loopcount\endcsname{% \csname stack@top\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@ttop\the\loopcount\endcsname{% @@ -9425,6 +9481,23 @@ \sort@emphstack \expandafter\xdef\csname stack@framereg\seq@\endcsname{\tmpstack} } +\def\getregion@fromshadingstack#1{% + \xdef\temp@{#1} + \xdef\first@{\csname stack@shadingreg\temp@\endcsname} + \expandafter\get@fromemphstack\first@ + \expandafter\xdef\csname shadingstart\temp@\endcsname{\first@} + \expandafter\xdef\csname shadingstop\temp@\endcsname{\second@} + \expandafter\xdef\csname shadingstyle\temp@\endcsname{\third@} + \expandafter\xdef\csname stack@shadingreg\temp@\endcsname{\last@} +} +\def\get@shadingregions#1..#2,#3@{% + \shading@true + \xdef\st@rt{#1} \xdef\st@p{#2} \xdef\list@{#3} + \xdef\last@{\csname stack@shadingreg\seq@\endcsname} + \xdef\tmpstack{} + \sort@emphstack + \expandafter\xdef\csname stack@shadingreg\seq@\endcsname{\tmpstack} +} \def\getregion@fromfstack#1{% \xdef\temp@{#1} \xdef\first@{\csname stack@\bottop@\temp@\endcsname} @@ -9462,14 +9535,6 @@ \sort@fstack \expandafter\xdef\csname stack@\bottop@\seq@\endcsname{\tmpstack} } -\def\get@frameregions#1..#2,#3@{% - \frame@true - \xdef\st@rt{#1} \xdef\st@p{#2} \xdef\list@{#3} - \xdef\last@{\csname stack@framereg\seq@\endcsname} - \xdef\tmpstack{} - \sort@emphstack - \expandafter\xdef\csname stack@framereg\seq@\endcsname{\tmpstack} -} \def\getarrow@shape#1#2#3#4&{% \xdef\first@@{#1}\xdef\second@@{#2}\xdef\third@@{#3} \if\first@@ v @@ -9617,9 +9682,9 @@ \xdef\temp@{tint} \ifx\temp@\temp@@ \regionaltinttrue - \xdef\last@{\csname stack@tintreg\seq@\endcsname} \message{((last:\last@))} + \xdef\last@{\csname stack@tintreg\seq@\endcsname} \sort@emphstack - \expandafter\xdef\csname stack@tintreg\seq@\endcsname{\tmpstack} \message{((tmp:\tmpstack))} + \expandafter\xdef\csname stack@tintreg\seq@\endcsname{\tmpstack} \else \xdef\temp@{frame} \ifx\temp@\temp@@ @@ -9628,6 +9693,13 @@ \sort@emphstack \expandafter\xdef\csname stack@framereg\seq@\endcsname{\tmpstack} \else + \xdef\temp@{shading} + \ifx\temp@\temp@@ + \shading@true + \xdef\last@{\csname stack@shadingreg\seq@\endcsname} + \sort@emphstack + \expandafter\xdef\csname stack@shadingreg\seq@\endcsname{\tmpstack} + \else \xdef\temp@{ttttop} \ifx\temp@\temp@@ \xdef\last@{\csname stack@ttttop\seq@\endcsname} @@ -9688,10 +9760,15 @@ \fi \fi \fi + \fi \xdef\fifth@@{\m@tif} \expandafter\get@third@\fifth@@ \xdef\nineth@@{n} \fi \else + \ifx\nineth@@\y@ + \xdef\first@@{\second@@\first@@} + \advance\temp@count by -1 + \fi \xdef\nineth@@{n} \xdef\st@p{n} \xdef\fifth@@{\m@tif} \expandafter\get@third@\fifth@@ \fi @@ -9729,6 +9806,10 @@ \csname framestop\the\loopcount\endcsname;% \csname framestyle\the\loopcount\endcsname;% \csname stack@framereg\the\loopcount\endcsname} + \expandafter\xdef\csname stack@shadingreg\the\loopcount\endcsname{\csname shadingstart\the\loopcount\endcsname;% + \csname shadingstop\the\loopcount\endcsname;% + \csname shadingstyle\the\loopcount\endcsname;% + \csname stack@shadingreg\the\loopcount\endcsname} \expandafter\xdef\csname stack@ttttop\the\loopcount\endcsname{\csname textttttop\the\loopcount\endcsname;% \csname startttttop\the\loopcount\endcsname;% \csname stopttttop\the\loopcount\endcsname;% @@ -9791,6 +9872,7 @@ \expandafter\getregion@fromemphstack{\the\loopcount} \expandafter\getregion@fromlowerstack{\the\loopcount} \expandafter\getregion@fromframestack{\the\loopcount} + \expandafter\getregion@fromshadingstack{\the\loopcount} \xdef\bottop@{top} \expandafter\getregion@fromfstack{\the\loopcount} \xdef\bottop@{ttop} \expandafter\getregion@fromfstack{\the\loopcount} \xdef\bottop@{tttop} \expandafter\getregion@fromfstack{\the\loopcount} @@ -9813,6 +9895,8 @@ \ifx\temp@\temp@@ \xdef\style@{0} \fi \xdef\temp@{frame} \ifx\temp@\temp@@ \xdef\style@{0} \fi + \xdef\temp@{shading} + \ifx\temp@\temp@@ \xdef\style@{0} \fi \xdef\temp@{#1#2} \xdef\first@{#1} \ifx\first@\br@cket @@ -11765,6 +11849,28 @@ \fi \fi } +\def\changeshadingcolors#1#2#3{% + \xdef\seq@{#1} + \xdef\temp@{consensus} \ifx\seq@\temp@ \xdef\seq@{0} \fi + \xdef\first@{\seq@ @} \expandafter\check@letter\first@ + \xdef\first@{\seq@} + \ifletter \get@name@number \xdef\seq@{\first@} \fi + \ifnum\seq@>\seq@count + \message{<Ignored seq `\seq@' in \noexpand\changeshadingcolors>} + \else + \xdef\@ll{#3} + \xdef\list@{#2,&} + \xdef\temp@@{shading} \loopcount=0 + \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ + \ifx\list@\ampers@nd + \else + \loop + \xdef\list@{\list@ @} + \expandafter\get@shadingregions\list@ + \ifx\list@\ampers@nd\else\repeat + \fi + \fi +} \def\bargraphstretch#1{\def\b@r@stretch{#1}} \def\colorscalestretch#1{\def\sc@le@stretch{#1}} \def\rm@@measure#1#2@{% @@ -12149,7 +12255,9 @@ \xdef\f@color{\f@@color} \xdef\temp@{#4&} \ifx\temp@\ampers@nd + \xdef\list@{#3,&} \xdef\style@{&} + \def\f@text@{#5} \else \xdef\last@{restriction} \ifx\second@@\last@ @@ -13310,6 +13418,27 @@ \expandafter\xdef\csname funcm@tch\first@\endcsname{#4} \expandafter\def\csname func@style\first@\endcsname{\csname text#5\endcsname} \fi} +\def\defshadingcolors#1{% + \expandafter\xdef\csname TextNomatch@#1\endcsname{\TextNomatch} + \expandafter\xdef\csname Nomatch@#1\endcsname{\Nomatch} + \expandafter\xdef\csname resn@m@tch@#1\endcsname{\resn@m@tch} + + \expandafter\xdef\csname TextSimilar@#1\endcsname{\TextSimilar} + \expandafter\xdef\csname Similar@#1\endcsname{\Similar} + \expandafter\xdef\csname ressimm@tch@#1\endcsname{\ressimm@tch} + + \expandafter\xdef\csname TextIdentical@#1\endcsname{\TextIdentical} + \expandafter\xdef\csname Identical@#1\endcsname{\Identical} + \expandafter\xdef\csname resm@tch@#1\endcsname{\resm@tch} + + \expandafter\xdef\csname TextAllmatch@#1\endcsname{\TextAllmatch} + \expandafter\xdef\csname Allmatch@#1\endcsname{\Allmatch} + \expandafter\xdef\csname res@llm@tch@#1\endcsname{\res@llm@tch} + + \expandafter\xdef\csname gap@fg@#1\endcsname{\gap@fg} + \expandafter\xdef\csname gap@bg@#1\endcsname{\gap@bg} + +} \def\shadingcolors#1{% \gapcolors{Black}{White} \nomatchresidues{Black}{White}{upper}{up} @@ -13335,12 +13464,30 @@ \allmatchresidues{White}{Black}{upper}{sl} \else \xdef\second@{grays} \ifx\first@\second@ - \else \message{<Undefined color set - using `grays'>} \xdef\first@{grays}\fi - \ifx\first@\second@ \similarresidues{Black}{LightGray}{upper}{up} \conservedresidues{White}{DarkGray}{upper}{up} \allmatchresidues{White}{Black}{upper}{up} - \fi\fi\fi\fi\fi} + \else + \xdef\TextNomatch{\csname TextNomatch@#1\endcsname} + \xdef\Nomatch {\csname Nomatch@#1\endcsname} + \xdef\resn@m@tch {\csname resn@m@tch@#1\endcsname} + \xdef\TextSimilar{\csname TextSimilar@#1\endcsname} + \xdef\Similar {\csname Similar@#1\endcsname} + \xdef\ressimm@tch{\csname ressimm@tch@#1\endcsname} + \xdef\TextIdentical{\csname TextIdentical@#1\endcsname} + \xdef\Identical {\csname Identical@#1\endcsname} + \xdef\resm@tch {\csname resm@tch@#1\endcsname} + \xdef\TextAllmatch{\csname TextAllmatch@#1\endcsname} + \xdef\Allmatch {\csname Allmatch@#1\endcsname} + \xdef\res@llm@tch {\csname res@llm@tch@#1\endcsname} + \xdef\gap@fg {\csname gap@fg@#1\endcsname} + \xdef\gap@bg {\csname gap@bg@#1\endcsname} + \xdef\domgap@fg {\csname domgap@fg@#1\endcsname} + \xdef\domgap@bg {\csname domgap@bg@#1\endcsname} + \fi\fi\fi\fi\fi + \xdef\first@{#1} + \expandafter\defshadingcolors{\first@} +} \def\nomatchresidues#1#2#3#4 {\xdef\first@{#1&}\xdef\second@{#2&}\xdef\third@{#3&} \xdef\last@{\ampers@nd} \ifx\first@\last@\else\def\TextNomatch{#1} @@ -15206,6 +15353,48 @@ \ifnum\loopcount<\seq@count \repeat } +\def\getregion@fromshadingstack@first{% + \expandafter\getregion@fromshadingstack{\the\loopcount} + \expandafter\ifx\csname shadingstart\the\loopcount\endcsname\ampers@nd + \else + \expandafter\ifnum\csname shadingstop\the\loopcount\endcsname<\first@@ + \getregion@fromshadingstack@first + \fi + \fi +} + +\def\calc@shading{% + \xdef\shading@style{&} + \loopcount=-1 + \loop + \advance\loopcount by 1 + \ifnum\loopcount=0 \xdef\first@@{\the\cons@count} + \else \xdef\first@@{\csname res@count\the\loopcount\endcsname} \fi + \expandafter\ifx\csname shadingstart\the\loopcount\endcsname\ampers@nd + \else + \expandafter\ifnum\csname shadingstart\the\loopcount\endcsname>\first@@ + \else + \expandafter\ifnum\csname shadingstop\the\loopcount\endcsname<\first@@ + \getregion@fromshadingstack@first + \else + \xdef\shading@style{\csname shadingstyle\the\loopcount\endcsname} + \expandafter\ifnum\csname shadingstop\the\loopcount\endcsname=\first@@ + \expandafter\getregion@fromshadingstack{\the\loopcount} + \fi + \fi + \fi\fi + \ifnum\loopcount<\seq@count \repeat + \loopcount=0 + \loop + \advance\loopcount by 1 + \ifx\shading@style\ampers@nd + \else + \expandafter\xdef\csname seq\the\loopcount\endcsname{% + \csname seq\the\loopcount\endcsname¤\shading@style)} + \fi + \ifnum\loopcount<\seq@count \repeat +} + \def\getregion@fromemphstack@first{% \expandafter\getregion@fromemphstack{\the\loopcount} \expandafter\ifx\csname emphstart\the\loopcount\endcsname\ampers@nd @@ -16940,6 +17129,7 @@ \ifregionalemphnow \calc@regemph \fi \ifregionallowernow \calc@reglower \fi \ifframenow \calc@frame \fi + \ifshadingnow\iffuncmode\else\ifT@coffee\else \calc@shading \fi\fi\fi \iftopfeaturenow \xdef\bottop@{top} \calc@feature \fi \ifttopfeaturenow \xdef\bottop@{ttop} \calc@feature \fi \iftttopfeaturenow \xdef\bottop@{tttop} \calc@feature \fi @@ -17122,6 +17312,16 @@ \fi \fi \fi + \ifshading@ + \expandafter\ifx\csname shadingstart\the\loopcount\endcsname\ampers@nd + \else + \expandafter\ifnum\csname shadingstart\the\loopcount\endcsname>% + \innerloopcount + \else + \shadingnowtrue + \fi + \fi + \fi \iftopfeature \xdef\bottop@{top} \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd @@ -17319,6 +17519,16 @@ \fi \fi \fi + \ifshading@ + \expandafter\ifx\csname shadingstart\the\loopcount\endcsname\ampers@nd + \else + \expandafter\ifnum\csname shadingstart\the\loopcount\endcsname>% + \innerloopcount + \else + \shadingnowtrue + \fi + \fi + \fi \iftopfeature \xdef\bottop@{top} \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd @@ -17660,6 +17870,14 @@ \hbox to \number@width{\hss\numbertext@size{\temp@}\@kern}}\fi% \xdef\first@{#2@}% } +\def\special@shading#1)#2#3#4@{% + \xdef\second@{@\second@#1}% + \xdef\third@{\second@}% + \xdef\first@{#4@}% + \xdef\second@{#3}% + \xdef\last@{#2}% + \def\res@@style{\csname relax\endcsname}% +} \def\special@shade#1)#2#3#4@{% \xdef\second@{\second@#1}% \xdef\boxc@l@r{\csname bgseqregion\second@\endcsname}% @@ -17674,6 +17892,8 @@ \xdef\second@{#2}% \xdef\last@{#1}% \xdef\temp@@{}% + \xdef\third@{}% + \ifx\last@\p@r@gr@ph\expandafter\special@shading\first@\fi% \ifx\last@\ampers@nd\def\last@{0}\expandafter\special@shade\first@% \else% \ifT@coffee% @@ -17692,25 +17912,34 @@ \if\last@ /\def\last@{10}\fi \if\last@ !\def\last@{11}\fi \else% - \ifcase\last@\xdef\boxc@l@r{\Allmatch}\xdef\textc@l@r{\TextAllmatch}% + \ifcase\last@\xdef\boxc@l@r{\csname Allmatch\third@\endcsname}% + \xdef\textc@l@r{\csname TextAllmatch\third@\endcsname}% \def\res@@style{\all@style}% - \or\xdef\boxc@l@r{\Identical}\xdef\textc@l@r{\TextIdentical}% + \or\xdef\boxc@l@r{\csname Identical\third@\endcsname}% + \xdef\textc@l@r{\csname TextIdentical\third@\endcsname}% \def\res@@style{\id@style}% - \or\xdef\boxc@l@r{\Similar}\xdef\textc@l@r{\TextSimilar}% + \or\xdef\boxc@l@r{\csname Similar\third@\endcsname}% + \xdef\textc@l@r{\csname TextSimilar\third@\endcsname}% \def\res@@style{\sim@style}% - \or\xdef\boxc@l@r{\Nomatch}\xdef\textc@l@r{\TextNomatch}% + \or\xdef\boxc@l@r{\csname Nomatch\third@\endcsname}% + \xdef\textc@l@r{\csname TextNomatch\third@\endcsname}% \def\res@@style{\no@style}% - \or\xdef\boxc@l@r{\ConsNomatch}\xdef\textc@l@r{\ConsTextNomatch}% + \or\xdef\boxc@l@r{\csname ConsNomatch\third@\endcsname}% + \xdef\textc@l@r{\csname ConsTextNomatch\third@\endcsname}% \def\res@@style{\csname relax\endcsname}% - \or\xdef\boxc@l@r{\ConsMatch}\xdef\textc@l@r{\ConsTextMatch}% + \or\xdef\boxc@l@r{\csname ConsMatch\third@\endcsname}% + \xdef\textc@l@r{\csnam ConsTextMatch\third@\endcsname}% \def\res@@style{\csname relax\endcsname}% - \or\xdef\boxc@l@r{\ConsAllmatch}\xdef\textc@l@r{\ConsTextAllmatch}% + \or\xdef\boxc@l@r{\csname ConsAllmatch\third@\endcsname}% + \xdef\textc@l@r{\csname ConsTextAllmatch\third@\endcsname}% \def\res@@style{\csname relax\endcsname}% - \or\xdef\boxc@l@r{\gap@bg}\xdef\textc@l@r{\gap@fg}% + \or\xdef\boxc@l@r{\csname gap@bg\third@\endcsname}% + \xdef\textc@l@r{\csname gap@fg\third@\endcsname}% \def\res@@style{\csname relax\endcsname}% \or\xdef\boxc@l@r{White}\xdef\textc@l@r{White}% \def\res@@style{\csname relax\endcsname}% - \else\xdef\boxc@l@r{\domgap@bg}\xdef\textc@l@r{\domgap@fg}% + \else\xdef\boxc@l@r{\csname domgap@bg\endcsname}% + \xdef\textc@l@r{\csname domgap@fg\endcsname}% \def\res@@style{\csname relax\endcsname}% \fi\fi\fi\fi% \ifx\second@\comm@% @@ -17754,6 +17983,8 @@ \fi} \def\next@cons#1#2#3@{% \xdef\last@{#1}% + \xdef\third@{}% + \ifx\last@\p@r@gr@ph\expandafter\special@shading\first@\fi% \ifx\last@\ampers@nd\def\last@{0}\expandafter\special@shade\first@% \else% \ifx\collect@cons@colors\y@% @@ -17806,13 +18037,17 @@ \fi% \fi% \else% - \ifcase#1\xdef\boxc@l@r{\Allmatch}\xdef\textc@l@r{\TextAllmatch}% + \ifcase#1\xdef\boxc@l@r{\csname Allmatch\third@\endcsname}% + \xdef\textc@l@r{\csname TextAllmatch\third@\endcsname}% \def\res@@style{\all@style}% - \or\xdef\boxc@l@r{\Identical}\xdef\textc@l@r{\TextIdentical}% + \or\xdef\boxc@l@r{\csname Identical\third@\endcsname}% + \xdef\textc@l@r{\csname TextIdentical\third@\endcsname}% \def\res@@style{\id@style}% - \or\xdef\boxc@l@r{\Similar}\xdef\textc@l@r{\TextSimilar}% + \or\xdef\boxc@l@r{\csname Similar\third@\endcsname}% + \xdef\textc@l@r{\csname TextSimilar\third@\endcsname}% \def\res@@style{\sim@style}% - \or\xdef\boxc@l@r{\Nomatch}\xdef\textc@l@r{\TextNomatch}% + \or\xdef\boxc@l@r{\csname Nomatch\third@\endcsname}% + \xdef\textc@l@r{\csname TextNomatch\third@\endcsname}% \def\res@@style{\no@style}% \or\xdef\boxc@l@r{\ConsNomatch}\xdef\textc@l@r{\ConsTextNomatch}% \def\res@@style{\csname relax\endcsname}% @@ -20191,6 +20426,7 @@ \expandafter\xdef\csname stack@emphreg\the\loopcount\endcsname{&;&;&;@} \expandafter\xdef\csname stack@lowerreg\the\loopcount\endcsname{&;&;&;@} \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{&;&;&;@} + \expandafter\xdef\csname stack@shadingreg\the\loopcount\endcsname{&;&;&;@} \expandafter\xdef\csname stack@top\the\loopcount\endcsname{&;&;&;&;@} \expandafter\xdef\csname stack@ttop\the\loopcount\endcsname{&;&;&;&;@} \expandafter\xdef\csname stack@tttop\the\loopcount\endcsname{&;&;&;&;@} @@ -20221,6 +20457,7 @@ \expandafter\xdef\csname stack@emphreg\the\loopcount\endcsname{&;&;&;@} \expandafter\xdef\csname stack@lowerreg\the\loopcount\endcsname{&;&;&;@} \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{&;&;&;@} + \expandafter\xdef\csname stack@shadingreg\the\loopcount\endcsname{&;&;&;@} \expandafter\xdef\csname stack@top\the\loopcount\endcsname{&;&;&;&;@} \expandafter\xdef\csname stack@ttop\the\loopcount\endcsname{&;&;&;&;@} \expandafter\xdef\csname stack@tttop\the\loopcount\endcsname{&;&;&;&;@} @@ -20270,6 +20507,7 @@ \expandafter\getregion@fromemphstack{\the\loopcount} \expandafter\getregion@fromlowerstack{\the\loopcount} \expandafter\getregion@fromframestack{\the\loopcount} + \expandafter\getregion@fromshadingstack{\the\loopcount} \xdef\bottop@{top} \expandafter\getregion@fromfstack{\the\loopcount} \xdef\bottop@{ttop} \expandafter\getregion@fromfstack{\the\loopcount} \xdef\bottop@{tttop} \expandafter\getregion@fromfstack{\the\loopcount} @@ -20321,6 +20559,7 @@ \expandafter\getregion@fromemphstack{\the\loopcount} \expandafter\getregion@fromlowerstack{\the\loopcount} \expandafter\getregion@fromframestack{\the\loopcount} + \expandafter\getregion@fromshadingstack{\the\loopcount} \xdef\bottop@{top} \expandafter\getregion@fromfstack{\the\loopcount} \xdef\bottop@{ttop} \expandafter\getregion@fromfstack{\the\loopcount} \xdef\bottop@{tttop} \expandafter\getregion@fromfstack{\the\loopcount} @@ -20543,6 +20782,11 @@ \xdef\prfx{DNA}\clear@groups\clear@sims \clearfuncgroups \clear@simpairs +\shadingcolors{blues} +\shadingcolors{reds} +\shadingcolors{greens} +\shadingcolors{grays} +\shadingcolors{black} \loopcount=\@lign@count \advance\loopcount by 1\relax \xdef\@lign@count{\the\loopcount} @@ -20552,7 +20796,7 @@ \expandafter\xdef\csname res@count0\endcsname{0} \xdef\allow@zero{n} \xdef\c@ns@shift{0} \regionalshadefalse\regionalemphfalse\regionallowerfalse\regionaltintfalse -\frame@false +\frame@false\shading@false \xdef\ruler@rot{0} \topfeaturefalse \bottomfeaturefalse \ttopfeaturefalse \bbottomfeaturefalse diff --git a/Master/texmf-dist/tex/latex/texshade/texshade.sty b/Master/texmf-dist/tex/latex/texshade/texshade.sty index d8ab1cccdc6..03c74861193 100644 --- a/Master/texmf-dist/tex/latex/texshade/texshade.sty +++ b/Master/texmf-dist/tex/latex/texshade/texshade.sty @@ -13,8 +13,8 @@ %% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{texshade}[2010/03/01 LaTeX TeXshade (v1.21)] -\message{Package `texshade', Version 1.21 of 2010/03/01.} +\ProvidesPackage{texshade}[2010/10/11 LaTeX TeXshade (v1.22)] +\message{Package `texshade', Version 1.22 of 2010/10/11.} \PassOptionsToPackage{dvips}{color} \PassOptionsToPackage{dvips}{graphicx} @@ -114,6 +114,7 @@ \newif\ifall@fshade \newif\ifregionalemph \newif\ifregionallower \newif\ifframe@ \newif\ifregionaltint +\newif\ifshading@ \newif\ifshow@logo \newif\ifshow@sublogo \newif\ifhidechar \newif\ifsh@wg@ps \newif\ifsimmode @@ -130,6 +131,7 @@ \newif\ifbbbottomfeaturenow \newif\ifbbbbottomfeaturenow \newif\ifframenow +\newif\ifshadingnow \newif\iffix@ \expandafter\ifx\csname mdqon\endcsname\relax @@ -141,7 +143,7 @@ \def\gre@ter{>} \def\sm@ller{<} \def\N@{N} \def\equ@l{=} \def\H@{H} \def\gap@char{.} \def\dom@char{{\dom@rule}} \def\yes{yes} \def\y@{y} \def\n@{n} \def\o@{o} \def\d@t{.} \def\questi@n{?} \def\st@p@char{*} \def\semic@n{;} -\def\br@cket{[} +\def\br@cket{[} \def\p@r@gr@ph{¤} \def\@TOM{ATOM} \def\C@lpha{CA} \def\@point@{point} \def\@line@{line} \def\@plane@{plane} \def\gap@rule{\rule[0.3\box@height]{\box@width}{\gap@rulethick}} \def\dom@rule{\vrule depth\box@depth height\box@height width\domgap@rulethick} @@ -2297,6 +2299,8 @@ \csname stack@@lowerreg#1\endcsname} \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{% \csname stack@@framereg#1\endcsname} + \expandafter\xdef\csname stack@shadingreg\the\loopcount\endcsname{% + \csname stack@@shadingreg#1\endcsname} \expandafter\xdef\csname stack@top\the\loopcount\endcsname{% \csname stack@@top#1\endcsname} \expandafter\xdef\csname stack@ttop\the\loopcount\endcsname{% @@ -2350,6 +2354,8 @@ \csname stack@lowerreg\the\loopcount\endcsname} \expandafter\xdef\csname stack@@framereg\the\loopcount\endcsname{% \csname stack@framereg\the\loopcount\endcsname} + \expandafter\xdef\csname stack@@shadingreg\the\loopcount\endcsname{% + \csname stack@shadingreg\the\loopcount\endcsname} \expandafter\xdef\csname stack@@top\the\loopcount\endcsname{% \csname stack@top\the\loopcount\endcsname} \expandafter\xdef\csname stack@@ttop\the\loopcount\endcsname{% @@ -2639,6 +2645,8 @@ \csname stack@lowerreg\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{% \csname stack@framereg\the\innerloopcount\endcsname} + \expandafter\xdef\csname stack@shadingreg\the\loopcount\endcsname{% + \csname stack@shadingreg\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@top\the\loopcount\endcsname{% \csname stack@top\the\innerloopcount\endcsname} \expandafter\xdef\csname stack@ttop\the\loopcount\endcsname{% @@ -3051,6 +3059,23 @@ \sort@emphstack \expandafter\xdef\csname stack@framereg\seq@\endcsname{\tmpstack} } +\def\getregion@fromshadingstack#1{% + \xdef\temp@{#1} + \xdef\first@{\csname stack@shadingreg\temp@\endcsname} + \expandafter\get@fromemphstack\first@ + \expandafter\xdef\csname shadingstart\temp@\endcsname{\first@} + \expandafter\xdef\csname shadingstop\temp@\endcsname{\second@} + \expandafter\xdef\csname shadingstyle\temp@\endcsname{\third@} + \expandafter\xdef\csname stack@shadingreg\temp@\endcsname{\last@} +} +\def\get@shadingregions#1..#2,#3@{% + \shading@true + \xdef\st@rt{#1} \xdef\st@p{#2} \xdef\list@{#3} + \xdef\last@{\csname stack@shadingreg\seq@\endcsname} + \xdef\tmpstack{} + \sort@emphstack + \expandafter\xdef\csname stack@shadingreg\seq@\endcsname{\tmpstack} +} \def\getregion@fromfstack#1{% \xdef\temp@{#1} \xdef\first@{\csname stack@\bottop@\temp@\endcsname} @@ -3088,14 +3113,6 @@ \sort@fstack \expandafter\xdef\csname stack@\bottop@\seq@\endcsname{\tmpstack} } -\def\get@frameregions#1..#2,#3@{% - \frame@true - \xdef\st@rt{#1} \xdef\st@p{#2} \xdef\list@{#3} - \xdef\last@{\csname stack@framereg\seq@\endcsname} - \xdef\tmpstack{} - \sort@emphstack - \expandafter\xdef\csname stack@framereg\seq@\endcsname{\tmpstack} -} \def\getarrow@shape#1#2#3#4&{% \xdef\first@@{#1}\xdef\second@@{#2}\xdef\third@@{#3} \if\first@@ v @@ -3243,9 +3260,9 @@ \xdef\temp@{tint} \ifx\temp@\temp@@ \regionaltinttrue - \xdef\last@{\csname stack@tintreg\seq@\endcsname} \message{((last:\last@))} + \xdef\last@{\csname stack@tintreg\seq@\endcsname} \sort@emphstack - \expandafter\xdef\csname stack@tintreg\seq@\endcsname{\tmpstack} \message{((tmp:\tmpstack))} + \expandafter\xdef\csname stack@tintreg\seq@\endcsname{\tmpstack} \else \xdef\temp@{frame} \ifx\temp@\temp@@ @@ -3254,6 +3271,13 @@ \sort@emphstack \expandafter\xdef\csname stack@framereg\seq@\endcsname{\tmpstack} \else + \xdef\temp@{shading} + \ifx\temp@\temp@@ + \shading@true + \xdef\last@{\csname stack@shadingreg\seq@\endcsname} + \sort@emphstack + \expandafter\xdef\csname stack@shadingreg\seq@\endcsname{\tmpstack} + \else \xdef\temp@{ttttop} \ifx\temp@\temp@@ \xdef\last@{\csname stack@ttttop\seq@\endcsname} @@ -3314,10 +3338,15 @@ \fi \fi \fi + \fi \xdef\fifth@@{\m@tif} \expandafter\get@third@\fifth@@ \xdef\nineth@@{n} \fi \else + \ifx\nineth@@\y@ + \xdef\first@@{\second@@\first@@} + \advance\temp@count by -1 + \fi \xdef\nineth@@{n} \xdef\st@p{n} \xdef\fifth@@{\m@tif} \expandafter\get@third@\fifth@@ \fi @@ -3355,6 +3384,10 @@ \csname framestop\the\loopcount\endcsname;% \csname framestyle\the\loopcount\endcsname;% \csname stack@framereg\the\loopcount\endcsname} + \expandafter\xdef\csname stack@shadingreg\the\loopcount\endcsname{\csname shadingstart\the\loopcount\endcsname;% + \csname shadingstop\the\loopcount\endcsname;% + \csname shadingstyle\the\loopcount\endcsname;% + \csname stack@shadingreg\the\loopcount\endcsname} \expandafter\xdef\csname stack@ttttop\the\loopcount\endcsname{\csname textttttop\the\loopcount\endcsname;% \csname startttttop\the\loopcount\endcsname;% \csname stopttttop\the\loopcount\endcsname;% @@ -3417,6 +3450,7 @@ \expandafter\getregion@fromemphstack{\the\loopcount} \expandafter\getregion@fromlowerstack{\the\loopcount} \expandafter\getregion@fromframestack{\the\loopcount} + \expandafter\getregion@fromshadingstack{\the\loopcount} \xdef\bottop@{top} \expandafter\getregion@fromfstack{\the\loopcount} \xdef\bottop@{ttop} \expandafter\getregion@fromfstack{\the\loopcount} \xdef\bottop@{tttop} \expandafter\getregion@fromfstack{\the\loopcount} @@ -3439,6 +3473,8 @@ \ifx\temp@\temp@@ \xdef\style@{0} \fi \xdef\temp@{frame} \ifx\temp@\temp@@ \xdef\style@{0} \fi + \xdef\temp@{shading} + \ifx\temp@\temp@@ \xdef\style@{0} \fi \xdef\temp@{#1#2} \xdef\first@{#1} \ifx\first@\br@cket @@ -5386,6 +5422,28 @@ \fi \fi } +\def\changeshadingcolors#1#2#3{% + \xdef\seq@{#1} + \xdef\temp@{consensus} \ifx\seq@\temp@ \xdef\seq@{0} \fi + \xdef\first@{\seq@ @} \expandafter\check@letter\first@ + \xdef\first@{\seq@} + \ifletter \get@name@number \xdef\seq@{\first@} \fi + \ifnum\seq@>\seq@count + \message{<Ignored seq `\seq@' in \noexpand\changeshadingcolors>} + \else + \xdef\@ll{#3} + \xdef\list@{#2,&} + \xdef\temp@@{shading} \loopcount=0 + \xdef\temp@{#2,,,:,,,,@} \expandafter\test@PDB\temp@ + \ifx\list@\ampers@nd + \else + \loop + \xdef\list@{\list@ @} + \expandafter\get@shadingregions\list@ + \ifx\list@\ampers@nd\else\repeat + \fi + \fi +} \def\bargraphstretch#1{\def\b@r@stretch{#1}} \def\colorscalestretch#1{\def\sc@le@stretch{#1}} \def\rm@@measure#1#2@{% @@ -5770,7 +5828,9 @@ \xdef\f@color{\f@@color} \xdef\temp@{#4&} \ifx\temp@\ampers@nd + \xdef\list@{#3,&} \xdef\style@{&} + \def\f@text@{#5} \else \xdef\last@{restriction} \ifx\second@@\last@ @@ -6931,6 +6991,27 @@ \expandafter\xdef\csname funcm@tch\first@\endcsname{#4} \expandafter\def\csname func@style\first@\endcsname{\csname text#5\endcsname} \fi} +\def\defshadingcolors#1{% + \expandafter\xdef\csname TextNomatch@#1\endcsname{\TextNomatch} + \expandafter\xdef\csname Nomatch@#1\endcsname{\Nomatch} + \expandafter\xdef\csname resn@m@tch@#1\endcsname{\resn@m@tch} + + \expandafter\xdef\csname TextSimilar@#1\endcsname{\TextSimilar} + \expandafter\xdef\csname Similar@#1\endcsname{\Similar} + \expandafter\xdef\csname ressimm@tch@#1\endcsname{\ressimm@tch} + + \expandafter\xdef\csname TextIdentical@#1\endcsname{\TextIdentical} + \expandafter\xdef\csname Identical@#1\endcsname{\Identical} + \expandafter\xdef\csname resm@tch@#1\endcsname{\resm@tch} + + \expandafter\xdef\csname TextAllmatch@#1\endcsname{\TextAllmatch} + \expandafter\xdef\csname Allmatch@#1\endcsname{\Allmatch} + \expandafter\xdef\csname res@llm@tch@#1\endcsname{\res@llm@tch} + + \expandafter\xdef\csname gap@fg@#1\endcsname{\gap@fg} + \expandafter\xdef\csname gap@bg@#1\endcsname{\gap@bg} + +} \def\shadingcolors#1{% \gapcolors{Black}{White} \nomatchresidues{Black}{White}{upper}{up} @@ -6956,12 +7037,30 @@ \allmatchresidues{White}{Black}{upper}{sl} \else \xdef\second@{grays} \ifx\first@\second@ - \else \message{<Undefined color set - using `grays'>} \xdef\first@{grays}\fi - \ifx\first@\second@ \similarresidues{Black}{LightGray}{upper}{up} \conservedresidues{White}{DarkGray}{upper}{up} \allmatchresidues{White}{Black}{upper}{up} - \fi\fi\fi\fi\fi} + \else + \xdef\TextNomatch{\csname TextNomatch@#1\endcsname} + \xdef\Nomatch {\csname Nomatch@#1\endcsname} + \xdef\resn@m@tch {\csname resn@m@tch@#1\endcsname} + \xdef\TextSimilar{\csname TextSimilar@#1\endcsname} + \xdef\Similar {\csname Similar@#1\endcsname} + \xdef\ressimm@tch{\csname ressimm@tch@#1\endcsname} + \xdef\TextIdentical{\csname TextIdentical@#1\endcsname} + \xdef\Identical {\csname Identical@#1\endcsname} + \xdef\resm@tch {\csname resm@tch@#1\endcsname} + \xdef\TextAllmatch{\csname TextAllmatch@#1\endcsname} + \xdef\Allmatch {\csname Allmatch@#1\endcsname} + \xdef\res@llm@tch {\csname res@llm@tch@#1\endcsname} + \xdef\gap@fg {\csname gap@fg@#1\endcsname} + \xdef\gap@bg {\csname gap@bg@#1\endcsname} + \xdef\domgap@fg {\csname domgap@fg@#1\endcsname} + \xdef\domgap@bg {\csname domgap@bg@#1\endcsname} + \fi\fi\fi\fi\fi + \xdef\first@{#1} + \expandafter\defshadingcolors{\first@} +} \def\nomatchresidues#1#2#3#4 {\xdef\first@{#1&}\xdef\second@{#2&}\xdef\third@{#3&} \xdef\last@{\ampers@nd} \ifx\first@\last@\else\def\TextNomatch{#1} @@ -8826,6 +8925,48 @@ \ifnum\loopcount<\seq@count \repeat } +\def\getregion@fromshadingstack@first{% + \expandafter\getregion@fromshadingstack{\the\loopcount} + \expandafter\ifx\csname shadingstart\the\loopcount\endcsname\ampers@nd + \else + \expandafter\ifnum\csname shadingstop\the\loopcount\endcsname<\first@@ + \getregion@fromshadingstack@first + \fi + \fi +} + +\def\calc@shading{% + \xdef\shading@style{&} + \loopcount=-1 + \loop + \advance\loopcount by 1 + \ifnum\loopcount=0 \xdef\first@@{\the\cons@count} + \else \xdef\first@@{\csname res@count\the\loopcount\endcsname} \fi + \expandafter\ifx\csname shadingstart\the\loopcount\endcsname\ampers@nd + \else + \expandafter\ifnum\csname shadingstart\the\loopcount\endcsname>\first@@ + \else + \expandafter\ifnum\csname shadingstop\the\loopcount\endcsname<\first@@ + \getregion@fromshadingstack@first + \else + \xdef\shading@style{\csname shadingstyle\the\loopcount\endcsname} + \expandafter\ifnum\csname shadingstop\the\loopcount\endcsname=\first@@ + \expandafter\getregion@fromshadingstack{\the\loopcount} + \fi + \fi + \fi\fi + \ifnum\loopcount<\seq@count \repeat + \loopcount=0 + \loop + \advance\loopcount by 1 + \ifx\shading@style\ampers@nd + \else + \expandafter\xdef\csname seq\the\loopcount\endcsname{% + \csname seq\the\loopcount\endcsname¤\shading@style)} + \fi + \ifnum\loopcount<\seq@count \repeat +} + \def\getregion@fromemphstack@first{% \expandafter\getregion@fromemphstack{\the\loopcount} \expandafter\ifx\csname emphstart\the\loopcount\endcsname\ampers@nd @@ -10551,6 +10692,7 @@ \ifregionalemphnow \calc@regemph \fi \ifregionallowernow \calc@reglower \fi \ifframenow \calc@frame \fi + \ifshadingnow\iffuncmode\else\ifT@coffee\else \calc@shading \fi\fi\fi \iftopfeaturenow \xdef\bottop@{top} \calc@feature \fi \ifttopfeaturenow \xdef\bottop@{ttop} \calc@feature \fi \iftttopfeaturenow \xdef\bottop@{tttop} \calc@feature \fi @@ -10733,6 +10875,16 @@ \fi \fi \fi + \ifshading@ + \expandafter\ifx\csname shadingstart\the\loopcount\endcsname\ampers@nd + \else + \expandafter\ifnum\csname shadingstart\the\loopcount\endcsname>% + \innerloopcount + \else + \shadingnowtrue + \fi + \fi + \fi \iftopfeature \xdef\bottop@{top} \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd @@ -10930,6 +11082,16 @@ \fi \fi \fi + \ifshading@ + \expandafter\ifx\csname shadingstart\the\loopcount\endcsname\ampers@nd + \else + \expandafter\ifnum\csname shadingstart\the\loopcount\endcsname>% + \innerloopcount + \else + \shadingnowtrue + \fi + \fi + \fi \iftopfeature \xdef\bottop@{top} \expandafter\ifx\csname start\bottop@\the\loopcount\endcsname\ampers@nd @@ -11271,6 +11433,14 @@ \hbox to \number@width{\hss\numbertext@size{\temp@}\@kern}}\fi% \xdef\first@{#2@}% } +\def\special@shading#1)#2#3#4@{% + \xdef\second@{@\second@#1}% + \xdef\third@{\second@}% + \xdef\first@{#4@}% + \xdef\second@{#3}% + \xdef\last@{#2}% + \def\res@@style{\csname relax\endcsname}% +} \def\special@shade#1)#2#3#4@{% \xdef\second@{\second@#1}% \xdef\boxc@l@r{\csname bgseqregion\second@\endcsname}% @@ -11285,6 +11455,8 @@ \xdef\second@{#2}% \xdef\last@{#1}% \xdef\temp@@{}% + \xdef\third@{}% + \ifx\last@\p@r@gr@ph\expandafter\special@shading\first@\fi% \ifx\last@\ampers@nd\def\last@{0}\expandafter\special@shade\first@% \else% \ifT@coffee% @@ -11303,25 +11475,34 @@ \if\last@ /\def\last@{10}\fi \if\last@ !\def\last@{11}\fi \else% - \ifcase\last@\xdef\boxc@l@r{\Allmatch}\xdef\textc@l@r{\TextAllmatch}% + \ifcase\last@\xdef\boxc@l@r{\csname Allmatch\third@\endcsname}% + \xdef\textc@l@r{\csname TextAllmatch\third@\endcsname}% \def\res@@style{\all@style}% - \or\xdef\boxc@l@r{\Identical}\xdef\textc@l@r{\TextIdentical}% + \or\xdef\boxc@l@r{\csname Identical\third@\endcsname}% + \xdef\textc@l@r{\csname TextIdentical\third@\endcsname}% \def\res@@style{\id@style}% - \or\xdef\boxc@l@r{\Similar}\xdef\textc@l@r{\TextSimilar}% + \or\xdef\boxc@l@r{\csname Similar\third@\endcsname}% + \xdef\textc@l@r{\csname TextSimilar\third@\endcsname}% \def\res@@style{\sim@style}% - \or\xdef\boxc@l@r{\Nomatch}\xdef\textc@l@r{\TextNomatch}% + \or\xdef\boxc@l@r{\csname Nomatch\third@\endcsname}% + \xdef\textc@l@r{\csname TextNomatch\third@\endcsname}% \def\res@@style{\no@style}% - \or\xdef\boxc@l@r{\ConsNomatch}\xdef\textc@l@r{\ConsTextNomatch}% + \or\xdef\boxc@l@r{\csname ConsNomatch\third@\endcsname}% + \xdef\textc@l@r{\csname ConsTextNomatch\third@\endcsname}% \def\res@@style{\csname relax\endcsname}% - \or\xdef\boxc@l@r{\ConsMatch}\xdef\textc@l@r{\ConsTextMatch}% + \or\xdef\boxc@l@r{\csname ConsMatch\third@\endcsname}% + \xdef\textc@l@r{\csnam ConsTextMatch\third@\endcsname}% \def\res@@style{\csname relax\endcsname}% - \or\xdef\boxc@l@r{\ConsAllmatch}\xdef\textc@l@r{\ConsTextAllmatch}% + \or\xdef\boxc@l@r{\csname ConsAllmatch\third@\endcsname}% + \xdef\textc@l@r{\csname ConsTextAllmatch\third@\endcsname}% \def\res@@style{\csname relax\endcsname}% - \or\xdef\boxc@l@r{\gap@bg}\xdef\textc@l@r{\gap@fg}% + \or\xdef\boxc@l@r{\csname gap@bg\third@\endcsname}% + \xdef\textc@l@r{\csname gap@fg\third@\endcsname}% \def\res@@style{\csname relax\endcsname}% \or\xdef\boxc@l@r{White}\xdef\textc@l@r{White}% \def\res@@style{\csname relax\endcsname}% - \else\xdef\boxc@l@r{\domgap@bg}\xdef\textc@l@r{\domgap@fg}% + \else\xdef\boxc@l@r{\csname domgap@bg\endcsname}% + \xdef\textc@l@r{\csname domgap@fg\endcsname}% \def\res@@style{\csname relax\endcsname}% \fi\fi\fi\fi% \ifx\second@\comm@% @@ -11365,6 +11546,8 @@ \fi} \def\next@cons#1#2#3@{% \xdef\last@{#1}% + \xdef\third@{}% + \ifx\last@\p@r@gr@ph\expandafter\special@shading\first@\fi% \ifx\last@\ampers@nd\def\last@{0}\expandafter\special@shade\first@% \else% \ifx\collect@cons@colors\y@% @@ -11417,13 +11600,17 @@ \fi% \fi% \else% - \ifcase#1\xdef\boxc@l@r{\Allmatch}\xdef\textc@l@r{\TextAllmatch}% + \ifcase#1\xdef\boxc@l@r{\csname Allmatch\third@\endcsname}% + \xdef\textc@l@r{\csname TextAllmatch\third@\endcsname}% \def\res@@style{\all@style}% - \or\xdef\boxc@l@r{\Identical}\xdef\textc@l@r{\TextIdentical}% + \or\xdef\boxc@l@r{\csname Identical\third@\endcsname}% + \xdef\textc@l@r{\csname TextIdentical\third@\endcsname}% \def\res@@style{\id@style}% - \or\xdef\boxc@l@r{\Similar}\xdef\textc@l@r{\TextSimilar}% + \or\xdef\boxc@l@r{\csname Similar\third@\endcsname}% + \xdef\textc@l@r{\csname TextSimilar\third@\endcsname}% \def\res@@style{\sim@style}% - \or\xdef\boxc@l@r{\Nomatch}\xdef\textc@l@r{\TextNomatch}% + \or\xdef\boxc@l@r{\csname Nomatch\third@\endcsname}% + \xdef\textc@l@r{\csname TextNomatch\third@\endcsname}% \def\res@@style{\no@style}% \or\xdef\boxc@l@r{\ConsNomatch}\xdef\textc@l@r{\ConsTextNomatch}% \def\res@@style{\csname relax\endcsname}% @@ -13801,6 +13988,7 @@ \expandafter\xdef\csname stack@emphreg\the\loopcount\endcsname{&;&;&;@} \expandafter\xdef\csname stack@lowerreg\the\loopcount\endcsname{&;&;&;@} \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{&;&;&;@} + \expandafter\xdef\csname stack@shadingreg\the\loopcount\endcsname{&;&;&;@} \expandafter\xdef\csname stack@top\the\loopcount\endcsname{&;&;&;&;@} \expandafter\xdef\csname stack@ttop\the\loopcount\endcsname{&;&;&;&;@} \expandafter\xdef\csname stack@tttop\the\loopcount\endcsname{&;&;&;&;@} @@ -13831,6 +14019,7 @@ \expandafter\xdef\csname stack@emphreg\the\loopcount\endcsname{&;&;&;@} \expandafter\xdef\csname stack@lowerreg\the\loopcount\endcsname{&;&;&;@} \expandafter\xdef\csname stack@framereg\the\loopcount\endcsname{&;&;&;@} + \expandafter\xdef\csname stack@shadingreg\the\loopcount\endcsname{&;&;&;@} \expandafter\xdef\csname stack@top\the\loopcount\endcsname{&;&;&;&;@} \expandafter\xdef\csname stack@ttop\the\loopcount\endcsname{&;&;&;&;@} \expandafter\xdef\csname stack@tttop\the\loopcount\endcsname{&;&;&;&;@} @@ -13880,6 +14069,7 @@ \expandafter\getregion@fromemphstack{\the\loopcount} \expandafter\getregion@fromlowerstack{\the\loopcount} \expandafter\getregion@fromframestack{\the\loopcount} + \expandafter\getregion@fromshadingstack{\the\loopcount} \xdef\bottop@{top} \expandafter\getregion@fromfstack{\the\loopcount} \xdef\bottop@{ttop} \expandafter\getregion@fromfstack{\the\loopcount} \xdef\bottop@{tttop} \expandafter\getregion@fromfstack{\the\loopcount} @@ -13931,6 +14121,7 @@ \expandafter\getregion@fromemphstack{\the\loopcount} \expandafter\getregion@fromlowerstack{\the\loopcount} \expandafter\getregion@fromframestack{\the\loopcount} + \expandafter\getregion@fromshadingstack{\the\loopcount} \xdef\bottop@{top} \expandafter\getregion@fromfstack{\the\loopcount} \xdef\bottop@{ttop} \expandafter\getregion@fromfstack{\the\loopcount} \xdef\bottop@{tttop} \expandafter\getregion@fromfstack{\the\loopcount} @@ -14153,6 +14344,11 @@ \xdef\prfx{DNA}\clear@groups\clear@sims \clearfuncgroups \clear@simpairs +\shadingcolors{blues} +\shadingcolors{reds} +\shadingcolors{greens} +\shadingcolors{grays} +\shadingcolors{black} \loopcount=\@lign@count \advance\loopcount by 1\relax \xdef\@lign@count{\the\loopcount} @@ -14162,7 +14358,7 @@ \expandafter\xdef\csname res@count0\endcsname{0} \xdef\allow@zero{n} \xdef\c@ns@shift{0} \regionalshadefalse\regionalemphfalse\regionallowerfalse\regionaltintfalse -\frame@false +\frame@false\shading@false \xdef\ruler@rot{0} \topfeaturefalse \bottomfeaturefalse \ttopfeaturefalse \bbottomfeaturefalse |