Commit Graph

116 Commits

Author SHA1 Message Date
Fred Drake dde993c15d Simplification to mirror a better conversion specification and more
powerful latex2esis.py.
2001-07-06 21:03:30 +00:00
Fred Drake b5fc0ab099 Allow optional arguments to LaTeX macros to span lines. This is legal in
LaTeX and we have at least one occurance of that in the content, so this
script needs to support it as well.
2001-07-06 21:01:19 +00:00
Fred Drake e99b97e58a encode(): Handle Latin-1 input characters better. 2001-04-21 06:01:53 +00:00
Fred Drake bda05564de Add support for <memberline/> (needs markup improvement!).
Update <versionadded/> to recent addition of optional explanatory text;
make the explanation text take the same attribute name for both
<versionadded/> and <versionchanged/>.
2001-04-21 06:00:51 +00:00
Fred Drake 20931fb3f4 Update the XML conversion specification. 2001-04-10 19:59:31 +00:00
Fred Drake c81d470648 Allow the <author/> element to appear before a paragraph without being
made a part of the paragraph.
2001-03-29 23:31:22 +00:00
Fred Drake 7190247e0b Remove the annoying __version__ definitions. 2001-03-23 17:09:02 +00:00
Fred Drake 3e8f921fb9 Lots of small changes to make this work with the Python DOM bindings
(minidom in particular); it was using PyDOM which is now obsolete.

Only write the output file on success -- this avoids updating the timestamp
on the file on failure, which confuses "make".
2001-03-23 17:01:47 +00:00
Fred Drake 2262a80fb3 Pick up the "encode" function from esistools instead of defining our own
(broken) version.

Remove Conversion.err_write() -- use dbgmsg() consistently.
2001-03-23 16:53:34 +00:00
Fred Drake f6c115ff2f Re-write to no longer depend on an old version of PyXML. This now
implements a SAX XMLReader interface instead of the old Builder interface
used with PyDOM (now obsolete).

This only depends on the standard library, not PyXML.
2001-03-23 16:42:08 +00:00
Fred Drake a4699a71b8 Pick the "escape" function from the standard library instead of from PyXML. 2001-03-23 16:38:12 +00:00
Fred Drake ce19496ec1 Add conversions for more of the markup -- not all of this was around when
this file was written!
2001-03-23 16:29:06 +00:00
Fred Drake fed0d09075 Conversion.write_ordinal(): Not used, remove it. 2000-11-22 17:59:32 +00:00
Fred Drake 691a5a7c09 Convert the LaTeX "tie" (~) to a simple space.
Add support for some combining characters.

Remove unnecessary imports and dependencies on PyXML and esistools.
2000-11-22 17:56:43 +00:00
Fred Drake 382a75d0e9 Update to reflect the process changes.
Remove the SGML aspects; there's too much XML momentum to worry about
the SGML flavor at this point.
2000-11-22 16:58:25 +00:00
Fred Drake 97be740cd8 Update the rules to separate the two phases for the ESIS generation,
entirely so that debugging can be performed independently.
2000-11-22 16:54:20 +00:00
Fred Drake d397f236d5 Add support for (relatively) recent additions and changes to python.sty,
and one more standard LaTeX macro.
2000-11-22 16:45:19 +00:00
Fred Drake 2ed27d3189 Note that readframes() returns data in linear format, even if the original
is encoded in u-LAW format.  Based on suggestion from Anthony Baxter
<anthony_baxter@users.sourceforge.net>.

This closes bug #122273.
2000-11-17 19:05:12 +00:00
Fred Drake d95f4e1a0d Martin von Loewis <loewis@informatik.hu-berlin.de>:
Correct typo that caused a well-formedness failure.
2000-07-01 06:26:44 +00:00
Guido van Rossum 51060be2f8 Remove unused "import curses". 2000-05-24 14:33:26 +00:00
Fred Drake ecb84f8e75 Don't insert extra indentation before <title> elements. 2000-01-20 22:51:14 +00:00
Fred Drake 645af9fedd rewrite_descriptor(): Fixup conversion of arguments (simpler).
join_adjacent_elements():  Hack to merge adjacent instances of
        <option>; the source \programopt with GNU-style long options
        created problems with LaTeX2HTML; this removes the evil
        workaround, which should never be necessary from structured
        documents(!).
