summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgrubert <grubert@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2008-03-02 02:35:31 +0000
committergrubert <grubert@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2008-03-02 02:35:31 +0000
commit2637834bbb5b29204d408966e8bdedfcd9578c20 (patch)
treed54bfa60a3295a5b6cf9566eddee28ceaeda5d26
parent82f8204fb7b1f56cd07b7f86dc536cf55b354a54 (diff)
downloaddocutils-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__.py23
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}')