hgbook
view en/fblinks @ 48:e8ab09bf5d7d
Force the \grafix macro to use the PDF image
It would seem that the \includegraphics macro is moody and sometimes it
prefers the png over the pdf. This should force it to always use the right
file type.
It would seem that the \includegraphics macro is moody and sometimes it
prefers the png over the pdf. This should force it to always use the right
file type.
author | Josef "Jeff" Sipek <jeffpc@josefsipek.net> |
---|---|
date | Mon Jul 24 15:58:33 2006 -0400 (2006-07-24) |
parents | ce3339dbeb6f |
children |
line source
1 #!/usr/bin/python
3 import errno
4 import os
5 import re
6 import sys
8 hg_id = sys.argv[1]
10 dest_dir = sys.argv[2]
12 empty_re = re.compile(r'^\s*$')
13 line_re = re.compile(r'^(\w+)(.*)')
15 try:
16 os.makedirs(dest_dir)
17 except OSError, err:
18 if err.errno != errno.EEXIST:
19 raise
21 def feedback(name, text, ctx_id):
22 return r'\marginpar{\scriptsize \href{http://demesne:8000/book/feedback/submit/%s/%s/%d/}{Feedback}}' % (hg_id, name, ctx_id)
24 ctxs = {}
25 try:
26 cfp = open(os.path.join(dest_dir, 'rev-' + hg_id + '.ctx'), 'r+')
27 for line in cfp:
28 f, l, c = line.split(':', 2)
29 ctxs[(f, int(l))] = c.strip()
30 except IOError, err:
31 if err.errno != errno.ENOENT: raise
32 cfp = open(os.path.join(dest_dir, 'rev-' + hg_id + '.ctx'), 'w+')
34 changes = 0
36 for name in sys.argv[3:]:
37 if not name.endswith('.tex'):
38 continue
39 dest_name = os.path.join(dest_dir, name)
40 ifp = open(name)
41 ofp = open(dest_name, 'w')
42 new_par = True
43 line_num = 0
44 par_num = 0
45 for line in ifp:
46 line_num += 1
47 if new_par:
48 m = line_re.match(line)
49 if m:
50 par_num += 1
51 ls = line.strip()
52 if ctxs.get((name, par_num)) != ls:
53 ctxs[(name, par_num)] = ls
54 changes += 1
55 line = m.group(1) + feedback(name, line, par_num) + m.group(2)
56 new_par = False
57 elif not line.strip():
58 new_par = True
59 ofp.write(line)
61 if changes:
62 cfp.seek(0)
63 print '%s: %d changes' % (cfp.name, changes)
64 ctxs = ctxs.items()
65 ctxs.sort()
66 for ((file, line), content) in ctxs:
67 cfp.write('%s:%d: %s\n' % (file, line, content))