diff options
author | Karl Berry <karl@freefriends.org> | 2022-10-02 20:17:27 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-10-02 20:17:27 +0000 |
commit | ff3c72832850dfe826c4f3dddeb1d84f18a40105 (patch) | |
tree | 0cf637b4066300587ea9b5b8720ade90f810cd57 /Master/texmf-dist/tex/latex | |
parent | 01a1d647ecc6fcf0239dae740605d790ff4571a1 (diff) |
bibarts (2oct22)
git-svn-id: svn://tug.org/texlive/trunk@64579 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r-- | Master/texmf-dist/tex/latex/bibarts/bibarts.sty | 493 |
1 files changed, 344 insertions, 149 deletions
diff --git a/Master/texmf-dist/tex/latex/bibarts/bibarts.sty b/Master/texmf-dist/tex/latex/bibarts/bibarts.sty index ccd48ba3128..e0ab320722e 100644 --- a/Master/texmf-dist/tex/latex/bibarts/bibarts.sty +++ b/Master/texmf-dist/tex/latex/bibarts/bibarts.sty @@ -1,5 +1,5 @@ -%% BibArts 2.4 assists you to write LaTeX texts in arts and humanities. -%% Copyright (C) 2022 Timo Baumann bibarts[at]gmx.de (2022/01/10) +%% BibArts 2.5 assists you to write LaTeX texts in arts and humanities. +%% Copyright (C) 2022b Timo Baumann bibarts[at]gmx.de (2022/10/01) %% %% This program is free software; you can redistribute it and/or modify %% it under the terms of the GNU General Public License as published by @@ -19,12 +19,13 @@ %% FILES OF THE PACKAGE AND DOCUMENTATION %% CTAN mirrors > BibArts > bibarts.zip +%% README.txt Version history since 1.3 %% bibarts.sty This file (a LaTeX style) %% ba-short.pdf Short documentation (English) %% ba-short.tex Source of ba-short.pdf %% bibarts.pdf Full documentation (German) %% bibarts.tex Source of bibarts.pdf -%% bibsort.exe Binary to create the lists +%% bibsort.exe bibarts-bin to create the lists %% bibsort.c Source of bibsort.exe %% COPYING The license of the package @@ -33,7 +34,7 @@ %% COMPATIBILITY %% Change \DeclareRobustCommand into \def before using LaTeX 2.09. %% Then, you still NOT have to \protect BibArts-cmds in args of v-cmds. -%% BibArts 2.4 ONLY has an EMULATION for 1.3 texts: Keep copies of 1.x? +%% BibArts 2.5 ONLY has an EMULATION for 1.3 texts: Keep copies of 1.x? @@ -72,7 +73,7 @@ \def\errmessage@ba#1{{\protectchars@active\errmessage{#1.^^J \space. . . . . . . . . . . }}} -\typeout@ba{Style Option BibArts, Version 2.4 [2022] ...} +\typeout@ba{Style Option BibArts, Version 2.5 [2022b] ...} \def\msg@bafontsubst#1#2{\typeout@ba{{\string#1 ...} is unknown; I'll substitute {\string#2 ...}.}} @@ -98,7 +99,7 @@ \def\baabkcorr{\bacorr} \def\balistcorr{\bacorr} \def\bakntsepcorr{\bacorr} -%% Only \barefcorr is not yet unified in 2.4 %% +%% Only \barefcorr is not yet unified in 2.5 %% \def\setup@ba#1#2{\let\@bahdtest-{#1{% \ifdim\fontdimen\@ne\font=\z@{\ignorespaces #2\ba@textmode\iflasthasdot@ba{\global\let\@bahdtest+}{}}\else @@ -201,7 +202,8 @@ \def\prep@bakntsepcorr{\def\bacorr{\ifdim\fontdimen\@ne\font=\z@\else{\kxxemph{\ifdim\fontdimen\@ne\font=\z@\@bacorrkern\nulskip@ba\fi}}\fi}} \def\not@bakntsepcorr{\def\bacorr{}} -\def\ntsep{: \bacorr} %{\ifbashortcite{:\hskip0pt plus 0pt\bacorr}{: }} +\def\ntsep{: \bacorr} %{\ifbashortcite{ }{: }} %{\bapoint\newsentence} + %{\ifbashortcite{:\hskip0pt plus 0pt}{: }\bacorr} \def\ppntsep{{\@kxxbafalse\not@bakntsepcorr\ntsep}} \def\printntsep{\protect\ppntsep} @@ -282,11 +284,6 @@ \def\pwriteidemwarnings{\wriwarn@batrue} \def\writeidemwarnings{\protect\pwriteidemwarnings} -%% \bullet : Ders. fehlt moeglicherweise (gleiche Nachnamen registriert). -%% \heartsuit: Ders. ist offenbar richtig gesetzt (gleiche Nachnamen registriert). -%% \nabla : Ders. wegen fehlender Autoren in vorausgehender Fussnote unberechtigt. -%% \spadesuit: Ders. ueberscheibt einen Namen, der nicht der vorausgehende ist. -%% \clubsuit : Ders. steht irrefuehrenderweise nach einer Fussnote mit mehreren Autoren. \def\pconferize{\ba@varstringtrue} @@ -505,8 +502,9 @@ \let\next@ba\getnext@km \fi \next@ba} -\def\erripfpevo@ba#1{%{ \erri@ba}% - \ifx#1x\type@bawarn{Empty [] or ()}\else\type@bawarn{Empty || or __}\fi} +\def\erripfpevo@ba#1{%{ \erri@ba}% %% outer/inner in 2.5: + \ifx#1x\type@bawarn{Empty [] or () at \if@baouter outer \else inner \fi cmd}\else + \type@bawarn{Empty || or __ at \if@baouter outer \else inner \fi cmd}\fi} \def\printpf@ba#1#2{\if@pfvba{\errorcontextlines=-1% \def\@testa{#2}% @@ -541,13 +539,14 @@ \ifx\@testa+\@bahasdot\fi \arqsep}}% \fi\fi}} -\def\initprintpf@ba#1#2#3{\if@pfvba +\def\initprintpf@ba#1#2#3{% + \if@pfvba {\@memfunctions\@outsavety\@herefunctions\fillpref@ba{#2}{#3}}% {\if@footnote \ifx\pmem@ba\pref@ba \ifx\isibidem@ba-\printpf@ba{#1}{#3}% \else\ifx\lastp@ba+\printpf@ba{#1}{#3}% - \else \global\let\lookpage@ba=+% + \else\global\let\lookpage@ba=+% \fi \fi \else\printpf@ba{#1}{#3}% @@ -555,11 +554,14 @@ \ifx\isibidem@ba+\ifx\pos@ba1\else\global\let\thisp@ba=+\fi\fi \fi \fi - \else\printpf@ba{#1}{#3}\fi - \global\let\lastp@ba=-% - }\global\let\pmem@ba=\pref@ba\fi} + \else\printpf@ba{#1}{#3}% + \global\let\lastp@ba=-% + \global\let\pmem@ba=\pref@ba %% moved in 2.5 + \fi}% + \fi} -\def\initprintpevo@ba#1#2{\if@pfvba +\def\initprintpevo@ba#1#2{% + \if@pfvba {\@memfunctions\@outsavety\@herefunctions\fillvolref@ba{#1}}% {\if@footnote \ifx\volmem@ba\volref@ba @@ -575,9 +577,12 @@ \ifx\isibidem@ba+\ifx\pos@ba1\else\global\let\thisvol@ba=+\fi\fi \fi \fi - \else\printpevo@ba{#1}{#2}\fi - \global\let\lastvol@ba=-% - }\global\let\volmem@ba=\volref@ba\fi} + \global\let\lastvol@ba=-% %% moved in 2.5 + \global\let\volmem@ba=\volref@ba %% moved in 2.5 + \else + \printpevo@ba{#1}{#2}% + \fi}% + \fi} \def\initprints@ba#1#2{% @@ -635,8 +640,9 @@ \def\ggrrtitlename{Ortsregister} \def\gprrtitlename{Personenregister} \def\gsrrtitlename{Sachregister} -\def\gannouncektitname{\bastrut\ (\kern 0.015em im Folgenden \baupcorr} %at:fortan -\def\gannouncekendname{)} +\def\gannouncektitname{\bastrut\ (\kern 0.015em im Folgenden \baupcorr} + %% 2.5 auch: {\bapoint\newsentence Fortan: } +\def\gannouncekendname{)} %%{\bapoint\banotdot} \def\grefvbegname{(} \def\grefverbname{siehe} \def\grefvpagname{S.\,} @@ -952,6 +958,7 @@ \def\onlyout{\protect\onlyout}% \def\onlyvoll{\protect\onlyvoll}% \def\onlykurz{\protect\onlykurz}% + \def\sechere##1##2{\onlyhere{##2}\onlyout{##1}}% %% new in 2.5 \def\kurz{\if@baouter\protect\outkurz\else\protect\delkurz\fi}% \def\ktit{\protect\ktit}% \def\vauthor{\protect\vauthor}% @@ -1092,6 +1099,17 @@ %% +%% inner only-cmds are identical on lists, +%% because v-cmds are changed to k-cmds: + +\def\@reprintIfunctions{% %% new in 2.5 + \def\onlyout##1{##1}% + \def\onlyhere##1{}% + \def\onlyvoll##1{}% + \def\onlykurz##1{##1}% +} + + \def\@hereRfunctions{% \def\onlyout##1{}% %% Genauso in \@herefunctions \def\onlyhere##1{##1}% %% Genauso in \@herefunctions @@ -1145,8 +1163,11 @@ \def\outkurz#1{\unskip{} [{#1\ba@textmode}]} \def\delkurz#1{\unskip} +\def\starktit#1{\onlyvoll{\ktit{#1}}} %% new in 2.5 \def\vollout#1{\onlyvoll{\onlyout{#1}}} \def\vollhere#1{\onlyvoll{\onlyhere{#1}}} +\def\sechere#1#2{\onlyout{#1}\onlyhere{#2}} %% new in 2.5 +\def\onlybakey#1{} %% new in 2.5 \def\protmva#1#2{\dofrco@ba\@printvname{#1}{\bastrut\ }{#2}{0}{0}{\nsep}\ignorespaces} \def\midvauthor{\protect\protmva} @@ -1236,14 +1257,16 @@ \def\makeibid@ba{% \if@bashowmem + \if@footnote %% added if, msg changed in 2.5 + \protec@scr{^^J SHOWBAMEM on input line \line@ba \space in}% \if@baminipage - \protec@scr{^^J Minipage-FNT \thempfootnote}\else - \protec@scr{^^J FNT \thefootnote}\fi - \protec@scr{^^J -- outer: \space \tmemo@ba \space -- }% - \protec@scr{ ---------- inner: \space \tmemi@ba \space -- }% - \if@baouter\protec@scr{ -- o-ref: \space \tref@ba \space -- ^^J}\else - \protec@scr{ ---------- i-ref: \space \tref@ba \space -- ^^J}\fi - \fi + \protec@scr{Minipage-FNT \thempfootnote:}\else + \protec@scr{FNT \thefootnote:}\fi + \protec@scr{^^J -- outer: \space \tmemo@ba}% + \protec@scr{^^J ---------- inner: \space \tmemi@ba}% + \if@baouter\protec@scr{^^J -- o-ref: \space \tref@ba ^^J}\else + \protec@scr{^^J ---------- i-ref: \space \tref@ba ^^J}\fi + \fi\fi \global\let\isibidem@ba=-% \if@baouter\global\let\lookpage@ba=-\fi \if@footnote \if@baouter\makethiso@ba\else\makethisi@ba\fi @@ -1301,6 +1324,8 @@ \ifx\thisti@ba+\ifx\tmemi@ba\tref@ba\else\global\let\thisti@ba=.\fi\fi \ifx\thisti@ba-\global\let\thisti@ba=+\fi} +\def\@bafnttextindent{0.1em} %% new in 2.5 (fnt=mpfnt) + \let\lastn@ba=- \expandafter\ifx\csname @footnotetext\endcsname\relax \type@bawarn{No footnote numbers}% @@ -1314,13 +1339,15 @@ \global\let\thiss@ba=-% \global\let\thisn@ba=-% \global\let\pos@ba=0% - \kern 0.1em\nulskip@ba{\@footnotetrue\ignorespaces - #1\nulskip@ba\ba@textmode}\global\let\lastto@ba=\thisto@ba + \kern\@bafnttextindent \nulskip@ba + {\@footnotetrue\ignorespaces #1\nulskip@ba\ba@textmode}% + \global\let\lastto@ba=\thisto@ba \global\let\lastti@ba=\thisti@ba \global\let\lastp@ba=\thisp@ba \global\let\lastvol@ba=\thisvol@ba \global\let\lasts@ba=\thiss@ba - \global\let\lastn@ba=\thisn@ba}}% + \global\let\lastn@ba=\thisn@ba}% + \ifx\pos@ba0{\@footnotetrue\fillvolref@ba{}}\fi} %% new in 2.5 \fi \expandafter\ifx\csname @mpfootnotetext\endcsname\relax @@ -1335,13 +1362,15 @@ \global\let\thiss@ba=-% \global\let\thisn@ba=-% \global\let\pos@ba=0% - \kern 0.1em\nulskip@ba{\@footnotetrue\ignorespaces - #1\nulskip@ba\ba@textmode}\global\let\lastto@ba=\thisto@ba + \kern\@bafnttextindent \nulskip@ba + {\@footnotetrue\ignorespaces #1\nulskip@ba\ba@textmode}% + \global\let\lastto@ba=\thisto@ba \global\let\lastti@ba=\thisti@ba \global\let\lastp@ba=\thisp@ba \global\let\lastvol@ba=\thisvol@ba \global\let\lasts@ba=\thiss@ba - \global\let\lastn@ba=\thisn@ba}}% + \global\let\lastn@ba=\thisn@ba}% + \ifx\pos@ba0{\@footnotetrue\fillvolref@ba{}}\fi} %% new in 2.5 \fi @@ -1349,7 +1378,9 @@ \newif\if@bainnerminipage\@bainnerminipagefalse \let\ba@minipg=\minipage -\def\minipage{\if@baminipage\@bainnerminipagetrue\else +\def\minipage{\if@baminipage\@bainnerminipagetrue + %% no \fillvolref@ba{}! %% + \else \savemem@ba\clearmem@ba \global\let\lastto@ba=+% \global\let\lastti@ba=+% @@ -1452,15 +1483,28 @@ \newbox\testbox@ba -\def\@printlastarg#1#2{{% - \setbox\testbox@ba=\hbox{#2{\ignorespaces #1\ba@textmode}}% +\def\@printlastarg#1#2#3{{% %% #2 changed into new #3 in 2.5 %% + \setbox\testbox@ba=\hbox{#3{\ignorespaces #1#2\ba@textmode}}% \ifdim\ht\testbox@ba=0pt% \if@kxxba \gdef\bacorr{}% %% no \if@printhint\else in 2.2 %% \fi \else - {\if@kxxba\iflasthasdot@ba{\not@bakntsepcorr}{\prep@bakntsepcorr}\else - \not@bakntsepcorr\fi\ntsep}{\unhbox\testbox@ba}% + {\if@kxxba + %% \iflasthasdot@ba{\not@bakntsepcorr}{\prep@bakntsepcorr}% + %% ... changed in 2.5 into: + \prep@bakntsepcorr + \else + \not@bakntsepcorr + \fi + \ntsep + }{\unhbox\testbox@ba}% + \if@kxxba\else \if@vxxbalist\else %% finddot new in 2.5 + \setbox\testbox@ba=\hbox{#3{#2}}% + \ifdim\ht\testbox@ba=0pt% + \let\@testa=-\finddot@ba{#1}\ifx\@testa+\@bahasdot\fi + \fi + \fi\fi \if@kxxba \let\@testa=-\finddot@ba{#1}% \ifx\@testa+\@bahasdot\gdef\bacorr{}\fi @@ -1488,11 +1532,11 @@ \def\@testb{#2}% \setbox\testbox@ba=\hbox{\ignorespaces #1\ba@textmode}% \ifdim\ht\testbox@ba=0pt\else - \ifx\@testb\@leer\@bastrut\ \else %% space before *{...} %% - {#2}\fi\fi %% #2 is \nsep at \x... %% - {\unhbox\testbox@ba}% - \let\@testa=-\finddot@ba{#1}% - \ifx\@testa+\@bahasdot\fi}} + \ifx\@testb\@leer\@bastrut\ \else %% space before *{...} + {#2}\fi %% #2 is \nsep at \x... + {\unhbox\testbox@ba}% %% <= moved in 2.5 before \fi => + \let\@testa=-\finddot@ba{#1}\ifx\@testa+\@bahasdot\fi + \fi}} \newif\ifreprint@ba\reprint@bafalse @@ -1502,16 +1546,20 @@ \errhelp{ ^^JIf you use a ...v#1-cmd inside the last arg of a ...v..-cmd, it is necessary ^^Jto use \ktit{...} to mark a part of the inner title as short title, because, - ^^Jon the v#1-list, I transform inner full titles into short titles. For that + ^^Jon the v-lists, I transform inner full titles into shortened titles. On the ^^Jlist, I've inserted `??' as inner short title. (In case of an inner \vli, or - ^^J\vqu, the inner full title will also be printed separately on the v..-list.)^^J}% - \errmessage@ba{Missing \string\ktit{...} or shadowed {\string\ktit{...}} in last arg}}\fi\fi} + ^^J\vqu, the inner full title will also be printed separately on the v..-list.) + ^^JAlso \vli[p{TEXT}]{}{}*{\ktit{..}}{...} without \ktit in TEXT is forbidden.^^J}% + \errmessage@ba{Missing \string\ktit{...} in *inner* ...v#1-cmd}}\fi\fi} + %% msgs changed in 2.5 %% \def\@initvprintonly#1#2#3#4#5#6#7#8{{% %% #1 == li, qu %% \resetcorr@ba {\@memfunctions\@outsavety\@hereRfunctions\@hereFfunctions\fillnref@ba{#4}}% \if@footnote\global\let\isibidem@ba=-\warn@baname{v#1}{#2}% - \if@baouter\global\let\nmem@ba=\nref@ba\fi + \if@baouter + \global\let\nmem@ba=\nref@ba + \fi \fi %%%% \let\ifmem@baouter=\if@baouter @@ -1521,8 +1569,8 @@ \ifmem@baouter{\filltmemo@ba{}{}{}{}}\else{\filltmemi@ba{}{}{}{}}\fi \def\@testa{#6}% \def\execute@ktit{\@nobaktit{#1}}% - \@baktitfalse - \def\ktit##1{\@baktittrue + \@baktitfalse + \def\ktit##1{\global\@baktittrue %% \global new in 2.5 %% \def\kurz{\kurz@ktit}% \ba@varlabel{#4}{#5}{##1}% \if@footnote @@ -1532,30 +1580,42 @@ \fi}% \fi \if@makektitk{\@initaddtok{#4}{#5}{##1}{#1}{{\nsep}{#8}{v}}{1}}\fi - \ifreprint@ba \def\execute@ktit{{\@kxxbatrue\@kprintonly{#1}{#2}{#4}{#5}{##1}{#7}}}% - \else \def\execute@ktit{{\@firstherald\if@rheraldktit - \cap@ba{announcektit}\@rootponly{#1}{#4}*{#5}{##1}{#7}% + \ifreprint@ba + \ifmem@baouter + \gdef\execute@ktit{{\@kxxbatrue\@kprintonly{#1}{#2}{#4}{#5}{##1}{#7}}}% + \fi + \else %% 2 * outer+gdef \execute@ktit new in 2.5 %% + \ifmem@baouter + \gdef\execute@ktit{{\@firstherald\if@rheraldktit + \cap@ba{announcektit}\@rootponly{#1}{#4}*{#5}{##1}{#7}% \do@banohint{{\bacorr}}\cap@ba{announcekend}\fi\fi}}% + \fi \fi ##1\ba@textmode}% \ifreprint@ba - {\setbox\testbox@ba=\hbox{#6\relax - \if@baktit \global\let\gargc@ba=\execute@ktit + {\setbox\testbox@ba=\hbox{#2\relax #3\relax #4\relax #5\relax #6\relax + \if@baktit %% #2...#5\relax new in 2.5 %% + \global\let\gargc@ba=\execute@ktit \else \gdef\gargc@ba{\@kxxbatrue\@kprintonly{#1}{#2}{#4}{#5}{\erri@ba}{#7}}% - \type@bawarn{Missing inner \string\ktit; use `??' as short title}% + {\errorcontextlines=-1% %% warn changed to err 2.5 %% + \errhelp{See the number of the line where the error comes from ...}% + \errmessage@ba{Missing \string\ktit{...} in *inner* ...v#1-cmd}}% \fi}% {\@hereRfunctions\gargc@ba}% %% <-> \@rootponly %% + %% new in 2.5: see \@reprintIfunctions %% \global\let\gargc@ba=\relax }% \else - \ifx\@testa\@leer{\@vprintonly{#1}{#2}{#3}{#4}{#5}{}{#7}}\else - \ifx\@testa\@leerz{\@vprintonly{#1}{#2}{#3}{#4}{#5}{}{#7}}\else - {\@vprintonly{#1}{#2}{#3}{#4}{#5}{#6\relax\execute@ktit}{#7}}\fi\fi + \ifx\@testa\@leer{\@vprintonly{#1}{#2}{#3}{#4}{#5}{}{}{#7}}\else + \ifx\@testa\@leerz{\@vprintonly{#1}{#2}{#3}{#4}{#5}{}{}{#7}}\else + {\@vprintonly{#1}{#2}{#3}{#4}{#5}{#6}{\execute@ktit}{#7}}\fi\fi + %% 2.5: {#6\relax\execute@ktit} changed in {\execute@ktit}{#7} %% \fi }\if@footnote \if@baouter\makethiso@ba\else\makethisi@ba\fi \fi} \def\clearmem@ba{{\@footnotetrue\filltmemo@ba{}{}{}{}\filltmemi@ba{}{}{}{}% - \fillpmem@ba{}{}\fillvolmem@ba{}\fillnmem@ba{}}} + \fillpmem@ba{}{}\fillvolmem@ba{}\fillnmem@ba{}% + \fillvolref@ba{}}} %% new in 2.5 \def\filltmemo@ba#1#2#3#4{\if@footnote \global\edef\tmemo@ba{{#1}{#2}{#3}{#4}}\fi} @@ -1648,14 +1708,16 @@ {\@footnotetrue\fillsref@ba{}} -\def\@vprintonly#1#2#3#4#5#6#7{{% +\def\@vprintonly#1#2#3#4#5#6#7#8{{% %% #7 changed into new #8 in 2.5 %% \@herefunctions \def\@testa{#2}% \ifx\@testa\@leer \@printvname{#3}{\bastrut\ }{#4}{0}{1}% - \@printoptarg{#5}{#7}% - \else\oletter@ba{v#1}{#2}{\@printoptarg{#5}{#7}}% + \@printoptarg{#5}{#8}% + \else\oletter@ba{v#1}{#2}{\@printoptarg{#5}{#8}}% \fi %% #1 == li, qu %% - \@printlastarg{#6}{}\@heraldktitfalse}} + \@printlastarg{#6}{#7}{}\@heraldktitfalse + %% {#6} changed into {#6}{#7} in 2.5 %% + }} @@ -1671,7 +1733,9 @@ {\@memfunctions\@outsavety\@herefunctions\filltref@ba{#1}{#3}{#4}{#5}\fillnref@ba{#3}}% \makeibid@ba \if@footnote\warn@baname{k#1}{#2}\fi - \ifx\isibidem@ba-{\@herefunctions\@kprintonly{#1}{#2}{#3}{#4}{#5}{#6}}% + \ifx\isibidem@ba-{\@herefunctions + \ifreprint@ba\@reprintIfunctions\fi %% new in 2.5 + \@kprintonly{#1}{#2}{#3}{#4}{#5}{#6}}% \else\ibidemname@ba \fi \makelast@ba} @@ -1714,7 +1778,7 @@ \ifx\@testa\@leer \@printkname{#3}{1}\@printoptarg{#4}{#6}% \else \oletter@ba{k#1}{#2}{\@printoptarg{#4}{#6}}% \fi}% - \@printlastarg{#5}{\kxxemph}% + \@printlastarg{#5}{}{\kxxemph}% \if@allowconferize \ifba@varstring\ \ba@varref{#3}{#4}{#5}% \else \@initprinthint{#1}% @@ -1728,7 +1792,7 @@ \@hereRfunctions \@printkname{#2}{1}% \@printoptarg{#3}{#5}% - {\@kxxbatrue\@printlastarg{#4}{\kxxemph}}% + {\@kxxbatrue\@printlastarg{#4}{}{\kxxemph}}% \@initprinthint{#1}}} %% #1 == li, qu %% @@ -1737,6 +1801,13 @@ \def\next@ba{} +%% new in 2.5: +\def\pfilled@baon{\if@pfvba\if@footnote\global\let\pfilled@ba=+\fi\fi} +\def\@balocalvolon{\if@pfvba\if@footnote\@balocalvoltrue\fi\fi} +\def\@balocalpgon{\if@pfvba\if@footnote\@balocalpgtrue\fi\fi} +\def\pevofilled@baon{\if@pfvba\if@footnote\global\let\pevofilled@ba=+\fi\fi} +%% + \def\getk@bapg#1]{\@bapg{#1}\bk@bapg} \def\getxk@bapg#1]{\@baxpg{#1}\bk@bapg} \def\getkf@bapg#1){\@bafolio{#1}\bk@bapg} @@ -1747,23 +1818,35 @@ \def\xk@bapg{\afterassignment\getxkch@bapg\let\next@ba= } \def\getxkch@bapg{% \ifx\next@ba[\let\next@ba=\getxk@bapg - \global\let\pfilled@ba=+% + \pfilled@baon \else \ifx\next@ba(\let\next@ba=\getxkf@bapg - \global\let\pfilled@ba=+% + \pfilled@baon + \else %% else-part new in 2.5 + \if@pfvba{ \erri@ba}{\errorcontextlines-1% + \@qqertypeout{*[n]- or *(n)}{... at the end of an \if@baouter outer \else inner \fi BibArts command.}% + \errhelp{^^JThe * at the end of a BibArts cmd has to be followed + ^^Jby [PageNum] or (FolioNum) without a space before. + ^^JNote, that *|n| and *_n_ do not exist. An outer *[n] or *(n) may define + ^^Ja special page/folio inside an inner [Begin-End] or (Begin-End) array.}% + \errmessage@ba{The * is not directly followed by [n] or (n)}}\fi \fi\fi \pknext@ba} -\def\lessinfoerror@ba#1#2#3#4#5{\if@baouter{ \erri@ba}{\errorcontextlines-1% - \@qqertypeout{#2}{Automatic IBIDEM-setting in footnote:}% +\def\lessinnerinfoerr@ba#1{\type@bawarn{No #1 in INNER ibidem-series}} + +\def\lessouterinfoerr@ba#1#2#3#4#5{{ \erri@ba}{\errorcontextlines-1% + %% minipage new in 2.5: + \@qqertypeout{#2}{Automatic IBIDEM-setting in \if@baminipage minipage \fi footnote:}% \errhelp{ - ^^JThe BibArts command before has had a #1 as #2-number, - ^^Jbut the command now has none. The titles are the same. I set IBIDEM, - ^^Jbut did you mean the whole #5? Later, you may type `passim', - ^^Jor what you've forgotten, as #2-number. (Then, you may set your - ^^Jwhole BibArts-\cmd in {#4\cmd...}).^^J}% - \errmessage@ba{Same title, before with :#3:, has now no #1 number}}\else - \type@bawarn{Check #1 after inner IBIDEM}\fi} + ^^JYour last BibArts command has had a #1 as #2-number, + ^^Jbut the command here has none. The titles are the same. I set IBIDEM, + ^^Jbut did you want to cite the whole #5? Later, you may type + ^^J`passim', or what you've forgotten, as #2-number. (Then, you + ^^Jmay put your whole BibArts-\cmd in {#4\cmd...}.) + ^^JOr switch off IBIDEM: Set \clearbamem in front of your BibArts command.^^J}% + %% errmsg changed in 2.5 + \errmessage@ba{Same outer title, before with :#3:, has now no #1}}} \def\do@banohint#1{\if@printhint\else\ifba@varstring\else #1\fi\fi} @@ -1785,54 +1868,149 @@ \let\pfilled@ba=- \let\pevofilled@ba=- + +%% new in 2.5: +\let\@bainnernewvol=- +\let\@bainnernewpg=- +\newif\if@balocalvol\@balocalvolfalse +\newif\if@balocalpg\@balocalpgfalse +\newif\if@bapglock\@bapglockfalse +%% + \def\ak@bapg{\afterassignment\getakch@bapg\let\next@ba= } \def\getakch@bapg{% - \ifx\last@ba-\makeendcorr@ba\fi - \global\let\last@ba=+% - \ifx\lockpevo@ba-\ifx\next@ba|\else\ifx\next@ba_\else - \if@pfvba - \ifx\isibidem@ba+\ifx\pevofilled@ba+% - \ifx\volref@ba\@leer\else\lessinfoerror@ba{no./vol}{_n_- or |n|}{{pervol}{\volref@ba}}{\notprintlongpervol}{series}\fi - \fi\fi - \fillvolmem@ba{}% - \global\let\pevofilled@ba=-% - \fi - \fi\fi\fi + \ifx\last@ba-\makeendcorr@ba\fi + \global\let\last@ba=+% + \@bapglockfalse + %%% + \ifx\lockpevo@ba-\ifx\next@ba|\else\ifx\next@ba_\else + \if@pfvba + \if@footnote %% new in 2.5 + \ifx\isibidem@ba+\ifx\pevofilled@ba+% + \ifx\volref@ba\@leer + \else + \if@baouter %% new in 2.5 + \lessouterinfoerr@ba{vol/no}{|n|- or _n_}{{pervol}{\volref@ba}}{\notprintlongpervol}{series}% + \fillvolref@ba{}% %% new in 2.5 + \fi + \fi + \fi\fi + %% 2.5: Simple \fillvolmem@ba{} changed into + \if@baouter + \fillvolmem@ba{}% + \else + \fillvolref@ba{}% + \fi + \global\let\pevofilled@ba=-% + \fi + \fi + \fi\fi\fi + %%% \ifx\next@ba[% - \let\next@ba=\getk@bapg \if@pfvba\global\let\pfilled@ba=+\fi - \else\ifx\next@ba(% - \let\next@ba=\getkf@bapg \if@pfvba\global\let\pfilled@ba=+\fi - \else\ifx\next@ba*% + \@balocalpgon + \let\next@ba=\getk@bapg + \pfilled@baon + \else + \ifx\next@ba(% + \@balocalpgon + \let\next@ba=\getkf@bapg + \pfilled@baon + \else + \ifx\next@ba*% + \@balocalpgon + \if@baouter\else %% new in 2.5 + \type@bawarn{Your * is at the end of an INNER cmd}% + \typeout@ba{ \space\space Use *[PageNum] or *(FolioNum) only at the end of OUTER BibArts cmds.}\fi \let\next@ba=\xk@bapg - \else\ifx\next@ba|% - \ifx\lockpevo@ba-\if@pfvba\global\let\lockpevo@ba=+\fi - \let\next@ba=\getvolno@ba \if@pfvba\global\let\onlypevo@ba=+\fi - \fi \if@pfvba\global\let\pevofilled@ba=+\fi - \else\ifx\next@ba_% - \ifx\lockpevo@ba-\if@pfvba\global\let\lockpevo@ba=+\fi - \let\next@ba=\getperno@ba \if@pfvba\global\let\onlypevo@ba=+\fi - \fi \if@pfvba\global\let\pevofilled@ba=+\fi \else - \if@pfvba - \ifx\isibidem@ba+\ifx\pfilled@ba+% - \lessinfoerror@ba{page/folio}{[n]- or (n)}{\pref@ba}{\notprintlongpagefolio}{document}% - \ifx\lockpevo@ba-% - \fillvolmem@ba{}% - \global\let\pevofilled@ba=-% - \fi - \fi\fi - \fillpmem@ba{}{}% - \global\let\pfilled@ba=-% - \ifx\next@ba.% + \ifx\next@ba|% + \@balocalvolon + \@bapglocktrue + \ifx\lockpevo@ba-\if@pfvba\global\let\lockpevo@ba=+\fi + \let\next@ba=\getvolno@ba \if@pfvba\global\let\onlypevo@ba=+\fi + \fi + \pevofilled@baon + \else + \ifx\next@ba_% + \@balocalvolon + \@bapglocktrue + \ifx\lockpevo@ba-\if@pfvba\global\let\lockpevo@ba=+\fi + \let\next@ba=\getperno@ba \if@pfvba\global\let\onlypevo@ba=+\fi + \fi + \pevofilled@baon + \else + %%% + %% new in 2.5 + \if@pfvba + \if@footnote %% new in 2.5 + \ifx\isibidem@ba+% + \ifx\pfilled@ba+% + \if@baouter %% new in 2.5 + \lessouterinfoerr@ba{page/folio}{[n]- or (n)}{\pref@ba}{\notprintlongpagefolio}{document}% + \fi + \ifx\lockpevo@ba-% + \fillvolmem@ba{}% + \global\let\pevofilled@ba=-% + \fi + \fi + \fi + %% 2.5: Simple \fillpmem@ba{}{} changed into + \if@baouter + \fillpref@ba{}{}% + \else + \fillpmem@ba{}{}% + \fi + \global\let\pfilled@ba=-% + \fi + \fi + %%% + \if@pfvba + \ifx\next@ba.% + \ifx\isibidem@ba+% + \ifx\onlypevo@ba-% + \if@ibidhp\let\next@ba=\relax\spacefactorMMM@ba\fi + \fi + \fi + \else + \spacefactorM@ba \@bastrut + \ifx\onlypevo@ba-\if@baouter\else\ifx\isibidem@ba+\if@ibidhp\@bahasdot\fi\fi\fi\fi %% new in 2.5 + \fi + \fi + %%% + \fi\fi\fi\fi\fi + %%% ONLY SCREEN-MESSAGES MAY FOLLOW HERE: + %% new in 2.5 + \if@pfvba\if@footnote + \if@baouter + \else + \if@balocalvol\global\let\@bainnernewvol=+% + \else\ifx\isibidem@ba-% + \global\let\@bainnernewvol=-% + \fi \fi + \if@balocalpg \global\let\@bainnernewpg=+% + \else\ifx\isibidem@ba-% + \global\let\@bainnernewpg=-% + \fi \fi \ifx\isibidem@ba+% - \ifx\onlypevo@ba-% - \if@ibidhp\let\next@ba=\relax\spacefactorMMM@ba\fi - \fi + \if@balocalvol + \else + \ifx\@bainnernewvol+% + \lessinnerinfoerr@ba{|n| or _n_}% + \fi + \fi + \if@balocalpg + \else + \ifx\@bainnernewpg+% + \if@bapglock + \else + \lessinnerinfoerr@ba{[n] or (n)}% + \fi + \fi + \fi \fi - \else - \spacefactorM@ba \@bastrut - \fi - \fi\fi\fi\fi\fi\fi + \fi + \fi\fi + %%% \pknext@ba} %% ||__ %% \def\bk@bapg{\afterassignment\getbkch@bapg\let\next@ba= } @@ -1894,7 +2072,8 @@ ^^J \space when you fix the problem later: \space Type a full-cited title as {a3}, ^^J \space OR set `*'-option, and type supplements and a full title as *{op}{a3}}}}} -\def\Check@ObligatoryLastvArg#1[#2]#3#4*#5#6{\csname @#1\endcsname[#2]{#3}{#4}*{#5}{#6\@leer}\pvcheck@ba} +\def\Check@ObligatoryLastvArg#1[#2]#3#4*#5#6{\csname @#1\endcsname[#2]{#3}{#4}*{#5}{#6}\pvcheck@ba} + %% {#6\@leer} changed into {#6} in 2.5 %% @@ -1936,8 +2115,8 @@ \typeout@ba{ \space <H><return> \space for immediate help, ^^J \space <return> \space\space\space\space to continue.}} -\def\command@misplace#1{\type@bawarn{\string#1\space was ignored: - ^^J\space\space\space\space You've used it outside the args of ....li, ....qu, ...per, or ...arq}} +\def\command@misplace#1{\type@bawarn{\string#1\space was ignored: You've used it + ^^J\space\space\space\space outside the args of ....li, ....qu, ...per, or ...arq}} \def\@qqerrhlp#1{\errhelp{% ^^JTeX reports errors by SETTING UP in quoting your text - AFTER the error. @@ -2649,13 +2828,6 @@ \def\sort##1{}% } -\def\@reprintkfunctions{% %% if bibsort is not used %% - \def\onlyhere##1{}% - \def\onlyout##1{##1}% - \def\onlyvoll##1{}% - \def\onlykurz##1{##1}% -} - \def\language@barep#1#2{% \ifnum\language=#1% @@ -2697,16 +2869,17 @@ \gdef\bacorr{}% \item{}\@printvname{#1}{\listlnfnsep}{#2}{1}{1}% \if@baaddx\@printoptarg{#3}{\nsep}\else\@printoptarg{#3}{}\fi - {\reprint@batrue \@printlastarg{#4}{}}\if@banonum{\fromnopagevxxsep}\fi\@reportbaupfalse\ignorespaces} + {\reprint@batrue \@printlastarg{#4}{}{}}\if@banonum{\fromnopagevxxsep}\fi\@reportbaupfalse\ignorespaces} -\def\@vkcitentry#1#2#3#4#5#6[#7][#8](#9){\@reprintkfunctions +\def\@vkcitentry#1#2#3#4#5#6[#7][#8](#9){\@reprintIfunctions + %% \@reprintkfunctions changed to \@reprintIfunctions in 2.5 \addxadd@ba#5\relax\relax\relax \language@barep{#8}{#9}% \activech@barep{#7}{#9}% \makeXcorrcmd@ba{\kxxemph}{\bacorr}% \item{}\@printkname{#1}{1}% \if@baaddx\@printoptarg{#2}{\nsep}\else\@printoptarg{#2}{}\fi - \@printlastarg{#3}{\kxxemph}\@initprinthint{#4}% + \@printlastarg{#3}{}{\kxxemph}\@initprinthint{#4}% \if@banonum{\fromnopagevkcsep}\fi \@reportbaupfalse\ignorespaces} @@ -2821,11 +2994,23 @@ %%% \sloppy\begin{description} \listparm@ba\relax + \gdef\@bibsortvers{[OLD]}% \@input{\jobname.#1} - \def\@noitemerr{\info@emptyba{#1}} - \end{description}\fussy}\message{\string>\string> }} + \def\@noitemerr{\info@emptyba{#1}\gdef\@bibsortvers{-}} + \end{description}\fussy}\checkversion@ba{#1}\message{\string>\string> }} +\def\getversuf@ba#1{{\def\@testa{vli}\def\@testb{vqu}\def\@testc{vkc}\def\@testd{#1}% + \ifx\@testd\@testa\typeversion@ba\fi + \ifx\@testd\@testb\typeversion@ba\fi + \ifx\@testd\@testc\typeversion@ba\fi}} +\def\typeversion@ba{{\def\@testa{[OLD]}% + \ifx\@bibsortvers\@testa\type@bawarn{Input file created by outdated bibsort}\fi + \typeout@ba{ \space Version of bibsort is \ifx\@bibsortvers\@testa older than \else \@bibsortvers\space instead \fi 2.5 (version of bibarts.sty).}}} + +\def\checkversion@ba#1{{\def\@testa{2.5}\def\@testb{-}% %% new in 2.5 + \ifx\@bibsortvers\@testa\else\ifx\@bibsortvers\@testb\else + \getversuf@ba{#1}\fi\fi}} \def\@hereUfunctions{% \def\par{}% @@ -3041,6 +3226,7 @@ \def\SS{{SS}}% %% \ \def\aa{{\r{a}}}% %% > avoid [T1] errors \def\AA{{\r{A}}}% %% / + \def\onlybakey{}% %% new in 2.5 (add arg to keyword) \ifba@varstring \@bains@labtrue \getnext@baA#1\endlist@ba \@bains@labtrue \getnext@baB#2\endlist@ba \@bains@labtrue @@ -3142,8 +3328,9 @@ \ifx ~\next@ba \else\ifx :\next@ba \else\ifx ;\next@ba \else\ifx !\next@ba \else \ifx ?\next@ba \else\ifx `\next@ba \else\ifx '\next@ba \else \ifx <\next@ba \else\ifx >\next@ba \else - \ifcat 1\next@ba \csname savn@bavar#1\endcsname - \else \sonderz@banext{#1}% + %% \relax new in 2.5 to reduce errmsgs from \cmd{arg}: %% + \ifcat 1\next@ba \relax \csname savn@bavar#1\endcsname + \else \sonderz@banext{#1}% \fi \fi\fi \fi\fi\fi @@ -3154,16 +3341,24 @@ \fi\fi\fi\fi}% } +%% Ignore first arg of: \onlyvoll, \onlyout, \vauthor, \midvauthor, +%% and new in 2.5: \starktit, \vollout, \vollhere, \sechere, \sort: \def\analyselabeltext@ba#1{% - \expandafter\ifx \csname next@ba\endcsname\relax\else - \ifx \onlyvoll\next@ba \@bains@labfalse \count@ba0 \else - \ifx \onlyout \next@ba \@bains@labfalse \count@ba0 \else - \ifx \vauthor \next@ba \@bains@labfalse \count@ba0 \else - \ifx \midvauthor \next@ba \@bains@labfalse \count@ba0 - \fi\fi\fi\fi + \expandafter\ifx \csname next@ba\endcsname\relax \else + \ifx \onlyvoll \next@ba \@bains@labfalse \count@ba0 \else + \ifx \onlyout \next@ba \@bains@labfalse \count@ba0 \else + \ifx \vauthor \next@ba \@bains@labfalse \count@ba0 \else + \ifx \midvauthor \next@ba \@bains@labfalse \count@ba0 \else + \ifx \starktit \next@ba \@bains@labfalse \count@ba0 \else + \ifx \vollout \next@ba \@bains@labfalse \count@ba0 \else + \ifx \vollhere \next@ba \@bains@labfalse \count@ba0 \else + \ifx \sechere \next@ba \@bains@labfalse \count@ba0 \else + \ifx \sort \next@ba \@bains@labfalse \count@ba0 + \fi\fi\fi\fi\fi\fi\fi\fi\fi \if@bains@lab - \ifcat A\next@ba \csname savn@bavar#1\endcsname - \else \prepnumplussonder@ba{#1}% + %% \relax new in 2.5 to reduce errmsgs from \cmd{arg}: %% + \ifcat A\next@ba \relax \csname savn@bavar#1\endcsname + \else \prepnumplussonder@ba{#1}% \fi \else \ifx \bgroup\next@ba \advance\count@ba by 1 \else @@ -3960,7 +4155,7 @@ \def\addtobib{\addtoarq{}} \newif\if@oldba\@oldbafalse \def\makebar{\typeout@ba{ \space ***** \space That is obviously a file based on BibArts 1.x \space ***** - ^^J \space ***** \space BibArts 2.4 starts compatibility mode for 1.3 \space *****}% + ^^J \space ***** \space BibArts 2.5 starts compatibility mode for 1.3 \space *****}% \def\bibarts{\BibArts}% \def\schrift{}% \def\barschrift{}% |