summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/bibarts/bibarts.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/bibarts/bibarts.sty')
-rw-r--r--macros/latex/contrib/bibarts/bibarts.sty493
1 files changed, 344 insertions, 149 deletions
diff --git a/macros/latex/contrib/bibarts/bibarts.sty b/macros/latex/contrib/bibarts/bibarts.sty
index ccd48ba312..e0ab320722 100644
--- a/macros/latex/contrib/bibarts/bibarts.sty
+++ b/macros/latex/contrib/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{}%