[Epydoc-commits] SF.net SVN: epydoc: [1757] trunk/epydoc/src/epydoc/docwriter
Brought to you by:
edloper
|
From: <ed...@us...> - 2008-02-23 18:31:15
|
Revision: 1757
http://epydoc.svn.sourceforge.net/epydoc/?rev=1757&view=rev
Author: edloper
Date: 2008-02-23 10:31:10 -0800 (Sat, 23 Feb 2008)
Log Message:
-----------
- Copy *all* of the epydoc builtin latex style files to the target
directory. This ensures that custom style files (which are now
copied to epydoc-custom.sty) can use \RequirePackage to extend any
of the builtin latex style files; and they can extend one another
as well.
Modified Paths:
--------------
trunk/epydoc/src/epydoc/docwriter/latex.py
trunk/epydoc/src/epydoc/docwriter/latex_sty.py
Modified: trunk/epydoc/src/epydoc/docwriter/latex.py
===================================================================
--- trunk/epydoc/src/epydoc/docwriter/latex.py 2008-02-23 17:47:49 UTC (rev 1756)
+++ trunk/epydoc/src/epydoc/docwriter/latex.py 2008-02-23 18:31:10 UTC (rev 1757)
@@ -27,10 +27,10 @@
from epydoc.docwriter.latex_sty import STYLESHEETS
class LatexWriter:
- #: Expects (options,)
+ #: Expects (options, epydoc_sty_package)
PREAMBLE = [
"\\documentclass{article}",
- "\\usepackage[%s]{epydoc}",
+ "\\usepackage[%s]{%s}",
"\\usepackage{graphicx}",
]
@@ -144,7 +144,39 @@
copied to 'epydoc-default.sty', which makes it possible to
reference it via \RequirePackage.
"""
+ # Write all the standard style files
+ for (name, sty) in STYLESHEETS.items():
+ out = open(os.path.join(directory, 'epydoc-%s.sty' % name), 'wb')
+ out.write(sty)
+ out.close()
+
+ # Default: use the 'epydoc-default' style.
if stylesheet is None:
+ self._epydoc_sty_package = 'epydoc-default'
+
+ # Stylesheet name: use the indicated style.
+ elif stylesheet in STYLESHEETS:
+ self._epydoc_sty_package = 'epydoc-%s' % stylesheet
+
+ # Custom user stylesheet: copy the style to epydoc-custom.
+ elif os.path.exists(stylesheet):
+ try: sty = open(stylesheet, 'rb').read()
+ except: raise IOError("Can't open LaTeX style file: %r" %
+ stylesheet)
+ out = open(os.path.join(directory, 'epydoc-custom.sty'), 'wb')
+ out.write(sty)
+ out.close()
+ self._epydoc_sty_package = 'epydoc-custom'
+
+ else:
+ raise IOError("Can't find LaTeX style file: %r" % stylesheet)
+
+ self._write_sty(directory, None, 'epydoc-default.sty')
+
+
+
+
+ if stylesheet is None:
sty = STYLESHEETS['base']
elif os.path.exists(stylesheet):
try: sty = open(stylesheet, 'rb').read()
@@ -263,7 +295,8 @@
options = []
if self._index: options.append('index')
if self._hyperlink: options.append('hyperlink')
- out('\n'.join(self.PREAMBLE) % (','.join(options),) + '\n')
+ out('\n'.join(self.PREAMBLE) % (','.join(options),
+ self._epydoc_sty_package) + '\n')
# Set the encoding.
out('\\usepackage[%s]{inputenc}\n' % self.get_latex_encoding())
Modified: trunk/epydoc/src/epydoc/docwriter/latex_sty.py
===================================================================
--- trunk/epydoc/src/epydoc/docwriter/latex_sty.py 2008-02-23 17:47:49 UTC (rev 1756)
+++ trunk/epydoc/src/epydoc/docwriter/latex_sty.py 2008-02-23 18:31:10 UTC (rev 1757)
@@ -606,11 +606,11 @@
% $Id:$
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{epydoc}[2007/04/06 v3.0beta1 Epydoc Python Documentation]
-\DeclareOption{index}{\PassOptionsToPackage{index}{epydoc-default}}
-\DeclareOption{hyperlink}{\PassOptionsToPackage{hyperlink}{epydoc-default}}
+\DeclareOption{index}{\PassOptionsToPackage{index}{epydoc-base}}
+\DeclareOption{hyperlink}{\PassOptionsToPackage{hyperlink}{epydoc-base}}
\ProcessOptions\relax
-\RequirePackage{epydoc-default}
+\RequirePackage{epydoc-base}
% Double the standard size boxedminipage outlines.
\setlength{\fboxrule}{2\fboxrule}
@@ -821,11 +821,11 @@
% $Id:$
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{epydoc}[2007/04/06 v3.0beta1 Epydoc Python Documentation]
-\DeclareOption{index}{\PassOptionsToPackage{index}{epydoc-default}}
-\DeclareOption{hyperlink}{\PassOptionsToPackage{hyperlink}{epydoc-default}}
+\DeclareOption{index}{\PassOptionsToPackage{index}{epydoc-base}}
+\DeclareOption{hyperlink}{\PassOptionsToPackage{hyperlink}{epydoc-base}}
\ProcessOptions\relax
-\RequirePackage{epydoc-default}
+\RequirePackage{epydoc-base}
\definecolor{gray95}{gray}{0.95}
\definecolor{gray90}{gray}{0.90}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|