diff options
author | Karl Berry <karl@freefriends.org> | 2022-05-05 20:14:49 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-05-05 20:14:49 +0000 |
commit | 70e6041f5f6b8c942c96e2be603e766a74100037 (patch) | |
tree | 5023bf49b826224a13dc77762f61220534e98740 /Master/texmf-dist/tex/latex/bxtexlogo/bxtexlogo.sty | |
parent | 00c3aeb0bbe0c93133b96c72348886e729ffc2f5 (diff) |
bxtexlogo (5may22)
git-svn-id: svn://tug.org/texlive/trunk@63231 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/bxtexlogo/bxtexlogo.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/bxtexlogo/bxtexlogo.sty | 151 |
1 files changed, 133 insertions, 18 deletions
diff --git a/Master/texmf-dist/tex/latex/bxtexlogo/bxtexlogo.sty b/Master/texmf-dist/tex/latex/bxtexlogo/bxtexlogo.sty index 3038eb90397..69ff10aeafa 100644 --- a/Master/texmf-dist/tex/latex/bxtexlogo/bxtexlogo.sty +++ b/Master/texmf-dist/tex/latex/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 |