diff options
author | Tim Graham <timograham@gmail.com> | 2015-11-16 11:13:09 -0500 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2015-11-16 18:49:31 -0500 |
commit | e48a5b5a03181b3ada6183595eb6e1c599a9657a (patch) | |
tree | a8e26b964d981e5577dcc58ae345d9ff925774b3 /docs/_ext/djangodocs.py | |
parent | 101dbeb673caf6b962e2e8fd09fe09dac26e9771 (diff) | |
download | django-e48a5b5a03181b3ada6183595eb6e1c599a9657a.tar.gz |
Fixed #23751 -- Fixed code snippet formatting in docs PDF.
Thanks Graham Wideman for the patch.
Diffstat (limited to 'docs/_ext/djangodocs.py')
-rw-r--r-- | docs/_ext/djangodocs.py | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/docs/_ext/djangodocs.py b/docs/_ext/djangodocs.py index 38f11dfd98..fd93194d5e 100644 --- a/docs/_ext/djangodocs.py +++ b/docs/_ext/djangodocs.py @@ -125,14 +125,8 @@ def visit_snippet_latex(self, node): """ Latex document generator visit handler """ - self.verbatim = '' + code = node.rawsource.rstrip('\n') - -def depart_snippet_latex(self, node): - """ - Latex document generator depart handler. - """ - code = self.verbatim.rstrip('\n') lang = self.hlsettingstack[-1][0] linenos = code.count('\n') >= self.hlsettingstack[-1][1] - 1 fname = node['filename'] @@ -151,9 +145,14 @@ def depart_snippet_latex(self, node): linenos=linenos, **highlight_args) - self.body.append('\n{\\colorbox[rgb]{0.9,0.9,0.9}' - '{\\makebox[\\textwidth][l]' - '{\\small\\texttt{%s}}}}\n' % (fname,)) + self.body.append( + '\n{\\colorbox[rgb]{0.9,0.9,0.9}' + '{\\makebox[\\textwidth][l]' + '{\\small\\texttt{%s}}}}\n' % ( + # Some filenames have '_', which is special in latex. + fname.replace('_', r'\_'), + ) + ) if self.table: hlcode = hlcode.replace('\\begin{Verbatim}', @@ -165,7 +164,16 @@ def depart_snippet_latex(self, node): hlcode = hlcode.rstrip() + '\n' self.body.append('\n' + hlcode + '\\end{%sVerbatim}\n' % (self.table and 'Original' or '')) - self.verbatim = None + + # Prevent rawsource from appearing in output a second time. + raise nodes.SkipNode + + +def depart_snippet_latex(self, node): + """ + Latex document generator depart handler. + """ + pass class SnippetWithFilename(Directive): |