1999-11-23 21:52:03 +00:00
Fred Drake 8a3b4495df Don't rename \var to <varname>; DocBook is too verbose here.
Do adopt DocBook's <command>, <option>, <envar> names for \program,
\programopt, \envvar.

Add \filenq --> <filename quote="no"> (it has to go somewhere, at
least for now).
1999-11-23 21:48:41 +00:00
Fred Drake 91f31eab1c Added citetitle and programopt.
Made var get renamed to varname (more like DocBook).
Other names should probably be changed as well; still waiting for the
DocBook book to arrive.
1999-11-09 19:33:24 +00:00
Fred Drake 0ee4891c82 Update the instructions slightly.
Add a new section describing what each of the tools does, in general
terms.
1999-08-26 18:08:13 +00:00
Fred Drake 4f0279f439 Removed; no longer needed now that the other tools can handle entity
references directly.
1999-08-26 18:05:23 +00:00
Fred Drake abb158f56b feed(): Added support for ESIS '&' lines. 1999-08-26 18:04:32 +00:00
Fred Drake 1f33292542 Remove use of fixgenents.sh; no longer needed. 1999-08-26 17:57:18 +00:00
Fred Drake 3cf4eb4e3d Specify: \geq --> &geq;
\leq    --> &leq;
                \LaTeX  --> LaTeX       (just text)
                \TeX    --> TeX         (just text)
1999-08-26 17:56:47 +00:00
Fred Drake f6199edcd3 Conversion.subconvert(): Added support for "entityref" parameters
(must be named in the conversion spec.).

TableParser.start_entityref():  New method.  Use to support creating
        entity references via the conversion specification.
1999-08-26 17:54:16 +00:00
Fred Drake a20581c1e5 write_esis(): Added support for ENTITY_REFERENCE nodes. 1999-08-26 17:51:56 +00:00
Fred Drake 53eae8e81b convert(): Add support for ESIS '&' lines, and make sure we don't
silently ignore unrecognized lines.
1999-08-26 17:50:26 +00:00
Fred Drake abf8a1daa8 rewrite_descriptor(): Fix bug that dropped the first TEXT node from
<description> elements.  Add another sanity
                       check to make sure a special case only becomes
                       involved for <opcodedesc> and <opcodedescni>
                       elements.

fixup_paras_helper():  Clean up control flow.

Everywhere that checks node.nodeType==ELEMENT and node.tagName now
just check node.nodeName (nodeName is guaranteed for all node types
and will be special values that don't conflict with GIs for
non-ELEMENT nodes).  Simplifies a number of tests and improves
readability in a lot of places.
1999-08-20 14:28:29 +00:00
Fred Drake 82ebc27357 remap_element_names(): Only used for things that the new conversion
engine in latex2esis.py can do, so discard it.

paragraph detection & markup:  Handle some of the list-like
		environments properly, picking up paragraphs inside
		list items.  (Only changed a few element-sets used for
		recognition.)

fixup_refmodindexes_chunk():  Use the right attribute to determine the
		module a <ref*modindex/> element is referring to.

convert():  Don't call remap_element_names(); it was removed.
1999-08-03 15:32:48 +00:00
Fred Drake 2f6ec9ca81 The new conversion engine supports more of the table re-writing than
the old one, so use it.
1999-08-03 15:27:37 +00:00
Fred Drake 080c1b5af6 bwrite(), ewrite(): Helpers for diagnostic output; essentially the
same as sys.stderr.write(), but bwrite() will make it
		bold if stderr is a tty (for visibility).

		Use these everywhere instead of accessing
		sys.stderr.write() directly.

