blob: 8614ae8e82736ccb2d701182e6745384b91fd4e1 (
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
|
%%
%% This is file `optics.def',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% circ.dtx (with options: `optics')
%% CIRC is a LaTeX package to typeset circuit and optics diagrams.
%% Copyright (C) 1997,1998,2003 Sebastian Tannert and Andreas Tille
%%
%% This program is free software; you can redistribute it and/or modify
%% it under the terms of the GNU General Public License as published by
%% the Free Software Foundation; either version 2 of the License, or
%% (at your option) any later version.
%%
%% This program is distributed in the hope that it will be useful,
%% but WITHOUT ANY WARRANTY; without even the implied warranty of
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
%% GNU General Public License for more details.
%%
%% You should have received a copy of the GNU General Public License
%% along with this program; if not, write to the Free Software
%% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
%%
%% For error reports concerning UNCHANGED versions of this file no
%% more than one year old, see CIRC.DVI after installation.
%% If installation fails search thru this file for 'bug'.
\ProvidesFile{optics.def}
\freecirc
\safedef{Dtext}#1 from #2 to #3 {{
\frompin{#2} \save*XY\frompin{#3} \diff*XY
\ifdim\**X=0pt
\dimen0\**Y
\ifdim\**Y<0pt\dimen0-\dimen0\fi
\c*fnts\setbox0=\hbox{\char9}\setbox1=\hbox{\char11}%
\c*fnt\setbox2=\hbox{\char132}\dp1=0pt
\advance\dimen0-\ht0\calc*u
\setbox\*bbox=
\vtop{\box1\loop\ifnum\cntb*>0\copy2
\advance\cntb*-1\repeat\box0}%
\put*box\advance\*X*\*spc\advance\*Y*.5\**Y\put\vc*{\hbox{#1}}
\else
\ifdim\**Y=0pt
\advance\*X*\**X
\dimen0\**X
\ifdim\**X<0pt\dimen0-\dimen0\fi
\c*fnts\setbox0=\hbox{\char8}\setbox1=\hbox{\char10}%
\c*fnt\advance\dimen0-\wd0\calc*u
\setbox\*bbox=\hbox{\box0\loop\ifnum\cntb*>0\advance\cntb*-1
\char129\repeat\box1}%
\put*box\advance\*X*-.5\**X\advance\*Y*\*spc\put\hc*{#1}
\else\errhelp{Only horizontal or vertical labeling allowed.}%
\errmessage{Bad points!}\fi\fi}}
\addCIRCfont cioptic
\cwdef oa {128\CIRCcioptic}
\cdef SLens L \CIRCcioptic 0
\cdefiv HSLens L \CIRCcioptic 2 | )
\cdef BLens L \CIRCcioptic 6
\cdefiv HBLens L \CIRCcioptic 8 | )
\cdef VLens L \CIRCcioptic 12
\cdefiv HVLens L \CIRCcioptic 14 | (
\cdefviii Mirror M \CIRCcioptic 85 * . +
\cdefviii BSplit BS \CIRCcioptic 36 * . +
\cdef Polar P \CIRCcioptic 44
\cdef Pinhole {} \CIRCcioptic 46
\cdefiv Cam {} \CIRCcioptic 66 . |
\cdef ScrL {} \CIRCcioptic 72
\cdef ScrR {} \CIRCcioptic 74
\cdef ScrBL {} \CIRCcioptic 76
\cdef ScrBR {} \CIRCcioptic 78
\cdef ScrTL {} \CIRCcioptic 80
\cdef ScrTR {} \CIRCcioptic 82
\cdef Laser {} \CIRCcioptic 160
\cdef PM {} \CIRCcioptic 162
\bbdefNeTii OM \CIRCcioptic 164 {}
\protectcirc
\endinput
%%
%% End of file `optics.def'.
|