From 1cf2c3b476aa219e14a6af3b2cabab6bf3d33151 Mon Sep 17 00:00:00 2001 From: plk Date: Sat, 9 Sep 2023 12:09:26 +0200 Subject: [PATCH] Revised msselect semantics --- doc/latex/biblatex/biblatex.tex | 2 +- tex/latex/biblatex/biblatex.sty | 43 +-------------------------------- 2 files changed, 2 insertions(+), 43 deletions(-) diff --git a/doc/latex/biblatex/biblatex.tex b/doc/latex/biblatex/biblatex.tex index fb72533dc..c57690fc0 100644 --- a/doc/latex/biblatex/biblatex.tex +++ b/doc/latex/biblatex/biblatex.tex @@ -6752,9 +6752,9 @@ \subsection{Selection of Multiscript Alternates} \item If an explicit form/lang is specified, then only this alternate is considered \item If no explicit form/lang is specified, then the following are considered, in order \begin{itemize} - \item The alternate identified by the currently active form/lang (see below) \item The first alternate found in the multiscript select list for the entry \bibfield{langid} (if it exists) or else the currently active multiscript language \item The alternate identified by the currently active multiscript form and the entry \bibfield{langid} (if it exists) or else the currently active multiscript language + \item The alternate identified by the currently active form/lang (see below) \end{itemize} \end{itemize} diff --git a/tex/latex/biblatex/biblatex.sty b/tex/latex/biblatex/biblatex.sty index 3f024585b..8d0bb6871 100644 --- a/tex/latex/biblatex/biblatex.sty +++ b/tex/latex/biblatex/biblatex.sty @@ -5015,50 +5015,9 @@ \blx@theformat{#2}% \blx@endunit}}} -% % This loops over all form/lang pairs defined for a field and uses the first one it finds -% % by defining \blx@cmsform/\blx@cmslang according to what it finds -% % {bcp47tag}{entryfield}{entryfieldtype} -% \DeclareDocumentCommand{\blx@ifmsselect} -% {m m m} -% {\blx@imc@ifmsentryfield{#2} -% {\boolfalse{selectms}% -% % First check the current \blx@msform/\blx@mslang -% % Must explicitly specify form/lang here and not rely on defaults as \blx@ifmsundef -% % checks if *any* alternates are defined if no form/lang is passed -% \blx@ifmsundef{#3}[\blx@msform][\blx@mslang]{#2} -% % If not defined, then check the select list for the language (tag) of the entry -% {\ifcsdef{blx@msselect@#1} -% {\let\blx@tempa\@empty -% \begingroup -% \def\do##1{\do@i##1}% \blx@msselect@* list contains pairs like {form}{lang}|{form}{lang} -% \def\do@i##1##2{% -% \blx@ifmsundef{#3}[{##1}][{##2}]{#2} -% {} -% {% Found a field alternate, save form/lang values and exit listloop -% \gappto\blx@tempa{\def\blx@cmsform{##1}}% -% \gappto\blx@tempa{\def\blx@cmslang{##2}}% -% \gappto\blx@tempa{\booltrue{selectms}}% -% \listbreak}}% -% \dolistcsloop{blx@msselect@#1}% -% \endgroup -% \blx@tempa\undef\blx@tempa} -% {}} -% {\booltrue{selectms}% -% \let\blx@cmsform\blx@msform -% \let\blx@cmslang\blx@mslang}% Found the current form/lang alternate -% \ifbool{selectms} -% {\@secondoftwo}% found an alternate -% {\blx@imc@iffieldundef{langid}% No alternate found, check form/langid as last resort -% {\@firstoftwo} -% {\blx@ifmsundef{#3}[\blx@msform][\blx@lmslang]{#2} -% {\@firstoftwo} -% {\let\blx@cmsform\blx@msform -% \let\blx@cmslang\blx@lmslang}% -% \@secondoftwo}}} -% {\blx@ifmsundef{#3}{#2}}} % Not a multiscript field, just do a normal undef check - % This loops over all form/lang pairs defined for a field and uses the first one it finds % by defining \blx@cmsform/\blx@cmslang according to what it finds +% Falls back on entry-specific language and then global language % {bcp47tag}{entryfield}{entryfieldtype} \DeclareDocumentCommand{\blx@ifmsselect} {m m m}