From 70e6041f5f6b8c942c96e2be603e766a74100037 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 5 May 2022 20:14:49 +0000 Subject: bxtexlogo (5may22) git-svn-id: svn://tug.org/texlive/trunk@63231 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/bxtexlogo/LICENSE | 2 +- Master/texmf-dist/doc/latex/bxtexlogo/README.md | 44 +++++- .../doc/latex/bxtexlogo/bxtexlogo-sample.pdf | Bin 422874 -> 537334 bytes .../doc/latex/bxtexlogo/bxtexlogo-sample.tex | 55 +++++++- .../texmf-dist/tex/latex/bxtexlogo/bxtexlogo.sty | 151 ++++++++++++++++++--- 5 files changed, 220 insertions(+), 32 deletions(-) diff --git a/Master/texmf-dist/doc/latex/bxtexlogo/LICENSE b/Master/texmf-dist/doc/latex/bxtexlogo/LICENSE index dc60f9a70ef..b9164b46b10 100644 --- a/Master/texmf-dist/doc/latex/bxtexlogo/LICENSE +++ b/Master/texmf-dist/doc/latex/bxtexlogo/LICENSE @@ -1,6 +1,6 @@ The MIT License -Copyright (c) 2017, 2018 Takayuki YATO (aka. "ZR") +Copyright (c) 2016-2022 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/bxtexlogo/README.md b/Master/texmf-dist/doc/latex/bxtexlogo/README.md index f5fe16408ee..905a6dea6a0 100644 --- a/Master/texmf-dist/doc/latex/bxtexlogo/README.md +++ b/Master/texmf-dist/doc/latex/bxtexlogo/README.md @@ -56,12 +56,12 @@ All the options are passed to hologo. - `+`: Defines forcefully with a prefix; for example, `my+BibTeX` overwrites the command `\myBibTeX`. - The `` part can be either `*` or `**` instead of a valid logo name. There `*` means “all the primary logo names” and `**` means “all the secondary logo names”. (The logo classification will be described later.) For example, `{*,my+**}` imports all the primary logos (without prefix, non-forcefully) and then imports forcefully all - the secondary logos with a prefix. + the secondary logos with prefix `my`. Note that the logo names explicitly given earlier are excluded from the bulk import by `*` and `**`. For example, `{BibTeX,my-*}` defines @@ -72,6 +72,9 @@ All the options are passed to hologo. of bulk imports in the future. This command is intended to be used in packages and classes. + * `\bxtexlogo{}: Outputs the logo of name ``. This form can + be always used, whether the logo is imported or not. + ### Avaiable logo names The logo names supported by this package are divided into two classes: @@ -135,6 +138,7 @@ You can bulk-import the secondary logos with `\bxtexlogoimport{**}`. (Logos provided by this package) * `ApTeX` + * `CSTUG` * `HeVeA` * `JBibTeX` * `JLaTeX` @@ -148,20 +152,39 @@ You can bulk-import the secondary logos with `\bxtexlogoimport{**}`. * `logoLambda` for “Λ” * `logoLamed` for “ל” * `logoOmega` for “Ω” + * `OpTeX` * `pTeXsT` * `XyM` for prefix * `XyMTeX` * … and more exotic ones, such as `BaSiX` (See the sample document for detail.) +#### Addtional logos + +Starting from v0.6, *all* hologo logos (not only ones classified as +“primary” or “secondary”) can be imported through `\bxtexlogoimport` +command, as long as its name contains only letters. For example, the logo +`Xe` (the head part of the `XeTeX` logo) that is provided by hologo can +be imported by invoking `\bxtexlogoimport{Xe}`, and then you can output +this logo by typing `\Xe`. (You can also do `\bxtexlogoimport{my-Xe}` +instead, of course.) Note that these “non-classified” logos are never +included in the target of bulk import. + +Note. The command `\bxtexlogo` also supports all hologo logos and thus +can be used in place of `\hologo`, just if you like it. + +Moreover, the bxtexlogo itself provides a few “non-classified” logos, +such as `e` (the head part of `eTeX` logo). This logo can be used by +importing (perhaps with a prefix) or by writing `\bxtexlogo{e}`. See the +sample document for detail. + ### Notices * You are recommended to load the graphicx package; its functionality will be utilized to improve the output of logos. * You cannot use the logo commands in math mode. - * You can use the logos provided by this package can be used in PDF - strings, but not in TeX4ht workflow (contrary to the logos provided by - hologo). + * You can use the logos provided by this package in PDF strings, but + not in TeX4ht workflow (contrary to the logos provided by hologo). * The functionality of the hologo package is not altered in any way. * You cannot apply the management commands of hologo (`\hologoSetup` etc.) to the logos provided by this package. @@ -170,6 +193,15 @@ You can bulk-import the secondary logos with `\bxtexlogoimport{**}`. Revision History ---------------- + * Version 0.6 ‹2022/05/05› + - More logos: HiTeX, TeX--XeT. + - Add `\bxtexlogo`. + - Add `\bxtexlogoReflect`. + + * Version 0.5 ‹2021/11/11› + - More logos: OpTeX, CSTUG. + - (experimental) Add `\bxtexlogoUseBboldx`. + * Version 0.4 ‹2018/03/11› - More logos: ApTeX, DVIPDFMx. - Add `\bxtexlogoItalicOrSlant`. @@ -185,4 +217,4 @@ Revision History -------------------- Takayuki YATO (aka. "ZR") -http://zrbabbler.sp.land.to/ +https://github.com/zr-tex8r diff --git a/Master/texmf-dist/doc/latex/bxtexlogo/bxtexlogo-sample.pdf b/Master/texmf-dist/doc/latex/bxtexlogo/bxtexlogo-sample.pdf index 23ecfce8f9a..bb7e71cc76c 100644 Binary files a/Master/texmf-dist/doc/latex/bxtexlogo/bxtexlogo-sample.pdf and b/Master/texmf-dist/doc/latex/bxtexlogo/bxtexlogo-sample.pdf differ diff --git a/Master/texmf-dist/doc/latex/bxtexlogo/bxtexlogo-sample.tex b/Master/texmf-dist/doc/latex/bxtexlogo/bxtexlogo-sample.tex index 2e66a85b333..a992e01571e 100644 --- a/Master/texmf-dist/doc/latex/bxtexlogo/bxtexlogo-sample.tex +++ b/Master/texmf-dist/doc/latex/bxtexlogo/bxtexlogo-sample.tex @@ -2,8 +2,8 @@ \usepackage[scale=0.75]{geometry} \usepackage[T1]{fontenc} \usepackage{lmodern} -\newcommand{\PkgVersion}{0.4} -\newcommand{\PkgDate}{2018/03/31} +\newcommand{\PkgVersion}{0.6} +\newcommand{\PkgDate}{2022/05/05} \newcommand{\Pkg}[1]{\textsf{#1}} \usepackage{graphicx,bxtexlogo} \bxtexlogoimport{*,**} @@ -22,6 +22,10 @@ \texttt{\string#1} & \textrm{#1} & \textit{#1} & \textsf{#1} & \textsf{\textsl{#1}} \\} +\newcommand*{\LSXEntry}[1]{% + \texttt{#1} & \textrm{\bxtexlogo{#1}} & \textit{\bxtexlogo{#1}} + & \textsf{\bxtexlogo{#1}} & \textsf{\textsl{\bxtexlogo{#1}}} + \\} %----------------------------------------------------------- \begin{document} \title{Sample of \Pkg{bxtexlogo} package} @@ -98,7 +102,11 @@ You can use these commands after invoking \paragraph{Logos provided by \Pkg{bxtexlogo}}\mbox{} \begin{LogoSamples} +\LSEntry{\ApTeX} +\LSEntry{\CSTUG} +\LSEntry{\DVIPDFMx} \LSEntry{\HeVeA} +\LSEntry{\HiTeX} \LSEntry{\JBibTeX} \LSEntry{\JLaTeX} \LSEntry{\JTeX} @@ -111,18 +119,51 @@ You can use these commands after invoking \LSEntry{\logoLambda} \LSEntry{\logoLamed} \LSEntry{\logoOmega} +\LSEntry{\OpTeX} \LSEntry{\pTeXsT} +\LSEntry{\TeXXeT} \LSEntry{\XyM} \LSEntry{\XyMTeX} \LSEntry{\BaSiX} -\LSEntry{\TeXonLaTeX} \LSEntry{\OneTeX} \LSEntry{\SuyahTeX} \LSEntry{\SATySFi} -\LSEntry{\ApTeX} -\LSEntry{\DVIPDFMx} -% software yet unavailable -%\LSEntry{\YukidarumaTeX} +\LSEntry{\TeXonLaTeX} +\end{LogoSamples} + +\newpage +%============================================================ +\section{Extra Logos} + +You can typeset these logos by +\verb|\bxtexlogo{|$\langle$\emph{name}$\rangle$\verb|}|. +Instead, if the name consists only of alphabets, +you can import logos as new commands +(\verb|\|$\langle$\emph{name}$\rangle$) +by invoking +\verb|\bxtexlogoimport{|$\langle$\emph{name}$\rangle$\verb|}|. + +\paragraph{Logos provided by \Pkg{hologo}} +The list is partial. +In fact, all logos provided by \Pkg{hologo} can be used +in the way mentioned above. + +\begin{LogoSamples} +\LSXEntry{(La)TeX} +\LSXEntry{ExTeX} +\LSXEntry{La} +\LSXEntry{Xe} +\end{LogoSamples} + +\paragraph{Logos provided by \Pkg{bxtexlogo}}\mbox{} + +\begin{LogoSamples} +\LSXEntry{1TeX} +\LSXEntry{arara} +\LSXEntry{e} +\LSXEntry{LuahbTeX} +\LSXEntry{XeT} +\LSXEntry{YukidarumaTeX} \end{LogoSamples} \end{document} 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{}{} \@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 {} @@ -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{} +\@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{}{} -\def\bxlg@declare@family#1#2{% +%% \bxlg@declare@family@mw{}{} +\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{}{} +\def\bxlg@declare@family#1#2{% + \bxlg@declare@family@mw{#1}{#2}% + \DeclareFontShape{#1}{#2}{b}{n}{<->ssub*#2/m/n}{}}% %% \bxlg@warn@font{} \def\bxlg@warn@font#1{% @@ -360,7 +406,7 @@ \fi} %% \bxlg@required@font{}{} -\@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{}{} +% 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{}{} +\@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 -- cgit v1.2.3