From: <gr...@us...> - 2008-03-02 02:35:44
|
Author: grubert Date: 2008-03-02 03:35:31 +0100 (Sun, 02 Mar 2008) New Revision: 5525 Modified: trunk/docutils/HISTORY.txt trunk/docutils/docutils/writers/latex2e/__init__.py Log: Add ``--literal-block-env``. Modified: trunk/docutils/HISTORY.txt =================================================================== --- trunk/docutils/HISTORY.txt 2008-02-29 16:01:54 UTC (rev 5524) +++ trunk/docutils/HISTORY.txt 2008-03-02 02:35:31 UTC (rev 5525) @@ -117,6 +117,7 @@ * docutils/writers/latex2e/__init__.py: + - Add ``--literal-block-env`` - Fix: escaping ``%`` in href urls. - Move usepackage hyperref after stylesheet inclusion. - Fix: scrartcl does not have chapter but scrreprt. Modified: trunk/docutils/docutils/writers/latex2e/__init__.py =================================================================== --- trunk/docutils/docutils/writers/latex2e/__init__.py 2008-02-29 16:01:54 UTC (rev 5524) +++ trunk/docutils/docutils/writers/latex2e/__init__.py 2008-03-02 02:35:31 UTC (rev 5525) @@ -116,6 +116,10 @@ 'for compound enumerated lists. Default is "-".', ['--section-enumerator-separator'], {'default': '-', 'metavar': '<char>'}), + ('When possibile, use the specified environment for literal-blocks. ' + 'Default is to always use the mbox environment.', + ['--literal-block-env'], + {'default': '', }), ('When possibile, use verbatim for literal-blocks. ' 'Default is to always use the mbox environment.', ['--use-verbatim-when-possible'], @@ -723,6 +727,9 @@ self.head_prefix.append( self.linking % ( self.colorlinks, self.hyperlink_color, self.hyperlink_color)) + # + if self.settings.literal_block_env != '': + self.settings.use_verbatim_when_possible = True if self.linking: # and maybe check for pdf self.pdfinfo = [ ] self.pdfauthor = None @@ -960,6 +967,18 @@ text = self.ensure_math(text) return text + def literal_block_env(self, begin_or_end): + env = 'verbatim' + opt = '' + if self.settings.literal_block_env != '': + (none, env, opt, none) = re.split("(\w+)(.*)", + self.settings.literal_block_env) + if begin_or_end == 'begin': + return '\\begin{%s}%s\n' % (env, opt) + return '\n\\end{%s}\n' % (env, ) + + + def attval(self, text, whitespace=re.compile('[\n\r\t\v\f]')): """Cleanse, encode, and return attribute value text.""" @@ -1739,7 +1758,7 @@ # in case of a parsed-literal containing just a "**bold**" word: and isinstance(node[0], nodes.Text)): self.verbatim = 1 - self.body.append('\\begin{verbatim}\n') + self.body.append(self.literal_block_env('begin')) else: self.literal_block = 1 self.insert_none_breaking_blanks = 1 @@ -1749,7 +1768,7 @@ def depart_literal_block(self, node): if self.verbatim: - self.body.append('\n\\end{verbatim}\n') + self.body.append(self.literal_block_env('end')) self.verbatim = 0 else: self.body.append('\n}') |