diff options
author | Karl Berry <karl@freefriends.org> | 2017-11-13 23:51:44 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-11-13 23:51:44 +0000 |
commit | 70437cd651b5d2f5f850d45ec09cb07afda18411 (patch) | |
tree | b10ddb4f95ddc4d0b1b51ac6af1dceec3a3ab654 /Master/texmf-dist | |
parent | 61bfcb5314d6c017378a1dd65e3a419d647caaba (diff) |
bxtexlogo (13nov17)
git-svn-id: svn://tug.org/texlive/trunk@45784 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/bxtexlogo/LICENSE | 21 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/bxtexlogo/README.md | 183 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/bxtexlogo/bxtexlogo-sample.pdf | bin | 0 -> 420458 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/bxtexlogo/bxtexlogo-sample.tex | 126 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/bxtexlogo/bxtexlogo.sty | 637 |
5 files changed, 967 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/bxtexlogo/LICENSE b/Master/texmf-dist/doc/latex/bxtexlogo/LICENSE new file mode 100644 index 00000000000..8ada757fbc8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/bxtexlogo/LICENSE @@ -0,0 +1,21 @@ +The MIT License + +Copyright (c) 2017 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 +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/Master/texmf-dist/doc/latex/bxtexlogo/README.md b/Master/texmf-dist/doc/latex/bxtexlogo/README.md new file mode 100644 index 00000000000..1b7db4af149 --- /dev/null +++ b/Master/texmf-dist/doc/latex/bxtexlogo/README.md @@ -0,0 +1,183 @@ +BXtexlogo Package +================= + +LaTeX: Additional TeX-family logos + +The package [hologo] enables you to output many useful logos of popular +(and not so popular) TeX-family software. However its interface is a bit +cumbersome because you must type `\hologo{BibTeX}` instead of `\BibTeX`. +This package enables you to import some of logos provided by hologo as +simgle commands, such as `\BibTeX`. + +Moreover this package provides yet additional logos of TeX-family software +most of which is popular mainly in Japan. These logos can be imported in +the same way as those provided by hologo. + +[hologo]: https://ctan.org/pkg/hologo + +### System requirement + + * TeX format: LaTeX. + * TeX engine: Anything. + * Dependent packages: + - hologo + - cjhebrew (if `\logoAleph` and `\logoLamed` are used) + +### Installation + + - `*.sty` → $TEXMF/tex/latex/BXtexlogo + +### License + +This package is distributed under the MIT License. + + +The bxtexlogo Package +--------------------- + +### Package Loading + + \usepackage[<option>,...]{bxtexlogo} + +All the options are passed to hologo. + +### Usage + + * `\bxtexlogoimport{<name>,...}`: Defines a command to output the logo + specified by `<name>`. For example, `\bxtexlogoimport{BibTeX}` defines + the command `\BibTeX` to output the `BibTeX` logo, if the command is + undefined. Alternatively, a list element in the argument can have + the following forms: + - `+<name>`: Defines forcefully; for example, `+BibTeX` defines the + command `\BibTeX` even if the command is already defined. + - `<prefix>-<name>`: Defines with a prefix; for example, `my-BibTeX` + defines the command `\myBibTeX` for the logo `BibTeX`, if the + command is undefined. + - `<prefix>+<name>`: Defines forcefully with a prefix; for example, + `my+BibTeX` overwrites the command `\myBibTeX`. + + The `<name` 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. + + Note that the logo names explicitly given earlier are excluded from + the bulk import by `*` and `**`. For example, `{BibTeX,my-*}` defines + `\BibTeX` and `\myXeTeX` but not `\myBibTeX`. + + * `\bxtexlogoImport{<name>,...}`: The same as `\bxtexlogoimport`, except + that the logo names explicitly given are not excluded from the target + of bulk imports in the future. This command is intended to be used in + packages and classes. + +### Avaiable logo names + +The logo names supported by this package are divides into two classes: +“primary” (popular software) and “secondary” (all others). + +#### Primary logos + +You can bulk-import the primary logos with `\bxtexlogoimport{*}`. + +(Logos provided by hologo) + + * `AmSLaTeX` + * `AmSTeX` + * `BibTeX` + * `ConTeXt` + * `eTeX` + * `LaTeX` + * `LaTeXe` for “LaTeX 2ε” logo + * `LuaLaTeX` + * `LuaTeX` + * `LyX` + * `METAFONT` + * `METAPOST` + * `pdfTeX` + * `pdfLaTeX` + * `TeX` + * `XeLaTeX` + * `XeTeX` + +(Logos provided by this package) + + * `epTeX` for “ε-pTeX” logo + * `eupTeX` for “ε-upTeX” logo + * `JBibTeX` (old version of pBibTeX) + * `pBibTeX` + * `pLaTeXe` for “pLaTeX 2ε” + * `pLaTeX` + * `pTeX` + * `TikZ` + * `upBibTeX` + * `upLaTeX` + * `upLaTeXe` for “upLaTeX 2ε” + * `upTeX` + +#### Secondary logos + +You can bulk-import the secondary logos with `\bxtexlogoimport{**}`. + +(Logos provided by hologo) + + * `HanTheThanh` for “Hàn Thế Thành” + * `KOMAScript` + * `LaTeXTeX` for “(La)TeX” + * `NTS` + * `PiCTeX` + * `SageTeX` + * `SLiTeX` + * `teTeX` + * `TTH` + +(Logos provided by this package) + + * `HeVeA` + * `JBibTeX` + * `JLaTeX` + * `JTeX` + * `KaTeX` + * `KET` for prefix + * `KETpic` + * `LaTeXiT` + * `LaTeXML` + * `logoAleph` for “א” + * `logoLambda` for “Λ” + * `logoLamed` for “ל” + * `logoOmega` for “Ω” + * `pTeXsT` + * `XyM` for prefix + * `XyMTeX` + * … and more exotic ones, such as `BaSiX` + (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). + * 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. + + +Revision History +---------------- + + * Version 0.3 ‹2017/11/11› + - More logos. + + * Version 0.2a ‹2016/11/11› + - Bug fix. + + * Version 0.2 ‹2016/04/01› + - The first public version. + +-------------------- +Takayuki YATO (aka. "ZR") +http://zrbabbler.sp.land.to/ diff --git a/Master/texmf-dist/doc/latex/bxtexlogo/bxtexlogo-sample.pdf b/Master/texmf-dist/doc/latex/bxtexlogo/bxtexlogo-sample.pdf Binary files differnew file mode 100644 index 00000000000..9756975afdc --- /dev/null +++ b/Master/texmf-dist/doc/latex/bxtexlogo/bxtexlogo-sample.pdf diff --git a/Master/texmf-dist/doc/latex/bxtexlogo/bxtexlogo-sample.tex b/Master/texmf-dist/doc/latex/bxtexlogo/bxtexlogo-sample.tex new file mode 100644 index 00000000000..aeb343d1ecb --- /dev/null +++ b/Master/texmf-dist/doc/latex/bxtexlogo/bxtexlogo-sample.tex @@ -0,0 +1,126 @@ +\documentclass[a4paper]{article} +\usepackage[scale=0.75]{geometry} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\newcommand{\PkgVersion}{0.3} +\newcommand{\PkgDate}{2017/11/11} +\newcommand{\Pkg}[1]{\textsf{#1}} +\usepackage{graphicx,bxtexlogo} +\bxtexlogoimport{*,**} + +\newenvironment{LogoSamples}{% + \begin{center}\begin{tabular}{ccccc} + \hline \phantom{\LARGE I} + & \textrm{Serif} & \textit{+italic} + & \textsf{Sans serif} & \textsl{+slanted} + \\\hline +}{% + \hline + \end{tabular}\end{center} +} +\newcommand*{\LSEntry}[1]{% + \texttt{\string#1} & \textrm{#1} & \textit{#1} + & \textsf{#1} & \textsf{\textsl{#1}} + \\} +%----------------------------------------------------------- +\begin{document} +\title{Sample of \Pkg{bxtexlogo} package} +\author{Takayuki YATO\quad (aka.~``ZR'')} +\date{v\PkgVersion \quad[\PkgDate]} +\maketitle + +%============================================================ +\section{``Primary'' Logos} + +You can use these commands after invoking +\verb|\bxtexlogoimport{*}|. + +\paragraph{Logos provided by \Pkg{hologo}}\mbox{} + +\begin{LogoSamples} +\LSEntry{\AmSLaTeX} +\LSEntry{\AmSTeX} +\LSEntry{\BibTeX} +\LSEntry{\ConTeXt} +\LSEntry{\eTeX} +\LSEntry{\LaTeX} +\LSEntry{\LaTeXe} +\LSEntry{\LuaLaTeX} +\LSEntry{\LuaTeX} +\LSEntry{\LyX} +\LSEntry{\METAFONT} +\LSEntry{\METAPOST} +\LSEntry{\pdfTeX} +\LSEntry{\pdfLaTeX} +\LSEntry{\TeX} +\LSEntry{\XeLaTeX} +\LSEntry{\XeTeX} +\end{LogoSamples} + +\paragraph{Logos provided by \Pkg{bxtexlogo}}\mbox{} + +\begin{LogoSamples} +\LSEntry{\epTeX} +\LSEntry{\eupTeX} +\LSEntry{\JBibTeX} +\LSEntry{\pBibTeX} +\LSEntry{\pLaTeXe} +\LSEntry{\pLaTeX} +\LSEntry{\pTeX} +\LSEntry{\TikZ} +\LSEntry{\upBibTeX} +\LSEntry{\upLaTeX} +\LSEntry{\upLaTeXe} +\LSEntry{\upTeX} +\end{LogoSamples} + +\newpage +%============================================================ +\section{``Secondary'' Logos} + +You can use these commands after invoking +\verb|\bxtexlogoimport{**}|. + +\paragraph{Logos provided by \Pkg{hologo}}\mbox{} + +\begin{LogoSamples} +\LSEntry{\HanTheThanh} +\LSEntry{\KOMAScript} +\LSEntry{\LaTeXTeX} +\LSEntry{\NTS} +\LSEntry{\PiCTeX} +\LSEntry{\SageTeX} +\LSEntry{\SLiTeX} +\LSEntry{\teTeX} +\LSEntry{\TTH} +\end{LogoSamples} + +\paragraph{Logos provided by \Pkg{bxtexlogo}}\mbox{} + +\begin{LogoSamples} +\LSEntry{\HeVeA} +\LSEntry{\JBibTeX} +\LSEntry{\JLaTeX} +\LSEntry{\JTeX} +\LSEntry{\KaTeX} +\LSEntry{\KET} +\LSEntry{\KETpic} +\LSEntry{\LaTeXiT} +\LSEntry{\LaTeXML} +\LSEntry{\logoAleph} +\LSEntry{\logoLambda} +\LSEntry{\logoLamed} +\LSEntry{\logoOmega} +\LSEntry{\pTeXsT} +\LSEntry{\XyM} +\LSEntry{\XyMTeX} +\LSEntry{\BaSiX} +\LSEntry{\TeXonLaTeX} +\LSEntry{\OneTeX} +\LSEntry{\SuyahTeX} +% software yet unavailable +%\LSEntry{\YukidarumaTeX} +%\LSEntry{\SATySFi} +\end{LogoSamples} + +\end{document} diff --git a/Master/texmf-dist/tex/latex/bxtexlogo/bxtexlogo.sty b/Master/texmf-dist/tex/latex/bxtexlogo/bxtexlogo.sty new file mode 100644 index 00000000000..8b1105150de --- /dev/null +++ b/Master/texmf-dist/tex/latex/bxtexlogo/bxtexlogo.sty @@ -0,0 +1,637 @@ +%% +%% This is file 'bxtexlogo.sty'. +%% +%% Copyright (c) 2017 Takayuki YATO (aka. "ZR") +%% GitHub: https://github.com/zr-tex8r +%% Twitter: @zr_tex8r +%% +%% This package is distributed under the MIT License. +%% + +%% package declaration +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{bxtexlogo}[2017/11/11 v0.3] + +%% preparation +\def\bxlg@pkgname{bxtexlogo} +\providecommand\bxDebug[1]{} + +%--------------------------------------- general + +%% packages +\IfFileExists{hologo.sty}{% +\RequirePackageWithOptions{hologo} +}{} + +%% hologo import list +\def\bxlg@hologo@import@primary{% + AmSLaTeX,AmSTeX,BibTeX,ConTeXt,eTeX,LaTeX,LaTeXe,% + LuaLaTeX,LuaTeX,LyX,METAFONT,METAPOST,pdfTeX,pdfLaTeX,% + TeX,XeLaTeX,XeTeX} +\def\bxlg@hologo@import@secondary{% + HanTheThanh,KOMAScript,LaTeXTeX,NTS,PiCTeX,SageTeX,% + SLiTeX,teTeX,TTH} +\@onlypreamble\bxlg@hologo@import@primary +\@onlypreamble\bxlg@hologo@import@secondary + +%% constants +\def\bxlg@@star{*} +\def\bxlg@@dblstar{**} + +%% variables +\newif\ifbxlg@ok +\newif\ifbxlg@forced +\newif\ifbxlg@onego +\newif\ifbxlg@hologo@ok + +%% unique tokens +\def\bxlg@end{\bxlg@end@} +\def\bxlg@mk{\bxlg@mk@} + +%% errors +\def\bxlg@err@ukval#1{\PackageError\bxlg@pkgname + {Unknown value '#1'}% + {\@eha}} + +%% \bxlg@cond\ifXXX..\fi{<T>}{<F>} +\@gobbletwo\if\if \def\bxlg@cond#1\fi{% + #1\expandafter\@firstoftwo + \else \expandafter\@secondoftwo\fi} + +%% \bxlg@jump@exit...\bxlg@exit +\@gobble\if \long\def\bxlg@jump@exit#1\bxlg@exit{\fi} +\let\bxlg@exit\relax + +%% \bxlg@logo@do{<text-form>}{<LaTeX-form>} +% Uses \texorpdfstring if available. +\def\bxlg@logo@do{% + \bxlg@cond\ifx\texorpdfstring\@undefined\fi + {\@firstoftwo}{\texorpdfstring}} + +%% \hologo fallback +\@ifundefined{hologo}{% + \bxlg@hologo@okfalse + \DeclareRobustCommand*\hologo[1]{% + \PackageError\bxlg@pkgname + {The command '\@backslashchar#1' is not available,\MessageBreak + because the package 'hologo' is not found}% + {\@ehc}% + #1} +}{%else + \bxlg@hologo@oktrue +} + +%--------------------------------------- registration + +%% constants +\chardef\bxlg@level@@primary=1 +\chardef\bxlg@level@@secondary=2 + +%% variables +\let\bxlg@list\@empty +%\[bxlg@flag@@<name>]% level value +%\[bxlg@logo@@<name>]% real definition +%\[bxlg@lcmd@@<name>]% core definition + +%%<+> \bxtexlogoDeclare{<level>}{<name>}[<text-form>]{<LaTeX-form>} +\@onlypreamble\bxtexlogoDeclare +\newcommand*\bxtexlogoDeclare[2]{%{<level>}{<name>} + \@ifnextchar[% + {\bxlg@declare@a{#1}{#2}}% + {\bxlg@declare@a{#1}{#2}[#2]}} +\@onlypreamble\bxlg@declare@a +\def\bxlg@declare@a#1{% + \begingroup + \expandafter\bxlg@declare@b\csname bxlg@level@@#1\endcsname{#1}} +\@onlypreamble\bxlg@declare@b +\def\bxlg@declare@b#1#2#3[#4]{% \LEVEL{<level>}{<name>}[<text>] + \ifx#1\relax + \bxlg@err@ukval{#2}% + \def\bxlg@next{\endgroup}% + \else + \g@addto@macro\bxlg@list{\do{#3}}% + \global\expandafter\let\csname bxlg@flag@@#3\endcsname#1% + \def\bxlg@next{\bxlg@declare@c{#3}{#4}}% + \fi + \afterassignment\bxlg@next \toks@}% read {<LaTeX>} +\@onlypreamble\bxlg@declare@c +\def\bxlg@declare@c#1{%{<name>} + \expandafter\bxlg@declare@d\csname bxlg@lcmd@@#1\expandafter + \endcsname\csname bxlg@logo@@#1\endcsname} +\@onlypreamble\bxlg@declare@d +\def\bxlg@declare@d#1#2#3{%\LCMD\LOGO{<text>} + \ifx\bxlg@mk#3\bxlg@mk \gdef#1{\protect#2}% + \else \gdef#1{\bxlg@logo@do{\protect#2}{#3}}% + \fi + \xdef#2{\the\toks@}% + \endgroup} + +%%<+> \bxtexlogoTest +% The test output. +\newcommand*\bxtexlogoTest{% + \par \let\do\bxlg@logo@test@do \bxlg@list} +\def\bxlg@logo@test@do#1{% + \texttt{#1}:\quad\@nameuse{bxlg@logo@@#1}\par} + +%% import form hologo +\def\bxlg@tmpa#1#2{% + \bxtexlogoDeclare{#1}{#2}[]{\hologo{#2}}} +\@for\bxlg@tmpb:=\bxlg@hologo@import@primary\do{% + \edef\bxlg@next{\noexpand\bxlg@tmpa{primary}{\bxlg@tmpb}% + }\bxlg@next} +\@for\bxlg@tmpb:=\bxlg@hologo@import@secondary\do{% + \edef\bxlg@next{\noexpand\bxlg@tmpa{secondary}{\bxlg@tmpb}% + }\bxlg@next} + +%--------------------------------------- registry + +%% very famous somewhere +\bxtexlogoDeclare{primary}{pTeX}{p\kern-.05em\TeX} +\bxtexlogoDeclare{primary}{epTeX}[e-pTeX]{% + \mbox{\bxlg@epsilon-\bxlg@logo@@pTeX}} +\bxtexlogoDeclare{primary}{pLaTeX}[]{p\LaTeX} +\bxtexlogoDeclare{primary}{pLaTeXe}[]{p\LaTeXe} +\bxtexlogoDeclare{primary}{upTeX}{up\kern-.05em \TeX} +\bxtexlogoDeclare{primary}{eupTeX}[e-upTeX]{% + \mbox{\bxlg@epsilon-\bxlg@logo@@upTeX}} +\bxtexlogoDeclare{primary}{upLaTeX}[]{up\LaTeX} +\bxtexlogoDeclare{primary}{upLaTeXe}[]{up\LaTeXe} +\bxtexlogoDeclare{primary}{JBibTeX}{% + \leavevmode\lower.5ex\hbox{J}\bxlg@akern{-.15}\hologo{BibTeX}} +\bxtexlogoDeclare{primary}{pBibTeX}[]{p\hologo{BibTeX}} +\bxtexlogoDeclare{primary}{upBibTeX}[]{up\hologo{BibTeX}} +\bxtexlogoDeclare{primary}{TikZ}{Ti\textit{k}Z\bxlg@nonuc} + +%% old or not-so-famous +\bxtexlogoDeclare{secondary}{JTeX}{% + \leavevmode\lower.5ex\hbox{J}\bxlg@akern{-.17}\TeX} +\bxtexlogoDeclare{secondary}{JLaTeX}{% + \leavevmode\lower.5ex\hbox{J}\bxlg@akern{-.15}\LaTeX} +\bxtexlogoDeclare{secondary}{pTeXsT}{% + p\kern-.21em \TeX\kern-.10em s\kern-.21em T\bxlg@nonuc} +\bxtexlogoDeclare{secondary}{XyM}{% + X\kern-.30em % + \smash{\raise.50ex\hbox to0.8em{\hss\bxlg@Grk{7}\hss}}% + \kern -.30em M} +\bxtexlogoDeclare{secondary}{XyMTeX}{% + \bxlg@logo@@XyM \kern-.1em \TeX} +\bxtexlogoDeclare{secondary}{KET}{% + K\kern-.16em \lower.5ex\hbox{E}\kern-.12emT} +\bxtexlogoDeclare{secondary}{KETpic}{% + \bxlg@logo@@KET pic} +\bxtexlogoDeclare{secondary}{logoOmega}[Omega]{\bxlg@Grk{10}} +\bxtexlogoDeclare{secondary}{logoLambda}[Lambda]{\bxlg@Grk{3}} +\bxtexlogoDeclare{secondary}{logoAleph}[Aleph]{\bxlg@Aleph} +\bxtexlogoDeclare{secondary}{logoLamed}[Lamed]{\bxlg@Lamed} +\bxtexlogoDeclare{secondary}{LaTeXiT}{% + \LaTeX \kern-.09em + \raise.36ex\hbox{i}\kern-.06em T\bxlg@nonuc} +\bxtexlogoDeclare{secondary}{LaTeXML}{% + \hologo{La}\kern-.15em T\kern-.1667em \lower.5ex\hbox{E}% + \bxlg@smaller{XML}\bxlg@nonuc} +\bxtexlogoDeclare{secondary}{HeVeA}{% + H\kern-.08em + \begingroup \setbox\z@\hbox{H}% + \vbox to\ht\z@{\vss\hbox{\bxlg@smaller{E}}\vss}% + \kern-.07em V\kern-.08em + \vbox to\ht\z@{\vss\hbox{\bxlg@smaller{E}}\vss}% + \endgroup \kern-.09em + A\bxlg@nonuc} +\bxtexlogoDeclare{secondary}{KaTeX}{% + K\kern-.26em + \begingroup \setbox\z@\hbox{T}% + \vbox to\ht\z@{\kern.05em \hbox{\bxlg@smaller{A}}\vss}% + \endgroup + \kern-.23em \TeX} + +%% fancy things (Not!) +\bxtexlogoDeclare{secondary}{BaSiX}{% + B\kern-.18em \lower.45ex\hbox{A}\kern-.15em % + S\kern-.1em \lower.45ex\hbox{I}\kern-.1em X\bxlg@nonuc} +\bxtexlogoDeclare{secondary}{logoon}[on]{\bxtexlogoSmcp{on}} +\bxtexlogoDeclare{secondary}{TeXonLaTeX}[TeX on LaTeX]{% + \TeX\ \bxlg@logo@@logoon\ \LaTeX} +\bxtexlogoDeclare{secondary}{OneTeX}[1TeX]{% + \bxlg@One\kern-0.2em \TeX} +\bxtexlogoDeclare{secondary}{SuyahTeX}{\bxlg@Suyah\TeX} + +%% the unnamable (Eh?) +\bxtexlogoDeclare{secondary}{YukidarumaTeX}{\bxlg@Yukidaruma\TeX} +\bxtexlogoDeclare{secondary}{SATySFi}{% + S\kern-0.1em A\kern-0.18em T\kern-0.22em + \lower0.2em\hbox{Y}\kern-0.08em + S\kern-0.04em F\kern-0.12em + \lower0.2em\hbox{I}} + +%--------------------------------------- import + +%% variables +\let\bxlg@name\relax +\let\bxlg@pfx\relax + +%%<*> \bxtexlogoimport{<spec-str>} +\@onlypreamble\bxtexlogoimport +\newcommand*\bxtexlogoimport{% + \bxlg@onegotrue + \bxlg@import} +\@onlypreamble\bxtexlogoImport +\newcommand*\bxtexlogoImport{% + \bxlg@onegofalse + \bxlg@import} +\@onlypreamble\bxlg@import +\def\bxlg@import#1{% + \global\let\bxlg@default@import\relax + \@for\bxlg@name:=#1\do{% + \begingroup + \bxlg@split@name + \ifx\bxlg@name\bxlg@@star + \bxlg@import@all\bxlg@level@@primary + \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 + \else + \bxlg@import@one\bxlg@name + \fi\fi\fi + \endgroup}} + +%% \bxlg@import@one +\@onlypreamble\bxlg@import@one +\def\bxlg@import@one#1{% + \expandafter\ifx\csname\bxlg@pfx#1\endcsname\relax + \bxlg@oktrue + \else\ifbxlg@forced + \bxlg@oktrue + \PackageWarning\bxlg@pkgname + {'\@backslashchar\bxlg@pfx#1' redefined}% + \else \bxlg@okfalse + \fi\fi + \ifbxlg@onego + \global\expandafter\let\csname bxlg@flag@@#1\endcsname\@undefined + \fi + \ifbxlg@ok + \global\expandafter\let\csname\bxlg@pfx#1\expandafter + \endcsname\csname bxlg@lcmd@@#1\endcsname + \bxDebug{defined: \@backslashchar\bxlg@pfx#1}% + \fi} + +%% \bxlg@import@all{<level>} +\@onlypreamble\bxlg@import@all +\def\bxlg@import@all#1{% + \let\bxlg@tmpb#1% + \let\do\bxlg@import@all@do \bxlg@list} +\@onlypreamble\bxlg@import@all@do +\def\bxlg@import@all@do#1{% + \expandafter\ifx\csname bxlg@flag@@#1\endcsname\bxlg@tmpb + \bxlg@import@one{#1}% + \fi} + +%% \bxlg@split@name +\@onlypreamble\bxlg@split@name +\def\bxlg@split@name{% + \bxlg@split@name@a+\ifx\bxlg@pfx\relax + \bxlg@split@name@a-\ifx\bxlg@pfx\relax + \bxlg@forcedfalse \let\bxlg@pfx\@empty + \else \bxlg@forcedfalse + \fi + \else \bxlg@forcedtrue + \fi} +\@onlypreamble\bxlg@split@name@a +\def\bxlg@split@name@a#1{% + \def\bxlg@next##1#1##2\bxlg@end{\bxlg@split@name@b{##1}{##2}}% + \expandafter\bxlg@next\bxlg@name\bxlg@mk#1\bxlg@end} +\@onlypreamble\bxlg@split@name@b +\def\bxlg@split@name@b#1#2{% + \ifx\bxlg@end#2\bxlg@end \let\bxlg@pfx\relax + \else \def\bxlg@pfx{#1}\bxlg@split@name@c#2\bxlg@end% + \fi} +\@onlypreamble\bxlg@split@name@c +\def\bxlg@split@name@c#1\bxlg@mk#2\bxlg@end{% + \def\bxlg@name{#1}} + +%% \bxlg@default@import +\@onlypreamble\bxlg@default@import +\def\bxlg@default@import{% + \bxtexlogoimport{*}} +\AtBeginDocument{\bxlg@default@import} + +%--------------------------------------- font + +%% variables +\chardef\bxlg@genfam=0 + +%% \bxlg@find@genfam +\def\bxlg@find@genfam{% + \edef\bxlg@tmpa{\f@family}\chardef\bxlg@genfam=\z@ + \edef\bxlg@tmpb{\sfdefault}% + \ifx\bxlg@tmpa\bxlg@tmpb \chardef\bxlg@genfam=\@ne \fi + \edef\bxlg@tmpb{\ttdefault}% + \ifx\bxlg@tmpa\bxlg@tmpb \chardef\bxlg@genfam=\tw@ \fi} + +%% \bxlg@check@bold +\def\bxlg@check@bold{% + \if b\expandafter\@car\f@series.\@nil \bxlg@oktrue + \else \bxlg@okfalse \fi} + +%% \bxlg@declare@family{<enc>}{<family>} +\def\bxlg@declare@family#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}{}} + +%% \bxlg@warn@font{<str>} +\def\bxlg@warn@font#1{% + \expandafter\ifx\csname bxlg@fpkg@@#1\endcsname\relax\else + \PackageWarning\bxlg@pkgname + {Logo '#1' cannot be properly rendered\MessageBreak + because the font package '\csname bxlg@fpkg@@#1\endcsname'% + \MessageBreak is missing,}% + \global\expandafter\let\csname bxlg@fpkg@@#1\endcsname\relax + \fi} + +%% \bxlg@required@font{<str>}{<pkg-name>} +\@onlypreamble\bxlg@required@fon +\def\bxlg@required@font#1#2{% + \@namedef{bxlg@fpkg@@#1}{#2}} + +%% \bxlg@epsilon +\def\bxlg@epsilon{% + \begingroup + \bxlg@check@bold \ifbxlg@ok \boldmath \fi + $\m@th \varepsilon$% + \endgroup} + +%% \bxlg@One +\bxlg@declare@family{U}{bxlgone} +\def\bxlg@next#1{\DeclareFontShape{U}{bxlgone}{m}{n}{<->#1}{}} +\IfFileExists{udsrom.fd}{% + \bxlg@next{s*[1.44]dsrom10}% +}{\IfFileExists{ubbm.fd}{% + \bxlg@next{s*[1.44]bbm10}% +}{\IfFileExists{ubbold.fd}{% + \bxlg@next{s*[1.44]bbold10}% +}{%else fallback using ordinary bold + \bxlg@next{s*[1.44]cmnx10}% +}}} +\def\bxlg@One{\bxtexlogoFontSlant{% + \usefont{U}{bxlgone}{m}{n}1}} + +%% \bxlg@select@OTi +\def\bxlg@select@OTi{% + \fontencoding{OT1}\selectfont + \expandafter\ifx\csname OT1+\f@family\endcsname\@empty + \bxlg@find@genfam + \ifcase\bxlg@genfam \fontfamily{cmr}\selectfont + \or \fontfamily{cmss}\selectfont + \or \fontfamily{cmtt}\selectfont + \fi + \fi} + +%% \bxlg@Grk{<slot>} +\def\bxlg@Grk#1{% + \bgroup \bxlg@select@OTi \char#1\relax \egroup} + +%% \bxlg@Suyah +%% \bxlg@Yukidaruma +\IfFileExists{c70ipxg.fd}{% + \bxlg@declare@family{U}{bxlgjasff}% + \DeclareFontShape{U}{bxlgjasff}{m}{n}{<->ipxg-r-uff}{}% + \def\bxlg@Suyah{\bxtexlogoFontSlant{% + \usefont{U}{bxlgjasff}{m}{n}% + \char125\bxlg@syt\char148\bxlg@syt\char103 }}% + \bxlg@declare@family{U}{bxlgjas26}% + \DeclareFontShape{U}{bxlgjas26}{m}{n}{<->s*ipxg-r-u26}{}% + \def\bxlg@Yukidaruma{\bxtexlogoFontSlant{% + \usefont{U}{bxlgjas26}{m}{n}\char3 }}% + \def\bxlg@syt{\kern-0.06em}% +}{%else + \bxlg@required@font{SuyahTeX}{ipaex-type1}% + \def\bxlg@Suyah{\bxlg@warn@font{SuyahTeX}% + \textsf{Suyah}}% + \bxlg@required@font{YukidarumaTeX}{ipaex-type1}% + \def\bxlg@Yukidaruma{\bxlg@warn@font{YukidarumaTeX}% + \textsf{Yukidaruma}}% +} + +%% \bxlg@Aleph +%% \bxlg@Lamed +\IfFileExists{cjhebrew.sty}{% + \bxlg@declare@family{U}{bxlghbr}% + \DeclareFontShape{U}{bxlghbr}{m}{n}{<->rcjhbltx}{}% + \def\bxlg@Aleph{% + \bgroup \usefont{U}{bxlghbr}{m}{n}\char39\egroup}% + \def\bxlg@Lamed{% + \bgroup \usefont{U}{bxlghbr}{m}{n}\char108\egroup}% +}{%else + \bxlg@required@font{logoAleph}{cjhebrew}% + \def\bxlg@Aleph{\bxlg@warn@font{logoAleph}\textsf{Aleph}}% + \bxlg@required@font{logoLamed}{babel-hebrew}% + \def\bxlg@Lamed{\bxlg@warn@font{logoLamed}\textsf{Lamed}}% +} + +%% \bxlg@akern +\def\bxlg@akern#1{% + \begingroup + \setbox\z@\hbox{i}% + \dimen@\wd\z@ \advance\dimen@-0.2em \dimen@12.8\dimen@ + \ifdim\dimen@<\z@ \dimen@\z@ \fi + \ifdim\dimen@>1em \dimen@1em \fi + \kern#1\dimen@ + \endgroup} + +%% \bxlg@smaller{<text>} +\def\bxlg@smaller#1{% + \begingroup + \check@mathfonts + \fontsize\sf@size\z@ + \math@fontsfalse\selectfont + #1% + \endgroup} + +%% \bxlg@nonuc +\def\bxlg@nonuc{% + \spacefactor\@m} + +%--------------------------------------- slant + +%% variables +\let\bxlg@slant@val\relax + +%%<+> \bxtexlogoFontSlant +% Uses the slant value of the current font. +%%<+> \bxtexlogoSlant{<real>} +\newcommand*\bxtexlogoFontSlant{% + \begingroup + \@tempdima\fontdimen\@ne\font + \bxlg@slant@a} +\newcommand*\bxtexlogoSlant[1]{% + \begingroup + \@tempdima=#1\p@ + \bxlg@slant@a} +\def\bxlg@slant@a{% + \bxlg@implement@slant + \edef\bxlg@slant@val{\strip@pt\@tempdima}% + \afterassignment\bxlg@slant@b \setbox\z@\hbox} +\def\bxlg@slant@b{% + \aftergroup\bxlg@slant@c} +\def\bxlg@slant@c{% + \leavevmode + \ifdim\bxlg@slant@val\p@=\z@ \box\z@ + \else + \@tempdima\wd\z@ \wd\z@\z@ + \bxlg@slant@start \box\z@ \bxlg@slant@end + \kern\@tempdima + \fi + \endgroup} + +%% \bxlg@slant@start +%% \bxlg@slant@end +\def\bxlg@slant@start{% + \PackageWarning\bxlg@pkgname + {Cannot implement synthetic slant, perhaps\MessageBreak + 'graphics' is not loaded}% + \global\let\bxlg@slant@start\relax} +\let\bxlg@slant@end\relax + +%% \bxlg@implement@slant +\def\bxlg@implement@slant{% + \begingroup + \chardef\bxlg@tmpb=0 + \def\bxlg@tmpa{\special{ps: currentpoint grestore moveto}} + \ifx\bxlg@tmpa\Grot@end \chardef\bxlg@tmpb=1 \fi + \def\bxlg@tmpa{\special{pdf:etrans}} + \ifx\bxlg@tmpa\Grot@end \chardef\bxlg@tmpb=2 \fi + \def\bxlg@tmpa{\pdfrestore} + \ifx\bxlg@tmpa\Grot@end \chardef\bxlg@tmpb=3 \fi + \def\bxlg@tmpa{\pdfextension restore\relax} + \ifx\bxlg@tmpa\Grot@end \chardef\bxlg@tmpb=4 \fi + \bxDebug{[gdriver=\the\bxlg@tmpb]}% + \ifcase\bxlg@tmpb + % unknown, then leave unimplmented + \or % dvips + \or % dvipdfmx + \gdef\bxlg@slant@start{\special{% + pdf:btrans matrix 1 0 \bxlg@slant@val\space 1 0 0}} + \gdef\bxlg@slant@end{\special{pdf:etrans}} + \or % pdftex + \gdef\bxlg@slant@start{% + \pdfsave \pdfsetmatrix{1 0 \bxlg@slant@val\space 1}} + \gdef\bxlg@slant@end{\pdfrestore} + \or % luatex (new) + \gdef\bxlg@slant@start{% + \pdfextension save\relax + \pdfextension setmatrix{1 0 \bxlg@slant@val\space 1}} + \gdef\bxlg@slant@end{\pdfextension restore\relax} + \fi + \global\let\bxlg@implement@slant\relax + \endgroup} +\AtBeginDocument{\bxlg@implement@slant} + +%--------------------------------------- small-caps + +%% constants +\chardef\bxlg@smcp@@auto=0 +\chardef\bxlg@smcp@@real=1 +\chardef\bxlg@smcp@@fake=2 + +%% variables +\let\bxlg@use@fake@list\@empty +\let\bxlg@smcp@mode\bxlg@smcp@@auto + +%%<+> \bxtexlogoSmcp{<string>} +\@ifdefinable\bxtexlogoSmcp{% +\DeclareRobustCommand\bxtexlogoSmcp[1]{% + \bxtexlogoSmcpChoice{\MakeLowercase{#1}}{\MakeUppercase{#1}}} +} + +%%<+> \bxtexlogoSmcpChoice{<text1>}{<text2>} +\@ifdefinable\bxtexlogoSmcpChoice{% +\DeclareRobustCommand\bxtexlogoSmcpChoice[2]{% + \begingroup + \bxlg@check@smcp + \ifbxlg@ok \scshape #1% + \else \bxlg@smaller{#2}% + \fi + \endgroup} +} + +%%<+> \bxtexlogoSmcpAs{<value>} +% valus: auto, real, fake +\newcommand*\bxtexlogoSmcpAs[1]{% + \expandafter\let\expandafter\bxlg@tmpa\csname bxlg@smcp@@#1\endcsname + \ifx\bxlg@tmpa\relax + \bxlg@err@ukval{#1}% + \else \let\bxlg@smcp@mode\bxlg@tmpa + \fi} + +%%<+> \bxtexlogoSmcpAsFakeFor +\newcommand*\bxtexlogoSmcpAsFakeFor[1]{% + \edef\bxlg@use@fake@list{\bxlg@use@fake@list,#1}} + +%% \bxlg@check@smcp +\def\bxlg@check@smcp{% + \ifx\bxlg@smcp@mode\bxlg@smcp@@real + \bxlg@oktrue + \else\ifx\bxlg@smcp@mode\bxlg@smcp@@fake + \bxlg@okfalse + \else + \bxlg@check@smcp@manual + \ifbxlg@ok \bxlg@check@smcp@auto \fi + \fi\fi + \bxDebug{[check->\meaning\ifbxlg@ok]}} +\def\bxlg@check@smcp@manual{% + \bxlg@oktrue + \begingroup + \@for\bxlg@tmpb:=\bxlg@use@fake@list\do{% + \expandafter\bxlg@check@smcp@manual@a\bxlg@tmpb/?/?/?\bxlg@end}% + \endgroup + \bxDebug{[manual->\meaning\ifbxlg@ok]}} +\def\bxlg@check@smcp@manual@a#1/#2/#3/#4\bxlg@end{% + \bxlg@check@smcp@manual@b{#1}{\f@encoding}% + \if@tempswa\else \bxlg@jump@exit \fi + \bxlg@check@smcp@manual@b{#2}{\f@family}% + \if@tempswa\else \bxlg@jump@exit \fi + \bxlg@check@smcp@manual@b{#3}{\f@series}% + \if@tempswa\else \bxlg@jump@exit \fi + \aftergroup\bxlg@okfalse + \bxlg@exit} +\def\bxlg@check@smcp@manual@b#1#2{% + \def\bxlg@tmpa{#1}% + \@tempswafalse + \ifx\bxlg@@star\bxlg@tmpa \@tempswatrue + \else\ifx#2\bxlg@tmpa \@tempswatrue + \fi\fi} +\def\bxlg@check@smcp@auto{% + \bxlg@oktrue + \begingroup + \bxlg@setcurfont\bxlg@fn@orig + \edef\bxlg@sl@orig{\ifdim\fontdimen1\font>\z@ 1\else 0\fi}% + \scshape + \bxlg@setcurfont\bxlg@fn@smcp + \edef\bxlg@sl@smcp{\ifdim\fontdimen1\font>\z@ 1\else 0\fi}% + \ifx\bxlg@fn@orig\bxlg@fn@smcp + \aftergroup\bxlg@okfalse + \else\ifnum\bxlg@sl@orig=\bxlg@sl@smcp\else + \aftergroup\bxlg@okfalse + \fi\fi + \endgroup + \bxDebug{[auto->\meaning\ifbxlg@ok]}} + +%% \bxlg@setcurfont\CS +\def\bxlg@setcurfont#1{% + \edef\bxlg@tempa{\expandafter\meaning\the\font}% + \expandafter\bxlg@setcurfont@a\bxlg@tempa\bxlg@mk#1} +\def\bxlg@setcurfont@a#1 #2 #3\bxlg@mk#4{\def#4{#3}} + +%% initial setup +\bxtexlogoSmcpAs{auto} +\bxtexlogoSmcpAsFakeFor{*/cmss/*} + +%--------------------------------------- done +\endinput |