blob: a23e9c37fc78b09f2f501e38cff59c7dd82038cc (
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
|
%
% $Id: examargin.cls 298 2016-05-05 12:13:58Z herbert $
%
%%
%% The LaTeX Companion, 2ed
%%
%% Example ``margin lines'' class for use with the Companion examples.
%%
%% Copyright (C) 2004 Frank Mittelbach, Michel Goossens,
%% Johannes Braams, David Carlisle, and Chris Rowley
%%
%% It may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%%
%% See http://www.latex-project.org/lppl.txt for details.
%%
%
\RequirePackage{DEoptions}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions\relax
\LoadClass[twoside]{article}
\RequirePackage[T1]{fontenc}
\input{exa-fontconfig}
\let\StartShownPreambleCommands\relax
\let\StopShownPreambleCommands\relax
\let\ps@origplain\ps@plain
\let\ps@plain\ps@empty % this class doesn't produces page numbers
% since this would make examples too big
% but if necessary there is origplain
% Public version uses cmtt (ectt)
%\renewcommand{\ttdefault}{cmtt}\endinput
% Book version uses emtt, and restricts to two colors.
\DeclareFontFamily{T1}{emtt}{\hyphenchar \font\m@ne}
\DeclareFontShape{T1}{emtt}{m}{n}{
<-9> emtt8
<9-10> emtt9
<10-12> emtt10
<12-> emtt12
}{}
\DeclareFontShape{T1}{emtt}{m}{it}{
<-> emitt10
}{}
\DeclareFontShape{T1}{emtt}{m}{sl}{
<-> emsltt10
}{}
\DeclareFontShape{T1}{emtt}{m}{sc}{
<-> emtcsc10
}{}
% FAKE OT1 as it is needed in one example
\DeclareFontFamily{OT1}{emtt}{\hyphenchar \font\m@ne}
\DeclareFontShape{OT1}{emtt}{m}{n}{
<-9> emtt8
<9-10> emtt9
<10-12> emtt10
<12-> emtt12
}{}
\renewcommand{\ttdefault}{emtt}
% as the book is printed in two colors only (black and blue) we need
% to ensure that other colors are replaced by gray if necessary:
\AtBeginDocument{
\ifx\color\@undefined
\else
\definecolor{red}{gray}{.7}
\definecolor{green}{gray}{.8} % we keep green
\definecolor{yellow}{gray}{.9}
\fi
}
% for margin rules in math examples we need color to make them
% blue. So in this class color is actually always present:
\RequirePackage{color}
\newcommand \EX@rulewidth {0.25pt}
%% Keep on hacking!
\newcommand \SetupMarginLines{%
\AtBeginDocument
{\hbox\bgroup \kern-\EX@rulewidth
{\color{blue}\vrule width \EX@rulewidth}%
\vbox\bgroup}%
\AtEndDocument
{\egroup
{\color{blue}\vrule width \EX@rulewidth}%
\kern-\EX@rulewidth \egroup}%
}
\SetupMarginLines
\endinput
|