[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. |