find_all_child_elements():  Find all elements by type name that are
		immediate children of another.

cleanup_synopses():  Receive both the document and fragment objects as
		parameters; if only the document is passed, synopsis
		information is never found since it's in the fragment!

build_para():	Add a chunk of code to ensure that a newline always
		follows the </para> end-tag.  Not really important, but
		makes presentation consistent for authoring/
		maintenance.

fixup_bifuncindexes_chunk(): Use find_all_child_elements() instead of
		find_all_elements() so we don't work with too many
		levels at once; that could cause DOM exceptions with
		the <elem>.removeChild() method.
1999-08-02 14:46:15 +00:00
Fred Drake 4fbdf9779c Mostly minor changes.
Removed some obsolete commented-out code.

Merged BaseConversion into Conversion since there's only one
conversion process now.

Remove push/pop of output stream; it's no longer needed.
1999-08-02 14:35:25 +00:00
Fred Drake d158b85896 This doesn't need to do nearly as much for the new conversion, so
simplify.
1999-08-02 14:32:46 +00:00
Fred Drake 031e222499 A few small improvements to the conversion. 1999-08-02 14:32:11 +00:00
Fred Drake eac8abee4e Ripped out the old conversion. 1999-07-29 22:42:27 +00:00
Fred Drake 865e9ff98e Added a few more passes through the document fragment. Not actually
very interesting.
1999-07-29 22:23:19 +00:00
Fred Drake 96e4a06fa6 Massive changes.
Separate the Conversion class into a base and a subclass; the subclass
is pretty minimal but the separation is useful for....

NewConversion:  New class that implements a somewhat different
		approach to the conversion.  This uses a table of
		instances (rather than tuples) that have more
		information than the tuples used for the older
		conversion procedure.  This allows a lot more control
		over the conversion, and it seems to be pretty
		stable.

TableEntry,
Parameter:	New classes that are used to build the conversion
		specification used by NewConversion.

TableParser:	xmllib.XMLParser subclass that builds a conversion
		specification from an XML document.

load_table():	Convenience function that loads a table from a file.

main():  Added flags --new and --old; these select which conversion is
	 used.  The default is --new.

Several fixes have been made in the old conversion as well; these were
done before writing & switching to the new conversion, and should be
archived.

The next checkin of this file will discard the old conversion; is is
kept in this checkin to allow it to be retrieved if needed, and to
avoid lossing the bugfixes that have been made to it in the interim.
1999-07-29 22:22:13 +00:00
Fred Drake 2394c98c05 Minor updates. 1999-07-29 22:14:09 +00:00
Fred Drake ada2de67b3 Use the (new) buildFragment() method of the EsisBuilder rather than
implementing it all here.
1999-07-29 22:13:31 +00:00
Fred Drake f032cdbb24 Some minor cleanup. 1999-07-29 22:03:52 +00:00
Fred Drake bc2285eb60 Conversion specification, used by a new path through latex2esis.py.
The specific markup conversion is coded here instead of an even more
cryptic table in the code of latex2esis.py.
1999-07-29 22:03:11 +00:00
Fred Drake 478a265057 Minor update. 1999-07-29 22:01:39 +00:00
Fred Drake 06c5a8b52e Make the default target xml instead of sgml. 1999-07-22 13:57:12 +00:00
Fred Drake 7dbde51f97 Make the default target xml instead of sgml.
Use a temporary file to pass results from latex2esis.py to
docfixer.py; this makes for better error detection by make (if the
first pipeline stage fails, make wasn't catching it).
1999-07-22 13:56:51 +00:00
Fred Drake 0eb7b2a659 Enhanced docstring and some comments.
_begin_macro_rx:  Fixed RE that didn't properly allow a space after
		  the name of the macro.  This affects the conversion
		  of the tutorial.
1999-05-19 17:37:37 +00:00