annotate paper/escape_agda.rb @ 69:bda11534296f

Update pdf
author atton <atton@cr.ie.u-ryukyu.ac.jp>
date Sat, 04 Feb 2017 16:34:14 +0900
parents 40ae32725e55
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
51
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #!/usr/bin/env ruby
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 Suffix = '.agda.replaced'
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 EscapeChar = '@'
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 FileName = ARGV.first
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 ReplaceTable = {
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 '->' => 'rightarrow',
59
5450e7ae5fa5 Mini fixes
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 52
diff changeset
9 '⊔' => 'sqcup',
52
fb42478e4c96 Writing agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 51
diff changeset
10 '∷' => 'text{::}',
51
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 '∙' => 'circ',
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 '≡' => 'equiv',
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 '×' => 'times',
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 '⟨' => 'langle',
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 '⟩' => 'rangle',
66
40ae32725e55 Add push/pop description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
16 '₁' => 'text{1}',
40ae32725e55 Add push/pop description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
17 'ℕ' => 'mathbb{N}',
51
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 '∎' => 'blacksquare'
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 }
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 code = File.read(FileName)
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 ReplaceTable.each do |k, v|
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 escaped_str = EscapeChar + "$\\#{v}$" + EscapeChar
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 code = code.gsub(k, escaped_str)
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 end
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
6318c8f4bb8c Writing Agda description
atton <atton@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 File.write(FileName.sub(/.agda$/, Suffix), code)