diff options
author | Guido van Rossum <guido@python.org> | 1993-11-05 14:45:11 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1993-11-05 14:45:11 (GMT) |
commit | 7a2dba2a00cee7e3dff61849e9111073684b6ab7 (patch) | |
tree | 0ec359ce267efc71e03a438e8dfbb7e85b9f6afb /Doc/text2latex.py | |
parent | c60041175547df61e67ff167bd5ad18f7967795d (diff) | |
download | cpython-7a2dba2a00cee7e3dff61849e9111073684b6ab7.zip cpython-7a2dba2a00cee7e3dff61849e9111073684b6ab7.tar.gz cpython-7a2dba2a00cee7e3dff61849e9111073684b6ab7.tar.bz2 |
* ext.tex: documentation for extending, reference counts, and embedding
(formerly ../misc/{EXTENDING,REFCNT,EMBEDDING}). Also affects Makefile.
* text2latex.py: script to do part of the conversion from an plain ASCI
text file (in my particular style) to LaTeX.
(Chapter/section/subsection headers, and verbatim sections.)
* partparse.py, texipre.dat, fix.el, Makefile: Minor cleanup of latex ->
info conversion process (at least it works again, and with less
debugging output). Removed fix.sh.
* lib1.tex (section{Built-in Functions}): adapt description of str() and
repr() to new situation.
* lib3.tex (Module os): added exec*() variants.
* lib3.tex (Module posix): added execve().
* lib2.tex (Module array): documented reality; remove typecode and
itemsize, add byteswap, rename read/write to fromfile/tofile, and
re-alphabetized.
* lib1.tex (Built-in Functions): renamed bagof() to filter().
Diffstat (limited to 'Doc/text2latex.py')
-rw-r--r-- | Doc/text2latex.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/Doc/text2latex.py b/Doc/text2latex.py new file mode 100644 index 0000000..3d28431 --- /dev/null +++ b/Doc/text2latex.py @@ -0,0 +1,49 @@ +import os +import sys +import regex +import string +import getopt + +def main(): + process(sys.stdin, sys.stdout) + +dashes = regex.compile('^-+[ \t]*$') +equals = regex.compile('^=+[ \t]*$') +stars = regex.compile('^\*+[ \t]*$') +blank = regex.compile('^[ \t]*$') +indented = regex.compile('^\( *\t\| \)[ \t]*[^ \t]') + +def process(fi, fo): + inverbatim = 0 + line = '\n' + nextline = fi.readline() + while nextline: + prevline = line + line = nextline + nextline = fi.readline() + fmt = None + if dashes.match(nextline) >= 0: + fmt = '\\subsection{%s}\n' + elif equals.match(nextline) >= 0: + fmt = '\\section{%s}\n' + elif stars.match(nextline) >= 0: + fmt = '\\chapter{%s}\n' + if fmt: + nextline = '\n' + line = fmt % string.strip(line) + elif inverbatim: + if blank.match(line) >= 0 and \ + indented.match(nextline) < 0: + inverbatim = 0 + fo.write('\\end{verbatim}\n') + else: + if indented.match(line) >= 0 and \ + blank.match(prevline) >= 0: + inverbatim = 1 + fo.write('\\begin{verbatim}\n') + if inverbatim: + line = string.expandtabs(line, 4) + fo.write(line) + +#main() +process(open('ext.tex', 'r'), sys.stdout) |