blob: fe02d670ddcebbd7f182bad5ae7f9fb29d6e4491 (
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
|
%% cmarrows.mp
%% Copyright 2006 Tommy Ekola <tek@kth.se>
%
% This work 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. The latest version of this
% license is in http://www.latex-project.org/lppl.txt
%
% This work has the LPPL maintenance status `maintained'. The Current
% Maintainer of this work is Tommy Ekola. The Base Interpreter is
% MetaPost.
if known cmarrows_fileversion: endinput fi;
string cmarrows_fileversion;
cmarrows_fileversion := "2006/12/18, v0.9";
message "Loading cmarrows " & cmarrows_fileversion;
vardef setup_cmarrows(text argument_list) =
save sfile;
string sfile;
save arrow_name, brace_name, parameter_file, macro_name;
string arrow_name, brace_name, parameter_file, macro_name;
argument_list;
if not known arrow_name:
arrow_name := brace_name;
fi
if arrow_name="Bigbrace" : sfile = "tgbx0001.mp";
elseif arrow_name="Biggbrace" : sfile = "tgbx0002.mp";
elseif arrow_name="bigbrace" : sfile = "tgbx0003.mp";
elseif arrow_name="biggbrace" : sfile = "tgbx0004.mp";
elseif arrow_name="extensiblebrace" : sfile = "tgbx0005.mp";
elseif arrow_name="parallelarrows" : sfile = "tgbx0006.mp";
elseif arrow_name="twoheadarrow" : sfile = "tgbx0007.mp";
elseif arrow_name="twowayoldarrow" : sfile = "sgbx0008.mp";
elseif arrow_name="paralleloppositearrows": sfile = "rgbx0009.mp";
elseif arrow_name="twowayarrow" : sfile = "sgbx0010.mp";
elseif arrow_name="twowaydoublearrow" : sfile = "sgbx0011.mp";
elseif arrow_name="hookleftarrow" : sfile = "sgbx0012.mp";
elseif arrow_name="hookrightarrow" : sfile = "sgbx0013.mp";
elseif arrow_name="doublearrow" : sfile = "sgbx0014.mp";
elseif arrow_name="lefthalfarrow" : sfile = "sgbx0015.mp";
elseif arrow_name="paralleloppositerighthalfarrows": sfile = "rgbx0016.mp";
elseif arrow_name="mapstoarrow" : sfile = "sgbx0017.mp";
elseif arrow_name="oldtexarrow" : sfile = "sgbx0018.mp";
elseif arrow_name="righthalfarrow" : sfile = "sgbx0019.mp";
elseif arrow_name="paralleloppositelefthalfarrows" : sfile = "rgbx0020.mp";
elseif arrow_name="shortaxisarrow" : sfile = "sgbx0021.mp";
elseif arrow_name="texarrow" : sfile = "sgbx0022.mp";
elseif arrow_name="tailarrow" : sfile = "sgbx0023.mp";
elseif arrow_name="tripplearrow" : sfile = "sgbx0024.mp";
elseif arrow_name="paralleloppositerightarrows": sfile = "rgbx0025.mp";
elseif arrow_name="paren" : sfile = "tgbx0027.mp";
else : errmessage "unknown options";
fi
expandafter save scantokens ("setup_" & arrow_name);
scantokens ("input " & sfile);
scantokens ("setup_" & arrow_name & "(" &
ditto & parameter_file & ditto & "," &
ditto & macro_name & ditto & ");" );
enddef;
|