summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/bosisio/dblfont.dtx
blob: 0598e5b3ef785f975867880d2cfb0b4bde0f0517 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
%\iffalse % MetaComment
%%
%% + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
%% |            Copyright(C) 1997-2010 by F. Bosisio             |
%% |                                                             |
%% | This program can be redistributed and/or modified under	 |
%% | the terms of the LaTeX Project Public License, either       |
%% | version 1.3 of this license or (at your option) any later   |
%% | version. The latest version of this license is in           |
%% |   http://www.latex-project.org/lppl.txt                     |
%% | and version 1.3 or later is part of all LaTeX distributions |
%% | version 2005/12/01 or later.                                |
%% |                                                             |
%% | This work has the LPPL maintenance status `maintained'.     |
%% | The Current Maintainer of this work is F. Bosisio.          |
%% |                                                             |
%% | This work consists of files dblfont.dtx and dblfont.html    |
%% | and of the derived files dblfont.sty and dblfont.pdf.       |
%% |                                                             |
%% | E-mail:   fbosisio@bigfoot.com                              |
%% | CTAN location: macros/latex/contrib/bosisio/                |
%% + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
%%
%%	If you make any improvment, find any bug or have
%%	any suggestion, please let me know about it.
%%
%<*package,driver>
%\fi
%
\def\FileName{dblfont}
%\iffalse % MetaComment
%</package,driver>
%<*package>
%\fi
\def\fileversion{2.2}
\def\filedate{1997/12/13}
\def\docdate{2005/04/09}
\def\filedescr{Blackboard-bold symbols (FB)}
%
%\iffalse % MetaComment
%</package>
%<*dtx>
%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%		This section is the installation driver
%
\def\batchfile{\FileName.dtx}
%
\input docstrip
%
\keepsilent
% \askforoverwritefalse
%
\generateFile{\FileName.sty}{f}{\from{\FileName.dtx}{package}}
%
\generateFile{\FileName.drv}{f}{\from{\FileName.dtx}{driver}}
%
\Msg{******************************************************}
\Msg{*}
\Msg{* To produce the documentation run the}
\Msg{* file `\FileName.drv' through LaTeX.}
\Msg{*}
\Msg{******************************************************}
%
\endbatchfile
%
%		End of the installation driver
%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%</dtx>
%
%		This section is the documentation driver
%
%<+driver>\documentclass[12pt,a4paper]{ltxdoc}
%<+driver>  \EnableCrossrefs
%<+driver>  \CodelineIndex
%<+driver>  \RecordChanges
%<+driver>  %\OnlyDescription   % Uncomment not to see the implementation
%<+driver>\begin{document}
%<+driver>  \DocInput{\FileName.dtx}
%<+driver>  \PrintIndex
%<+driver>  \PrintChanges
%<+driver>\end{document}
%
%		End of the documentation driver
%- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%<*package>
%\fi
%
% \changes{v0.1}{1 November 1997}{First release}
% \changes{v1.0}{7 November 1997}{Documentation added}
% \changes{v1.1}{17 November 1997}{Added options in ``XX'' format}
% \changes{v2.0}{13 December 1997}{Used ``newcommand*'' instead of ``def''}
% \changes{v2.1}{5 March 1999}{Added copyright notice and changed addresses}
% \changes{v2.2}{9 April 2005}{Usage of the double-quote character (") avoided}
%
% \MakeShortVerb{\|}
%
% \title{Package \texttt{\FileName}\thanks{This is version \fileversion,
% last revised \filedate; documentation date \docdate}}
% \author{F. Bosisio\\\normalsize E-mail: \texttt{fbosisio@bigfoot.com}}
% \date{\filedate}
% \maketitle
%
% \begin{abstract}
%	Documentation for the package \texttt{\FileName}.
% \end{abstract}
%
% \section{Introduction}
%	This package provides the font ``|\DblFont|'' (font |msbm10|), which
%	corresponds to the so called blackdoard-bold symbols.
%
% \section{The options}
%	For each uppercase letter ``|X|'' a corresponding ``|X|'' and ``|XX|''
%	options exist: they declare the commands ``|\X|'' and ``|\XX|'' which
%	both generate the letter |X| in |DblFont|.
%	If a command named ``|\X|'' or ``|\XX|'' already exists in \LaTeX{},
%	its definition is first saved in ``|\BackDoubleX|'' or
%       ``|\BackDoubleXX|'', respectively.
%
%	\noindent
%	Also a ``|RT|'' option exists: it declares the ``|\RT|'' command,
%	which generates the two letters |RT| in |DblFont| (used for the
%	Raviart-Thomas spaces).
%
% \StopEventually{}
% \newpage
% \section{Implementation}
%
%    \begin{macrocode}
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{\FileName}[\filedate\space v\fileversion\space\filedescr]
%    \end{macrocode}
%
%    The font ``|\DblFont|'' is loaded, if not already done.
%    \begin{macrocode}
%%
\newfont{\DblFont}{msbm10 scaled \magstep1}
%    \end{macrocode}
%
%    The  ``|\DeclareDblFontSymbol|'' has one argument which is used
%    both as the command name to define and as the output it should
%    generate (in |\DblFont|).
%    The ``|\csname #1 \endcsname|'' sequence adds a backslash in front
%    of the argument, to get the command name.
%    \begin{macrocode}
%%
\newcommand*\DeclareDblFontSymbol[1]{%
\expandafter\newcommand*\csname #1\endcsname{\ensuremath{\mathbb{#1}}}%
}
%    \end{macrocode}
%    The  ``|\dECL@REdBLfONTsYMBOL|'' has one argument which is used
%    both as the command name to define (doubled) and as the output
%    it should generate (in |\DblFont|).
%    The ``|\csname #1#1 \endcsname|'' sequence adds a backslash in front
%    of the argument and doubles it, to get the command name.
%    \begin{macrocode}
\newcommand*\dECL@REdBLfONTsYMBOL[1]{%
\expandafter\newcommand*\csname #1#1\endcsname{\ensuremath{\mathbb{#1}}}%
}
%    \end{macrocode}
%
%    The command ``|\BackUpL@texCmd{<X>}|'' saves the command ``|\<X>|'' in
%    the macro ``|\BackDouble<X>|'' and then undefines ``|\<X>|'', so that a
%    ``|\newcommand*\<X>{..}|'' can be used to redefine it.
%    \begin{macrocode}
%%
\newcommand*\BackUpL@texCmd[1]{%
\expandafter\let\csname BackDouble#1\endcsname=\csname #1\endcsname%
\expandafter\let\csname #1\endcsname\undefined%
\typeout{*** Command name ``#1'' has been replaced by ``BackDouble#1''! ***}%
}
%    \end{macrocode}
%
%    An option exists for each uppercase letter: it declares the
%    command ``|\X|'' which generates the letter |X| in |DblFont|,
%    where |X| denotes the letter under consideration.
%    If a command named ``|\X|'' already exists in \LaTeX{}, its definition
%    is saved in ``|\BackDoubleX|'', before being redefined.
%    \begin{macrocode}
%%
\DeclareOption{A}{\DeclareDblFontSymbol{A}}
\DeclareOption{B}{\DeclareDblFontSymbol{B}}
\DeclareOption{C}{\DeclareDblFontSymbol{C}}
\DeclareOption{D}{\DeclareDblFontSymbol{D}}
\DeclareOption{E}{\DeclareDblFontSymbol{E}}
\DeclareOption{F}{\DeclareDblFontSymbol{F}}
\DeclareOption{G}{\DeclareDblFontSymbol{G}}
\DeclareOption{H}{\BackUpL@texCmd{H} \DeclareDblFontSymbol{H}}
\DeclareOption{I}{\DeclareDblFontSymbol{I}}
\DeclareOption{J}{\DeclareDblFontSymbol{J}}
\DeclareOption{K}{\DeclareDblFontSymbol{K}}
\DeclareOption{L}{\BackUpL@texCmd{L} \DeclareDblFontSymbol{L}}
\DeclareOption{M}{\DeclareDblFontSymbol{M}}
\DeclareOption{N}{\DeclareDblFontSymbol{N}}
\DeclareOption{O}{\BackUpL@texCmd{O} \DeclareDblFontSymbol{O}}
\DeclareOption{P}{\BackUpL@texCmd{P} \DeclareDblFontSymbol{P}}
\DeclareOption{Q}{\DeclareDblFontSymbol{Q}}
\DeclareOption{R}{\DeclareDblFontSymbol{R}}
\DeclareOption{S}{\BackUpL@texCmd{S} \DeclareDblFontSymbol{S}}
\DeclareOption{T}{\DeclareDblFontSymbol{T}}
\DeclareOption{U}{\DeclareDblFontSymbol{U}}
\DeclareOption{V}{\DeclareDblFontSymbol{V}}
\DeclareOption{W}{\DeclareDblFontSymbol{W}}
\DeclareOption{X}{\DeclareDblFontSymbol{X}}
\DeclareOption{Y}{\DeclareDblFontSymbol{Y}}
\DeclareOption{Z}{\DeclareDblFontSymbol{Z}}
%    \end{macrocode}
%
%    An option ``|XX|'' exists for each uppercase letter ``|X|'': it declares
%    the command ``|\XX|'' which generates the letter |X| in |DblFont|.
%    If a command named ``|\XX|'' already exists in \LaTeX{}, its
%    definition is saved in ``|\BackDoubleXX|'', before being redefined.
%    \begin{macrocode}
%%
\DeclareOption{AA}{\dECL@REdBLfONTsYMBOL{A}}
\DeclareOption{BB}{\dECL@REdBLfONTsYMBOL{B}}
\DeclareOption{CC}{\dECL@REdBLfONTsYMBOL{C}}
\DeclareOption{DD}{\dECL@REdBLfONTsYMBOL{D}}
\DeclareOption{EE}{\dECL@REdBLfONTsYMBOL{E}}
\DeclareOption{FF}{\dECL@REdBLfONTsYMBOL{F}}
\DeclareOption{GG}{\dECL@REdBLfONTsYMBOL{G}}
\DeclareOption{HH}{\dECL@REdBLfONTsYMBOL{H}}
\DeclareOption{II}{\dECL@REdBLfONTsYMBOL{I}}
\DeclareOption{JJ}{\dECL@REdBLfONTsYMBOL{J}}
\DeclareOption{KK}{\dECL@REdBLfONTsYMBOL{K}}
\DeclareOption{LL}{\dECL@REdBLfONTsYMBOL{L}}
\DeclareOption{MM}{\dECL@REdBLfONTsYMBOL{M}}
\DeclareOption{NN}{\dECL@REdBLfONTsYMBOL{N}}
\DeclareOption{OO}{\dECL@REdBLfONTsYMBOL{O}}
\DeclareOption{PP}{\dECL@REdBLfONTsYMBOL{P}}
\DeclareOption{QQ}{\dECL@REdBLfONTsYMBOL{Q}}
\DeclareOption{RR}{\dECL@REdBLfONTsYMBOL{R}}
\DeclareOption{SS}{\BackUpL@texCmd{SS} \dECL@REdBLfONTsYMBOL{S}}
\DeclareOption{TT}{\dECL@REdBLfONTsYMBOL{T}}
\DeclareOption{UU}{\dECL@REdBLfONTsYMBOL{U}}
\DeclareOption{VV}{\dECL@REdBLfONTsYMBOL{V}}
\DeclareOption{WW}{\dECL@REdBLfONTsYMBOL{W}}
\DeclareOption{XX}{\dECL@REdBLfONTsYMBOL{X}}
\DeclareOption{YY}{\dECL@REdBLfONTsYMBOL{Y}}
\DeclareOption{ZZ}{\dECL@REdBLfONTsYMBOL{Z}}
%    \end{macrocode}
%
%    A further option is for Raviart-Thomas spaces: it declares the
%    command ``|\RT|'' which generates the two letters |RT| in |DblFont|
%    \begin{macrocode}
%
\DeclareOption{RT}{\DeclareDblFontSymbol{RT}}
%    \end{macrocode}
%
%    Finally, the user option are parsed, thereby defining the
%    corresponding commands.
%    \begin{macrocode}
%
\ProcessOptions
%    \end{macrocode}
%
%\iffalse % MetaComment
%<*package>
%\fi
%
% \CheckSum{154}
% \Finale
%
\endinput