%% This is part of the OpTeX project, see http://petr.olsak.net/optex \_codedecl \TeX {Logos TeX, LuaTeX, etc. <2020-02-28>} % preloaded in format \_doc ---------------------------- Despite plain \TeX/ each macro for logos ends by \`\ignoreslash`. This macro ignores the next slash if it is present. You can `use \TeX/ like this` for protecting the space following the logo. This is visually more comfortable. The macros \`\TeX`, \`\OpTeX`, \`\LuaTeX`, \`\XeTeX` are defined. \_cod ---------------------------- \_protected\_def \_TeX {T\_kern-.1667em\_lower.5ex\_hbox{E}\_kern-.125emX\_ignoreslash} \_protected\_def \_OpTeX {Op\_kern-.1em\_TeX} \_protected\_def \_LuaTeX {Lua\_TeX} \_protected\_def \_XeTeX {X\_kern-.125em\_phantom E% \_pdfsave\_rlap{\_pdfscale{-1}{1}\_lower.5ex\_hbox{E}}\_pdfrestore \_kern-.1667em \_TeX} \_def\_ignoreslash {\_isnextchar/\_ignoreit{}} \_public \TeX \OpTeX \LuaTeX \XeTeX \ignoreslash ; \_doc ----------------------------- The \`\_slantcorr` macro expands to the slant-correction of the current font. It is used to shifting A if the \`\LaTeX` logo is in italic. \_cod ----------------------------- \_protected\_def \_LaTeX{\_tmpdim=.42ex L\_kern-.36em \_kern \_slantcorr % slant correction \_raise \_tmpdim \_hbox{\_thefontscale[710]A}% \_kern-.15em \_kern-\_slantcorr \_TeX} \_def\_slantcorr{\_ea\_ignorept \_the\_fontdimen1\_font\_tmpdim} \_public \LaTeX ; \_doc ----------------------------- \`\OPmac`, \`\CS` and \`\csplain` logos. \_cod ----------------------------- \_def\_OPmac{\_leavevmode \_lower.2ex\_hbox{\_thefontscale[1400]O}\_kern-.86em P{\_em mac}\_ignoreslash} \_def\_CS{$\_cal C$\_kern-.1667em\_lower.5ex\_hbox{$\_cal S$}\_ignoreslash} \_def\_csplain{\_CS plain\_ignoreslash} \_public \OPmac \CS \csplain ; \_doc ---------------------------- The expandable versions of logos used in Outlines need the expandable \`\ingnslash` (instead of the \^`\ignoreslash`). \_cod \_fin ---------------------- \_def\_ignslash#1{\_ifx/#1\_else #1\_fi} \_regmacro {}{}{% conversion for PDF outlines \_def\TeX{TeX\_ignslash}\_def\OpTeX{OpTeX\_ignslash}% \_def\LuaTeX{LuaTeX\_ignslash}\_def\XeTeX{XeTeX\_ignslash}% \_def\LaTeX{LaTeX\_ignslash}\_def\OPmac{OPmac\_ignslash}% \_def\CS{CS}\_def\csplain{csplain\_ignslash}% } \_public \ignslash ; \_endcode