diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/caption/bicaption.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/caption/bicaption.sty | 45 |
1 files changed, 32 insertions, 13 deletions
diff --git a/Master/texmf-dist/tex/latex/caption/bicaption.sty b/Master/texmf-dist/tex/latex/caption/bicaption.sty index 8177a7a3f93..49579629b62 100644 --- a/Master/texmf-dist/tex/latex/caption/bicaption.sty +++ b/Master/texmf-dist/tex/latex/caption/bicaption.sty @@ -37,8 +37,8 @@ %% caption-deu.tex, caption-eng.tex, and caption-rus.tex. %% \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{bicaption}[2018/08/26 v1.1-159 Bilingual Captions (AR)] -\RequirePackage{caption}[2016/02/01] % needs v3.3-134 or newer +\ProvidesPackage{bicaption}[2016/03/27 v1.2 Bilingual Captions (AR)] +\RequirePackage{caption}[2018/05/11] % needs v3.4 or newer \caption@AtBeginDocument{\caption@ifcompatibility{% \caption@Error{% The `bicaption' package does not work correctly\MessageBreak @@ -77,39 +77,58 @@ \caption@set@bool\bicaption@ifswap{#1}} \DeclareCaptionOption{lang}{% \caption@ifundefined\bicaption@language - {\let\KV@bicaption@name\KV@caption@name - \def\KV@caption@name{\bicaption@KV{name}}}% - {}% + \bicaption@language@setupkeys + \relax \def\bicaption@language{#1}% - \let\bicaption@language@options\@empty} + \let\bicaption@language@setoptions\@empty} \let\KV@caption@language\KV@caption@lang +\newcommand*\bicaption@language@keylist{} +\newcommand*\DeclareCaptionLangOption[1]{% + \@ifundefined{KV@caption@#1}% + {\bicaption@Error{Undefined caption option `#1'}}% + {\@cons\bicaption@language@keylist{{#1}}}} +\let\DeclareCaptionLanguageOption\DeclareCaptionLangOption +\newcommand*\bicaption@language@setupkeys{% + \def\@elt##1{% + \expandafter\let\csname KV@bicaption@##1\expandafter\endcsname + \csname KV@caption@##1\endcsname + \@namedef{KV@caption@##1}{\bicaption@KV{##1}}}% + \bicaption@language@keylist + \let\@elt\relax} \newcommand\bicaption@KV[2]{% \@bicaption@KV{#1}{#2}% - \l@addto@macro\bicaption@language@options{\@bicaption@KV{#1}{#2}}} + \l@addto@macro\bicaption@language@setoptions{% + \@bicaption@KV{#1}{#2}}} \newcommand\@bicaption@KV[1]{% \@nameuse{KV@bicaption@#1}} +\DeclareCaptionLangOption{name} \newcommand*\bicaption@selectlanguage[1]{% \caption@ifundefined\bicaption@language{}{% - \expandafter\selectcaptionlanguage\expandafter#1\expandafter{\bicaption@language}% - \bicaption@language@options}} + \expandafter\selectcaptionlanguage\expandafter#1\expandafter + {\bicaption@language}% + \bicaption@language@setoptions}} \g@addto@macro\caption@beginhook{% \bicaption@selectlanguage\@firstoftwo} \providecommand*\selectcaptionlanguage[1]{% #1\select@language\selectlanguage} \caption@ExecuteOptions{caption}{bi-lang=0,bi-slc=1,bi-swap=0} \ifcsname captionmainlanguage\endcsname - \bicaption@InfoNoLine{main language is set to \captionmainlanguage} + \bicaption@InfoNoLine{% + main language is set to \captionmainlanguage} \else\ifcsname bbl@main@language\endcsname - \bicaption@InfoNoLine{babel found, main language is \bbl@main@language} + \bicaption@InfoNoLine{% + babel found, main language is \bbl@main@language} \let\captionmainlanguage\bbl@main@language \else\ifcsname xpg@main@language\endcsname - \bicaption@InfoNoLine{polyglossia found, main language is \xpg@main@language} + \bicaption@InfoNoLine{% + polyglossia found, main language is \xpg@main@language} \let\captionmainlanguage\xpg@main@language \else \bicaption@InfoNoLine{main language is not set} \fi\fi\fi \ifcsname captionmainlanguage\endcsname - \edef\@tempa{\noexpand\captionsetup[bi-first]{lang=\captionmainlanguage}} + \edef\@tempa{% + \noexpand\captionsetup[bi-first]{lang=\captionmainlanguage}} \@tempa \fi \caption@SetupOptions{bicaption}{\captionsetup[bi-second]{#2}}% |