1.1 --- a/.hgignore Mon Mar 01 02:30:00 2010 +0100
1.2 +++ b/.hgignore Thu Apr 08 09:20:19 2010 +0200
1.3 @@ -12,6 +12,7 @@
1.4 *.tmp
1.5 .dirstamp
1.6 Doxyfile
1.7 +DoxyfilePdf
1.8 Makefile
1.9
1.10 syntax: regexp
1.11 @@ -20,4 +21,6 @@
1.12 ^html/.*
1.13 ^gen-images/.*
1.14 ^gen-dox/.*
1.15 +^gen-pdf-dox/.*
1.16 +^latex/.*
1.17 ^demo/build/.*
1.18 \ No newline at end of file
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/DoxyfilePdf.in Thu Apr 08 09:20:19 2010 +0200
2.3 @@ -0,0 +1,260 @@
2.4 +# Doxyfile 1.5.7.1
2.5 +
2.6 +#---------------------------------------------------------------------------
2.7 +# Project related configuration options
2.8 +#---------------------------------------------------------------------------
2.9 +DOXYFILE_ENCODING = UTF-8
2.10 +PROJECT_NAME = "LEMON Tutorial"
2.11 +PROJECT_NUMBER = @version@
2.12 +OUTPUT_DIRECTORY =
2.13 +CREATE_SUBDIRS = NO
2.14 +OUTPUT_LANGUAGE = English
2.15 +BRIEF_MEMBER_DESC = YES
2.16 +REPEAT_BRIEF = NO
2.17 +ABBREVIATE_BRIEF =
2.18 +ALWAYS_DETAILED_SEC = NO
2.19 +INLINE_INHERITED_MEMB = NO
2.20 +FULL_PATH_NAMES = YES
2.21 +STRIP_FROM_PATH = ./
2.22 +STRIP_FROM_INC_PATH = ./
2.23 +SHORT_NAMES = YES
2.24 +JAVADOC_AUTOBRIEF = NO
2.25 +QT_AUTOBRIEF = NO
2.26 +MULTILINE_CPP_IS_BRIEF = NO
2.27 +INHERIT_DOCS = NO
2.28 +SEPARATE_MEMBER_PAGES = NO
2.29 +TAB_SIZE = 8
2.30 +ALIASES =
2.31 +OPTIMIZE_OUTPUT_FOR_C = NO
2.32 +OPTIMIZE_OUTPUT_JAVA = NO
2.33 +OPTIMIZE_FOR_FORTRAN = NO
2.34 +OPTIMIZE_OUTPUT_VHDL = NO
2.35 +BUILTIN_STL_SUPPORT = YES
2.36 +CPP_CLI_SUPPORT = NO
2.37 +SIP_SUPPORT = NO
2.38 +IDL_PROPERTY_SUPPORT = YES
2.39 +DISTRIBUTE_GROUP_DOC = NO
2.40 +SUBGROUPING = YES
2.41 +TYPEDEF_HIDES_STRUCT = NO
2.42 +SYMBOL_CACHE_SIZE = 0
2.43 +#---------------------------------------------------------------------------
2.44 +# Build related configuration options
2.45 +#---------------------------------------------------------------------------
2.46 +EXTRACT_ALL = NO
2.47 +EXTRACT_PRIVATE = YES
2.48 +EXTRACT_STATIC = YES
2.49 +EXTRACT_LOCAL_CLASSES = NO
2.50 +EXTRACT_LOCAL_METHODS = NO
2.51 +EXTRACT_ANON_NSPACES = NO
2.52 +HIDE_UNDOC_MEMBERS = YES
2.53 +HIDE_UNDOC_CLASSES = YES
2.54 +HIDE_FRIEND_COMPOUNDS = NO
2.55 +HIDE_IN_BODY_DOCS = NO
2.56 +INTERNAL_DOCS = NO
2.57 +CASE_SENSE_NAMES = YES
2.58 +HIDE_SCOPE_NAMES = YES
2.59 +SHOW_INCLUDE_FILES = YES
2.60 +INLINE_INFO = YES
2.61 +SORT_MEMBER_DOCS = NO
2.62 +SORT_BRIEF_DOCS = NO
2.63 +SORT_GROUP_NAMES = NO
2.64 +SORT_BY_SCOPE_NAME = NO
2.65 +GENERATE_TODOLIST = YES
2.66 +GENERATE_TESTLIST = YES
2.67 +GENERATE_BUGLIST = YES
2.68 +GENERATE_DEPRECATEDLIST= YES
2.69 +ENABLED_SECTIONS =
2.70 +MAX_INITIALIZER_LINES = 5
2.71 +SHOW_USED_FILES = NO
2.72 +SHOW_DIRECTORIES = NO
2.73 +SHOW_FILES = YES
2.74 +SHOW_NAMESPACES = NO
2.75 +FILE_VERSION_FILTER =
2.76 +LAYOUT_FILE = ./DoxygenLayout.xml
2.77 +#---------------------------------------------------------------------------
2.78 +# configuration options related to warning and progress messages
2.79 +#---------------------------------------------------------------------------
2.80 +QUIET = NO
2.81 +WARNINGS = YES
2.82 +WARN_IF_UNDOCUMENTED = YES
2.83 +WARN_IF_DOC_ERROR = YES
2.84 +WARN_NO_PARAMDOC = NO
2.85 +WARN_FORMAT = "$file:$line: $text"
2.86 +WARN_LOGFILE = doxygen.log
2.87 +#---------------------------------------------------------------------------
2.88 +# configuration options related to the input files
2.89 +#---------------------------------------------------------------------------
2.90 +INPUT = ./gen-pdf-dox \
2.91 + ./demo
2.92 +INPUT_ENCODING = UTF-8
2.93 +FILE_PATTERNS = *.h \
2.94 + *.cc \
2.95 + *.dox
2.96 +RECURSIVE = NO
2.97 +EXCLUDE =
2.98 +EXCLUDE_SYMLINKS = NO
2.99 +EXCLUDE_PATTERNS =
2.100 +EXCLUDE_SYMBOLS =
2.101 +EXAMPLE_PATH = . \
2.102 + ./demo
2.103 +EXAMPLE_PATTERNS =
2.104 +EXAMPLE_RECURSIVE = NO
2.105 +IMAGE_PATH = ./images \
2.106 + ./gen-images
2.107 +INPUT_FILTER =
2.108 +FILTER_PATTERNS =
2.109 +FILTER_SOURCE_FILES = NO
2.110 +#---------------------------------------------------------------------------
2.111 +# configuration options related to source browsing
2.112 +#---------------------------------------------------------------------------
2.113 +SOURCE_BROWSER = NO
2.114 +INLINE_SOURCES = NO
2.115 +STRIP_CODE_COMMENTS = YES
2.116 +REFERENCED_BY_RELATION = NO
2.117 +REFERENCES_RELATION = NO
2.118 +REFERENCES_LINK_SOURCE = YES
2.119 +USE_HTAGS = NO
2.120 +VERBATIM_HEADERS = NO
2.121 +#---------------------------------------------------------------------------
2.122 +# configuration options related to the alphabetical class index
2.123 +#---------------------------------------------------------------------------
2.124 +ALPHABETICAL_INDEX = YES
2.125 +COLS_IN_ALPHA_INDEX = 2
2.126 +IGNORE_PREFIX =
2.127 +#---------------------------------------------------------------------------
2.128 +# configuration options related to the HTML output
2.129 +#---------------------------------------------------------------------------
2.130 +GENERATE_HTML = NO
2.131 +HTML_OUTPUT = html
2.132 +HTML_FILE_EXTENSION = .html
2.133 +HTML_HEADER =
2.134 +HTML_FOOTER =
2.135 +HTML_STYLESHEET =
2.136 +HTML_ALIGN_MEMBERS = YES
2.137 +HTML_DYNAMIC_SECTIONS = NO
2.138 +GENERATE_DOCSET = NO
2.139 +DOCSET_FEEDNAME = "Doxygen generated docs"
2.140 +DOCSET_BUNDLE_ID = org.doxygen.Project
2.141 +GENERATE_HTMLHELP = NO
2.142 +CHM_FILE =
2.143 +HHC_LOCATION =
2.144 +GENERATE_CHI = NO
2.145 +CHM_INDEX_ENCODING =
2.146 +BINARY_TOC = NO
2.147 +TOC_EXPAND = NO
2.148 +GENERATE_QHP = NO
2.149 +QCH_FILE =
2.150 +QHP_NAMESPACE = org.doxygen.Project
2.151 +QHP_VIRTUAL_FOLDER = doc
2.152 +QHG_LOCATION =
2.153 +DISABLE_INDEX = NO
2.154 +ENUM_VALUES_PER_LINE = 4
2.155 +GENERATE_TREEVIEW = NO
2.156 +TREEVIEW_WIDTH = 250
2.157 +FORMULA_FONTSIZE = 10
2.158 +#---------------------------------------------------------------------------
2.159 +# configuration options related to the LaTeX output
2.160 +#---------------------------------------------------------------------------
2.161 +GENERATE_LATEX = YES
2.162 +LATEX_OUTPUT = latex
2.163 +LATEX_CMD_NAME = latex
2.164 +MAKEINDEX_CMD_NAME = makeindex
2.165 +COMPACT_LATEX = YES
2.166 +PAPER_TYPE = a4wide
2.167 +EXTRA_PACKAGES = amsmath \
2.168 + amssymb
2.169 +LATEX_HEADER =
2.170 +PDF_HYPERLINKS = YES
2.171 +USE_PDFLATEX = YES
2.172 +LATEX_BATCHMODE = NO
2.173 +LATEX_HIDE_INDICES = NO
2.174 +#---------------------------------------------------------------------------
2.175 +# configuration options related to the RTF output
2.176 +#---------------------------------------------------------------------------
2.177 +GENERATE_RTF = NO
2.178 +RTF_OUTPUT = rtf
2.179 +COMPACT_RTF = NO
2.180 +RTF_HYPERLINKS = NO
2.181 +RTF_STYLESHEET_FILE =
2.182 +RTF_EXTENSIONS_FILE =
2.183 +#---------------------------------------------------------------------------
2.184 +# configuration options related to the man page output
2.185 +#---------------------------------------------------------------------------
2.186 +GENERATE_MAN = NO
2.187 +MAN_OUTPUT = man
2.188 +MAN_EXTENSION = .3
2.189 +MAN_LINKS = NO
2.190 +#---------------------------------------------------------------------------
2.191 +# configuration options related to the XML output
2.192 +#---------------------------------------------------------------------------
2.193 +GENERATE_XML = NO
2.194 +XML_OUTPUT = xml
2.195 +XML_SCHEMA =
2.196 +XML_DTD =
2.197 +XML_PROGRAMLISTING = YES
2.198 +#---------------------------------------------------------------------------
2.199 +# configuration options for the AutoGen Definitions output
2.200 +#---------------------------------------------------------------------------
2.201 +GENERATE_AUTOGEN_DEF = NO
2.202 +#---------------------------------------------------------------------------
2.203 +# configuration options related to the Perl module output
2.204 +#---------------------------------------------------------------------------
2.205 +GENERATE_PERLMOD = NO
2.206 +PERLMOD_LATEX = NO
2.207 +PERLMOD_PRETTY = YES
2.208 +PERLMOD_MAKEVAR_PREFIX =
2.209 +#---------------------------------------------------------------------------
2.210 +# Configuration options related to the preprocessor
2.211 +#---------------------------------------------------------------------------
2.212 +ENABLE_PREPROCESSING = YES
2.213 +MACRO_EXPANSION = NO
2.214 +EXPAND_ONLY_PREDEF = NO
2.215 +SEARCH_INCLUDES = YES
2.216 +INCLUDE_PATH =
2.217 +INCLUDE_FILE_PATTERNS =
2.218 +PREDEFINED = DOXYGEN
2.219 +EXPAND_AS_DEFINED =
2.220 +SKIP_FUNCTION_MACROS = YES
2.221 +#---------------------------------------------------------------------------
2.222 +# Configuration::additions related to external references
2.223 +#---------------------------------------------------------------------------
2.224 +TAGFILES = "./libstdc++.tag = http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.3" \
2.225 + "./lemon.tag = @lemon_doc_prefix@"
2.226 +GENERATE_TAGFILE =
2.227 +ALLEXTERNALS = NO
2.228 +EXTERNAL_GROUPS = NO
2.229 +PERL_PATH = /usr/bin/perl
2.230 +#---------------------------------------------------------------------------
2.231 +# Configuration options related to the dot tool
2.232 +#---------------------------------------------------------------------------
2.233 +CLASS_DIAGRAMS = NO
2.234 +MSCGEN_PATH =
2.235 +HIDE_UNDOC_RELATIONS = YES
2.236 +HAVE_DOT = YES
2.237 +DOT_FONTNAME = FreeSans
2.238 +DOT_FONTSIZE = 10
2.239 +DOT_FONTPATH =
2.240 +CLASS_GRAPH = YES
2.241 +COLLABORATION_GRAPH = NO
2.242 +GROUP_GRAPHS = NO
2.243 +UML_LOOK = NO
2.244 +TEMPLATE_RELATIONS = NO
2.245 +INCLUDE_GRAPH = NO
2.246 +INCLUDED_BY_GRAPH = NO
2.247 +CALL_GRAPH = NO
2.248 +CALLER_GRAPH = NO
2.249 +GRAPHICAL_HIERARCHY = NO
2.250 +DIRECTORY_GRAPH = NO
2.251 +DOT_IMAGE_FORMAT = png
2.252 +DOT_PATH =
2.253 +DOTFILE_DIRS =
2.254 +DOT_GRAPH_MAX_NODES = 50
2.255 +MAX_DOT_GRAPH_DEPTH = 0
2.256 +DOT_TRANSPARENT = NO
2.257 +DOT_MULTI_TARGETS = NO
2.258 +GENERATE_LEGEND = YES
2.259 +DOT_CLEANUP = YES
2.260 +#---------------------------------------------------------------------------
2.261 +# Configuration::additions related to the search engine
2.262 +#---------------------------------------------------------------------------
2.263 +SEARCHENGINE = NO
3.1 --- a/Makefile.in Mon Mar 01 02:30:00 2010 +0100
3.2 +++ b/Makefile.in Thu Apr 08 09:20:19 2010 +0200
3.3 @@ -38,15 +38,26 @@
3.4
3.5 html: Doxyfile-gen $(PNG_IMAGES)
3.6 -mkdir -p gen-dox
3.7 + -mkdir -p gen-pdf-dox
3.8 ./scripts/titlegen.py
3.9 doxygen Doxyfile
3.10
3.11 +pdf: Doxyfile-gen $(PNG_IMAGES)
3.12 + -mkdir -p gen-dox
3.13 + -mkdir -p gen-pdf-dox
3.14 + ./scripts/titlegen.py
3.15 + doxygen DoxyfilePdf
3.16 + make -C latex
3.17 +
3.18 demos: $(DEMOS)
3.19
3.20 Doxyfile-gen:
3.21 sed -e 's/@version@/'`./scripts/chg-len.py`'/g' \
3.22 -e 's/@lemon_doc_prefix@/@make_lemon_doc_prefix@/g' \
3.23 < Doxyfile.in >Doxyfile
3.24 + sed -e 's/@version@/'`./scripts/chg-len.py`'/g' \
3.25 + -e 's/@lemon_doc_prefix@/@make_lemon_doc_prefix@/g' \
3.26 + < DoxyfilePdf.in >DoxyfilePdf
3.27
3.28 clean:
3.29 -rm -rf html
4.1 --- a/scripts/titlegen.py Mon Mar 01 02:30:00 2010 +0100
4.2 +++ b/scripts/titlegen.py Thu Apr 08 09:20:19 2010 +0200
4.3 @@ -1,4 +1,19 @@
4.4 #! /usr/bin/env python
4.5 +#
4.6 +# This file is a part of LEMON, a generic C++ optimization library.
4.7 +#
4.8 +# Copyright (C) 2003-2010
4.9 +# Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
4.10 +# (Egervary Research Group on Combinatorial Optimization, EGRES).
4.11 +#
4.12 +# Permission to use, modify and distribute this software is granted
4.13 +# provided that this copyright notice appears in all copies. For
4.14 +# precise terms see the accompanying LICENSE file.
4.15 +#
4.16 +# This software is provided "AS IS" with no warranty of any kind,
4.17 +# express or implied, and with no claim as to its suitability for any
4.18 +# purpose.
4.19 +#
4.20
4.21 import sys
4.22 import os
4.23 @@ -40,6 +55,16 @@
4.24 section = [];
4.25 toc={}
4.26 ind={}
4.27 +page_files={}
4.28 +ordered_pages = []
4.29 +
4.30 +for doxfile in os.listdir('.'):
4.31 + if doxfile[-4:]=='.dox':
4.32 + for l in open(doxfile).readlines():
4.33 + gr = re.match(r"(^[[]PAGE[]].*[[]PAGE[]])?(.*)$", l).groups()
4.34 + if gr[0]:
4.35 + page=gr[0][6:-6]
4.36 + page_files[page]=doxfile
4.37
4.38 prev_page=''
4.39 for l in open("toc.txt").readlines():
4.40 @@ -56,6 +81,7 @@
4.41 if prev_page:
4.42 ind[prev_page][2]=t_link
4.43 prev_page=t_link
4.44 + ordered_pages.append(t_link)
4.45 toc[format_sec(t_sec)]=t_link
4.46
4.47 for doxfile in os.listdir('.'):
4.48 @@ -95,3 +121,22 @@
4.49 else:
4.50 fo.write(gr[4]+'\n')
4.51 fo.close()
4.52 +
4.53 +fpdf=open(os.path.join("gen-pdf-dox","full.dox"),"w")
4.54 +for doxfile in [page_files[p] for p in ordered_pages]:
4.55 + page=''
4.56 + for l in open(doxfile).readlines():
4.57 + gr = re.match(r"(^[[]PAGE[]].*[[]PAGE[]])?(^[[]SEC[]].*[[]SEC[]])?(^[[]TRAILER[]])?(^[[]TOC[]])?(.*)$", l).groups()
4.58 + if gr[0]:
4.59 + page=gr[0][6:-6]
4.60 + fpdf.write("\page %s %s\n"%(page,gr[4]))
4.61 + elif gr[1]:
4.62 + sec=gr[1][5:-5]
4.63 + fpdf.write("\section %s %s\n"%(sec,gr[4]))
4.64 + elif gr[2]:
4.65 + pass
4.66 + elif gr[3]:
4.67 + pass
4.68 + else:
4.69 + fpdf.write(gr[4]+'\n')
4.70 +fpdf.close()