summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1995-03-17 16:03:11 (GMT)
committerGuido van Rossum <guido@python.org>1995-03-17 16:03:11 (GMT)
commit7760cdea81166b7741561043c58dae171811fb2f (patch)
treeb19c5d20bafa1e000a49259c1f09493bfe827038
parente83e380930aaa7c258e1b31d65bff25bac1d0178 (diff)
downloadcpython-7760cdea81166b7741561043c58dae171811fb2f.zip
cpython-7760cdea81166b7741561043c58dae171811fb2f.tar.gz
cpython-7760cdea81166b7741561043c58dae171811fb2f.tar.bz2
recognize more latex commands; add obindex
-rw-r--r--Doc/partparse.py26
-rw-r--r--Doc/tools/partparse.py26
2 files changed, 44 insertions, 8 deletions
diff --git a/Doc/partparse.py b/Doc/partparse.py
index 3c1c046..6d43984 100644
--- a/Doc/partparse.py
+++ b/Doc/partparse.py
@@ -857,9 +857,9 @@ class Wobj:
# ignore these commands
ignoredcommands = ('bcode', 'ecode')
# map commands like these to themselves as plaintext
-wordsselves = ('UNIX', 'ABC', 'C', 'ASCII', 'EOF')
+wordsselves = ('UNIX', 'ABC', 'C', 'ASCII', 'EOF', 'LaTeX')
# \{ --> {, \} --> }, etc
-themselves = ('{', '}', '.', '@') + wordsselves
+themselves = ('{', '}', '.', '@', ' ', '\n') + wordsselves
# these ones also themselves (see argargs macro in myformat.sty)
inargsselves = (',', '[', ']', '(', ')')
# this is how *I* would show the difference between emph and strong
@@ -871,8 +871,8 @@ markcmds = {'code': ('', ''), 'var': 1, 'emph': ('_', '_'), \
fontchanges = {'rm': 'r', 'it': 'i', 'em': 'emph', 'bf': 'b', 'tt': 't'}
# transparent for these commands
-for_texi = ('emph', 'var', 'strong', 'code', 'kbd', 'key', 'dfn', 'samp', \
- 'r', 'i', 't')
+for_texi = ('emph', 'var', 'strong', 'code', 'kbd', 'key', 'dfn', 'samp',
+ 'file', 'r', 'i', 't')
# try to remove macros and return flat text
@@ -1759,6 +1759,24 @@ def changeit(buf, pp):
length, i = length+1, i+1
+ elif s(buf, ch.data) == 'obindex':
+ ch.chtype = chunk_type(CSLINE)
+ ch.data = 'findex'
+ length, newi = getnextarg(length, buf, pp, i)
+ ingroupch = pp[i:newi]
+ del pp[i:newi]
+ length = length - (newi-i)
+
+ ingroupch.append(chunk(PLAIN, ch.where, ' '))
+ ingroupch.append(chunk(CSNAME, ch.where, 'r'))
+ ingroupch.append(chunk(GROUP, ch.where, [\
+ chunk(PLAIN, ch.where, \
+ '(object)')]))
+
+ pp.insert(i, chunk(GROUP, ch.where, ingroupch))
+ length, i = length+1, i+1
+
+
elif s(buf, ch.data) == 'opindex':
ch.chtype = chunk_type(CSLINE)
ch.data = 'findex'
diff --git a/Doc/tools/partparse.py b/Doc/tools/partparse.py
index 3c1c046..6d43984 100644
--- a/Doc/tools/partparse.py
+++ b/Doc/tools/partparse.py
@@ -857,9 +857,9 @@ class Wobj:
# ignore these commands
ignoredcommands = ('bcode', 'ecode')
# map commands like these to themselves as plaintext
-wordsselves = ('UNIX', 'ABC', 'C', 'ASCII', 'EOF')
+wordsselves = ('UNIX', 'ABC', 'C', 'ASCII', 'EOF', 'LaTeX')
# \{ --> {, \} --> }, etc
-themselves = ('{', '}', '.', '@') + wordsselves
+themselves = ('{', '}', '.', '@', ' ', '\n') + wordsselves
# these ones also themselves (see argargs macro in myformat.sty)
inargsselves = (',', '[', ']', '(', ')')
# this is how *I* would show the difference between emph and strong
@@ -871,8 +871,8 @@ markcmds = {'code': ('', ''), 'var': 1, 'emph': ('_', '_'), \
fontchanges = {'rm': 'r', 'it': 'i', 'em': 'emph', 'bf': 'b', 'tt': 't'}
# transparent for these commands
-for_texi = ('emph', 'var', 'strong', 'code', 'kbd', 'key', 'dfn', 'samp', \
- 'r', 'i', 't')
+for_texi = ('emph', 'var', 'strong', 'code', 'kbd', 'key', 'dfn', 'samp',
+ 'file', 'r', 'i', 't')
# try to remove macros and return flat text
@@ -1759,6 +1759,24 @@ def changeit(buf, pp):
length, i = length+1, i+1
+ elif s(buf, ch.data) == 'obindex':
+ ch.chtype = chunk_type(CSLINE)
+ ch.data = 'findex'
+ length, newi = getnextarg(length, buf, pp, i)
+ ingroupch = pp[i:newi]
+ del pp[i:newi]
+ length = length - (newi-i)
+
+ ingroupch.append(chunk(PLAIN, ch.where, ' '))
+ ingroupch.append(chunk(CSNAME, ch.where, 'r'))
+ ingroupch.append(chunk(GROUP, ch.where, [\
+ chunk(PLAIN, ch.where, \
+ '(object)')]))
+
+ pp.insert(i, chunk(GROUP, ch.where, ingroupch))
+ length, i = length+1, i+1
+
+
elif s(buf, ch.data) == 'opindex':
ch.chtype = chunk_type(CSLINE)
ch.data = 'findex'