diff options
author | grubert <grubert@929543f6-e4f2-0310-98a6-ba3bd3dd1d04> | 2008-03-02 02:35:31 +0000 |
---|---|---|
committer | grubert <grubert@929543f6-e4f2-0310-98a6-ba3bd3dd1d04> | 2008-03-02 02:35:31 +0000 |
commit | 2637834bbb5b29204d408966e8bdedfcd9578c20 (patch) | |
tree | d54bfa60a3295a5b6cf9566eddee28ceaeda5d26 | |
parent | 82f8204fb7b1f56cd07b7f86dc536cf55b354a54 (diff) | |
download | docutils-2637834bbb5b29204d408966e8bdedfcd9578c20.tar.gz |
Add ``--literal-block-env``.
git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk/docutils/docutils@5525 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
-rw-r--r-- | writers/latex2e/__init__.py | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/writers/latex2e/__init__.py b/writers/latex2e/__init__.py index a72d22049..cb8f42d5b 100644 --- a/writers/latex2e/__init__.py +++ b/writers/latex2e/__init__.py @@ -116,6 +116,10 @@ class Writer(writers.Writer): '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 @@ class LaTeXTranslator(nodes.NodeVisitor): 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 @@ class LaTeXTranslator(nodes.NodeVisitor): 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 @@ class LaTeXTranslator(nodes.NodeVisitor): # 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 @@ class LaTeXTranslator(nodes.NodeVisitor): 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}') |