diff options
Diffstat (limited to 'addon/perlmod/doxydocs-latex.pl')
-rw-r--r-- | addon/perlmod/doxydocs-latex.pl | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/addon/perlmod/doxydocs-latex.pl b/addon/perlmod/doxydocs-latex.pl deleted file mode 100644 index c60ff65..0000000 --- a/addon/perlmod/doxydocs-latex.pl +++ /dev/null @@ -1,108 +0,0 @@ -#!/usr/bin/perl -# Copyright (C) 1997-2002 by Dimitri van Heesch. -# Author: Miguel Lobo. -# -# Permission to use, copy, modify, and distribute this software and its -# documentation under the terms of the GNU General Public License is hereby -# granted. No representations are made about the suitability of this software -# for any purpose. It is provided "as is" without express or implied warranty. -# See the GNU General Public License for more details. -# -# Documents produced by Doxygen are derivative works derived from the -# input used in their production; they are not affected by this license. - -# This script can be used to generate LaTeX output using the new Perl -# intermediate format. It is incomplete and experimental, so for the moment -# you should use Doxygen"s standard LaTeX output. -# -# If you want to try this out, you should do: -# doxygen configName # This creates DoxyDocs.pm -# perl -I. doxydocs-latex.pl # This creates doxydocs.tex and doxytemplate.tex -# latex doxydocs-latex.ltx # This creates doxydocs-latex.dvi -# -# Notes: -# - Your config file has to have Perl output enabled, of course. -# - The Perl output format is only complete enough to document -# a simple C file; no classes by the moment :-). - -use DoxyModel; -use DoxyDocs; - -sub latex_quote($) { - my $text = $_[0]; - $text =~ s/[\\_&]/\\$&/g; - print TEXDOCS $text; -} - -sub generate_doc($) { - my $doc = $_[0]; - for my $item (@$doc) { - my $type = $$item{type}; - if ($type eq "text") { - latex_quote($$item{content}); - } elsif ($type eq "para") { - generate_doc($$item{content}); -# print TEXDOCS "\\par\n"; - } elsif ($type eq "bold") { - print TEXDOCS "\\textbf{"; - generate_doc($$item{content}); - print TEXDOCS "}"; - } elsif ($type eq "emphasis") { - print TEXDOCS "\\textit{"; - generate_doc($$item{content}); - print TEXDOCS "}"; - } elsif ($type eq "url") { - latex_quote($$item{content}); - } - } -} - -sub generate($$) { - my ($item, $model) = @_; - my ($type, $name) = @$model[0, 1]; - if ($type eq "field") { - print TEXDOCS "\\" . $name . "{"; - latex_quote($item); - print TEXDOCS "}"; - } elsif ($type eq "doc") { - if (@$item) { - print TEXDOCS "\\" . $name . "{"; - generate_doc($item); - print TEXDOCS "}%\n"; - } else { - print TEXDOCS "\\" . $name . "Empty%\n"; - } - } elsif ($type eq "hash") { - my ($key, $value); - while (($key, $submodel) = each %{$$model[2]}) { - my $name = $$submodel[1]; - print TEXDOCS "\\def\\f" . $name . "{"; - if ($$item{$key}) { - generate($$item{$key}, $submodel); - } else { - print TEXDOCS "\\" . $name . "Empty"; - } - print TEXDOCS "}%\n"; - } - print TEXDOCS "\\" . $name . "%\n"; - } elsif ($type eq "list") { - my $index = 0; - if (@$item) { - print TEXDOCS "\\" . $name . "{%\n"; - for my $subitem (@$item) { - if ($index) { - print TEXDOCS "\\" . $name . "Sep%\n"; - } - generate($subitem, $$model[2]); - $index++; - } - print TEXDOCS "}%\n"; - } else { - print TEXDOCS "\\" . $name . "Empty%\n"; - } - } -} - -open TEXDOCS, ">doxydocs.tex"; -generate($doxydocs, $doxymodel); -close TEXDOCS; |