summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/bxorigcapt/LICENSE2
-rw-r--r--Master/texmf-dist/doc/latex/bxorigcapt/README.md6
-rw-r--r--Master/texmf-dist/tex/latex/bxorigcapt/bxorigcapt.sty121
3 files changed, 114 insertions, 15 deletions
diff --git a/Master/texmf-dist/doc/latex/bxorigcapt/LICENSE b/Master/texmf-dist/doc/latex/bxorigcapt/LICENSE
index 8ada757fbc8..3c57f37df63 100644
--- a/Master/texmf-dist/doc/latex/bxorigcapt/LICENSE
+++ b/Master/texmf-dist/doc/latex/bxorigcapt/LICENSE
@@ -1,6 +1,6 @@
The MIT License
-Copyright (c) 2017 Takayuki YATO (aka. "ZR")
+Copyright (c) 2017-2018 Takayuki YATO (aka. "ZR")
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/Master/texmf-dist/doc/latex/bxorigcapt/README.md b/Master/texmf-dist/doc/latex/bxorigcapt/README.md
index 83095fa7de2..2f2e9275db8 100644
--- a/Master/texmf-dist/doc/latex/bxorigcapt/README.md
+++ b/Master/texmf-dist/doc/latex/bxorigcapt/README.md
@@ -6,13 +6,15 @@ LaTeX: To retain the original caption names when using Babel
This package forces the caption names (`\chaptername`, `\today`, etc)
declared by the document class in use to be used as the caption names
for a specific language introduced by the Babel package.
+
+Starting from version 0.3, this package also supports Polyglossia.
### System requirement
* TeX format: LaTeX.
* TeX engine: Anything.
* Dependent packages:
- - babel
+ - babel or polyglossia
### Installation
@@ -71,6 +73,8 @@ done through the package option.
Revision History
----------------
+ * Version 0.3 〈2018/09/05〉
+ - Add support for Polyglossia.
* Version 0.2a 〈2017/05/03〉
- Minor fix.
* Version 0.2 〈2016/04/01〉
diff --git a/Master/texmf-dist/tex/latex/bxorigcapt/bxorigcapt.sty b/Master/texmf-dist/tex/latex/bxorigcapt/bxorigcapt.sty
index 6de4b9386ef..631741791dc 100644
--- a/Master/texmf-dist/tex/latex/bxorigcapt/bxorigcapt.sty
+++ b/Master/texmf-dist/tex/latex/bxorigcapt/bxorigcapt.sty
@@ -1,7 +1,7 @@
%%
%% This is file 'bxorigcapt.sty'.
-%%
-%% Copyright (c) 2017 Takayuki YATO (aka. "ZR")
+%%
+%% Copyright (c) 2017-2018 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -10,21 +10,25 @@
%% package declaration
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{bxorigcapt}[2017/05/03 v0.2a]
+\ProvidesPackage{bxorigcapt}[2018/09/05 v0.2a]
\def\bxoc@pkgname{bxorigcapt}
\providecommand*\bxDebug[1]{}
%% code guard
\edef\bxoc@restore@codes{%
+\catcode33=\the\catcode33%
\catcode39=\the\catcode39%
\catcode46=\the\catcode46%
\catcode47=\the\catcode47%
\catcode58=\the\catcode58%
+\catcode63=\the\catcode63%
\relax}
+\catcode33=12 % <!>
\catcode39=12 % <'>
\catcode46=12 % <.>
\catcode47=12 % </>
\catcode58=12 % <:>
+\catcode63=12 % <?>
\AtEndOfPackage{%
\bxoc@restore@codes
\let\bxoc@restore@codes\relax}
@@ -41,8 +45,37 @@
% dispatch
\ProcessOptions*
+%--------------------------------------- environment
+
+%% switch 'bxoc@polyglossia@available'
+\newif\ifbxoc@polyglossia@available
+\begingroup
+ \@tempswafalse
+ % engine check
+ \def\bxoc@next#1{%
+ \edef\bxoc@tmpa{\string#1}\edef\bxoc@tmpb{\meaning#1}%
+ \ifx\bxoc@tmpa\bxoc@tmpb \@tempswatrue \fi
+ }
+ \bxoc@next\XeTeXversion
+ \bxoc@next\luatexversion
+ % file check
+ \if@tempswa
+ \IfFileExists{polyglossia.sty}{}{\@tempswafalse}
+ \IfFileExists{etoolbox.sty}{}{\@tempswafalse}
+ \fi
+ \if@tempswa
+ \bxDebug{Polyglossia might be loaded}
+ \global\bxoc@polyglossia@availabletrue
+ \fi
+\endgroup
+
%--------------------------------------- general
+%% packages
+\ifbxoc@polyglossia@available
+ \RequirePackage{etoolbox}\relax
+\fi
+
%% \bxoc@name@list
% The list of caption names.
\@onlypreamble\bxoc@name@list
@@ -67,22 +100,73 @@
%--------------------------------------- hook
+%% \bxoc@check@conflict
+% Check if both babel and polyglossia are loaded, and then
+% annihilate all the function of this package.
+\@onlypreamble\bxoc@check@conflict
+\def\bxoc@check@conflict{%
+ \@ifpackageloaded{polyglossia}{%
+ %NB. polyglossia marks babel as loaded.
+ \@ifpackageloaded{babel}{%
+ \ifx\bbl@afterelse\@undefined\else % Babel is REALLY loaded
+ \PackageError\bxoc@pkgname
+ {Both Babel and Polyglossia are loaded!\MessageBreak
+ Such usage is not supported}%
+ {All the function of \bxoc@pkgname\space
+ is invalidated.\MessageBreak\@ehc}%
+ % annihilate
+ \let\bxoc@babel@hook\relax
+ \let\bxoc@check@conflict\relax
+ \fi
+ }{}%
+ }{}%
+}
+
+%% \bxoc@if@babel@or@polyglossia@loaded
+\@onlypreamble\bxoc@if@babel@or@polyglossia@loaded
+\def\bxoc@if@babel@or@polyglossia@loaded{%
+ \let\bxoc@next\@secondoftwo
+ \@ifpackageloaded{babel}{\let\bxoc@next\@firstoftwo}{}%
+ \@ifpackageloaded{polyglossia}{\let\bxoc@next\@firstoftwo}{}%
+ \bxoc@next
+}
+
%% \bxoc@babel@hook
% Note that \bxoc@babel@hook must be invoked between the loading
% of babel and the dispatch of babel's begin-document hook.
\@onlypreamble\bxoc@babel@hook
\let\bxoc@babel@hook\@empty
-\@ifpackageloaded{babel}{%
- \AtEndOfPackage{\bxoc@babel@hook}%
-}{%else
- \AtBeginDocument{%
- \@ifpackageloaded{babel}{%
+\bxoc@if@babel@or@polyglossia@loaded{%
+ \ifbxoc@polyglossia@available
+ \AtEndPreamble{%
+ \bxoc@check@conflict
\bxoc@babel@hook
- }{%else
- \PackageWarning\bxoc@pkgname
- {Babel is not loaded,}%
}%
- }%
+ \else
+ \AtEndOfPackage{\bxoc@babel@hook}%
+ \fi
+}{%else
+ \ifbxoc@polyglossia@available
+ \AtEndPreamble{%
+ \bxoc@if@babel@or@polyglossia@loaded{%
+ \bxoc@check@conflict
+ \bxoc@babel@hook
+ }{%else
+ \PackageWarning\bxoc@pkgname
+ {Neither Polyglossia nor Babel is\MessageBreak
+ loaded,}%
+ }%
+ }%
+ \else
+ \AtBeginDocument{%
+ \@ifpackageloaded{babel}{%
+ \bxoc@babel@hook
+ }{%else
+ \PackageWarning\bxoc@pkgname
+ {Babel is not loaded,}%
+ }%
+ }%
+ \fi
}
%--------------------------------------- deprecated ldf stuffs
@@ -145,7 +229,18 @@
\@onlypreamble\bxoc@enable@restore
\def\bxoc@enable@restore{%
\ifx\bxoc@target@lang\relax
- \let\bxoc@target@lang\bbl@main@language
+ \@ifpackageloaded{polyglossia}{%
+ \let\bxoc@target@lang\xpg@main@language
+ }{%else
+ \let\bxoc@target@lang\bbl@main@language
+ }%
+ \ifx\bxoc@target@lang\@undefined
+ \PackageError\bxoc@pkgname
+ {The main language is not set}%
+ {\@ehc}%
+ \def\bxoc@target@lang{?bxoc}
+ \@namedef{date\bxoc@target@lang}{}%
+ \fi
\fi
\bxDebug{target=\bxoc@target@lang}%
\expandafter\ifx\csname date\bxoc@target@lang\endcsname\relax