summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2024-01-07 21:27:30 +0000
committerKarl Berry <karl@freefriends.org>2024-01-07 21:27:30 +0000
commit79bf9c1d6f9d18bfce7cd0ec366f9029b8afd345 (patch)
tree88ee946f2b63264f9f54e3e6083ec6662af21018
parent20e34a4f89a7ed782e4f3c356e68913db3b4b3c8 (diff)
texshade (6jan24)
git-svn-id: svn://tug.org/texlive/trunk@69337 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/texshade/README4
-rw-r--r--Master/texmf-dist/doc/latex/texshade/texshade.pdfbin1235875 -> 821876 bytes
-rw-r--r--Master/texmf-dist/source/latex/texshade/texshade.dtx646
-rw-r--r--Master/texmf-dist/source/latex/texshade/texshade.ins4
-rw-r--r--Master/texmf-dist/tex/latex/texshade/texshade.sty539
5 files changed, 873 insertions, 320 deletions
diff --git a/Master/texmf-dist/doc/latex/texshade/README b/Master/texmf-dist/doc/latex/texshade/README
index a57f0eac62a..2d2d83caf32 100644
--- a/Master/texmf-dist/doc/latex/texshade/README
+++ b/Master/texmf-dist/doc/latex/texshade/README
@@ -1,4 +1,4 @@
- TeXshade v1.26c
+ TeXshade v1.27
>>
>> A LaTeX package for setting nucleotide and peptide alignments.
>>
@@ -26,7 +26,7 @@
>> ding modes. TeXshade combines highest flexibility and the
>> habitual TeX output quality--with reasonable time expenditure.
>>
- Copyright (C) 1999 - 2023 Eric Beitz
+ Copyright (C) 1999 - 2024 Eric Beitz
diff --git a/Master/texmf-dist/doc/latex/texshade/texshade.pdf b/Master/texmf-dist/doc/latex/texshade/texshade.pdf
index 01730abc593..2df2b88e3bd 100644
--- a/Master/texmf-dist/doc/latex/texshade/texshade.pdf
+++ b/Master/texmf-dist/doc/latex/texshade/texshade.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/texshade/texshade.dtx b/Master/texmf-dist/source/latex/texshade/texshade.dtx
index da16105ddfb..8ea0d6febbc 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-2023 Eric Beitz
+% Copyright (C) 1999-2024 Eric Beitz
%
% \fi
%
@@ -422,6 +422,10 @@
% Corrections: shading, tinting, emphasizing, lower casing,
% and framing of motifs now works with set domains.}
%
+% \changes{1.27}{2024-01-06}{%
+% Introduction: a second full ruler with independent [top] and [bottom]
+% options, and the possibility to show ruler names.}
+%
%
%
% \CharacterTable
@@ -461,7 +465,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.26c; 2023/06/04\\[2pt]}
+% \date{\small v1.27; 2024/01/06\\[2pt]}
% \maketitle
% \begin{abstract}
% Setting alignments of nucleotides and peptides for publication
@@ -545,12 +549,23 @@
%
% \subsection{Version History}
%
-% \textbf{v1.26(a-c) 2021/04/01 (2022/08/29-2023/06/04)}
+% \textbf{v1.7 2024/01/06}
+% \medskip
+%
+% \emph{Introduction:}
+% The possibility to show a second full ruler at the [top] or [bottom]
+% was introduced plus the option to show ruler names by
+% |\nameruler|. The |rulername| style can be adjusted using the
+% common |setfamily| and |setsize| commands.
+% \medskip
+% \newpage
+%
+% \textbf{v1.26(a/b/c) 2021/04/01 (2022/08/29, 2023/05/28, 2023/06/04)}
% \medskip
%
% \emph{Corrections}: Frames at line ends remain open to indicate
% continuity of the marked region, and |\par| line endings are now treated
-% correctly.
+% correctly. Motif labels were corrected.
%
% \emph{Introductions:}
% Chimera command file export option for 'structure memes'
@@ -607,7 +622,7 @@
% sets of colors can be selected for different sequence blocks by
% |\changeshadingcolors| (\ref{Lchangeshadingcolors}).
% \medskip
-%
+% \newpage
%
% \textbf{v1.21 2010/03/01}
% \medskip
@@ -726,7 +741,7 @@
% |\setsize{featurenames}{large}| or
% |\featurestylenamesrm|.
% \bigskip
-%
+% \newpage
%
% \textbf{v1.16 2007/02/18}
% \medskip
@@ -896,7 +911,7 @@
% mode were switched (`|-|' in gaps; `|.|' at matching
% positions) in order to follow convention.
%
-% \emph{Introduction:} \TeXshade{} speaks spanish (|\spanishlanguage|).
+% \emph{Introduction:} \TeXshade{} speaks Spanish (|\spanishlanguage|).
% Necessary translations were contributed by Mikel Ega\~na Aranguren.
% A new feature label style |helix| has been introduced.
% \bigskip
@@ -1015,7 +1030,7 @@
% can be activated by `|\numcount|', `|\alphacount|' and
% `|\Alphacount|'. All commands are described in \ref{structure}.
% \bigskip
-%
+% \newpage
%
% \textbf{v1.1 1999/5/26}
% \medskip
@@ -1300,7 +1315,7 @@
% threshold is set to 50\%. Neither residue exceeds this percentage
% but as a group of similars they do.
%
-% In grayscale printouts some colors of the following alignment may appear
+% In grayscale printouts, some colors of the following alignment may appear
% undistinguishable. Don't worry if you usually use grayscale---all
% colors/grays can be selected freely (see \ref{colors}).
% \medskip
@@ -2619,12 +2634,12 @@
% \label{Lhideallmatchpositions}
% Since alignment positions where all residues match do not contain
% much information, those sites can be blanked out using
-% Ê|\hideallmatchpositions|. The resulting break in the alignment is
+% |\hideallmatchpositions|. The resulting break in the alignment is
% indicated by a gap and a vertical line. See the |\setdomain|
% command (\ref{Lsetdomain})
% for further information on how to change the gap and ruler colors.
% A single-stepped ruler is also recommended (\ref{Lshowruler}).
-% Ê|\hideallmatchpositions| can be combined with |\setends|
+% |\hideallmatchpositions| can be combined with |\setends|
% (\ref{Lsetends}).
%
%
@@ -3269,24 +3284,30 @@
% Another possibility to label sequence positions is to switch
% on a ruler on the top or at the bottom of the sequence block
% using \label{ruler}
-% |\showruler[|\meta{color}|]{|\meta{position}|}{|\meta{seqref}|}|.
+% |\showruler[|\meta{color}|]{|\meta{top/bottom}|}{|\meta{seqref}|}|.
% The residue ruler of one sequence \meta{seqref} or the consensus
% (declare `|consensus|' as \meta{seqref}) can be
-% displayed at \meta{position} |top| or |bottom|.
-% The ruler is hidden with |\hideruler|. The steps between two
-% numbers are set by |\rulersteps{|\meta{number}|}|. If the steps
+% displayed at |top| or |bottom|.
+% A ruler is hidden with |\hideruler[|\meta{top/bottom}|]|. When
+% |[|\meta{top/bottom}|]| is omitted, both rulers are addressed. The steps
+% between two numbers are set by
+% |\rulersteps[|\meta{top/bottom}|]{|\meta{number}|}|. If the steps
% are set to be very close ($< 4$) or when every position is numbered, the
% numbering is automatically rotated by 90$^\circ$. Using |\rotateruler|
-% and |\unrotateruler| this can be done and undone manually.
-% In order to change the
+% and |\unrotateruler| this can be done and undone manually, again
+% with the |[|\meta{top/bottom}|]| option. In order to change the
% ruler color use the optional parameter or the command
-% |\rulercolor{|\meta{color}|}|. Also, the label and its color at individual
-% ruler positions can be changed by the user to a string using
-% |\namerulerpos{|\meta{number}|}{|\meta{text}|[|\meta{color}|]}|
-% (see example on p.\ \pageref{ras}). Finally, to adjust the distance
+% |\rulercolor[|\meta{top/bottom}|]{|\meta{color}|}|. Also, the label and its color
+% at individual ruler numbers can be changed by the user to a string using
+% |\namerulerpos[|\meta{top/bottom}|]{|\meta{number}|}{|\meta{text}|[|\meta{color}|]}|
+% (see example on p.\ \pageref{ras}). To adjust the distance
% between the ruler and the top or bottom sequence row use
-% |\rulerspace{|\meta{length}|}|, e.\,g. |\rulerspace{1mm}|.
-%
+% |\rulerspace[|\meta{top/bottom}|]{|\meta{length}|}|, e.\,g. |\rulerspace{1mm}|.
+% Finally, ruler names can be displayed using
+% |\nameruler[|\meta{top/bottom}|]{|\meta{name}|}| with |\setfamily|,
+% |\setsize|, and |\rulernamecolor[|\meta{top/bottom}|]{|\meta{color}|}|
+% for further adjustments.
+%
% \label{Lgapchar}\label{Lgaprule}
% \label{Lgapcolors}\label{gapchar}
% Further, the symbol which is displayed in sequence gaps is freely
@@ -4752,6 +4773,7 @@
% residues (|\residuesrm| etc.),
% hideblock labels (|hideblockrm| etc.),
% rulers (|\rulerrm| etc.), and
+% rulernames (|\rulernamerm| etc.), and
% legend texts (|legendrm| etc.).
%
%
@@ -6031,25 +6053,31 @@
% \quad|\showruler[|\meta{color}|]{|\meta{top/bottom}|}{|\meta{seqref}|}|
% \hfill[\pageref{Lshowruler}]
%
-% \quad|\rulersteps{|\meta{number}|}|
+% \quad|\rulersteps[|\meta{top/bottom}|]{|\meta{number}|}|
% \hfill[\pageref{Lrulersteps}]
%
-% \quad|\rulercolor{|\meta{color}|}|
+% \quad|\rulercolor[|\meta{top/bottom}|]{|\meta{color}|}|
% \hfill[\pageref{Lrulercolor}]
%
-% \quad|\hideruler|
+% \quad|\hideruler[|\meta{top/bottom}|]|
% \hfill[\pageref{Lhideruler}]
%
-% \quad|\rotateruler|
+% \quad|\rotateruler[|\meta{top/bottom}|]|
% \hfill[\pageref{Lrotateruler}]
%
-% \quad|\unrotateruler|
+% \quad|\unrotateruler[|\meta{top/bottom}|]|
% \hfill[\pageref{Lunrotateruler}]
%
-% \quad|\namerulerpos{|\meta{number}|}{|\meta{text}|[|\meta{color}|]}|
+% \quad|\namerulerpos[|\meta{top/bottom}|]{|\meta{number}|}{|\meta{text}|[|\meta{color}|]}|
+% \hfill[\pageref{Lnamerulerpos}]
+%
+% \quad|\nameruler[|\meta{top/bottom}|]{|\meta{name}|]}|
% \hfill[\pageref{Lnamerulerpos}]
%
-% \quad|\rulerspace{|\meta{length}|}|
+% \quad|\rulernamecolor[|\meta{top/bottom}|]{|\meta{color}|]}|
+% \hfill[\pageref{Lnamerulerpos}]
+%
+% \quad|\rulerspace[|\meta{top/bottom}|]{|\meta{length}|}|
% \hfill[\pageref{Lrulerspace}]
%
% \quad|\gapchar{|\meta{symbol}|}|
@@ -6614,8 +6642,8 @@
% \begin{macrocode}
%<*texshade>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{texshade}[2023/06/04 LaTeX TeXshade (v1.26c)]
-\message{Package `texshade', Version 1.26c of 2023/06/04.}
+\ProvidesPackage{texshade}[2023/06/04 LaTeX TeXshade (v1.27)]
+\message{Package `texshade', Version 1.27 of 2024/01/06.}
\PassOptionsToPackage{dvips}{color}
\PassOptionsToPackage{dvips}{graphicx}
@@ -6755,6 +6783,10 @@
\def\resm@tch{upper} \def\res@llm@tch{upper}
\def\tr@ns{translate} \def\gr@ydef@ult{GrayDefault}
\xdef\par@{\string\par}
+\xdef\rule@bottom{-1}\xdef\rule@top{-1}
+\xdef\rulername@top{} \xdef\rulername@bottom{}
+\xdef\rulernamecolor@top{n} \xdef\rulernamecolor@bottom{n}
+\xdef\rulername@family{n} \xdef\rulername@size{n}
\expandafter\def\csname fg@textcolor/\endcsname{White}
\expandafter\def\csname fg@color/\endcsname{White}
\expandafter\def\csname func@style/\endcsname{\csname textup\endcsname}
@@ -9011,8 +9043,9 @@
\expandafter\order@set\second@
\ifnum\loopcount<\killseq@count \repeat
\ifnum\cons@num>0 \xdef\cons@num{\csname @rd\cons@num\endcsname} \fi
- \ifnum\rule@num>0 \xdef\rule@num{\csname @rd\rule@num\endcsname} \fi
- \ifnum\divref@>0 \xdef\divref@{\csname @rd\divref@\endcsname} \fi
+ \ifnum\rule@num@top>0 \xdef\rule@num@top{\csname @rd\rule@num@top\endcsname} \fi
+ \ifnum\rule@num@bottom>0 \xdef\rule@num@bottom{\csname @rd\rule@num@bottom\endcsname} \fi
+ \ifnum\divref@>0 \xdef\divref@{\csname @rd\divref@\endcsname} \fi
\loopcount=0
\loop
\advance\loopcount by 1
@@ -9288,12 +9321,14 @@
\expandafter\xdef\csname res@count\the\loopcount\endcsname{%
\csname res@count\the\innerloopcount\endcsname}
\expandafter\xdef\csname hide@seq\the\innerloopcount\endcsname{kill}
- \ifnum\loopcount=\rule@num \hideruler \fi
+ \ifnum\loopcount=\rule@num@top \hideruler[top] \fi
+ \ifnum\loopcount=\rule@num@bottom \hideruler[bottom] \fi
\fi
\expandafter\xdef\csname @rd\the\innerloopcount\endcsname{\the\loopcount}
\advance\loopcount by 1
\ifnum\loopcount>\killseq@count
- \ifnum\rule@num>0\xdef\rule@num{\csname @rd\rule@num\endcsname}\fi
+ \ifnum\rule@num@top>0\xdef\rule@num@top{\csname @rd\rule@num@top\endcsname}\fi
+ \ifnum\rule@num@bottom>0\xdef\rule@num@bottom{\csname @rd\rule@num@bottom\endcsname}\fi
\ifnum\cons@num>0\xdef\cons@num{\csname @rd\cons@num\endcsname}\fi
\else
\kill@seqnow
@@ -12667,7 +12702,11 @@
\def\bbottomspace#1{\def\bb@sp@ce{#1}}
\def\bbbottomspace#1{\def\bbb@sp@ce{#1}}
\def\bbbbottomspace#1{\def\bbbb@sp@ce{#1}}
-\def\rulerspace#1{\def\ruler@sp@ce{#1}}
+\newcommand\rulerspace[2][n]{
+ \xdef\first@{#1} \ifx\first@\n@ \def\ruler@sp@ce@top{#2}\def\ruler@sp@ce@bottom{#2}\fi
+ \xdef\second@{top} \ifx\first@\second@ \def\ruler@sp@ce@top{#2}\fi
+ \xdef\second@{bottom} \ifx\first@\second@ \def\ruler@sp@ce@bottom{#2}\fi
+}
\def\fixblockspace{\fix@true}
\def\flexblockspace{\fix@false}
\def\nosepline{\def\seq@skip{\relax}}
@@ -13176,34 +13215,96 @@
\def\hideleadinggaps{\sh@wg@psfalse}
\def\showleadinggaps{\sh@wg@pstrue}
\newcommand\showruler[3][n]{%
- \xdef\first@{#1}
- \ifx\first@\n@\else\xdef\ruler@fg{#1}\fi
+ \xdef\first@@{#1}
\xdef\first@{consensus} \xdef\second@{#3}
\xdef\third@{bottom} \xdef\fourth@{#2}
- \ifx\third@\fourth@ \xdef\rule@top{1}\else\xdef\rule@top{0}\fi
- \ifx\first@\second@ \xdef\rule@num{0}
+ \ifx\third@\fourth@
+ \xdef\rule@bottom{1}
+ \ifx\first@@\n@\else\xdef\ruler@fg@bottom{#1}\fi
+ \ifx\first@\second@ \xdef\rule@num@bottom{0}
+ \else
+ \xdef\first@{#3 @} \expandafter\check@letter\first@
+ \xdef\first@{#3} \ifletter \get@name@number \fi
+ \ifnum\first@>\seq@count
+ \else
+ \ifnum\first@>0
+ \xdef\rule@num@bottom{\first@}
+ \fi
+ \fi
+ \fi
\else
- \xdef\first@{#3 @} \expandafter\check@letter\first@
- \xdef\first@{#3} \ifletter \get@name@number \fi
- \ifnum\first@>\seq@count
- \else
- \ifnum\first@>0
- \xdef\rule@num{\first@}
- \fi
+ \xdef\rule@top{1}
+ \ifx\first@@\n@\else\xdef\ruler@fg@top{#1}\fi
+ \ifx\first@\second@ \xdef\rule@num@top{0}
+ \else
+ \xdef\first@{#3 @} \expandafter\check@letter\first@
+ \xdef\first@{#3} \ifletter \get@name@number \fi
+ \ifnum\first@>\seq@count
+ \else
+ \ifnum\first@>0
+ \xdef\rule@num@top{\first@}
+ \fi
+ \fi
\fi
\fi
- \xdef\ruler@{}}
-\def\hideruler{\xdef\rule@num{-1}}
+ \xdef\topruler@{}\xdef\bottomruler@{}
+}
+\newcommand\hideruler[1][n]{
+ \xdef\first@{#1} \ifx\first@\n@
+ \xdef\rule@num@top{-1} \xdef\rule@top{0}
+ \xdef\rule@num@bottom{-1} \xdef\rule@bottom{0}
+ \fi
+ \xdef\second@{top} \ifx\first@\second@
+ \xdef\rule@num@top{-1} \xdef\rule@top{0}
+ \fi
+ \xdef\second@{bottom} \ifx\first@\second@
+ \xdef\rule@num@bottom{-1} \xdef\rule@bottom{0}
+ \fi
+}
\def\allowzero{\xdef\allow@zero{y}}
\def\disallowzero{\xdef\allow@zero{n}}
-\def\rulersteps#1{%
- \xdef\ruler@step{#1}
- \ifnum#1<4 \xdef\ruler@rot{90}\fi
+\newcommand\rulersteps[2][n]{
+ \xdef\first@{#1} \ifx\first@\n@
+ \xdef\ruler@step@top{#2} \ifnum#2<4 \xdef\ruler@rot@top{90}\fi
+ \xdef\ruler@step@bottom{#2} \ifnum#2<4 \xdef\ruler@rot@bottom{90}\fi
+ \fi
+ \xdef\second@{top} \ifx\first@\second@
+ \xdef\ruler@step@top{#2} \ifnum#2<4 \xdef\ruler@rot@top{90}\fi
+ \fi
+ \xdef\second@{bottom} \ifx\first@\second@
+ \xdef\ruler@step@bottom{#2} \ifnum#2<4 \xdef\ruler@rot@bottom{90}\fi
+ \fi
}
-\def\rotateruler{\xdef\ruler@rot{90}}
-\def\unrotateruler{\xdef\ruler@rot{0}}
-\def\namerulerpos#1#2{%
- \expandafter\xdef\csname alt@ruler#1\endcsname{#2}
+\newcommand\rotateruler[1][n]{
+ \xdef\first@{#1} \ifx\first@\n@ \xdef\ruler@rot@top{90} \xdef\ruler@rot@bottom{90} \fi
+ \xdef\second@{top} \ifx\first@\second@ \xdef\ruler@rot@top{90}\fi
+ \xdef\second@{bottom} \ifx\first@\second@ \xdef\ruler@rot@bottom{90}\fi
+}
+\newcommand\unrotateruler[1][n]{
+ \xdef\first@{#1} \ifx\first@\n@ \xdef\ruler@rot@top{0} \xdef\ruler@rot@bottom{0} \fi
+ \xdef\second@{top} \ifx\first@\second@ \xdef\ruler@rot@top{0}\fi
+ \xdef\second@{bottom} \ifx\first@\second@ \xdef\ruler@rot@bottom{0}\fi
+}
+\newcommand\namerulerpos[3][n]{%
+ \xdef\first@{#1}
+ \ifx\first@\n@
+ \expandafter\xdef\csname alt@ruler@top#2\endcsname{#3}
+ \expandafter\xdef\csname alt@ruler@bottom#2\endcsname{#3}
+ \fi
+ \xdef\second@{top}
+ \ifx\first@\second@ \expandafter\xdef\csname alt@ruler@top#2\endcsname{#3} \fi
+ \xdef\second@{bottom}
+ \ifx\first@\second@ \expandafter\xdef\csname alt@ruler@bottom#2\endcsname{#3} \fi
+}
+\newcommand\nameruler[2][n]{
+ \xdef\first@{#1} \ifx\first@\n@ \xdef\rulername@top{#2} \xdef\rulername@bottom{#2} \fi
+ \xdef\second@{top} \ifx\first@\second@ \xdef\rulername@top{#2}\fi
+ \xdef\second@{bottom} \ifx\first@\second@ \xdef\rulername@bottom{#2}\fi
+}
+\newcommand\rulernamecolor[2][n]{
+ \xdef\first@{#1} \ifx\first@\n@ \xdef\rulernamecolor@top{#2} \xdef\rulernamecolor@bottom{#2} \fi
+ \xdef\second@{top} \ifx\first@\second@ \xdef\rulernamecolor@top{#2}\fi
+ \xdef\second@{bottom} \ifx\first@\second@ \xdef\rulernamecolor@bottom{#2}\fi
}
\def\featurerule#1{\setlength\rule@thick{#1}}
\def\orderseqs#1{%
@@ -13281,6 +13382,9 @@
\xdef\temp@{ruler}
\ifx\first@\temp@ \xdef\ruler@family{\second@}
\else
+ \xdef\temp@{rulername}
+ \ifx\first@\temp@ \xdef\rulername@family{\second@}
+ \else
\xdef\temp@{all}
\ifx\first@\temp@
\xdef\ftext@family{\third@}
@@ -13293,7 +13397,8 @@
\xdef\legend@family{\third@}
\xdef\label@family{\third@}
\xdef\ruler@family{\second@}
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \xdef\rulername@family{\second@}
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\fi
}
\def\setseries#1#2{%
@@ -13504,6 +13609,10 @@
\ifx\first@\temp@
\def\bottomruler@size{\csname #2\endcsname}
\fi
+ \xdef\temp@{rulername}
+ \ifx\first@\temp@
+ \def\rulername@size{\csname #2\endcsname}
+ \fi
}
\def\setfont#1#2#3#4#5{%
\setfamily{#1}{#2}\setseries{#1}{#3}
@@ -13673,6 +13782,19 @@
\def\rulerLARGE {\setsize{ruler}{LARGE}}
\def\rulerhuge {\setsize{ruler}{huge}}
\def\rulerHuge {\setsize{ruler}{Huge}}
+\def\rulernamerm{\setfamily{rulername}{rm}}
+\def\rulernamesf{\setfamily{rulername}{sf}}
+\def\rulernamett{\setfamily{rulername}{tt}}
+\def\rulernametiny {\setsize{rulername}{tiny}}
+\def\rulernamescriptsize {\setsize{rulername}{scriptsize}}
+\def\rulernamefootnotesize{\setsize{rulername}{footnotesize}}
+\def\rulernamesmall {\setsize{rulername}{small}}
+\def\rulernamenormalsize {\setsize{rulername}{normalsize}}
+\def\rulernamelarge {\setsize{rulername}{large}}
+\def\rulernameLarge {\setsize{rulername}{Large}}
+\def\rulernameLARGE {\setsize{rulername}{LARGE}}
+\def\rulernamehuge {\setsize{rulername}{huge}}
+\def\rulernameHuge {\setsize{rulername}{Huge}}
\def\funcshadingstyle#1#2#3#4#5{%
\xdef\temp@{nomatch} \xdef\first@{#1}
\ifx\temp@\first@
@@ -13877,7 +13999,11 @@
\fi
}
\def\legendcolor#1{\xdef\legend@fg{#1}}
-\def\rulercolor#1{\xdef\ruler@fg{#1}}
+\newcommand\rulercolor[2][n]{
+ \xdef\first@{#1} \ifx\first@\n@ \xdef\ruler@fg@top{#2} \xdef\ruler@fg@bottom{#2} \fi
+ \xdef\second@{top} \ifx\first@\second@ \xdef\ruler@fg@top{#2}\fi
+ \xdef\second@{bottom} \ifx\first@\second@ \xdef\ruler@fg@bottom{#2}\fi
+}
\def\molweight#1#2{%
\xdef\temp@{Da}%
\xdef\second@{#2}%
@@ -17053,17 +17179,27 @@
% \advance\pos@count by 1
}
-\def\add@to@rule@tens{%
- \advance\innerloopcount by \ruler@step\relax
- \ifnum\innerloopcount=0
- \ifx\allow@zero\n@ \innerloopcount=\ruler@step \fi
+\def\add@to@rule@tens@top{%
+ \advance\innerloopcount by \ruler@step@top\relax
+ \ifnum\innerloopcount=0
+ \ifx\allow@zero\n@ \innerloopcount=\ruler@step@top \fi
\fi
- \expandafter\ifnum\csname res@count\rule@num\endcsname>\innerloopcount \add@to@rule@tens
+ \expandafter\ifnum\csname res@count\rule@num@top\endcsname>\innerloopcount \add@to@rule@tens@top
\else
- \xdef\rule@tens{\the\innerloopcount}
+ \xdef\rule@tens@top{\the\innerloopcount}
\fi
}
+\def\add@to@rule@tens@bottom{%
+ \advance\innerloopcount by \ruler@step@bottom\relax
+ \ifnum\innerloopcount=0
+ \ifx\allow@zero\n@ \innerloopcount=\ruler@step@bottom \fi
+ \fi
+ \expandafter\ifnum\csname res@count\rule@num@bottom\endcsname>\innerloopcount \add@to@rule@tens@bottom
+ \else
+ \xdef\rule@tens@bottom{\the\innerloopcount}
+ \fi
+}
\def\c@nsensus{%
\ifnum\pos@count>\res@perline
@@ -17111,24 +17247,44 @@
\expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count}
\ifnum\loopcount=\chimera@seqnum \xdef\chimera@stack{\chimera@stack \the\res@count,} \fi
\ifnum\loopcount=\exp@rt@num \xdef\sixth@{\the\res@count}\xdef\seventh@{y}\fi
- \ifnum\loopcount=\rule@num\relax
- \expandafter\ifnum\csname res@count\rule@num\endcsname>\rule@tens
- \innerloopcount=\rule@tens \add@to@rule@tens
- \fi
- \expandafter\ifnum\csname res@count\rule@num\endcsname=\rule@tens
- \expandafter\ifx\csname alt@ruler\rule@tens\endcsname\relax
- \xdef\temp@{\rule@tens}
+ \ifnum\loopcount=\rule@num@top\relax
+ \expandafter\ifnum\csname res@count\rule@num@top\endcsname>\rule@tens@top
+ \innerloopcount=\rule@tens@top \add@to@rule@tens@top
+ \fi
+ \expandafter\ifnum\csname res@count\rule@num@top\endcsname=\rule@tens@top
+ \expandafter\ifx\csname alt@ruler@top\rule@tens@top\endcsname\relax
+ \xdef\temp@{\rule@tens@top}
+ \else
+ \xdef\temp@{\csname alt@ruler@top\rule@tens@top\endcsname}
+ \fi
+ \xdef\topruler@{\topruler@ !<\temp@>}
+ \else
+ \xdef\topruler@{\topruler@ -}
+ \fi
+ \xdef\temp@{\csname res@count\rule@num@top\endcsname}
+ \expandafter\ifx\csname alt@ruler@top\temp@\endcsname\relax
+ \else
+ \expandafter\xdef\csname alt@ruler@top\temp@\endcsname{\temp@}
+ \fi
+ \fi
+ \ifnum\loopcount=\rule@num@bottom\relax
+ \expandafter\ifnum\csname res@count\rule@num@bottom\endcsname>\rule@tens@bottom
+ \innerloopcount=\rule@tens@bottom \add@to@rule@tens@bottom
+ \fi
+ \expandafter\ifnum\csname res@count\rule@num@bottom\endcsname=\rule@tens@bottom
+ \expandafter\ifx\csname alt@ruler@bottom\rule@tens@bottom\endcsname\relax
+ \xdef\temp@{\rule@tens@bottom}
\else
- \xdef\temp@{\csname alt@ruler\rule@tens\endcsname}
+ \xdef\temp@{\csname alt@ruler@bottom\rule@tens@bottom\endcsname}
\fi
- \xdef\ruler@{\ruler@ !<\temp@>}
+ \xdef\bottomruler@{\bottomruler@ !<\temp@>}
\else
- \xdef\ruler@{\ruler@ -}
+ \xdef\bottomruler@{\bottomruler@ -}
\fi
- \xdef\temp@{\csname res@count\rule@num\endcsname}
- \expandafter\ifx\csname alt@ruler\temp@\endcsname\relax
+ \xdef\temp@{\csname res@count\rule@num@bottom\endcsname}
+ \expandafter\ifx\csname alt@ruler@bottom\temp@\endcsname\relax
\else
- \expandafter\xdef\csname alt@ruler\temp@\endcsname{\temp@}
+ \expandafter\xdef\csname alt@ruler@bottom\temp@\endcsname{\temp@}
\fi
\fi
\ifx\collect@valtop\yes
@@ -17252,7 +17408,8 @@
\expandafter\xdef\csname ch@rge\the\loopcount\endcsname{%
\the\innerloopcount}
\else
- \ifnum\loopcount=\rule@num \xdef\ruler@{\ruler@ -} \fi
+ \ifnum\loopcount=\rule@num@top \xdef\topruler@{\topruler@ -} \fi
+ \ifnum\loopcount=\rule@num@bottom \xdef\bottomruler@{\bottomruler@ -} \fi
\ifnum\loopcount=\chimera@seqnum \xdef\chimera@stack{\chimera@stack &,} \fi
\ifx\collect@valtop\yes
\ifnum\v@lseqtop=\loopcount
@@ -17425,31 +17582,56 @@
\ifcase\match@case \unc@nserved \or \c@nserved \or \allm@tch \else \functi@nal \fi
\fi
\fi
- \ifnum\rule@num=0
- \ifx\g@p\y@
- \xdef\ruler@{\ruler@ -}
+ \ifnum\rule@num@top=0
+ \ifx\g@p\y@
+ \xdef\topruler@{\topruler@ -}
\else
- \ifnum\cons@count=\rule@tens
- \expandafter\ifx\csname alt@ruler\rule@tens\endcsname\relax
- \xdef\temp@{\rule@tens}
+ \ifnum\cons@count=\rule@tens@top
+ \expandafter\ifx\csname alt@ruler@top\rule@tens@top\endcsname\relax
+ \xdef\temp@{\rule@tens@top}
\else
- \xdef\temp@{\csname alt@ruler\rule@tens\endcsname}
+ \xdef\temp@{\csname alt@ruler@top\rule@tens@top\endcsname}
\fi
- \xdef\ruler@{\ruler@ !<\temp@>}
- \innerloopcount=\rule@tens \advance\innerloopcount by \ruler@step\relax
- \ifnum\innerloopcount=0
- \ifx\allow@zero\n@ \innerloopcount=\ruler@step \fi
+ \xdef\topruler@{\topruler@ !<\temp@>}
+ \innerloopcount=\rule@tens@top \advance\innerloopcount by \ruler@step@top\relax
+ \ifnum\innerloopcount=0
+ \ifx\allow@zero\n@ \innerloopcount=\ruler@step@top \fi
\fi
- \xdef\rule@tens{\the\innerloopcount}
+ \xdef\rule@tens@top{\the\innerloopcount}
\else
- \xdef\ruler@{\ruler@ -}
- \fi
- \expandafter\ifx\csname alt@ruler\the\cons@count\endcsname\relax
+ \xdef\topruler@{\topruler@ -}
+ \fi
+ \expandafter\ifx\csname alt@ruler@top\the\cons@count\endcsname\relax
\else
- \expandafter\xdef\csname alt@ruler\the\cons@count\endcsname{\the\cons@count}
+ \expandafter\xdef\csname alt@ruler@top\the\cons@count\endcsname{\the\cons@count}
\fi
\fi
- \fi
+ \fi
+ \ifnum\rule@num@bottom=0
+ \ifx\g@p\y@
+ \xdef\bottomruler@{\bottomruler@ -}
+ \else
+ \ifnum\cons@count=\rule@tens@bottom
+ \expandafter\ifx\csname alt@ruler@bottom\rule@tens@bottom\endcsname\relax
+ \xdef\temp@{\rule@tens@bottom}
+ \else
+ \xdef\temp@{\csname alt@ruler@bottom\rule@tens@bottom\endcsname}
+ \fi
+ \xdef\bottomruler@{\bottomruler@ !<\temp@>}
+ \innerloopcount=\rule@tens@bottom \advance\innerloopcount by \ruler@step@bottom\relax
+ \ifnum\innerloopcount=0
+ \ifx\allow@zero\n@ \innerloopcount=\ruler@step@bottom \fi
+ \fi
+ \xdef\rule@tens@bottom{\the\innerloopcount}
+ \else
+ \xdef\bottomruler@{\bottomruler@ -}
+ \fi
+ \expandafter\ifx\csname alt@ruler@bottom\the\cons@count\endcsname\relax
+ \else
+ \expandafter\xdef\csname alt@ruler@bottom\the\cons@count\endcsname{\the\cons@count}
+ \fi
+ \fi
+ \fi
\expandafter\ifnum\csname res@count\start@seq\endcsname<\end@num\relax
\c@nsensus
\else
@@ -17498,12 +17680,19 @@
\expandafter\xdef\csname dom@num\the\loopcount\endcsname{\temp@}
\fi %%%%%%%%%%%*****
\expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count}
- \ifnum\rule@num=\loopcount
+ \ifnum\rule@num@top=\loopcount
+ \temp@count=\csname res@count\the\loopcount\endcsname
+ \advance\temp@count by \ruler@step@top
+ \divide\temp@count by \ruler@step@top
+ \multiply\temp@count by \ruler@step@top
+ \xdef\rule@tens@top{\the\temp@count}
+ \fi
+ \ifnum\rule@num@bottom=\loopcount
\temp@count=\csname res@count\the\loopcount\endcsname
- \advance\temp@count by \ruler@step
- \divide\temp@count by \ruler@step
- \multiply\temp@count by \ruler@step
- \xdef\rule@tens{\the\temp@count}
+ \advance\temp@count by \ruler@step@bottom
+ \divide\temp@count by \ruler@step@bottom
+ \multiply\temp@count by \ruler@step@bottom
+ \xdef\rule@tens@bottom{\the\temp@count}
\fi
\fi
\ifnum\loopcount<\seq@count \c@unt\fi}
@@ -18414,67 +18603,69 @@
\xdef\first@{#2@}%
\xdef\fill@char{#1[,]&}%
\expandafter\opt@color\fill@char%
- \ifx\f@color\comm@\xdef\f@color{\ruler@fg}\fi%
- \ifcase\rule@top
- \ifnum\ruler@rot=0 %
+ \ifnum\top@bot=0
+ \ifx\f@color\comm@\xdef\f@color{\ruler@fg@top}\fi
+ \ifnum\ruler@rot@top=0%
\xdef\temp@{tt}%
\ifx\ruler@family\temp@%
- \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\mathtt{\fourth@}}{\textcolor{\ruler@fg}{.}}}}%
+ \def\third@{\tt\bottomruler@size\vbox{\hbox to \ruler@width{\hss\fourth@\hss}\vspace{-0.75\baselineskip}\hbox to \ruler@width{\textcolor{\ruler@fg@top}{\hss.\hss}}}}%
\else
\xdef\temp@{sf}%
\ifx\ruler@family\temp@%
- \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\mathsf{\fourth@}}{\textcolor{\ruler@fg}{.}}}}%
+ \def\third@{\sf\bottomruler@size\vbox{\hbox to \ruler@width{\hss\fourth@\hss}\vspace{-0.75\baselineskip}\hbox to \ruler@width{\textcolor{\ruler@fg@top}{\hss.\hss}}}}%
\else
\xdef\temp@{rm}%
\ifx\ruler@family\temp@%
- \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\mathrm{\fourth@}}{\textcolor{\ruler@fg}{.}}}}%
+ \def\third@{\rm\bottomruler@size\vbox{\hbox to \ruler@width{\hss\fourth@\hss}\vspace{-0.75\baselineskip}\hbox to \ruler@width{\textcolor{\ruler@fg@top}{\hss.\hss}}}}%
\fi\fi\fi
\else
\xdef\temp@{tt}%
\ifx\ruler@family\temp@%
\def\third@{\tt\bottomruler@size\,\,\,\,%
- \begin{rotopo}{90}\hbox to \ruler@width{\,\textcolor{\ruler@fg}{\ensuremath{\cdot}}\,\fourth@\hss}\end{rotopo}}%
+ \begin{rotopo}{90}\hbox to \ruler@width{\,\textcolor{\ruler@fg@top}{\ensuremath{\cdot}}\,\fourth@\hss}\end{rotopo}}%
\else
\xdef\temp@{sf}%
\ifx\ruler@family\temp@%
\def\third@{\sf\bottomruler@size\,\,\,\,%
- \begin{rotopo}{90}\hbox to \ruler@width{\,\textcolor{\ruler@fg}{\ensuremath{\cdot}}\,\fourth@\hss}\end{rotopo}}%
+ \begin{rotopo}{90}\hbox to \ruler@width{\,\textcolor{\ruler@fg@top}{\ensuremath{\cdot}}\,\fourth@\hss}\end{rotopo}}%
\else
\xdef\temp@{rm}%
\ifx\ruler@family\temp@%
\def\third@{\rm\bottomruler@size\,\,\,\,%
- \begin{rotopo}{90}\hbox to \ruler@width{\,\textcolor{\ruler@fg}{\ensuremath{\cdot}}\,\fourth@\hss}\end{rotopo}}%
+ \begin{rotopo}{90}\hbox to \ruler@width{\,\textcolor{\ruler@fg@top}{\ensuremath{\cdot}}\,\fourth@\hss}\end{rotopo}}%
\fi\fi\fi
\fi
- \else
- \ifnum\ruler@rot=0 %
+ \fi
+ \ifnum\top@bot=1
+ \ifx\f@color\comm@\xdef\f@color{\ruler@fg@bottom}\fi
+ \ifnum\ruler@rot@bottom=0%
\xdef\temp@{tt}%
\ifx\ruler@family\temp@%
- \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\textcolor{\ruler@fg}{.}}{\mathtt{\fourth@}}}}%
+ \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\textcolor{\ruler@fg@bottom}{.}}{\mathtt{\fourth@}}}}%
\else
\xdef\temp@{sf}%
\ifx\ruler@family\temp@%
- \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\textcolor{\ruler@fg}{.}}{\mathsf{\fourth@}}}}%
+ \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\textcolor{\ruler@fg@bottom}{.}}{\mathsf{\fourth@}}}}%
\else
\xdef\temp@{rm}%
\ifx\ruler@family\temp@%
- \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\textcolor{\ruler@fg}{.}}{\mathrm{\fourth@}}}}%
+ \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\textcolor{\ruler@fg@bottom}{.}}{\mathrm{\fourth@}}}}%
\fi\fi\fi
\else
\xdef\temp@{tt}%
\ifx\ruler@family\temp@%
\def\third@{\tt\bottomruler@size\,\,\,\,%
- \begin{rotopo}{90}\hbox to \ruler@width{\hss\fourth@\,\textcolor{\ruler@fg}{\ensuremath{\cdot}}}\end{rotopo}}%
+ \begin{rotopo}{90}\hbox to \ruler@width{\hss\fourth@\,\textcolor{\ruler@fg@bottom}{\ensuremath{\cdot}}}\end{rotopo}}%
\else
\xdef\temp@{sf}%
\ifx\ruler@family\temp@%
\def\third@{\sf\bottomruler@size\,\,\,\,%
- \begin{rotopo}{90}\hbox to \ruler@width{\hss\fourth@\,\textcolor{\ruler@fg}{\ensuremath{\cdot}}}\end{rotopo}}%
+ \begin{rotopo}{90}\hbox to \ruler@width{\hss\fourth@\,\textcolor{\ruler@fg@bottom}{\ensuremath{\cdot}}}\end{rotopo}}%
\else
\xdef\temp@{rm}%
\ifx\ruler@family\temp@%
\def\third@{\rm\bottomruler@size\,\,\,\,%
- \begin{rotopo}{90}\hbox to \ruler@width{\hss\fourth@\,\textcolor{\ruler@fg}{\ensuremath{\cdot}}}\end{rotopo}}%
+ \begin{rotopo}{90}\hbox to \ruler@width{\hss\fourth@\,\textcolor{\ruler@fg@bottom}{\ensuremath{\cdot}}}\end{rotopo}}%
\fi\fi\fi
\fi
\fi}
@@ -18497,44 +18688,118 @@
\fi}
\def\put@ruler{%
- \ifnames@right%
- \ifnumbers@left%
- \ifnumbers@right%
- \xdef\ruler@{)\ruler@)<>}%
- \else%
- \xdef\ruler@{)\ruler@<>}%
- \fi%
- \else%
- \xdef\ruler@{\ruler@)<>}%
- \fi%
- \else%
- \ifnumbers@left%
- \ifnumbers@right%
- \xdef\ruler@{<>)\ruler@)}%
- \else%
- \xdef\ruler@{<>)\ruler@}%
- \fi%
- \else%
- \xdef\ruler@{<>\ruler@)}%
- \fi%
- \fi%
+ \ifx\rulernamecolor@top\n@\xdef\rulernamecolor@top{\ruler@fg@top}\fi%
+ \ifx\rulernamecolor@bottom\n@\xdef\rulernamecolor@bottom{\ruler@fg@bottom}\fi%
+ \ifx\rulername@family\n@\xdef\rulername@family{\ruler@family}\fi%
+ \ifx\rulername@size\n@\def\rulername@size{\bottomruler@size}\fi%
\xdef\first@{\ruler@ @}%
- \ifnum\rule@top=1%
- \vspace{\ruler@sp@ce}%
+ \ifnum\top@bot=1%
+ \vspace{\ruler@sp@ce@bottom}%
\vspace{-\baselineskip}%
\newline\hbox{}%
+ \ifnames@right%
+ \else
+ \ifnum\ruler@rot@bottom=0%
+ \xdef\temp@{tt}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\tt\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\sf\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\rm\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}%
+ \fi\fi\fi%
+ \else%
+ \xdef\temp@{tt}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\raisebox{0.6\baselineskip}{\tt\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\raisebox{0.6\baselineskip}{\sf\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\raisebox{0.6\baselineskip}{\rm\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}}%
+ \fi\fi\fi%
+ \fi%
+ \fi%
+ \ifnumbers@left\hbox to \number@width{\hss\kern1em}\fi%
\fi%
- \ifnames@right\else\def\@kern{\kern0em}\expandafter\put@name\first@\fi%
- \ifnumbers@left\def\@kern{\kern1em}\expandafter\put@number\first@\fi%
- \vspace{-0.25\baselineskip}%
- \ifnum\rule@top=0%
- \vspace{\ruler@sp@ce}%
+ \vspace{-0.4\baselineskip}%
+ \ifnum\top@bot=0%
+ \ifnum\ruler@rot@top=90 \vspace{1.4\baselineskip}\fi%
+ \vspace{-0.58\baselineskip}%
+ \newline\hbox{}%
+ \ifnames@right%
+ \else
+ \xdef\temp@{tt}%
+ \ifx\rulername@family\temp@%
+ \vbox{\tt\rulername@size\hbox to \name@width{\textcolor{\rulernamecolor@top}{\rulername@top\hss}}\vspace{-0.75\baselineskip}\hbox to \ruler@width{\hss}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\rulername@family\temp@%
+ \vbox{\sf\rulername@size\hbox to \name@width{\textcolor{\rulernamecolor@top}{\rulername@top\hss}}\vspace{-0.75\baselineskip}\hbox to \ruler@width{\hss}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\rulername@family\temp@%
+ \vbox{\rm\rulername@size\hbox to \name@width{\textcolor{\rulernamecolor@top}{\rulername@top\hss}}\vspace{-0.75\baselineskip}\hbox to \ruler@width{\hss}}%
+ \fi\fi\fi%
+ \fi%
+ \ifnumbers@left\hbox to \number@width{\hss\kern1em}\fi%
+ \vspace{-0.2\baselineskip}%
+ \vspace{\ruler@sp@ce@top}%
\fi%
- \fontfamily{\ruler@family}%
- \fontseries{m}%
- \fontshape{n}%
- \selectfont%
\innerloopcount=1\relax\put@rulechar%
+ \ifnames@right%
+ \kern1em%
+ \ifnumbers@left\else\hbox to \number@width{\hss}\fi%
+ \ifnum\top@bot=1%
+ \ifnum\ruler@rot@bottom=0%
+ \xdef\temp@{tt}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\tt\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\sf\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\rm\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}%
+ \fi\fi\fi%
+ \else%
+ \xdef\temp@{tt}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\raisebox{0.6\baselineskip}{\tt\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\raisebox{0.6\baselineskip}{\sf\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\raisebox{0.6\baselineskip}{\rm\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}}%
+ \fi\fi\fi%
+ \fi%
+ \else
+ \xdef\temp@{tt}%
+ \ifx\rulername@family\temp@%
+ \vbox{\tt\rulername@size\hbox to \name@width{\textcolor{\rulernamecolor@top}{\rulername@top\hss}}\vspace{-0.75\baselineskip}\hbox to \ruler@width{\hss}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\rulername@family\temp@%
+ \vbox{\sf\rulername@size\hbox to \name@width{\textcolor{\rulernamecolor@top}{\rulername@top\hss}}\vspace{-0.75\baselineskip}\hbox to \ruler@width{\hss}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\rulername@family\temp@%
+ \vbox{\rm\rulername@size\hbox to \name@width{\textcolor{\rulernamecolor@top}{\rulername@top\hss}}\vspace{-0.75\baselineskip}\hbox to \ruler@width{\hss}}%
+ \fi\fi\fi%
+ \fi%
+ \fi%
\newline\hbox{}%
}
\def\get@firstfill#1#2&{\xdef\second@@{#1}\xdef\fill@char{#2&}}
@@ -20689,7 +20954,7 @@
\else
\iffix@\iftopfeature \vspace{\t@sp@ce}\newline\hbox{}\newline\hbox{}\fi\fi
\fi
- \ifnum\rule@num<0 \else \ifnum\rule@top=0 \loopcount=0 \put@ruler \fi\fi
+ \ifnum\rule@num@top<0 \else \ifnum\rule@top=1 \loopcount=0 \xdef\top@bot{0}\xdef\ruler@{\topruler@}\put@ruler\fi\fi
\ifshow@logo\ifnum\logo@top=0
\xdef\last@{\stack@sequencelogo @}%
\ifx\logo@name@user\ampers@nd\xdef\logo@name{logo}\else\xdef\logo@name{\logo@name@user}\fi
@@ -20777,15 +21042,15 @@
\ifx\sublogo@name@user\ampers@nd\xdef\logo@name{subfamily}\else\xdef\logo@name{\sublogo@name@user}\fi
\put@logo%
\fi\fi%
- \ifnum\rule@num<0 %
+ \ifnum\rule@num@bottom<0 %
\else%
- \ifnum\rule@top=1 %
+ \ifnum\rule@bottom=1 %
\loopcount=0\relax%
- \ifnum\ruler@rot=0 %
+ \ifnum\ruler@rot@bottom=0 %
\else \vspace{\ruler@width}\vspace{-1.75\baselineskip}\newline\hbox{}%
\fi
- \put@ruler%
- \ifnum\ruler@rot=0 \vspace{0.25\baselineskip}\fi%
+ \xdef\top@bot{1}\xdef\ruler@{\bottomruler@}\put@ruler%
+ \ifnum\ruler@rot@bottom=0 \vspace{0.25\baselineskip}\fi%
\fi%
\fi%
\xdef\fe@turep@s{bottom}%
@@ -20895,7 +21160,7 @@
\fi
\fi
\fi
- \xdef\consensus{} \xdef\ruler@{}
+ \xdef\consensus{} \xdef\topruler@{} \xdef\bottomruler@{}
\xdef\styleframe{}
\xdef\textfeaturetop{} \xdef\textfeaturebottom{}
\xdef\textfeaturettop{} \xdef\textfeaturebbottom{}
@@ -21969,30 +22234,55 @@
\xdef\start@num{\the\loopcount}
\fi
\fi
- \ifnum\rule@num>0
- \loopcount=\csname res@count\rule@num\endcsname
- \divide\loopcount by \ruler@step
- \multiply\loopcount by \ruler@step
- \ifnum\loopcount<0
- \ifnum\ruler@step<3
- \advance\loopcount by \ruler@step
+ \ifnum\rule@num@top>0
+ \loopcount=\csname res@count\rule@num@top\endcsname
+ \divide\loopcount by \ruler@step@top
+ \multiply\loopcount by \ruler@step@top
+ \ifnum\loopcount<0
+ \ifnum\ruler@step@top<3
+ \advance\loopcount by \ruler@step@top
\fi
- \else
- \advance\loopcount by \ruler@step
+ \else
+ \advance\loopcount by \ruler@step@top
\fi
- \xdef\rule@tens{\the\loopcount}
+ \xdef\rule@tens@top{\the\loopcount}
\else
- \loopcount=\cons@count
- \divide\loopcount by \ruler@step
- \multiply\loopcount by \ruler@step
- \ifnum\loopcount<0
- \ifnum\ruler@step<3
- \advance\loopcount by \ruler@step
+ \loopcount=\cons@count
+ \divide\loopcount by \ruler@step@top
+ \multiply\loopcount by \ruler@step@top
+ \ifnum\loopcount<0
+ \ifnum\ruler@step@top<3
+ \advance\loopcount by \ruler@step@top
\fi
- \else
- \advance\loopcount by \ruler@step
+ \else
+ \advance\loopcount by \ruler@step@top
+ \fi
+ \xdef\rule@tens@top{\the\loopcount}
+ \fi
+ \ifnum\rule@num@bottom>0
+ \loopcount=\csname res@count\rule@num@bottom\endcsname
+ \divide\loopcount by \ruler@step@bottom
+ \multiply\loopcount by \ruler@step@bottom
+ \ifnum\loopcount<0
+ \ifnum\ruler@step@bottom<3
+ \advance\loopcount by \ruler@step@bottom
+ \fi
+ \else
+ \advance\loopcount by \ruler@step@bottom
+ \fi
+ \xdef\rule@tens@bottom{\the\loopcount}
+ \else
+ \loopcount=\cons@count
+ \divide\loopcount by \ruler@step@bottom
+ \multiply\loopcount by \ruler@step@bottom
+ \ifnum\loopcount<0
+ \ifnum\ruler@step@bottom<3
+ \advance\loopcount by \ruler@step@bottom
+ \fi
+ \else
+ \advance\loopcount by \ruler@step@bottom
\fi
- \xdef\rule@tens{\the\loopcount}
+ \xdef\rule@tens@bottom{\the\loopcount}
\fi
\xdef\first@{top}
\ifx\cap@pos\first@
@@ -22068,7 +22358,7 @@
\xdef\allow@zero{n} \xdef\c@ns@shift{0}
\regionalshadefalse\regionalemphfalse\regionallowerfalse\regionaltintfalse
\frame@false\shading@false
-\xdef\ruler@rot{0}
+\xdef\ruler@rot@top{0} \xdef\ruler@rot@bottom{0}
\topfeaturefalse \bottomfeaturefalse
\ttopfeaturefalse \bbottomfeaturefalse
\tttopfeaturefalse \bbbottomfeaturefalse
@@ -22119,7 +22409,7 @@
\xdef\ttt@sp@ce{0mm} \xdef\tttt@sp@ce{0mm}
\xdef\b@sp@ce{0mm} \xdef\bb@sp@ce{0mm}
\xdef\bbb@sp@ce{0mm} \xdef\bbbb@sp@ce{0mm}
-\xdef\ruler@sp@ce{0mm}
+\xdef\ruler@sp@ce@top{0mm} \xdef\ruler@sp@ce@bottom{0mm}
\xdef\seq@gap@num{0}
\xdef\h@ndalign{no} \xdef\sep@space{0pt}
\xdef\c@pshort{n}
diff --git a/Master/texmf-dist/source/latex/texshade/texshade.ins b/Master/texmf-dist/source/latex/texshade/texshade.ins
index 47130a06994..5bc07c48c45 100644
--- a/Master/texmf-dist/source/latex/texshade/texshade.ins
+++ b/Master/texmf-dist/source/latex/texshade/texshade.ins
@@ -1,7 +1,7 @@
%%
%% docstrip install file for texshade.sty
%%
-%% Copyright 1999-2023 Eric Beitz
+%% Copyright 1999-2024 Eric Beitz
%%
\def\batchfile{texshade.ins}
@@ -14,7 +14,7 @@
LaTeX package for typesetting nucleotide and peptide alignments
-Copyright (C) 1999-2023 Eric Beitz
+Copyright (C) 1999-2024 Eric Beitz
See the file README
\endpreamble
diff --git a/Master/texmf-dist/tex/latex/texshade/texshade.sty b/Master/texmf-dist/tex/latex/texshade/texshade.sty
index 3ea3faf0f6d..c471186e8dd 100644
--- a/Master/texmf-dist/tex/latex/texshade/texshade.sty
+++ b/Master/texmf-dist/tex/latex/texshade/texshade.sty
@@ -8,13 +8,13 @@
%%
%% LaTeX package for typesetting nucleotide and peptide alignments
%%
-%% Copyright (C) 1999-2023 Eric Beitz
+%% Copyright (C) 1999-2024 Eric Beitz
%% See the file README
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{texshade}[2023/06/04 LaTeX TeXshade (v1.26c)]
-\message{Package `texshade', Version 1.26c of 2023/06/04.}
+\ProvidesPackage{texshade}[2023/06/04 LaTeX TeXshade (v1.27)]
+\message{Package `texshade', Version 1.27 of 2024/01/06.}
\PassOptionsToPackage{dvips}{color}
\PassOptionsToPackage{dvips}{graphicx}
@@ -154,6 +154,10 @@
\def\resm@tch{upper} \def\res@llm@tch{upper}
\def\tr@ns{translate} \def\gr@ydef@ult{GrayDefault}
\xdef\par@{\string\par}
+\xdef\rule@bottom{-1}\xdef\rule@top{-1}
+\xdef\rulername@top{} \xdef\rulername@bottom{}
+\xdef\rulernamecolor@top{n} \xdef\rulernamecolor@bottom{n}
+\xdef\rulername@family{n} \xdef\rulername@size{n}
\expandafter\def\csname fg@textcolor/\endcsname{White}
\expandafter\def\csname fg@color/\endcsname{White}
\expandafter\def\csname func@style/\endcsname{\csname textup\endcsname}
@@ -2401,8 +2405,9 @@
\expandafter\order@set\second@
\ifnum\loopcount<\killseq@count \repeat
\ifnum\cons@num>0 \xdef\cons@num{\csname @rd\cons@num\endcsname} \fi
- \ifnum\rule@num>0 \xdef\rule@num{\csname @rd\rule@num\endcsname} \fi
- \ifnum\divref@>0 \xdef\divref@{\csname @rd\divref@\endcsname} \fi
+ \ifnum\rule@num@top>0 \xdef\rule@num@top{\csname @rd\rule@num@top\endcsname} \fi
+ \ifnum\rule@num@bottom>0 \xdef\rule@num@bottom{\csname @rd\rule@num@bottom\endcsname} \fi
+ \ifnum\divref@>0 \xdef\divref@{\csname @rd\divref@\endcsname} \fi
\loopcount=0
\loop
\advance\loopcount by 1
@@ -2676,12 +2681,14 @@
\expandafter\xdef\csname res@count\the\loopcount\endcsname{%
\csname res@count\the\innerloopcount\endcsname}
\expandafter\xdef\csname hide@seq\the\innerloopcount\endcsname{kill}
- \ifnum\loopcount=\rule@num \hideruler \fi
+ \ifnum\loopcount=\rule@num@top \hideruler[top] \fi
+ \ifnum\loopcount=\rule@num@bottom \hideruler[bottom] \fi
\fi
\expandafter\xdef\csname @rd\the\innerloopcount\endcsname{\the\loopcount}
\advance\loopcount by 1
\ifnum\loopcount>\killseq@count
- \ifnum\rule@num>0\xdef\rule@num{\csname @rd\rule@num\endcsname}\fi
+ \ifnum\rule@num@top>0\xdef\rule@num@top{\csname @rd\rule@num@top\endcsname}\fi
+ \ifnum\rule@num@bottom>0\xdef\rule@num@bottom{\csname @rd\rule@num@bottom\endcsname}\fi
\ifnum\cons@num>0\xdef\cons@num{\csname @rd\cons@num\endcsname}\fi
\else
\kill@seqnow
@@ -6050,7 +6057,11 @@
\def\bbottomspace#1{\def\bb@sp@ce{#1}}
\def\bbbottomspace#1{\def\bbb@sp@ce{#1}}
\def\bbbbottomspace#1{\def\bbbb@sp@ce{#1}}
-\def\rulerspace#1{\def\ruler@sp@ce{#1}}
+\newcommand\rulerspace[2][n]{
+ \xdef\first@{#1} \ifx\first@\n@ \def\ruler@sp@ce@top{#2}\def\ruler@sp@ce@bottom{#2}\fi
+ \xdef\second@{top} \ifx\first@\second@ \def\ruler@sp@ce@top{#2}\fi
+ \xdef\second@{bottom} \ifx\first@\second@ \def\ruler@sp@ce@bottom{#2}\fi
+}
\def\fixblockspace{\fix@true}
\def\flexblockspace{\fix@false}
\def\nosepline{\def\seq@skip{\relax}}
@@ -6559,34 +6570,96 @@
\def\hideleadinggaps{\sh@wg@psfalse}
\def\showleadinggaps{\sh@wg@pstrue}
\newcommand\showruler[3][n]{%
- \xdef\first@{#1}
- \ifx\first@\n@\else\xdef\ruler@fg{#1}\fi
+ \xdef\first@@{#1}
\xdef\first@{consensus} \xdef\second@{#3}
\xdef\third@{bottom} \xdef\fourth@{#2}
- \ifx\third@\fourth@ \xdef\rule@top{1}\else\xdef\rule@top{0}\fi
- \ifx\first@\second@ \xdef\rule@num{0}
+ \ifx\third@\fourth@
+ \xdef\rule@bottom{1}
+ \ifx\first@@\n@\else\xdef\ruler@fg@bottom{#1}\fi
+ \ifx\first@\second@ \xdef\rule@num@bottom{0}
+ \else
+ \xdef\first@{#3 @} \expandafter\check@letter\first@
+ \xdef\first@{#3} \ifletter \get@name@number \fi
+ \ifnum\first@>\seq@count
+ \else
+ \ifnum\first@>0
+ \xdef\rule@num@bottom{\first@}
+ \fi
+ \fi
+ \fi
\else
- \xdef\first@{#3 @} \expandafter\check@letter\first@
- \xdef\first@{#3} \ifletter \get@name@number \fi
- \ifnum\first@>\seq@count
- \else
- \ifnum\first@>0
- \xdef\rule@num{\first@}
- \fi
+ \xdef\rule@top{1}
+ \ifx\first@@\n@\else\xdef\ruler@fg@top{#1}\fi
+ \ifx\first@\second@ \xdef\rule@num@top{0}
+ \else
+ \xdef\first@{#3 @} \expandafter\check@letter\first@
+ \xdef\first@{#3} \ifletter \get@name@number \fi
+ \ifnum\first@>\seq@count
+ \else
+ \ifnum\first@>0
+ \xdef\rule@num@top{\first@}
+ \fi
+ \fi
\fi
\fi
- \xdef\ruler@{}}
-\def\hideruler{\xdef\rule@num{-1}}
+ \xdef\topruler@{}\xdef\bottomruler@{}
+}
+\newcommand\hideruler[1][n]{
+ \xdef\first@{#1} \ifx\first@\n@
+ \xdef\rule@num@top{-1} \xdef\rule@top{0}
+ \xdef\rule@num@bottom{-1} \xdef\rule@bottom{0}
+ \fi
+ \xdef\second@{top} \ifx\first@\second@
+ \xdef\rule@num@top{-1} \xdef\rule@top{0}
+ \fi
+ \xdef\second@{bottom} \ifx\first@\second@
+ \xdef\rule@num@bottom{-1} \xdef\rule@bottom{0}
+ \fi
+}
\def\allowzero{\xdef\allow@zero{y}}
\def\disallowzero{\xdef\allow@zero{n}}
-\def\rulersteps#1{%
- \xdef\ruler@step{#1}
- \ifnum#1<4 \xdef\ruler@rot{90}\fi
+\newcommand\rulersteps[2][n]{
+ \xdef\first@{#1} \ifx\first@\n@
+ \xdef\ruler@step@top{#2} \ifnum#2<4 \xdef\ruler@rot@top{90}\fi
+ \xdef\ruler@step@bottom{#2} \ifnum#2<4 \xdef\ruler@rot@bottom{90}\fi
+ \fi
+ \xdef\second@{top} \ifx\first@\second@
+ \xdef\ruler@step@top{#2} \ifnum#2<4 \xdef\ruler@rot@top{90}\fi
+ \fi
+ \xdef\second@{bottom} \ifx\first@\second@
+ \xdef\ruler@step@bottom{#2} \ifnum#2<4 \xdef\ruler@rot@bottom{90}\fi
+ \fi
+}
+\newcommand\rotateruler[1][n]{
+ \xdef\first@{#1} \ifx\first@\n@ \xdef\ruler@rot@top{90} \xdef\ruler@rot@bottom{90} \fi
+ \xdef\second@{top} \ifx\first@\second@ \xdef\ruler@rot@top{90}\fi
+ \xdef\second@{bottom} \ifx\first@\second@ \xdef\ruler@rot@bottom{90}\fi
+}
+\newcommand\unrotateruler[1][n]{
+ \xdef\first@{#1} \ifx\first@\n@ \xdef\ruler@rot@top{0} \xdef\ruler@rot@bottom{0} \fi
+ \xdef\second@{top} \ifx\first@\second@ \xdef\ruler@rot@top{0}\fi
+ \xdef\second@{bottom} \ifx\first@\second@ \xdef\ruler@rot@bottom{0}\fi
+}
+\newcommand\namerulerpos[3][n]{%
+ \xdef\first@{#1}
+ \ifx\first@\n@
+ \expandafter\xdef\csname alt@ruler@top#2\endcsname{#3}
+ \expandafter\xdef\csname alt@ruler@bottom#2\endcsname{#3}
+ \fi
+ \xdef\second@{top}
+ \ifx\first@\second@ \expandafter\xdef\csname alt@ruler@top#2\endcsname{#3} \fi
+ \xdef\second@{bottom}
+ \ifx\first@\second@ \expandafter\xdef\csname alt@ruler@bottom#2\endcsname{#3} \fi
}
-\def\rotateruler{\xdef\ruler@rot{90}}
-\def\unrotateruler{\xdef\ruler@rot{0}}
-\def\namerulerpos#1#2{%
- \expandafter\xdef\csname alt@ruler#1\endcsname{#2}
+\newcommand\nameruler[2][n]{
+ \xdef\first@{#1} \ifx\first@\n@ \xdef\rulername@top{#2} \xdef\rulername@bottom{#2} \fi
+ \xdef\second@{top} \ifx\first@\second@ \xdef\rulername@top{#2}\fi
+ \xdef\second@{bottom} \ifx\first@\second@ \xdef\rulername@bottom{#2}\fi
+}
+\newcommand\rulernamecolor[2][n]{
+ \xdef\first@{#1} \ifx\first@\n@ \xdef\rulernamecolor@top{#2} \xdef\rulernamecolor@bottom{#2} \fi
+ \xdef\second@{top} \ifx\first@\second@ \xdef\rulernamecolor@top{#2}\fi
+ \xdef\second@{bottom} \ifx\first@\second@ \xdef\rulernamecolor@bottom{#2}\fi
}
\def\featurerule#1{\setlength\rule@thick{#1}}
\def\orderseqs#1{%
@@ -6664,6 +6737,9 @@
\xdef\temp@{ruler}
\ifx\first@\temp@ \xdef\ruler@family{\second@}
\else
+ \xdef\temp@{rulername}
+ \ifx\first@\temp@ \xdef\rulername@family{\second@}
+ \else
\xdef\temp@{all}
\ifx\first@\temp@
\xdef\ftext@family{\third@}
@@ -6676,7 +6752,8 @@
\xdef\legend@family{\third@}
\xdef\label@family{\third@}
\xdef\ruler@family{\second@}
- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ \xdef\rulername@family{\second@}
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\fi
}
\def\setseries#1#2{%
@@ -6887,6 +6964,10 @@
\ifx\first@\temp@
\def\bottomruler@size{\csname #2\endcsname}
\fi
+ \xdef\temp@{rulername}
+ \ifx\first@\temp@
+ \def\rulername@size{\csname #2\endcsname}
+ \fi
}
\def\setfont#1#2#3#4#5{%
\setfamily{#1}{#2}\setseries{#1}{#3}
@@ -7056,6 +7137,19 @@
\def\rulerLARGE {\setsize{ruler}{LARGE}}
\def\rulerhuge {\setsize{ruler}{huge}}
\def\rulerHuge {\setsize{ruler}{Huge}}
+\def\rulernamerm{\setfamily{rulername}{rm}}
+\def\rulernamesf{\setfamily{rulername}{sf}}
+\def\rulernamett{\setfamily{rulername}{tt}}
+\def\rulernametiny {\setsize{rulername}{tiny}}
+\def\rulernamescriptsize {\setsize{rulername}{scriptsize}}
+\def\rulernamefootnotesize{\setsize{rulername}{footnotesize}}
+\def\rulernamesmall {\setsize{rulername}{small}}
+\def\rulernamenormalsize {\setsize{rulername}{normalsize}}
+\def\rulernamelarge {\setsize{rulername}{large}}
+\def\rulernameLarge {\setsize{rulername}{Large}}
+\def\rulernameLARGE {\setsize{rulername}{LARGE}}
+\def\rulernamehuge {\setsize{rulername}{huge}}
+\def\rulernameHuge {\setsize{rulername}{Huge}}
\def\funcshadingstyle#1#2#3#4#5{%
\xdef\temp@{nomatch} \xdef\first@{#1}
\ifx\temp@\first@
@@ -7260,7 +7354,11 @@
\fi
}
\def\legendcolor#1{\xdef\legend@fg{#1}}
-\def\rulercolor#1{\xdef\ruler@fg{#1}}
+\newcommand\rulercolor[2][n]{
+ \xdef\first@{#1} \ifx\first@\n@ \xdef\ruler@fg@top{#2} \xdef\ruler@fg@bottom{#2} \fi
+ \xdef\second@{top} \ifx\first@\second@ \xdef\ruler@fg@top{#2}\fi
+ \xdef\second@{bottom} \ifx\first@\second@ \xdef\ruler@fg@bottom{#2}\fi
+}
\def\molweight#1#2{%
\xdef\temp@{Da}%
\xdef\second@{#2}%
@@ -10423,14 +10521,25 @@
\ifnum\loopcount<\seq@count \repeat
}
-\def\add@to@rule@tens{%
- \advance\innerloopcount by \ruler@step\relax
+\def\add@to@rule@tens@top{%
+ \advance\innerloopcount by \ruler@step@top\relax
+ \ifnum\innerloopcount=0
+ \ifx\allow@zero\n@ \innerloopcount=\ruler@step@top \fi
+ \fi
+ \expandafter\ifnum\csname res@count\rule@num@top\endcsname>\innerloopcount \add@to@rule@tens@top
+ \else
+ \xdef\rule@tens@top{\the\innerloopcount}
+ \fi
+}
+
+\def\add@to@rule@tens@bottom{%
+ \advance\innerloopcount by \ruler@step@bottom\relax
\ifnum\innerloopcount=0
- \ifx\allow@zero\n@ \innerloopcount=\ruler@step \fi
+ \ifx\allow@zero\n@ \innerloopcount=\ruler@step@bottom \fi
\fi
- \expandafter\ifnum\csname res@count\rule@num\endcsname>\innerloopcount \add@to@rule@tens
+ \expandafter\ifnum\csname res@count\rule@num@bottom\endcsname>\innerloopcount \add@to@rule@tens@bottom
\else
- \xdef\rule@tens{\the\innerloopcount}
+ \xdef\rule@tens@bottom{\the\innerloopcount}
\fi
}
@@ -10480,24 +10589,44 @@
\expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count}
\ifnum\loopcount=\chimera@seqnum \xdef\chimera@stack{\chimera@stack \the\res@count,} \fi
\ifnum\loopcount=\exp@rt@num \xdef\sixth@{\the\res@count}\xdef\seventh@{y}\fi
- \ifnum\loopcount=\rule@num\relax
- \expandafter\ifnum\csname res@count\rule@num\endcsname>\rule@tens
- \innerloopcount=\rule@tens \add@to@rule@tens
+ \ifnum\loopcount=\rule@num@top\relax
+ \expandafter\ifnum\csname res@count\rule@num@top\endcsname>\rule@tens@top
+ \innerloopcount=\rule@tens@top \add@to@rule@tens@top
+ \fi
+ \expandafter\ifnum\csname res@count\rule@num@top\endcsname=\rule@tens@top
+ \expandafter\ifx\csname alt@ruler@top\rule@tens@top\endcsname\relax
+ \xdef\temp@{\rule@tens@top}
+ \else
+ \xdef\temp@{\csname alt@ruler@top\rule@tens@top\endcsname}
+ \fi
+ \xdef\topruler@{\topruler@ !<\temp@>}
+ \else
+ \xdef\topruler@{\topruler@ -}
+ \fi
+ \xdef\temp@{\csname res@count\rule@num@top\endcsname}
+ \expandafter\ifx\csname alt@ruler@top\temp@\endcsname\relax
+ \else
+ \expandafter\xdef\csname alt@ruler@top\temp@\endcsname{\temp@}
\fi
- \expandafter\ifnum\csname res@count\rule@num\endcsname=\rule@tens
- \expandafter\ifx\csname alt@ruler\rule@tens\endcsname\relax
- \xdef\temp@{\rule@tens}
+ \fi
+ \ifnum\loopcount=\rule@num@bottom\relax
+ \expandafter\ifnum\csname res@count\rule@num@bottom\endcsname>\rule@tens@bottom
+ \innerloopcount=\rule@tens@bottom \add@to@rule@tens@bottom
+ \fi
+ \expandafter\ifnum\csname res@count\rule@num@bottom\endcsname=\rule@tens@bottom
+ \expandafter\ifx\csname alt@ruler@bottom\rule@tens@bottom\endcsname\relax
+ \xdef\temp@{\rule@tens@bottom}
\else
- \xdef\temp@{\csname alt@ruler\rule@tens\endcsname}
+ \xdef\temp@{\csname alt@ruler@bottom\rule@tens@bottom\endcsname}
\fi
- \xdef\ruler@{\ruler@ !<\temp@>}
+ \xdef\bottomruler@{\bottomruler@ !<\temp@>}
\else
- \xdef\ruler@{\ruler@ -}
+ \xdef\bottomruler@{\bottomruler@ -}
\fi
- \xdef\temp@{\csname res@count\rule@num\endcsname}
- \expandafter\ifx\csname alt@ruler\temp@\endcsname\relax
+ \xdef\temp@{\csname res@count\rule@num@bottom\endcsname}
+ \expandafter\ifx\csname alt@ruler@bottom\temp@\endcsname\relax
\else
- \expandafter\xdef\csname alt@ruler\temp@\endcsname{\temp@}
+ \expandafter\xdef\csname alt@ruler@bottom\temp@\endcsname{\temp@}
\fi
\fi
\ifx\collect@valtop\yes
@@ -10621,7 +10750,8 @@
\expandafter\xdef\csname ch@rge\the\loopcount\endcsname{%
\the\innerloopcount}
\else
- \ifnum\loopcount=\rule@num \xdef\ruler@{\ruler@ -} \fi
+ \ifnum\loopcount=\rule@num@top \xdef\topruler@{\topruler@ -} \fi
+ \ifnum\loopcount=\rule@num@bottom \xdef\bottomruler@{\bottomruler@ -} \fi
\ifnum\loopcount=\chimera@seqnum \xdef\chimera@stack{\chimera@stack &,} \fi
\ifx\collect@valtop\yes
\ifnum\v@lseqtop=\loopcount
@@ -10794,28 +10924,53 @@
\ifcase\match@case \unc@nserved \or \c@nserved \or \allm@tch \else \functi@nal \fi
\fi
\fi
- \ifnum\rule@num=0
+ \ifnum\rule@num@top=0
\ifx\g@p\y@
- \xdef\ruler@{\ruler@ -}
+ \xdef\topruler@{\topruler@ -}
\else
- \ifnum\cons@count=\rule@tens
- \expandafter\ifx\csname alt@ruler\rule@tens\endcsname\relax
- \xdef\temp@{\rule@tens}
+ \ifnum\cons@count=\rule@tens@top
+ \expandafter\ifx\csname alt@ruler@top\rule@tens@top\endcsname\relax
+ \xdef\temp@{\rule@tens@top}
\else
- \xdef\temp@{\csname alt@ruler\rule@tens\endcsname}
+ \xdef\temp@{\csname alt@ruler@top\rule@tens@top\endcsname}
\fi
- \xdef\ruler@{\ruler@ !<\temp@>}
- \innerloopcount=\rule@tens \advance\innerloopcount by \ruler@step\relax
+ \xdef\topruler@{\topruler@ !<\temp@>}
+ \innerloopcount=\rule@tens@top \advance\innerloopcount by \ruler@step@top\relax
\ifnum\innerloopcount=0
- \ifx\allow@zero\n@ \innerloopcount=\ruler@step \fi
+ \ifx\allow@zero\n@ \innerloopcount=\ruler@step@top \fi
\fi
- \xdef\rule@tens{\the\innerloopcount}
+ \xdef\rule@tens@top{\the\innerloopcount}
\else
- \xdef\ruler@{\ruler@ -}
+ \xdef\topruler@{\topruler@ -}
\fi
- \expandafter\ifx\csname alt@ruler\the\cons@count\endcsname\relax
+ \expandafter\ifx\csname alt@ruler@top\the\cons@count\endcsname\relax
\else
- \expandafter\xdef\csname alt@ruler\the\cons@count\endcsname{\the\cons@count}
+ \expandafter\xdef\csname alt@ruler@top\the\cons@count\endcsname{\the\cons@count}
+ \fi
+ \fi
+ \fi
+ \ifnum\rule@num@bottom=0
+ \ifx\g@p\y@
+ \xdef\bottomruler@{\bottomruler@ -}
+ \else
+ \ifnum\cons@count=\rule@tens@bottom
+ \expandafter\ifx\csname alt@ruler@bottom\rule@tens@bottom\endcsname\relax
+ \xdef\temp@{\rule@tens@bottom}
+ \else
+ \xdef\temp@{\csname alt@ruler@bottom\rule@tens@bottom\endcsname}
+ \fi
+ \xdef\bottomruler@{\bottomruler@ !<\temp@>}
+ \innerloopcount=\rule@tens@bottom \advance\innerloopcount by \ruler@step@bottom\relax
+ \ifnum\innerloopcount=0
+ \ifx\allow@zero\n@ \innerloopcount=\ruler@step@bottom \fi
+ \fi
+ \xdef\rule@tens@bottom{\the\innerloopcount}
+ \else
+ \xdef\bottomruler@{\bottomruler@ -}
+ \fi
+ \expandafter\ifx\csname alt@ruler@bottom\the\cons@count\endcsname\relax
+ \else
+ \expandafter\xdef\csname alt@ruler@bottom\the\cons@count\endcsname{\the\cons@count}
\fi
\fi
\fi
@@ -10867,12 +11022,19 @@
\expandafter\xdef\csname dom@num\the\loopcount\endcsname{\temp@}
\fi %%%%%%%%%%%*****
\expandafter\xdef\csname res@count\the\loopcount\endcsname{\the\res@count}
- \ifnum\rule@num=\loopcount
+ \ifnum\rule@num@top=\loopcount
\temp@count=\csname res@count\the\loopcount\endcsname
- \advance\temp@count by \ruler@step
- \divide\temp@count by \ruler@step
- \multiply\temp@count by \ruler@step
- \xdef\rule@tens{\the\temp@count}
+ \advance\temp@count by \ruler@step@top
+ \divide\temp@count by \ruler@step@top
+ \multiply\temp@count by \ruler@step@top
+ \xdef\rule@tens@top{\the\temp@count}
+ \fi
+ \ifnum\rule@num@bottom=\loopcount
+ \temp@count=\csname res@count\the\loopcount\endcsname
+ \advance\temp@count by \ruler@step@bottom
+ \divide\temp@count by \ruler@step@bottom
+ \multiply\temp@count by \ruler@step@bottom
+ \xdef\rule@tens@bottom{\the\temp@count}
\fi
\fi
\ifnum\loopcount<\seq@count \c@unt\fi}
@@ -11783,67 +11945,69 @@
\xdef\first@{#2@}%
\xdef\fill@char{#1[,]&}%
\expandafter\opt@color\fill@char%
- \ifx\f@color\comm@\xdef\f@color{\ruler@fg}\fi%
- \ifcase\rule@top
- \ifnum\ruler@rot=0 %
+ \ifnum\top@bot=0
+ \ifx\f@color\comm@\xdef\f@color{\ruler@fg@top}\fi
+ \ifnum\ruler@rot@top=0%
\xdef\temp@{tt}%
\ifx\ruler@family\temp@%
- \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\mathtt{\fourth@}}{\textcolor{\ruler@fg}{.}}}}%
+ \def\third@{\tt\bottomruler@size\vbox{\hbox to \ruler@width{\hss\fourth@\hss}\vspace{-0.75\baselineskip}\hbox to \ruler@width{\textcolor{\ruler@fg@top}{\hss.\hss}}}}%
\else
\xdef\temp@{sf}%
\ifx\ruler@family\temp@%
- \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\mathsf{\fourth@}}{\textcolor{\ruler@fg}{.}}}}%
+ \def\third@{\sf\bottomruler@size\vbox{\hbox to \ruler@width{\hss\fourth@\hss}\vspace{-0.75\baselineskip}\hbox to \ruler@width{\textcolor{\ruler@fg@top}{\hss.\hss}}}}%
\else
\xdef\temp@{rm}%
\ifx\ruler@family\temp@%
- \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\mathrm{\fourth@}}{\textcolor{\ruler@fg}{.}}}}%
+ \def\third@{\rm\bottomruler@size\vbox{\hbox to \ruler@width{\hss\fourth@\hss}\vspace{-0.75\baselineskip}\hbox to \ruler@width{\textcolor{\ruler@fg@top}{\hss.\hss}}}}%
\fi\fi\fi
\else
\xdef\temp@{tt}%
\ifx\ruler@family\temp@%
\def\third@{\tt\bottomruler@size\,\,\,\,%
- \begin{rotopo}{90}\hbox to \ruler@width{\,\textcolor{\ruler@fg}{\ensuremath{\cdot}}\,\fourth@\hss}\end{rotopo}}%
+ \begin{rotopo}{90}\hbox to \ruler@width{\,\textcolor{\ruler@fg@top}{\ensuremath{\cdot}}\,\fourth@\hss}\end{rotopo}}%
\else
\xdef\temp@{sf}%
\ifx\ruler@family\temp@%
\def\third@{\sf\bottomruler@size\,\,\,\,%
- \begin{rotopo}{90}\hbox to \ruler@width{\,\textcolor{\ruler@fg}{\ensuremath{\cdot}}\,\fourth@\hss}\end{rotopo}}%
+ \begin{rotopo}{90}\hbox to \ruler@width{\,\textcolor{\ruler@fg@top}{\ensuremath{\cdot}}\,\fourth@\hss}\end{rotopo}}%
\else
\xdef\temp@{rm}%
\ifx\ruler@family\temp@%
\def\third@{\rm\bottomruler@size\,\,\,\,%
- \begin{rotopo}{90}\hbox to \ruler@width{\,\textcolor{\ruler@fg}{\ensuremath{\cdot}}\,\fourth@\hss}\end{rotopo}}%
+ \begin{rotopo}{90}\hbox to \ruler@width{\,\textcolor{\ruler@fg@top}{\ensuremath{\cdot}}\,\fourth@\hss}\end{rotopo}}%
\fi\fi\fi
\fi
- \else
- \ifnum\ruler@rot=0 %
+ \fi
+ \ifnum\top@bot=1
+ \ifx\f@color\comm@\xdef\f@color{\ruler@fg@bottom}\fi
+ \ifnum\ruler@rot@bottom=0%
\xdef\temp@{tt}%
\ifx\ruler@family\temp@%
- \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\textcolor{\ruler@fg}{.}}{\mathtt{\fourth@}}}}%
+ \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\textcolor{\ruler@fg@bottom}{.}}{\mathtt{\fourth@}}}}%
\else
\xdef\temp@{sf}%
\ifx\ruler@family\temp@%
- \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\textcolor{\ruler@fg}{.}}{\mathsf{\fourth@}}}}%
+ \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\textcolor{\ruler@fg@bottom}{.}}{\mathsf{\fourth@}}}}%
\else
\xdef\temp@{rm}%
\ifx\ruler@family\temp@%
- \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\textcolor{\ruler@fg}{.}}{\mathrm{\fourth@}}}}%
+ \def\third@{\bottomruler@size\ensuremath{\,\stackrel{\textcolor{\ruler@fg@bottom}{.}}{\mathrm{\fourth@}}}}%
\fi\fi\fi
\else
\xdef\temp@{tt}%
\ifx\ruler@family\temp@%
\def\third@{\tt\bottomruler@size\,\,\,\,%
- \begin{rotopo}{90}\hbox to \ruler@width{\hss\fourth@\,\textcolor{\ruler@fg}{\ensuremath{\cdot}}}\end{rotopo}}%
+ \begin{rotopo}{90}\hbox to \ruler@width{\hss\fourth@\,\textcolor{\ruler@fg@bottom}{\ensuremath{\cdot}}}\end{rotopo}}%
\else
\xdef\temp@{sf}%
\ifx\ruler@family\temp@%
\def\third@{\sf\bottomruler@size\,\,\,\,%
- \begin{rotopo}{90}\hbox to \ruler@width{\hss\fourth@\,\textcolor{\ruler@fg}{\ensuremath{\cdot}}}\end{rotopo}}%
+ \begin{rotopo}{90}\hbox to \ruler@width{\hss\fourth@\,\textcolor{\ruler@fg@bottom}{\ensuremath{\cdot}}}\end{rotopo}}%
\else
\xdef\temp@{rm}%
\ifx\ruler@family\temp@%
\def\third@{\rm\bottomruler@size\,\,\,\,%
- \begin{rotopo}{90}\hbox to \ruler@width{\hss\fourth@\,\textcolor{\ruler@fg}{\ensuremath{\cdot}}}\end{rotopo}}%
+ \begin{rotopo}{90}\hbox to \ruler@width{\hss\fourth@\,\textcolor{\ruler@fg@bottom}{\ensuremath{\cdot}}}\end{rotopo}}%
\fi\fi\fi
\fi
\fi}
@@ -11866,44 +12030,118 @@
\fi}
\def\put@ruler{%
- \ifnames@right%
- \ifnumbers@left%
- \ifnumbers@right%
- \xdef\ruler@{)\ruler@)<>}%
- \else%
- \xdef\ruler@{)\ruler@<>}%
- \fi%
- \else%
- \xdef\ruler@{\ruler@)<>}%
- \fi%
- \else%
- \ifnumbers@left%
- \ifnumbers@right%
- \xdef\ruler@{<>)\ruler@)}%
- \else%
- \xdef\ruler@{<>)\ruler@}%
- \fi%
- \else%
- \xdef\ruler@{<>\ruler@)}%
- \fi%
- \fi%
+ \ifx\rulernamecolor@top\n@\xdef\rulernamecolor@top{\ruler@fg@top}\fi%
+ \ifx\rulernamecolor@bottom\n@\xdef\rulernamecolor@bottom{\ruler@fg@bottom}\fi%
+ \ifx\rulername@family\n@\xdef\rulername@family{\ruler@family}\fi%
+ \ifx\rulername@size\n@\def\rulername@size{\bottomruler@size}\fi%
\xdef\first@{\ruler@ @}%
- \ifnum\rule@top=1%
- \vspace{\ruler@sp@ce}%
+ \ifnum\top@bot=1%
+ \vspace{\ruler@sp@ce@bottom}%
\vspace{-\baselineskip}%
\newline\hbox{}%
+ \ifnames@right%
+ \else
+ \ifnum\ruler@rot@bottom=0%
+ \xdef\temp@{tt}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\tt\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\sf\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\rm\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}%
+ \fi\fi\fi%
+ \else%
+ \xdef\temp@{tt}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\raisebox{0.6\baselineskip}{\tt\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\raisebox{0.6\baselineskip}{\sf\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\raisebox{0.6\baselineskip}{\rm\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}}%
+ \fi\fi\fi%
+ \fi%
+ \fi%
+ \ifnumbers@left\hbox to \number@width{\hss\kern1em}\fi%
\fi%
- \ifnames@right\else\def\@kern{\kern0em}\expandafter\put@name\first@\fi%
- \ifnumbers@left\def\@kern{\kern1em}\expandafter\put@number\first@\fi%
- \vspace{-0.25\baselineskip}%
- \ifnum\rule@top=0%
- \vspace{\ruler@sp@ce}%
+ \vspace{-0.4\baselineskip}%
+ \ifnum\top@bot=0%
+ \ifnum\ruler@rot@top=90 \vspace{1.4\baselineskip}\fi%
+ \vspace{-0.58\baselineskip}%
+ \newline\hbox{}%
+ \ifnames@right%
+ \else
+ \xdef\temp@{tt}%
+ \ifx\rulername@family\temp@%
+ \vbox{\tt\rulername@size\hbox to \name@width{\textcolor{\rulernamecolor@top}{\rulername@top\hss}}\vspace{-0.75\baselineskip}\hbox to \ruler@width{\hss}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\rulername@family\temp@%
+ \vbox{\sf\rulername@size\hbox to \name@width{\textcolor{\rulernamecolor@top}{\rulername@top\hss}}\vspace{-0.75\baselineskip}\hbox to \ruler@width{\hss}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\rulername@family\temp@%
+ \vbox{\rm\rulername@size\hbox to \name@width{\textcolor{\rulernamecolor@top}{\rulername@top\hss}}\vspace{-0.75\baselineskip}\hbox to \ruler@width{\hss}}%
+ \fi\fi\fi%
+ \fi%
+ \ifnumbers@left\hbox to \number@width{\hss\kern1em}\fi%
+ \vspace{-0.2\baselineskip}%
+ \vspace{\ruler@sp@ce@top}%
\fi%
- \fontfamily{\ruler@family}%
- \fontseries{m}%
- \fontshape{n}%
- \selectfont%
\innerloopcount=1\relax\put@rulechar%
+ \ifnames@right%
+ \kern1em%
+ \ifnumbers@left\else\hbox to \number@width{\hss}\fi%
+ \ifnum\top@bot=1%
+ \ifnum\ruler@rot@bottom=0%
+ \xdef\temp@{tt}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\tt\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\sf\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\rm\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}%
+ \fi\fi\fi%
+ \else%
+ \xdef\temp@{tt}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\raisebox{0.6\baselineskip}{\tt\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\raisebox{0.6\baselineskip}{\sf\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\rulername@family\temp@%
+ \hbox to \name@width{\raisebox{0.6\baselineskip}{\rm\rulername@size\textcolor{\rulernamecolor@bottom}{\rulername@bottom\hss}}}%
+ \fi\fi\fi%
+ \fi%
+ \else
+ \xdef\temp@{tt}%
+ \ifx\rulername@family\temp@%
+ \vbox{\tt\rulername@size\hbox to \name@width{\textcolor{\rulernamecolor@top}{\rulername@top\hss}}\vspace{-0.75\baselineskip}\hbox to \ruler@width{\hss}}%
+ \else
+ \xdef\temp@{sf}%
+ \ifx\rulername@family\temp@%
+ \vbox{\sf\rulername@size\hbox to \name@width{\textcolor{\rulernamecolor@top}{\rulername@top\hss}}\vspace{-0.75\baselineskip}\hbox to \ruler@width{\hss}}%
+ \else
+ \xdef\temp@{rm}%
+ \ifx\rulername@family\temp@%
+ \vbox{\rm\rulername@size\hbox to \name@width{\textcolor{\rulernamecolor@top}{\rulername@top\hss}}\vspace{-0.75\baselineskip}\hbox to \ruler@width{\hss}}%
+ \fi\fi\fi%
+ \fi%
+ \fi%
\newline\hbox{}%
}
\def\get@firstfill#1#2&{\xdef\second@@{#1}\xdef\fill@char{#2&}}
@@ -13979,7 +14217,7 @@
\else
\iffix@\iftopfeature \vspace{\t@sp@ce}\newline\hbox{}\newline\hbox{}\fi\fi
\fi
- \ifnum\rule@num<0 \else \ifnum\rule@top=0 \loopcount=0 \put@ruler \fi\fi
+ \ifnum\rule@num@top<0 \else \ifnum\rule@top=1 \loopcount=0 \xdef\top@bot{0}\xdef\ruler@{\topruler@}\put@ruler\fi\fi
\ifshow@logo\ifnum\logo@top=0
\xdef\last@{\stack@sequencelogo @}%
\ifx\logo@name@user\ampers@nd\xdef\logo@name{logo}\else\xdef\logo@name{\logo@name@user}\fi
@@ -14067,15 +14305,15 @@
\ifx\sublogo@name@user\ampers@nd\xdef\logo@name{subfamily}\else\xdef\logo@name{\sublogo@name@user}\fi
\put@logo%
\fi\fi%
- \ifnum\rule@num<0 %
+ \ifnum\rule@num@bottom<0 %
\else%
- \ifnum\rule@top=1 %
+ \ifnum\rule@bottom=1 %
\loopcount=0\relax%
- \ifnum\ruler@rot=0 %
+ \ifnum\ruler@rot@bottom=0 %
\else \vspace{\ruler@width}\vspace{-1.75\baselineskip}\newline\hbox{}%
\fi
- \put@ruler%
- \ifnum\ruler@rot=0 \vspace{0.25\baselineskip}\fi%
+ \xdef\top@bot{1}\xdef\ruler@{\bottomruler@}\put@ruler%
+ \ifnum\ruler@rot@bottom=0 \vspace{0.25\baselineskip}\fi%
\fi%
\fi%
\xdef\fe@turep@s{bottom}%
@@ -14185,7 +14423,7 @@
\fi
\fi
\fi
- \xdef\consensus{} \xdef\ruler@{}
+ \xdef\consensus{} \xdef\topruler@{} \xdef\bottomruler@{}
\xdef\styleframe{}
\xdef\textfeaturetop{} \xdef\textfeaturebottom{}
\xdef\textfeaturettop{} \xdef\textfeaturebbottom{}
@@ -15258,30 +15496,55 @@
\xdef\start@num{\the\loopcount}
\fi
\fi
- \ifnum\rule@num>0
- \loopcount=\csname res@count\rule@num\endcsname
- \divide\loopcount by \ruler@step
- \multiply\loopcount by \ruler@step
+ \ifnum\rule@num@top>0
+ \loopcount=\csname res@count\rule@num@top\endcsname
+ \divide\loopcount by \ruler@step@top
+ \multiply\loopcount by \ruler@step@top
+ \ifnum\loopcount<0
+ \ifnum\ruler@step@top<3
+ \advance\loopcount by \ruler@step@top
+ \fi
+ \else
+ \advance\loopcount by \ruler@step@top
+ \fi
+ \xdef\rule@tens@top{\the\loopcount}
+ \else
+ \loopcount=\cons@count
+ \divide\loopcount by \ruler@step@top
+ \multiply\loopcount by \ruler@step@top
+ \ifnum\loopcount<0
+ \ifnum\ruler@step@top<3
+ \advance\loopcount by \ruler@step@top
+ \fi
+ \else
+ \advance\loopcount by \ruler@step@top
+ \fi
+ \xdef\rule@tens@top{\the\loopcount}
+ \fi
+ \ifnum\rule@num@bottom>0
+ \loopcount=\csname res@count\rule@num@bottom\endcsname
+ \divide\loopcount by \ruler@step@bottom
+ \multiply\loopcount by \ruler@step@bottom
\ifnum\loopcount<0
- \ifnum\ruler@step<3
- \advance\loopcount by \ruler@step
+ \ifnum\ruler@step@bottom<3
+ \advance\loopcount by \ruler@step@bottom
\fi
\else
- \advance\loopcount by \ruler@step
+ \advance\loopcount by \ruler@step@bottom
\fi
- \xdef\rule@tens{\the\loopcount}
+ \xdef\rule@tens@bottom{\the\loopcount}
\else
\loopcount=\cons@count
- \divide\loopcount by \ruler@step
- \multiply\loopcount by \ruler@step
+ \divide\loopcount by \ruler@step@bottom
+ \multiply\loopcount by \ruler@step@bottom
\ifnum\loopcount<0
- \ifnum\ruler@step<3
- \advance\loopcount by \ruler@step
+ \ifnum\ruler@step@bottom<3
+ \advance\loopcount by \ruler@step@bottom
\fi
\else
- \advance\loopcount by \ruler@step
+ \advance\loopcount by \ruler@step@bottom
\fi
- \xdef\rule@tens{\the\loopcount}
+ \xdef\rule@tens@bottom{\the\loopcount}
\fi
\xdef\first@{top}
\ifx\cap@pos\first@
@@ -15357,7 +15620,7 @@
\xdef\allow@zero{n} \xdef\c@ns@shift{0}
\regionalshadefalse\regionalemphfalse\regionallowerfalse\regionaltintfalse
\frame@false\shading@false
-\xdef\ruler@rot{0}
+\xdef\ruler@rot@top{0} \xdef\ruler@rot@bottom{0}
\topfeaturefalse \bottomfeaturefalse
\ttopfeaturefalse \bbottomfeaturefalse
\tttopfeaturefalse \bbbottomfeaturefalse
@@ -15408,7 +15671,7 @@
\xdef\ttt@sp@ce{0mm} \xdef\tttt@sp@ce{0mm}
\xdef\b@sp@ce{0mm} \xdef\bb@sp@ce{0mm}
\xdef\bbb@sp@ce{0mm} \xdef\bbbb@sp@ce{0mm}
-\xdef\ruler@sp@ce{0mm}
+\xdef\ruler@sp@ce@top{0mm} \xdef\ruler@sp@ce@bottom{0mm}
\xdef\seq@gap@num{0}
\xdef\h@ndalign{no} \xdef\sep@space{0pt}
\xdef\c@pshort{n}