summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/bxtexlogo/bxtexlogo.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/bxtexlogo/bxtexlogo.sty')
-rw-r--r--macros/latex/contrib/bxtexlogo/bxtexlogo.sty151
1 files changed, 133 insertions, 18 deletions
diff --git a/macros/latex/contrib/bxtexlogo/bxtexlogo.sty b/macros/latex/contrib/bxtexlogo/bxtexlogo.sty
index 3038eb9039..69ff10aeaf 100644
--- a/macros/latex/contrib/bxtexlogo/bxtexlogo.sty
+++ b/macros/latex/contrib/bxtexlogo/bxtexlogo.sty
@@ -1,7 +1,7 @@
%%
%% This is file 'bxtexlogo.sty'.
%%
-%% Copyright (c) 2017, 2018 Takayuki YATO (aka. "ZR")
+%% Copyright (c) 2016-2022 Takayuki YATO (aka. "ZR")
%% GitHub: https://github.com/zr-tex8r
%% Twitter: @zr_tex8r
%%
@@ -10,7 +10,7 @@
%% package declaration
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{bxtexlogo}[2018/03/31 v0.4]
+\ProvidesPackage{bxtexlogo}[2022/05/05 v0.6]
%% preparation
\def\bxlg@pkgname{bxtexlogo}
@@ -31,8 +31,13 @@
\def\bxlg@hologo@import@secondary{%
HanTheThanh,KOMAScript,LaTeXTeX,NTS,PiCTeX,SageTeX,%
SLiTeX,teTeX,TTH}
+\def\bxlg@hologo@import@nolevel{%
+ (La)TeX,biber,BibTeX8,emTeX,ExTeX,iniTeX,La,LaTeX2e,%
+ LaTeX3,MetaFun,MetaPost,MiKTeX,OzMF,OzMP,OzTeX,OzTtH,
+ PCTeX,PiC,plainTeX,SliTeX,teTeX,TeX4ht,virTeX,VTeX,Xe}
\@onlypreamble\bxlg@hologo@import@primary
\@onlypreamble\bxlg@hologo@import@secondary
+\@onlypreamble\bxlg@hologo@import@nolevel
%% constants
\def\bxlg@@star{*}
@@ -52,6 +57,9 @@
\def\bxlg@err@ukval#1{\PackageError\bxlg@pkgname
{Unknown value '#1'}%
{\@eha}}
+\def\bxlg@err@uknam#1{\PackageError\bxlg@pkgname
+ {Unknown logo name '#1'}%
+ {\@ehc}}
%% \bxlg@cond\ifXXX..\fi{<T>}{<F>}
\@gobbletwo\if\if \def\bxlg@cond#1\fi{%
@@ -86,6 +94,7 @@
%% constants
\chardef\bxlg@level@@primary=1
\chardef\bxlg@level@@secondary=2
+\chardef\bxlg@level@@=0 % no-level (not for bulk import)
%% variables
\let\bxlg@list\@empty
@@ -110,7 +119,8 @@
\def\bxlg@next{\endgroup}%
\else
\g@addto@macro\bxlg@list{\do{#3}}%
- \global\expandafter\let\csname bxlg@flag@@#3\endcsname#1%
+ \ifnum#1>\z@
+ \global\expandafter\let\csname bxlg@flag@@#3\endcsname#1\fi
\def\bxlg@next{\bxlg@declare@c{#3}{#4}}%
\fi
\afterassignment\bxlg@next \toks@}% read {<LaTeX>}
@@ -142,6 +152,9 @@
\@for\bxlg@tmpb:=\bxlg@hologo@import@secondary\do{%
\edef\bxlg@next{\noexpand\bxlg@tmpa{secondary}{\bxlg@tmpb}%
}\bxlg@next}
+\@for\bxlg@tmpb:=\bxlg@hologo@import@nolevel\do{%
+ \edef\bxlg@next{\noexpand\bxlg@tmpa{}{\bxlg@tmpb}%
+ }\bxlg@next}
%--------------------------------------- registry
@@ -207,6 +220,13 @@
\bxtexlogoDeclare{secondary}{ApTeX}{A\kern-.08em \bxlg@logo@@pTeX}
\bxtexlogoDeclare{secondary}{DVIPDFMx}{% obsolete logo
DVI\-PDFM\bxtexlogoItalicOrSlant{x}}
+\bxtexlogoDeclare{secondary}{OpTeX}{Op\kern-.05em \TeX}
+\bxtexlogoDeclare{secondary}{CSTUG}{\leavevmode
+ \bxlg@cal{C}\kern-.3em \lower.67ex\hbox{\bxlg@cal{S}}%
+ \kern-.145em TUG}
+\bxtexlogoDeclare{secondary}{HiTeX}[]{Hi\TeX}
+\bxtexlogoDeclare{secondary}{TeXXeT}[TeX--XeT]{%
+ \TeX-\textbf{-}\bxlg@logo@@XeT}
%% fancy things (Not!)
\bxtexlogoDeclare{secondary}{BaSiX}{%
@@ -219,8 +239,17 @@
\bxlg@One\kern-0.2em \TeX}
\bxtexlogoDeclare{secondary}{SuyahTeX}{\bxlg@Suyah\TeX}
-%% the unnamable (Eh?)
-\bxtexlogoDeclare{secondary}{YukidarumaTeX}{\bxlg@Yukidaruma\TeX}
+%% logos of "no-level"
+\bxtexlogoDeclare{}{XeT}{%
+ \textbf{\bxtexlogoReflect{\TeX}{XeT}}\bxlg@nonuc}
+\bxtexlogoDeclare{}{e}{\bxlg@epsilon}
+\bxtexlogoDeclare{}{1TeX}{\bxlg@logo@@OneTeX}%alias
+\bxtexlogoDeclare{}{LuahbTeX}[LuaHBTeX]{% experimental
+ Lua\bxtexlogoSmcp{hb}\kern-.05em \TeX}
+\bxtexlogoDeclare{}{arara}{\bxlg@arara}
+\bxtexlogoDeclare{}{YukidarumaTeX}{\bxlg@Yukidaruma\TeX}
+
+%% other than TeX
\bxtexlogoDeclare{secondary}{SATySFi}{%
S\kern-0.1em A\kern-0.18em T\kern-0.22em
\lower0.2em\hbox{Y}\kern-0.08em
@@ -253,8 +282,7 @@
\else\ifx\bxlg@name\bxlg@@dblstar
\bxlg@import@all\bxlg@level@@secondary
\else\expandafter\ifx\csname bxlg@logo@@\bxlg@name\endcsname\relax
- \PackageError\bxlg@pkgname
- {Unknown logo name '\bxlg@name'}\@ehc
+ \bxlg@err@uknam\bxlg@name
\else
\bxlg@import@one\bxlg@name
\fi\fi\fi
@@ -320,6 +348,16 @@
\bxtexlogoimport{*}}
\AtBeginDocument{\bxlg@default@import}
+%--------------------------------------- user interface
+
+%%<*> \bxtexlogo{<name>}
+\@ifdefinable\bxtexlogo{%
+\DeclareRobustCommand*\bxtexlogo[1]{%
+ \expandafter\bxlg@use@a\csname bxlg@lcmd@@#1\endcsname{#1}}
+\def\bxlg@use@a#1#2{%
+ \bxlg@cond\ifx#1\relax\fi{\bxlg@err@uknam{#2}}{#1}}
+}
+
%--------------------------------------- font
%% variables
@@ -338,16 +376,24 @@
\if b\expandafter\@car\f@series.\@nil \bxlg@oktrue
\else \bxlg@okfalse \fi}
-%% \bxlg@declare@family{<enc>}{<family>}
-\def\bxlg@declare@family#1#2{%
+%% \bxlg@declare@family@mw{<enc>}{<family>}
+\def\bxlg@declare@family@mw#1#2{%
\DeclareFontFamily{#1}{#2}{}%
\DeclareFontShape{#1}{#2}{m}{it}{<->ssub*#2/m/n}{}%
\DeclareFontShape{#1}{#2}{m}{sl}{<->ssub*#2/m/n}{}%
\DeclareFontShape{#1}{#2}{m}{sc}{<->ssub*#2/m/n}{}%
- \DeclareFontShape{#1}{#2}{bx}{n}{<->ssub*#2/m/n}{}%
- \DeclareFontShape{#1}{#2}{bx}{it}{<->ssub*#2/m/n}{}%
- \DeclareFontShape{#1}{#2}{bx}{sl}{<->ssub*#2/m/n}{}%
- \DeclareFontShape{#1}{#2}{bx}{sc}{<->ssub*#2/m/n}{}}
+ \DeclareFontShape{#1}{#2}{b}{it}{<->ssub*#2/b/n}{}%
+ \DeclareFontShape{#1}{#2}{b}{sl}{<->ssub*#2/b/n}{}%
+ \DeclareFontShape{#1}{#2}{b}{sc}{<->ssub*#2/b/n}{}%
+ \DeclareFontShape{#1}{#2}{bx}{n}{<->ssub*#2/b/n}{}%
+ \DeclareFontShape{#1}{#2}{bx}{it}{<->ssub*#2/bx/n}{}%
+ \DeclareFontShape{#1}{#2}{bx}{sl}{<->ssub*#2/bx/n}{}%
+ \DeclareFontShape{#1}{#2}{bx}{sc}{<->ssub*#2/bx/n}{}}
+
+%% \bxlg@declare@family{<enc>}{<family>}
+\def\bxlg@declare@family#1#2{%
+ \bxlg@declare@family@mw{#1}{#2}%
+ \DeclareFontShape{#1}{#2}{b}{n}{<->ssub*#2/m/n}{}}%
%% \bxlg@warn@font{<str>}
\def\bxlg@warn@font#1{%
@@ -360,7 +406,7 @@
\fi}
%% \bxlg@required@font{<str>}{<pkg-name>}
-\@onlypreamble\bxlg@required@fon
+\@onlypreamble\bxlg@required@font
\def\bxlg@required@font#1#2{%
\@namedef{bxlg@fpkg@@#1}{#2}}
@@ -371,6 +417,13 @@
$\m@th \varepsilon$%
\endgroup}
+%% \bxlg@cal
+\def\bxlg@cal#1{%
+ \begingroup
+ \bxlg@check@bold \ifbxlg@ok \boldmath \fi
+ $\m@th \mathcal{#1}$%
+ \endgroup}
+
%% \bxlg@One
\bxlg@declare@family{U}{bxlgone}
\def\bxlg@next#1{\DeclareFontShape{U}{bxlgone}{m}{n}{<->#1}{}}
@@ -383,8 +436,31 @@
}{%else fallback using ordinary bold
\bxlg@next{s*[1.44]cmnx10}%
}}}
-\def\bxlg@One{\bxtexlogoFontSlant{%
+\def\bxlg@One@normal{\bxtexlogoFontSlant{%
\usefont{U}{bxlgone}{m}{n}1}}
+\let\bxlg@One\bxlg@One@normal
+% bboldx version
+\IfFileExists{bboldx.sty}{%
+ \bxlg@declare@family@mw{U}{bxlgoneBBX}%
+ \DeclareFontShape{U}{bxlgoneBBX}{m}{n}{<->s*[1.44]BBOLDX-Thin}{}%
+ \DeclareFontShape{U}{bxlgoneBBX}{b}{n}{<->s*[1.44]BBOLDX-Regular}{}%
+ \def\bxlg@One@BBX{\bxtexlogoFontSlant{%
+ \usefont{U}{bxlgoneBBX}{\f@series}{n}1}}%
+}
+
+%%<+>\bxtexlogoUseBboldx
+%%<+>\bxtexlogoNoUseBboldx
+\DeclareRobustCommand*\bxtexlogoUseBboldx{%
+ \let\bxlg@One\bxlg@One@BBX}
+\DeclareRobustCommand*\bxtexlogoNoUseBboldx{%
+ \let\bxlg@One\bxlg@One@normal}
+\ifx\bxlg@One@BBX\@undefined
+ \@namedef{bxtexlogoUseBboldx }{%
+ \PackageError\bxlg@pkgname
+ {Package 'bboldx' is not available}
+ {\@eha}
+ \@namedef{bxtexlogoUseBboldx }{}}
+\fi
%% \bxlg@select@OTi
\def\bxlg@select@OTi{%
@@ -435,10 +511,32 @@
}{%else
\bxlg@required@font{logoAleph}{cjhebrew}%
\def\bxlg@Aleph{\bxlg@warn@font{logoAleph}\textsf{Aleph}}%
- \bxlg@required@font{logoLamed}{babel-hebrew}%
+ \bxlg@required@font{logoLamed}{cjhebrew}%
\def\bxlg@Lamed{\bxlg@warn@font{logoLamed}\textsf{Lamed}}%
}
+%% \bxlg@arara
+\IfFileExists{comfortaa.sty}{%
+ \bxlg@declare@family{U}{bxlgcomf}%
+ \DeclareFontShape{U}{bxlgcomf}{m}{n}{<->Comfortaa-Bold-T1}{}%
+ \def\bxlg@arara{%
+ \bxlg@matchlc{0.21}{\usefont{U}{bxlgcomf}{m}{n}arara}}%
+}{%else
+ \bxlg@required@font{arara}{bxlgcomf}%
+ \def\bxlg@arara{\bxlg@warn@font{arara}\textsf{arara}}%
+}
+
+%% \bxlg@matchlc{<coeff>}{<text>}
+% NB. Here coeff is (1pt / 1ex).
+\def\bxlg@matchlc#1#2{%
+ \ifx\scalebox\@undefined \mbox{#2}%
+ \else
+ \begingroup
+ \@tempdima#1ex \xdef\bxlg@@g@tmpa{\strip@pt\@tempdima}%
+ \endgroup
+ \scalebox{\bxlg@@g@tmpa}{#2}%
+ \fi}
+
%% \bxlg@akern
\def\bxlg@akern#1{%
\begingroup
@@ -549,7 +647,8 @@
%%<+> \bxtexlogoItalicOrSlant
% Uses the slant value of the current font.
-\newcommand*\bxtexlogoItalicOrSlant[1]{%
+\@ifdefinable\bxtexlogoItalicOrSlant{%
+\DeclareRobustCommand*\bxtexlogoItalicOrSlant[1]{%
\textit{%
\@tempdima\fontdimen\@ne\font
\ifdim\@tempdima>\z@
@@ -559,6 +658,22 @@
\@tempdima\bxlg@fallback@slant\bxlg@g@height
\kern.75\@tempdima
\fi}}
+}
+
+%--------------------------------------- reflect
+
+%%<+> \bxtexlogoReflect{<text>}{<fallback>}
+\@ifdefinable\bxtexlogoReflect{%
+\DeclareRobustCommand*\bxtexlogoReflect{%
+ \bxlg@cond\ifx\reflectbox\@undefined\fi
+ {\bxlg@reflect@b}{\bxlg@reflect@a}}
+\def\bxlg@reflect@a#1#2{\reflectbox{\upshape#1}}
+\def\bxlg@reflect@b{%
+ \PackageWarning\bxlg@pkgname
+ {Package 'graphics' is not loaded,\MessageBreak reported}%
+ \global\let\bxlg@reflect@b\@secondoftwo
+ \@secondoftwo}
+}
%--------------------------------------- small-caps
@@ -658,7 +773,7 @@
%% initial setup
\bxtexlogoSmcpAs{auto}
-\bxtexlogoSmcpAsFakeFor{*/cmss/*}
+\bxtexlogoSmcpAsFakeFor{*/cmss/*,*/lmss/*}
%--------------------------------------- done
\endinput