diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/jsclasses/jslogo.dtx |
Initial commit
Diffstat (limited to 'macros/latex/contrib/jsclasses/jslogo.dtx')
-rw-r--r-- | macros/latex/contrib/jsclasses/jslogo.dtx | 424 |
1 files changed, 424 insertions, 0 deletions
diff --git a/macros/latex/contrib/jsclasses/jslogo.dtx b/macros/latex/contrib/jsclasses/jslogo.dtx new file mode 100644 index 0000000000..e8350bdb61 --- /dev/null +++ b/macros/latex/contrib/jsclasses/jslogo.dtx @@ -0,0 +1,424 @@ +% ^^A -*- japanese-latex -*- +% +% \ifx\epTeXinputencoding\undefined\else +% \epTeXinputencoding utf8 % ^^A added (2017-10-04) +% \fi +% +% \iffalse meta-comment +% +%<*driver> +\ifx\epTeXinputencoding\undefined\else + \epTeXinputencoding utf8 +\fi +%</driver> +% +% LaTeX 関連のロゴ(pLaTeX2ε新ドキュメントクラス付録) +% +% Copyright 1999-2016 Haruhiko Okumura +% Copyright 2016-2019 Japanese TeX Development Community +% +% \fi +% +% \iffalse +% +% \begin{macrocode} +%<package>\NeedsTeXFormat{LaTeX2e} +%<package>\ProvidesPackage{jslogo} +%<*driver> +\ProvidesFile{jslogo.dtx} +%</driver> + [2019/07/25 okumura, texjporg] +%<*driver> +\documentclass{jsarticle} +\usepackage{doc} +\xspcode"5C=1 %% \ +\xspcode"22=1 %% " +\addtolength{\textwidth}{-1in} +\addtolength{\evensidemargin}{1in} +\addtolength{\oddsidemargin}{1in} +\addtolength{\marginparwidth}{1in} +\setlength\marginparpush{0pt} +% \OnlyDescription +\CodelineNumbered +\DisableCrossrefs +\setcounter{StandardModuleDepth}{1} +\GetFileInfo{jslogo.dtx} +\begin{document} + \DocInput{jslogo.dtx} +\end{document} +%</driver> +% \end{macrocode} +% +% \fi +% +% \title{\pLaTeXe 新ドキュメントクラス付録 ロゴパッケージ} +% \author{奥村晴彦,日本語\TeX 開発コミュニティ} +% \date{\filedate} +% \maketitle +% +% \MakeShortVerb{\|} +% +% \section{はじめに} +% +% これはもともと奥村晴彦氏による\texttt{jsclasses.dtx}で定義され +% ていた\LaTeX 関連のロゴを,独立のパッケージに抽出したものです。 +% \texttt{jsclasses}ではデフォルトで読み込まれます。 +% 現在は日本語\TeX 開発コミュニティによりGitHubで管理されています。 +% \begin{quote} +% |https://github.com/texjporg/jsclasses| +% \end{quote} +% ライセンスはmodified BSDです。 +% +% \StopEventually{} +% +% 以下では実際のコードに即して説明します。 +% +% +% \section{いろいろなロゴ} +% +% \LaTeX 関連のロゴを作り直します。 +% +% \begin{macro}{\jslg@small} +% \begin{macro}{\jslg@uppersmall} +% +% 文字を小さめに出したり上寄りに小さめに出したりする命令です。 +% +% \begin{macrocode} +\def\jslg@small#1{\hbox{$\m@th$% + \csname S@\f@size\endcsname + \fontsize\sf@size\z@ + \math@fontsfalse\selectfont + #1}} +\def\jslg@uppersmall#1{{\sbox\z@ T\vbox to\ht0{\jslg@small{#1}\vss}}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\TeX} +% \begin{macro}{\LaTeX} +% +% これらは \texttt{ltlogos.dtx} で定義されていますが, +% TimesやHelveticaでも見栄えがするように若干変更しました。 +% +% Computer Modern Romanです(ファミリ名\texttt{cmr})。 +% 元の定義に最も近いので,特別に定義しない場合に用います。 +% +% \begin{macrocode} +\def\cmrTeX{% + \ifdim \fontdimen\@ne\font >\z@ + T\kern-.25em\lower.5ex\hbox{E}\kern-.125emX\@ + \else + T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\@ + \fi} +\def\cmrLaTeX{% + \ifdim \fontdimen\@ne\font >\z@ + L\kern-.32em\jslg@uppersmall{A}\kern-.22em\cmrTeX + \else + L\kern-.36em\jslg@uppersmall{A}\kern-.15em\cmrTeX + \fi} +% \end{macrocode} +% +% Computer Modern Sans Serif(ファミリ名\texttt{cmss})や +% Helvetica(ファミリ名\texttt{phv})などのサンセリフ体です。 +% +% \begin{macrocode} +\def\sfTeX{T\kern-.1em\lower.4ex\hbox{E}\kern-.07emX\@} +\def\sfLaTeX{L\kern-.25em\jslg@uppersmall{A}\kern-.08em\sfTeX} +% \end{macrocode} +% +% Timesです(ファミリ名\texttt{ptm})。 +% TXフォント(ファミリ名\texttt{txr})でも用います。 +% +% \begin{macrocode} +\def\ptmTeX{% + \ifdim \fontdimen\@ne\font >\z@ + T\kern-.12em\lower.37ex\hbox{E}\kern-.02emX\@ + \else + T\kern-.07em\lower.37ex\hbox{E}\kern-.05emX\@ + \fi} +\def\ptmLaTeX{% + \ifdim \fontdimen\@ne\font >\z@ + L\kern-.2em\jslg@uppersmall{A}\kern-.1em\ptmTeX + \else + L\kern-.3em\jslg@uppersmall{A}\kern-.1em\ptmTeX + \fi} +% \end{macrocode} +% +% New Century Schoolbookです(ファミリ名\texttt{pnc})。 +% +% \begin{macrocode} +\def\pncTeX{% + \ifdim \fontdimen\@ne\font >\z@ + T\kern-.2em\lower.5ex\hbox{E}\kern-.08emX\@ + \else + T\kern-.13em\lower.5ex\hbox{E}\kern-.13emX\@ + \fi} +\def\pncLaTeX{% + \ifdim \fontdimen\@ne\font >\z@ + L\kern-.3em\jslg@uppersmall{A}\kern-.1em\pncTeX + \else + L\kern-.3em\jslg@uppersmall{A}\kern-.1em\pncTeX + \fi} +% \end{macrocode} +% +% Palatinoです(ファミリ名\texttt{ppl})。 +% PXフォント(ファミリ名\texttt{pxr})でも用います。 +% +% \begin{macrocode} +\def\pplTeX{% + \ifdim \fontdimen\@ne\font >\z@ + T\kern-.17em\lower.32ex\hbox{E}\kern-.15emX\@ + \else + T\kern-.12em\lower.34ex\hbox{E}\kern-.1emX\@ + \fi} +\def\pplLaTeX{% + \ifdim \fontdimen\@ne\font >\z@ + L\kern-.27em\jslg@uppersmall{A}\kern-.12em\pplTeX + \else + L\kern-.3em\jslg@uppersmall{A}\kern-.15em\pplTeX + \fi} +% \end{macrocode} +% +% URW Garamondです(ファミリ名\texttt{ugm})。 +% +% \begin{macrocode} +\def\ugmTeX{% + \ifdim \fontdimen\@ne\font >\z@ + T\kern-.1em\lower.32ex\hbox{E}\kern-.06emX\@ + \else + T\kern-.12em\lower.34ex\hbox{E}\kern-.1emX\@ + \fi} +\def\ugmLaTeX{% + \ifdim \fontdimen\@ne\font >\z@ + L\kern-.2em\jslg@uppersmall{A}\kern-.13em\ugmTeX + \else + L\kern-.3em\jslg@uppersmall{A}\kern-.13em\ugmTeX + \fi} +% \end{macrocode} +% +% 以上の定義を,ファミリによって使い分けます。 +% +% [2003-06-12] Palatinoも加えました(要調整)。 +% +% \begin{macrocode} +\DeclareRobustCommand{\TeX}{% + \def\@tempa{cmss}% + \ifx\f@family\@tempa\sfTeX + \else + \def\@tempa{phv}% + \ifx\f@family\@tempa\sfTeX + \else + \def\@tempa{qhv}% + \ifx\f@family\@tempa\sfTeX + \else + \def\@tempa{ptm}% + \ifx\f@family\@tempa\ptmTeX + \else + \def\@tempa{qtm}% + \ifx\f@family\@tempa\ptmTeX + \else + \def\@tempa{txr}% + \ifx\f@family\@tempa\ptmTeX + \else + \def\@tempa{ntxtlf}% + \ifx\f@family\@tempa\ptmTeX + \else + \def\@tempa{pnc}% + \ifx\f@family\@tempa\pncTeX + \else + \def\@tempa{ppl}% + \ifx\f@family\@tempa\pplTeX + \else + \def\@tempa{qpl}% + \ifx\f@family\@tempa\pplTeX + \else + \def\@tempa{pplx}% + \ifx\f@family\@tempa\pplTeX + \else + \def\@tempa{pplj}% + \ifx\f@family\@tempa\pplTeX + \else + \def\@tempa{pxr}% + \ifx\f@family\@tempa\pplTeX + \else + \def\@tempa{zpltlf}% + \ifx\f@family\@tempa\pplTeX + \else + \def\@tempa{ugm}% + \ifx\f@family\@tempa\ugmTeX + \else\cmrTeX + \fi + \fi\fi + \fi\fi\fi\fi + \fi + \fi\fi + \fi\fi + \fi\fi\fi} +\DeclareRobustCommand{\LaTeX}{% + \def\@tempa{cmss}% + \ifx\f@family\@tempa\sfLaTeX + \else + \def\@tempa{phv}% + \ifx\f@family\@tempa\sfLaTeX + \else + \def\@tempa{qhv}% + \ifx\f@family\@tempa\sfLaTeX + \else + \def\@tempa{ptm}% + \ifx\f@family\@tempa\ptmLaTeX + \else + \def\@tempa{qtm}% + \ifx\f@family\@tempa\ptmLaTeX + \else + \def\@tempa{txr}% + \ifx\f@family\@tempa\ptmLaTeX + \else + \def\@tempa{ntxtlf}% + \ifx\f@family\@tempa\ptmLaTeX + \else + \def\@tempa{pnc}% + \ifx\f@family\@tempa\pncLaTeX + \else + \def\@tempa{ppl}% + \ifx\f@family\@tempa\pplLaTeX + \else + \def\@tempa{qpl}% + \ifx\f@family\@tempa\pplLaTeX + \else + \def\@tempa{pplx}% + \ifx\f@family\@tempa\pplLaTeX + \else + \def\@tempa{pplj}% + \ifx\f@family\@tempa\pplLaTeX + \else + \def\@tempa{pxr}% + \ifx\f@family\@tempa\pplLaTeX + \else + \def\@tempa{zpltlf}% + \ifx\f@family\@tempa\pplLaTeX + \else + \def\@tempa{ugm}% + \ifx\f@family\@tempa\ugmLaTeX + \else\cmrLaTeX + \fi + \fi\fi + \fi\fi\fi\fi + \fi + \fi\fi + \fi\fi + \fi\fi\fi} +% \end{macrocode} +% +% \end{macro} +% \end{macro} +% +% \begin{macro}{\LaTeXe} +% +% |\LaTeXe| コマンドの |\mbox{\m@th ...| で始まる新しい定義では +% 直後の和文との間に |\xkanjiskip| が入りません。また, +% |mathptmx| パッケージなどと併用すると,最後の $\varepsilon$ が +% 下がりすぎてしまいます。そのため,ちょっと手を加えました。 +% +% \begin{macrocode} +\DeclareRobustCommand{\LaTeXe}{$\mbox{% + \if b\expandafter\@car\f@series\@nil\boldmath\fi + \LaTeX\kern.15em2\raisebox{-.37ex}{$\textstyle\varepsilon$}}$} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\pTeX} +% \begin{macro}{\pLaTeX} +% \begin{macro}{\pLaTeXe} +% +% \pTeX ,\pLaTeXe のロゴを出す命令です。 +% +% \begin{macrocode} +\def\pTeX{p\kern-.05em\TeX} +\def\pLaTeX{p\LaTeX} +\def\pLaTeXe{p\LaTeXe} +% \end{macrocode} +% +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\upTeX} +% \begin{macro}{\upLaTeX} +% \begin{macro}{\upLaTeXe} +% +% [2016-07-14] \upTeX ,\upLaTeXe のロゴを出す命令も定義します。 +% +% \begin{macrocode} +\def\upTeX{u\pTeX} +\def\upLaTeX{u\pLaTeX} +\def\upLaTeXe{u\pLaTeXe} +% \end{macrocode} +% +% \end{macro} +% \end{macro} +% \end{macro} +% +% \begin{macro}{\AmSTeX} +% +% \texttt{amstex.sty} で定義されています。 +% +% \begin{macrocode} +\def\AmSTeX{\protect\AmS-\protect\TeX{}} +% \end{macrocode} +% +% \end{macro} +% +% \begin{macro}{\BibTeX} +% \begin{macro}{\SliTeX} +% +% これらは \texttt{doc.dtx} から取ったものです。 +% ただし,|\BibTeX| だけはちょっと修正しました。 +% +% \begin{macrocode} +% \@ifundefined{BibTeX} +% {\def\BibTeX{{\rmfamily B\kern-.05em% +% \textsc{i\kern-.025em b}\kern-.08em% +% T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}}{} +\DeclareRobustCommand{\BibTeX}{% + B\kern-.05em\jslg@small{I\kern-.025em B}\kern-.15em\TeX} +\DeclareRobustCommand{\SliTeX}{% + S\kern-.06emL\kern-.18em\jslg@uppersmall{I}\kern -.03em\TeX} +% \end{macrocode} +% \end{macro} +% \end{macro} +% +% +% \section{PDF文字列中でロゴが使われた場合への対策} +% +% 以上でロゴの定義は終わりですが,|hyperref|を読み込んだ状態で |jslogo| の命令を +% PDF文字列として解釈される箇所(例 |\section| など)で使うと警告が出てしまいます。 +%\begin{verbatim} +% Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding): +% (hyperref) \kern -0.50003pt +% (hyperref) removed on input line 5. +%\end{verbatim} +% そこで,この警告が出ないように対策します(Issue \#51)。 +% +% まず,|\pdfstringdefPreHook| を(なければ)用意します。 +% \begin{macrocode} +\providecommand*\pdfstringdefPreHook{} +% \end{macrocode} +% +% そして,警告が出てしまうロゴに対するPDF文字列中での定義を追加します。 +% \begin{macrocode} +\g@addto@macro\pdfstringdefPreHook{% + \def\pTeX{p\TeX}% + \def\AmS{AMS}% + \def\SliTeX{Sli\TeX}% + \def\BibTeX{Bib\TeX}% +} +% \end{macrocode} +% +% |hyperref| 読込時に |\pdfstringdefPreHook| が定義済ならそれはそのまま保持され, +% 警告が出なくなります。 +% +% 以上です。 +% +% \Finale +% +\endinput |