summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgrubert <grubert@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2006-04-02 14:48:31 +0000
committergrubert <grubert@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2006-04-02 14:48:31 +0000
commit722f146502076a08d63a6b145f379f4ef22cbfc9 (patch)
tree99924f76da16f545e57a6fd3e5a8f40ebc81b580
parent6bc40534d02d737e2c1e9f13a3d7f16074cf85ff (diff)
downloaddocutils-722f146502076a08d63a6b145f379f4ef22cbfc9.tar.gz
Add custom role test to functional latex.
Apply custom role with class patch from Edward Loper. git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk@4493 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
-rw-r--r--docutils/HISTORY.txt3
-rw-r--r--docutils/docutils/writers/latex2e/__init__.py8
-rw-r--r--docutils/test/functional/expected/standalone_rst_latex.tex26
-rw-r--r--docutils/test/functional/input/standalone_rst_latex.txt1
4 files changed, 37 insertions, 1 deletions
diff --git a/docutils/HISTORY.txt b/docutils/HISTORY.txt
index c19362173..8076a5386 100644
--- a/docutils/HISTORY.txt
+++ b/docutils/HISTORY.txt
@@ -41,6 +41,9 @@ Changes Since 0.4
(``--view-mode`` & ``--hidden-controls/--visible-controls``
options).
+* docutils/writers/latex2e/__init__.py:
+
+ - Apply patch for custom roles with classes from Edward Loper.
Release 0.4 (2006-01-09)
========================
diff --git a/docutils/docutils/writers/latex2e/__init__.py b/docutils/docutils/writers/latex2e/__init__.py
index eca39798d..d3d7706bd 100644
--- a/docutils/docutils/writers/latex2e/__init__.py
+++ b/docutils/docutils/writers/latex2e/__init__.py
@@ -2002,7 +2002,13 @@ class LaTeXTranslator(nodes.NodeVisitor):
raise nodes.SkipNode
def visit_inline(self, node): # titlereference
- self.body.append( '\\docutilsrole%s{' % node.get('class'))
+ if node.get('class'):
+ cls = node['class']
+ elif node.get('classes'):
+ cls = node['classes'][0]
+ else:
+ cls = 'Unknown'
+ self.body.append( '\\docutilsrole%s{' % cls)
def depart_inline(self, node):
self.body.append( '}' )
diff --git a/docutils/test/functional/expected/standalone_rst_latex.tex b/docutils/test/functional/expected/standalone_rst_latex.tex
index 4e3b7d020..f37b8dd63 100644
--- a/docutils/test/functional/expected/standalone_rst_latex.tex
+++ b/docutils/test/functional/expected/standalone_rst_latex.tex
@@ -222,6 +222,8 @@ reStructuredText construct.
\item {} \href{\#various-non-ascii-characters}{3.2~~~Various non-ASCII characters}
+\item {} \href{\#custom-roles}{3.3~~~Custom Roles}
+
\end{list}
\item {} \href{\#error-handling}{4~~~Error Handling}
@@ -1523,6 +1525,30 @@ X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~X~
%___________________________________________________________________________
+\hypertarget{custom-roles}{}
+\pdfbookmark[1]{3.3~~~Custom Roles}{custom-roles}
+\subsection*{3.3~~~Custom Roles}
+\begin{itemize}
+\item {}
+A role based on an existing role.
+
+\texttt{one} \texttt{two} \texttt{three}
+
+\item {}
+A new role.
+
+\docutilsrolecustomnew{one two three}
+
+\item {}
+A role with class attribute.
+
+\docutilsrolespecial{interpreted text}
+
+\end{itemize}
+
+
+%___________________________________________________________________________
+
\hypertarget{error-handling}{}
\pdfbookmark[0]{4~~~Error Handling}{error-handling}
\section*{4~~~Error Handling}
diff --git a/docutils/test/functional/input/standalone_rst_latex.txt b/docutils/test/functional/input/standalone_rst_latex.txt
index 09a4f8890..831093be6 100644
--- a/docutils/test/functional/input/standalone_rst_latex.txt
+++ b/docutils/test/functional/input/standalone_rst_latex.txt
@@ -8,5 +8,6 @@ Tests for the LaTeX writer
.. include:: data/nonalphanumeric.txt
.. include:: data/unicode.txt
+.. include:: data/custom_roles.txt
.. include:: data/errors.txt