latex-mk-2.1/README100644 000144 000000 00000004725 10634245202 0007445# $Id: README,v 1.10 2007/06/14 14:02:42 dan Exp $ -------------------------- Quick overview -------------------------- latex-mk is a set of makefile fragments designed to assist in the management of LaTeX documents. The user creates a simple Makefile which sets up a few simple variables and then includes the latex.mk fragment at the end. Please refer to the documentation in the doc/ subdirectory for complete documentation. -------------------------- Quick install -------------------------- If you are setting the user configuration file with --with-usermakeconf and/or --with-usergmakeconf you'll probably need to enclose the argumen with single quotes to prevent shell expansion during configuration. For example, --with-usermakeconf=${HOME}/.latex-mk.conf will end up hardcoding the home directory of the particular user who ran the configuration script. If you are setting this up for multiple users, you probably wanted to use --with-usermakeconf='${HOME}/.latex-mk.conf' instead. -------------------------- Acknowledgements -------------------------- Thanks to Jeff Gealow who provided an example of a makefile for a LaTeX document many many years ago. Thats where this all started. Thanks to Paul Smith and Darrin Jewell for help with GNU make. Thanks to Todd Sepke for the suggestions that led to the latex-mk script. Thanks to Jeff McMahill for suggesting that I add support for multiple top level documents with some common dependencies and some unique dependencies. Thanks to Karthikesh Raju for suggesting including a 'dist' target and for suggesting that the -draft output be supported. Thanks to Brook Milligan for suggesting that I add HTML output, POST_BIBTEX_HOOK, and providing general encouragement. Brook also suggested the sweave support. Thanks to Antoine Reilles for suggesting that I add makeindex support and for providing a preliminary patch. Thanks to Reuben Thomas for suggesting that the latex-mk script be documented a bit more for standalone use and for suggesting a way to have the latex-mk script work with a read only source directory. Thanks to Rafael Laboissiere for suggesting that the testsuite run all shell scripts through 'sh -n' for a syntax check and for helping to track down some testsuite failures. Rafael has also provided several small patches found as the Debian package maintainer. -------------------------- Bugs -------------------------- Please report all bugs on the latex-mk homepage at http://latex-mk.sourceforge.net latex-mk-2.1/acinclude.m4100644 000144 000000 00000006367 10560000620 0010751dnl $Id: acinclude.m4,v 1.4 2005/09/30 10:53:53 dan Exp $ dnl dnl Copyright (c) 2003, 2005 Dan McMahill dnl All rights reserved. dnl dnl This code is derived from software written by Dan McMahill dnl dnl Redistribution and use in source and binary forms, with or without dnl modification, are permitted provided that the following conditions dnl are met: dnl 1. Redistributions of source code must retain the above copyright dnl notice, this list of conditions and the following disclaimer. dnl 2. Redistributions in binary form must reproduce the above copyright dnl notice, this list of conditions and the following disclaimer in the dnl documentation and/or other materials provided with the distribution. dnl 3. All advertising materials mentioning features or use of this software dnl must display the following acknowledgement: dnl This product includes software developed by Dan McMahill dnl 4. The name of the author may not be used to endorse or promote products dnl derived from this software without specific prior written permission. dnl dnl THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR dnl IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES dnl OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. dnl IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, dnl INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, dnl BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; dnl LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED dnl AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, dnl OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY dnl OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF dnl SUCH DAMAGE. dnl # Look for GNU make AC_DEFUN([AC_PATH_GNU_MAKE], [#AC_MSG_CHECKING([for GNU make]) gnu_make= for mk in "$GMAKE" "$MAKE" gmake make gnumake ; do if test -n "$mk" ; then AC_MSG_CHECKING([if $mk is GNU make >= 3.80]) tmp=`sh -c "$mk --version" 2> /dev/null | grep GNU` if test -z "$tmp" ; then AC_MSG_RESULT([no]) else case $tmp in *\ 3.[[8-9]][[0-9]]*|*\ [[4-9]].[[0-9]]*) AC_MSG_RESULT([yes]) gnu_make="$mk" break ;; * ) AC_MSG_RESULT([no]) ;; esac fi fi done if test -z "$gnu_make" ; then AC_MSG_NOTICE([No suitable GNU make found.]) GMAKE=none AC_SUBST(GMAKE) else AC_PATH_PROG(GMAKE, $gnu_make) fi ])dnl # Look for BSD make AC_DEFUN([AC_PATH_BSD_MAKE], [ cat > tmp.mk << EOF # include some of the "." commands that we need from a # BSD make. MYVAR= BSDmake MYFLAG= #defined test: .for __tmp__ in \${MYVAR} .if defined(MYFLAG) @echo \${__tmp__} .endif .endfor EOF bsd_make= for mk in "$BMAKE" "$MAKE" make bmake nbmake ; do if test -n "$mk" ; then AC_MSG_CHECKING([if $mk is BSD make]) tmp=`sh -c "$mk -f tmp.mk test" 2> /dev/null | grep BSDmake` if test "X$tmp" = "XBSDmake" ; then AC_MSG_RESULT([yes]) bsd_make="$mk" break else AC_MSG_RESULT([no]) fi fi done if test -f tmp.mk ; then rm tmp.mk ; fi if test -z "$bsd_make" ; then AC_MSG_NOTICE([No suitable BSD make found.]) BMAKE=none AC_SUBST(BMAKE) else AC_PATH_PROG(BMAKE, $bsd_make) fi ])dnl latex-mk-2.1/configure.ac100644 000144 000000 00000013533 11506462110 0011046dnl $Id: configure.ac,v 1.52.2.1 2010/12/28 22:27:20 dan Exp $ dnl Process this file with autoconf to produce a configure script. dnl dnl Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2010 Dan McMahill dnl All rights reserved. dnl dnl This code is derived from software written by Dan McMahill dnl dnl Redistribution and use in source and binary forms, with or without dnl modification, are permitted provided that the following conditions dnl are met: dnl 1. Redistributions of source code must retain the above copyright dnl notice, this list of conditions and the following disclaimer. dnl 2. Redistributions in binary form must reproduce the above copyright dnl notice, this list of conditions and the following disclaimer in the dnl documentation and/or other materials provided with the distribution. dnl 3. All advertising materials mentioning features or use of this software dnl must display the following acknowledgement: dnl This product includes software developed by Dan McMahill dnl 4. The name of the author may not be used to endorse or promote products dnl derived from this software without specific prior written permission. dnl dnl THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR dnl IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES dnl OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. dnl IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, dnl INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, dnl BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; dnl LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED dnl AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, dnl OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY dnl OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF dnl SUCH DAMAGE. dnl AC_INIT(latex.mk.in.in) AM_INIT_AUTOMAKE(latex-mk, 2.1) AM_MAINTAINER_MODE # # determine host type # AC_CANONICAL_HOST # # an install program # AC_PROG_INSTALL # # general # AC_PATH_PROG(AWK, awk nawk gawk mawk, awk) AC_PATH_PROG(ENV_PROG, env, env) AC_PATH_PROG(FALSE, false, false) AC_PATH_PROG(GREP, grep, grep) AC_PATH_PROG(GZCAT, gzcat, gzcat) AC_PATH_PROG(GZIP, gzip, gzip) AC_PATH_PROG(RM, rm, rm) AC_PATH_PROG(RMDIR, rmdir, rmdir) AC_PATH_PROG(TAR, tar, tar) # # for latex.mk # AC_PATH_PROG(BIBTEX, bibtex, bibtex) # for converting graphics file formats (from ImageMagick) AC_PATH_PROG(CONVERT, convert, convert) AC_PATH_PROG(DVIPDFM, dvipdfm, dvipdfm) AC_PATH_PROG(DVIPS, dvips, dvips) AC_PATH_PROG(ECHO, echo, echo) AC_PATH_PROG(FIND, find, find) AC_PATH_PROG(GV, gv, gv) AC_PATH_PROG(HEVEA, hevea, hevea) AC_PATH_PROG(HACHA, hacha, hacha) AC_PATH_PROG(IMAGEN, imagen, imagen) AC_PATH_PROG(LATEX, latex, latex) AC_PATH_PROG(LATEX2HTML, latex2html, latex2html) AC_PATH_PROG(LATEX2RTF, latex2rtf, latex2rtf) AC_PATH_PROG(LPR, lpr, lpr) AC_PATH_PROG(MAKEIDX, makeindex, makeindex) AC_PATH_PROG(PDFLATEX, pdflatex, pdflatex) AC_PATH_PROG(PS2PDF, ps2pdf, ps2pdf) AC_PATH_PROG(TEX2PAGE, tex2page, tex2page) AC_PATH_PROG(XDVI, xdvi, xdvi) # # for lgrind.mk # AC_PATH_PROG(LGRIND, lgrind, lgrind) # # for mpost.mk # AC_PATH_PROG(MPOST, mpost mp, mpost) # # for tgif.mk # AC_PATH_PROG(TGIF, tgif, tgif) # # for xfig.mk # AC_PATH_PROG(FIG2DEV, fig2dev, fig2dev) # # Look for a GNU make program and a BSD make program # This is used by the testsuite # AC_PATH_GNU_MAKE AC_PATH_BSD_MAKE if test "X${BMAKE}" = "Xnone" -a "X${GMAKE}" = "Xnone" ; then AC_MSG_NOTICE([ ************************ WARNING ************************ I could not find GNU make >= version 3.80 _or_ a suitable BSD make on your system. This package will still install correctly, but you will not actually be able to use it or run the testsuite until you install a suitable make program. ************************ WARNING ************************ ] ) fi # # system config files # AC_ARG_WITH([mkconf], [ --with-mkconf=mkconf Use the specified file as the site configuration file for BSD make. [default = /etc/latex-mk.conf]], [ if test "X$with_mkconf" = "Xno" ; then AC_ERROR([--without-mkconf is not supported]) else MAKECONF="$with_mkconf" fi ], [ MAKECONF=@latexmkconfdir@/latex-mk.conf ]) AC_SUBST(MAKECONF) AC_ARG_WITH([gmkconf], [ --with-gmkconf=gmkconf Use the specified file as the site configuration file for GNU make. [default = /etc/latex-gmk.conf]], [ if test "X$with_gmkconf" = "Xno" ; then AC_ERROR([--without-gmkconf is not supported]) else GMAKECONF="$with_gmkconf" fi ], [ GMAKECONF=@latexmkconfdir@/latex-gmk.conf ]) AC_SUBST(GMAKECONF) AC_ARG_WITH([usermkconf], [ --with-mkconf=usermkconf Use the specified file as the site configuration file for BSD make. [default = $HOME/.latex-mk.conf]], [ if test "X$with_usermkconf" = "Xno" ; then AC_ERROR([--without-usermkconf is not supported]) else USERMAKECONF="$with_usermkconf" fi ], [ USERMAKECONF="\${HOME}/.latex-mk.conf" ]) AC_SUBST(USERMAKECONF) AC_ARG_WITH([usergmkconf], [ --with-usergmkconf=usergmkconf Use the specified file as the user configuration file for GNU make. [default = $HOME/.latex-gmk.conf]], [ if test "X$with_usergmkconf" = "Xno" ; then AC_ERROR([--without-usergmkconf is not supported]) else USERGMAKECONF="$with_usergmkconf" fi ], [ USERGMAKECONF="\${HOME}/.latex-gmk.conf" ]) AC_SUBST(USERGMAKECONF) AC_OUTPUT( Makefile doc/Makefile doc/prefix.texi example/Makefile example/tgif/Makefile ieee-copyout latex-mk latex.mk.in latex.subdir.mk.in lgrind.mk.in mpost.mk.in testsuite/Makefile testsuite/bmake_ref/Makefile testsuite/gmake_ref/Makefile testsuite/latex_mk_ref/Makefile tgif.mk.in xfig.mk.in ) latex-mk-2.1/aclocal.m4100644 000144 000000 00000053370 11506463211 0010426# generated automatically by aclocal 1.10 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_if(m4_PACKAGE_VERSION, [2.61],, [m4_fatal([this file was generated for autoconf 2.61. You have another version of autoconf. If you want to use that, you should regenerate the build system entirely.], [63])]) # Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.10], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10])dnl _AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 12 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.60])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) ]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $1 | $1:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering # Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 AC_DEFUN([AM_MAINTAINER_MODE], [AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) dnl maintainer-mode is disabled by default AC_ARG_ENABLE(maintainer-mode, [ --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer], USE_MAINTAINER_MODE=$enableval, USE_MAINTAINER_MODE=no) AC_MSG_RESULT([$USE_MAINTAINER_MODE]) AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) MAINT=$MAINTAINER_MODE_TRUE AC_SUBST(MAINT)dnl ] ) AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([acinclude.m4]) latex-mk-2.1/Makefile.am100644 000144 000000 00000005175 10570735501 0010626## -*- makefile -*- ## $Id: Makefile.am,v 1.17 2007/02/27 05:01:53 dan Exp $ ## ## Copyright (c) 2002, 2005, 2006, 2007 Dan McMahill ## All rights reserved. ## ## This code is derived from software written by Dan McMahill ## ## Redistribution and use in source and binary forms, with or without ## modification, are permitted provided that the following conditions ## are met: ## 1. Redistributions of source code must retain the above copyright ## notice, this list of conditions and the following disclaimer. ## 2. Redistributions in binary form must reproduce the above copyright ## notice, this list of conditions and the following disclaimer in the ## documentation and/or other materials provided with the distribution. ## 3. All advertising materials mentioning features or use of this software ## must display the following acknowledgement: ## This product includes software developed by Dan McMahill ## 4. The name of the author may not be used to endorse or promote products ## derived from this software without specific prior written permission. ## ## THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ## IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ## OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ## INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ## BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ## LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED ## AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## MKSRCS= latex.mk.in latex.subdir.mk.in lgrind.mk.in mpost.mk.in tgif.mk.in xfig.mk.in BMKFILES= ${MKSRCS:.mk.in=.mk} GMKFILES= ${MKSRCS:.mk.in=.gmk} PSFILES= dated_draft.ps pkgdata_DATA= ${BMKFILES} ${GMKFILES} ${PSFILES} bin_SCRIPTS= latex-mk ieee-copyout DISTCLEANFILES= \ configure.lineno \ ${BMKFILES} \ ${GMKFILES} EXTRA_DIST= ${PSFILES} TODO SUBDIRS= doc example testsuite SUFFIXES= .mk.in .mk .gmk SED_COMMON= -e 's;@pkgdatadir@;$(pkgdatadir);g' \ -e 's;@latexmkconfdir@;${sysconfdir};g' \ -e 's;@latexmkbindir@;${bindir};g' # make sure the latex-mk script is executible before installation so we # can give it a trial run here all-local: chmod 755 latex-mk chmod 755 ieee-copyout .mk.in.mk: sed -e 's/^BMK://g' -e '/^GMK:/d' ${SED_COMMON} $< > $@ .mk.in.gmk: sed -e 's/^GMK://g' -e '/^BMK:/d' ${SED_COMMON} $< > $@ latex-mk-2.1/Makefile.in100644 000144 000000 00000055032 11506463240 0010632# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/ieee-copyout.in \ $(srcdir)/latex-mk.in $(srcdir)/latex.mk.in.in \ $(srcdir)/latex.subdir.mk.in.in $(srcdir)/lgrind.mk.in.in \ $(srcdir)/mpost.mk.in.in $(srcdir)/tgif.mk.in.in \ $(srcdir)/xfig.mk.in.in $(top_srcdir)/configure AUTHORS \ COPYING ChangeLog INSTALL NEWS TODO config.guess config.sub \ install-sh missing mkinstalldirs ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = ieee-copyout latex-mk latex.mk.in \ latex.subdir.mk.in lgrind.mk.in mpost.mk.in tgif.mk.in \ xfig.mk.in am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgdatadir)" binSCRIPT_INSTALL = $(INSTALL_SCRIPT) SCRIPTS = $(bin_SCRIPTS) SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; pkgdataDATA_INSTALL = $(INSTALL_DATA) DATA = $(pkgdata_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BIBTEX = @BIBTEX@ BMAKE = @BMAKE@ CONVERT = @CONVERT@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DVIPDFM = @DVIPDFM@ DVIPS = @DVIPS@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ ENV_PROG = @ENV_PROG@ FALSE = @FALSE@ FIG2DEV = @FIG2DEV@ FIND = @FIND@ GMAKE = @GMAKE@ GMAKECONF = @GMAKECONF@ GREP = @GREP@ GV = @GV@ GZCAT = @GZCAT@ GZIP = @GZIP@ HACHA = @HACHA@ HEVEA = @HEVEA@ IMAGEN = @IMAGEN@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LATEX = @LATEX@ LATEX2HTML = @LATEX2HTML@ LATEX2RTF = @LATEX2RTF@ LGRIND = @LGRIND@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LPR = @LPR@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKECONF = @MAKECONF@ MAKEIDX = @MAKEIDX@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MPOST = @MPOST@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ PS2PDF = @PS2PDF@ RM = @RM@ RMDIR = @RMDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAR = @TAR@ TEX2PAGE = @TEX2PAGE@ TGIF = @TGIF@ USERGMAKECONF = @USERGMAKECONF@ USERMAKECONF = @USERMAKECONF@ VERSION = @VERSION@ XDVI = @XDVI@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ MKSRCS = latex.mk.in latex.subdir.mk.in lgrind.mk.in mpost.mk.in tgif.mk.in xfig.mk.in BMKFILES = ${MKSRCS:.mk.in=.mk} GMKFILES = ${MKSRCS:.mk.in=.gmk} PSFILES = dated_draft.ps pkgdata_DATA = ${BMKFILES} ${GMKFILES} ${PSFILES} bin_SCRIPTS = latex-mk ieee-copyout DISTCLEANFILES = \ configure.lineno \ ${BMKFILES} \ ${GMKFILES} EXTRA_DIST = ${PSFILES} TODO SUBDIRS = doc example testsuite SUFFIXES = .mk.in .mk .gmk SED_COMMON = -e 's;@pkgdatadir@;$(pkgdatadir);g' \ -e 's;@latexmkconfdir@;${sysconfdir};g' \ -e 's;@latexmkbindir@;${bindir};g' all: all-recursive .SUFFIXES: .SUFFIXES: .mk.in .mk .gmk am--refresh: @: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ cd $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --foreign Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) ieee-copyout: $(top_builddir)/config.status $(srcdir)/ieee-copyout.in cd $(top_builddir) && $(SHELL) ./config.status $@ latex-mk: $(top_builddir)/config.status $(srcdir)/latex-mk.in cd $(top_builddir) && $(SHELL) ./config.status $@ latex.mk.in: $(top_builddir)/config.status $(srcdir)/latex.mk.in.in cd $(top_builddir) && $(SHELL) ./config.status $@ latex.subdir.mk.in: $(top_builddir)/config.status $(srcdir)/latex.subdir.mk.in.in cd $(top_builddir) && $(SHELL) ./config.status $@ lgrind.mk.in: $(top_builddir)/config.status $(srcdir)/lgrind.mk.in.in cd $(top_builddir) && $(SHELL) ./config.status $@ mpost.mk.in: $(top_builddir)/config.status $(srcdir)/mpost.mk.in.in cd $(top_builddir) && $(SHELL) ./config.status $@ tgif.mk.in: $(top_builddir)/config.status $(srcdir)/tgif.mk.in.in cd $(top_builddir) && $(SHELL) ./config.status $@ xfig.mk.in: $(top_builddir)/config.status $(srcdir)/xfig.mk.in.in cd $(top_builddir) && $(SHELL) ./config.status $@ install-binSCRIPTS: $(bin_SCRIPTS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_SCRIPTS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f $$d$$p; then \ f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \ $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \ else :; fi; \ done uninstall-binSCRIPTS: @$(NORMAL_UNINSTALL) @list='$(bin_SCRIPTS)'; for p in $$list; do \ f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ rm -f "$(DESTDIR)$(bindir)/$$f"; \ done install-pkgdataDATA: $(pkgdata_DATA) @$(NORMAL_INSTALL) test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" @list='$(pkgdata_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \ $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \ done uninstall-pkgdataDATA: @$(NORMAL_UNINSTALL) @list='$(pkgdata_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \ rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) $(am__remove_distdir) test -d $(distdir) || mkdir $(distdir) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile $(SCRIPTS) $(DATA) all-local installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-pkgdataDATA install-dvi: install-dvi-recursive install-exec-am: install-binSCRIPTS install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-binSCRIPTS uninstall-pkgdataDATA .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am all-local am--refresh check check-am clean \ clean-generic ctags ctags-recursive dist dist-all dist-bzip2 \ dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \ distclean-generic distclean-tags distcleancheck distdir \ distuninstallcheck dvi dvi-am html html-am info info-am \ install install-am install-binSCRIPTS install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-pkgdataDATA install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am uninstall-binSCRIPTS \ uninstall-pkgdataDATA # make sure the latex-mk script is executible before installation so we # can give it a trial run here all-local: chmod 755 latex-mk chmod 755 ieee-copyout .mk.in.mk: sed -e 's/^BMK://g' -e '/^GMK:/d' ${SED_COMMON} $< > $@ .mk.in.gmk: sed -e 's/^GMK://g' -e '/^BMK:/d' ${SED_COMMON} $< > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: latex-mk-2.1/ieee-copyout.in100644 000144 000000 00000006570 10560000622 0011515#!/bin/sh # # $Id: ieee-copyout.in,v 1.2 2006/02/01 14:33:24 dan Exp $ # # Copyright (c) 2002 Dan McMahill # All rights reserved. # # This code is derived from software written by Dan McMahill # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by Dan McMahill # 4. The name of the author may not be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # # # This script will be used for creating an archive of the format that # the IEEE wants for paper submissions # echo "$0 has not been completed yet. Feel free to finish writing" echo "it and submit the new code." exit 1 VERSION=@VERSION@ MAXITERS=${MAXITERS:-5} LATEX=${LATEX:-latex} BIBTEX=${BIBTEX:-bibtex} IEEE_COPYOUT_LOG=${LOG:-ieee-copyout.log} SED_FILE=ieee-copyout.sed.$$$$ if [ -f $SED_FILE ]; then rm -f $SED_FILE fi sep="------------------------------------" while test -n "$1" do case "$1" in --clean) if [ -f $IEEE_COPYOUT_LOG ]; then rm -f $IEEE_COPYOUT_LOG fi exit 0 ;; --version) echo "ieee-copyout version $VERSION (part of LaTeX-Mk)" exit 0 ;; -*) echo "unknown option: $1" exit 1 ;; *) break ;; esac done INFILE=$1 if test -z "$INFILE" ; then echo "$0: You must specify an input file" exit 1 fi if test ! -f "${INFILE}" ; then INFILE=${INFILE}.tex fi if test ! -f "${INFILE}" ; then echo "$0: Neither ${INFILE} nor ${INFILE}.tex exists" exit 1 fi NAME=`basename ${INFILE} .tex` $ndir=/tmp/foo rm -f $ndir/* if [ ! -d $ndir ]; then mkdir -p $ndir fi echo Processing figures i=1 for f in `awk 'BEGIN{FS="[{}]+";} /^\\includegraphics/ {print $2;}' ${NAME}.tex` do nf=fig${i}.eps echo "Renaming $f to $nf" echo "s;{$f};{$nf};g" >> $SED_FILE cp $f $ndir/$nf i=`expr $i + 1` done set -x sed -f $SED_FILE $tf | awk '/@docstart@/,/@bibstart@/ {print}' > $ndir/${ntf}.tex cat jssc_autocal.bbl >> $ndir/${ntf}.tex sed -f $SED_FILE $tf | awk '/@bibend@/,/@docend@/ {print}' >> $ndir/${ntf}.tex cp IEEEtran.cls $ndir cat > $ndir/README.txt </dev/null ; then rm -f ${t} ODIR="." else if test -z "${TEXMFOUTPUT}"; then echo "$0: The current directory: ${here}" echo "is not writeable and TEXMFOUTPUT is not set. LaTeX can not be run." exit 1 else t="${TEXMFOUTPUT}/${t}" if touch ${t} 2>/dev/null ; then rm -f ${t} ODIR="${TEXMFOUTPUT}" if test -z "${TEXINPUTS}" ; then TEXINPUTS="${ODIR}:" else TEXINPUTS="${ODIR}:${TEXINPUTS}:" fi export TEXINPUTS if test -z "${BIBINPUTS}" ; then BIBINPUTS=".:${here}:" else BIBINPUTS=".:${here}:${BIBINPUTS}:" fi export BIBINPUTS else echo "$0: Neither the current directory: ${here}" echo " nor the directory specified by TEXMFOUTPUT: ${TEXMFOUTPUT}" echo " can be written to. LaTeX can not be run." exit 1 fi fi fi echo "${LATEX_MK_LOG}" | grep "^/" if test $? -ne 0 ; then LATEX_MK_LOG="${ODIR}/${LATEX_MK_LOG}" fi # list of files to monitor. If they change, we will rerun # LaTeX again. These are all suffixes of ${NAME} # # glo = \glossaryentry commands from \glossary # gls = glossary file created by (normally) makeindex from the .glo file # ilg = glossary log file created by (normally) makeindex # ind = index file created by the makeindex program from the .idx file # lof = list of figures # lot = list of tables # toc = table of contents monitor_files="glo gls ind lof lot toc" clean_files="idx ilg ${monitor_files}" sep="------------------------------------" ####################################################################### # # usage() # usage() { cat << EOF $0 This is a wrapper script used by the LaTeX-Mk makefile system for LaTeX documents. Its purpose is to run LaTeX the appropriate number of times to resolve all references and page changes associated with resolving references. In addition BibTex and makeindex runs are performed as needed. Although the primary purpose of this script is to be a support tool for the LaTeX-Mk system, it may be run standalone. OPTIONS -b, --bibtex : Force a run of bibtex even if there were no missing citations. --clean : Clean up various state files and log files used by $0. --debug : Enable verbose debugging output. -h, --help : Display this help message. --ignore-errors : Ignores any error codes from the various programs which are run. --pdflatex : Use PDFLaTeX instead of LaTeX. --testlog logfile : Log the actions taken by this script to the file "logfile". This is used as part of the regression test suite and is primarily for developer use. The exact format and contents of the log file are subject to change without notification. --tex2page : Use TeX2Page instead of LaTeX. --version : Displays the version and exits. ENVIRONMENT VARIABLES The following environment variables, with defaults shown in [], affect the behaviour of $0. BIBTEX [${BIBTEX}] BIBTEX_FLAGS [${BIBTEX_FLAGS}] LATEX [${LATEX}] LATEX_FLAGS [${LATEX_FLAGS}] MAKEIDX [${MAKEIDX}] MAKEIDX_FLAGS [${MAKEIDX_FLAGS}] MAKEGLS [${MAKEGLS}] MAKEGLS_FLAGS [${MAKEGLS_FLAGS}] PDFLATEX [${PDFLATEX}] PDFLATEX_FLAGS [${PDFLATEX_FLAGS}] TEX2PAGE [${TEX2PAGE}] TEX2PAGE_FLAGS [${TEX2PAGE_FLAGS}] TEXMFOUTPUT [${TEXMFOUTPUT}] LATEX_MK_LOG [${LOG}] SEE ALSO http://latex-mk.sf.net EOF } # ####################################################################### ignore_errors=no debug=no do_clean=no force_bibtex=no test_log="" flags="" while test -n "$1" do case "$1" in -b|--bibtex) force_bibtex=yes flags="${flags} bibtex" shift ;; --clean) do_clean=yes flags="${flags} clean" shift ;; --debug) debug=yes echo "$0: Enabling debug mode" shift ;; -h|--help) usage exit 0 ;; --ignore-errors) ignore_errors=yes flags="${flags} ignore_errors" shift ;; --pdflatex) LATEX=$PDFLATEX LATEX_FLAGS=$PDFLATEX_FLAGS flags="${flags} pdflatex" shift ;; --testlog) test_log="$2" shift 2 ;; --tex2page) LATEX=$TEX2PAGE LATEX_FLAGS=$TEX2PAGE_FLAGS flags="${flags} tex2page" shift ;; --version) echo "latex-mk version $VERSION" exit 0 ;; -*) echo "unknown option: $1" exit 1 ;; *) break ;; esac done ####################################################################### # # log() # first_log=yes log() { # Log a message to the test log file if it has been defined. if test -n "$test_log" ; then if test "${first_log}" = "yes" ; then first_log=no rm -f $test_log fi if test ! -f $test_log ; then touch $test_log if test $? -ne 0 ; then echo "$0: Could not write to test log $test_log" > /dev/stderr exit 1 fi fi echo "$*" >> $test_log fi } # # ####################################################################### ####################################################################### # # check_bibunits() check_bibunits() { msg="Checking if ${NAME} uses the bibunits package..." if grep "bibunits.sty" "$LATEX_MK_LOG" >/dev/null ; then rslt="yes" using_bibunits=yes log "bibunits package detected" else rslt="yes" using_bibunits=no fi report "$msg $rslt" } # ####################################################################### ####################################################################### # # new_or_changed() # new_or_changed() { f=$1 r=1 report "Checking for ${f} ..." if [ -f "${f}" ]; then if [ ! -f "${f}.old" ]; then log "\"${f}\" is new" r=0 elif cmp -s "${f}.old" "${f}" ; then log "\"${f}\" is not changed" else log "\"${f}\" has changed" r=0 fi cp -p "${f}" "${f}.old" fi return ${r} } # # ####################################################################### ####################################################################### # # report() -- Like echo but with some decorations added to help # the user know what tool is producing the message # report() { cat </dev/null 2>/dev/null ; then rslt="yes" bibtex_ok=yes log "check_bib(): It is ok to run BibTex (found $w)" fi report "$msg $rslt" done rc=0 if test $bibtex_ok = no ; then rc=1 fi return $rc } # ####################################################################### ####################################################################### # # run_latex() # run_latex() { # run latex. If it fails, manually remove the .dvi file since # latex won't. Leaving the .dvi file would confuse 'make' because on the next # invocation, the .dvi file would appear to be up to date already. log "run_latex() called" ( ( ( "$LATEX" $LATEX_FLAGS "$INFILE" 2>&1 ; echo $? >&4) | tee "$LATEX_MK_LOG" 1>&3) 4>&1 | (read a; exit $a)) 3>&1 rc=$? if test $rc -ne 0 -a "$ignore_errors" != "yes" ; then echo "$sep" echo "$0: Error: LaTeX failed" echo "$sep" rm -f "${ODIR}/${NAME}.dvi" "${ODIR}/${NAME}.pdf" rm -f "$LATEX_MK_LOG" log "run_latex() failed" exit $rc fi } # ####################################################################### ####################################################################### # # run_bibtex() # run_bibtex() { log "run_bibtex $* called" do_post=yes while test $# -gt 0 ; do case $1 in --skip-post-hook) do_post=no shift ;; -*) echo "$0: INTERNAL ERROR: run_bibtex $*" exit 1 ;; *) break ;; esac done BIBFILE="${1:-${NAME}}" log "cd \"${ODIR}\" && \"$BIBTEX\" $BIBTEX_FLAGS \"${BIBFILE}\"" echo "${sep}" echo "Running BibTeX" echo "cd $\"{ODIR}\" && \"$BIBTEX\" $BIBTEX_FLAGS \"${BIBFILE}\"" cd "${ODIR}" && "$BIBTEX" $BIBTEX_FLAGS "${BIBFILE}" rc=$? cd ${here} if test $rc -ne 0 -a "$ignore_errors" != "yes" ; then echo "$sep" echo "$0: Error: BibTeX failed" echo "$sep" rm -f "${ODIR}/${NAME}.dvi" "${ODIR}/${NAME}.pdf" rm -f "$LATEX_MK_LOG" log "run_bibtex($*) failed" exit $rc fi # run the post-bibtex hook if its been defined if test "$do_post" = "yes" -a "X$POST_BIBTEX_HOOK" != "X" ; then if test -x $POST_BIBTEX_HOOK ; then $POST_BIBTEX_HOOK "$BIBFILE" rc=$? if test $rc -ne 0 ; then echo "$POST_BIBTEX_HOOK "$BIBFILE" failed" rm -f "${ODIR}/${NAME}.dvi" "${ODIR}/${NAME}.pdf" rm -f "$LATEX_MK_LOG" exit $rc fi fi fi echo "${sep}" } ####################################################################### # # run_makeindex() # run_makeindex() { log "run_makeindex() called" log "cd \"${ODIR}\" && \"$MAKEIDX\" $MAKEIDX_FLAGS \"$NAME\"" echo "${sep}" echo "Running makeindex" echo "cd \"${ODIR}\" && \"$MAKEIDX\" $MAKEIDX_FLAGS \"$NAME\"" cd "${ODIR}" && "$MAKEIDX" $MAKEIDX_FLAGS "$NAME" rc=$? cd ${here} if test $rc -ne 0 -a "$ignore_errors" != "yes" ; then echo "$sep" echo "$0: Error: makeindex failed" echo "$sep" rm -f "${ODIR}/${NAME}.dvi" "${ODIR}/${NAME}.pdf" rm -f "$LATEX_MK_LOG" log "run_makeindex() failed" exit $rc fi echo "${sep}" } ####################################################################### # # run_makeglossary() # run_makeglossary() { log "run_makeglossary() called" log "cd \"${ODIR}\" && \"$MAKEGLS\" $MAKEGLS_FLAGS -s \"$GLSFILE\" \"$NAME.glo\" -o \"$NAME.gls\"" echo "${sep}" echo "Running `basename $MAKEGLS`" echo "cd \"${ODIR}\" && \"$MAKEGLS\" $MAKEGLS_FLAGS -s \"$GLSFILE\" -o \"$NAME.gls\" \"$NAME.glo\"" cd "${ODIR}" && "$MAKEGLS" $MAKEGLS_FLAGS -s "$GLSFILE" -o "$NAME.gls" "$NAME.glo" rc=$? cd ${here} if test $rc -ne 0 -a "$ignore_errors" != "yes" ; then echo "$sep" echo "$0: Error: `basename $MAKEGLS` failed" echo "$sep" rm -f "${ODIR}/${NAME}.dvi" "${ODIR}/${NAME}.pdf" rm -f "$LATEX_MK_LOG" log "run_makeglossary() failed" exit $rc fi echo "${sep}" } # ####################################################################### if [ "X$force_bibtex" = "Xyes" ] ; then log "Running with force_bibtex" run_latex run_bibtex fi cnt=0 bibcnt=0 while test $cnt -lt $MAXITERS ; do log "${sep}" log "Pass #${cnt}" run_latex # if the document uses the bibunits package, then we will end up # with a bunch of .bib files and a bunch of .aux files and we will # need to run bibtex check_bibunits # if we need to run bibtex, we should end up with something like this: #LaTeX Warning: Citation `foo' on page 1 undefined on input line 2 # and #LaTeX Warning: There were undefined references. # # After bibtex is run, we will get one more latex run that has a citation # complaint so we allow one more complaint from latex before declaring # that there is a problem with the citations. Just in case someone # wants to keep running latex and viewing/printing the results with these # errors present, provide a way to override this. # # Evidently, we may also simply get the following complaint: # # No file foo.bbl # # instead of the previous warning. This can happen if you only have # something like \nocite{*} in your document instead of \cite{x} # if test "$using_bibunits" = "yes" -a $cnt -eq 0 ; then for f in "${ODIR}"/*.aux ; do case $f in # FIXME -- the user can potentially change # the file names used here. Is there a more robust # way? ${ODIR}/bu[0-9]*.aux) fb=`basename $f .aux` log "Running bibtex on $f" run_bibtex --skip-post-hook "${fb}" ;; esac done fi needbib=`grep "Citation.*undefined" "$LATEX_MK_LOG"` if test -n "$needbib" ; then log "Citation undefined" ; fi if test -z "$needbib" ; then report "Checking for missing .bbl files in latex log ..." needbib=`grep "No file.*\.bbl" "$LATEX_MK_LOG"` if test -n "$needbib" ; then log "Missing .bbl" ; fi fi if test -n "$needbib" ; then if test $bibcnt -eq 0 ; then # This is a bit of a dodgy thing here. If we are using # the bibunits package, we will probably end up here # but we actually don't need to run bibtex on the main # document. There is also the possiblilty that we still # need to run bibtex. It all depends on if we have a # non-bibunits bibliography too or not if check_bib ; then echo "$sep" echo "$0: Running bibtex to resolve citations" echo "$sep" log "BibTex run #1" run_bibtex else log "Skip BibTex run #1 (due to check_bib)" fi elif test $bibcnt -eq 1 ; then echo "$sep" echo "$0: BibTeX has already been run, but LaTeX is still reporting" echo " $needbib." echo " Trying LaTeX one more time...." echo "$sep" log "Try another latex run for the citations" elif test -n "$IGNORE_CITATION_WARNS" ; then echo "$sep" echo "$0: WARNING: BibTeX has already been run, but LaTeX is still reporting" echo "$0: $needbib" echo "$0: You have set the IGNORE_CITATION_WARNS variable to override this, but" echo "$0: you probably do have an error in your citations." echo "$sep" log "Could not resolve citations but you are ignoring this" else echo "$sep" echo "$0: Error: BibTeX has already been run, but LaTeX is still reporting" echo "$0: $needbib" echo "$sep" rm -f "$LATEX_MK_LOG" log "Exit with undefined citations" if test "$ignore_errors" = "yes" ; then exit 0 ; else exit 1 ; fi fi bibcnt=`expr $bibcnt + 1` fi # Check if we need to run makeindex. What will happen is the first LaTeX run # generates a .idx file. Then we run makeindex to operate on the .idx file # and generate a .ind file. Since we monitor the .ind file all we must do here # is see if a makeindex run is needed. if new_or_changed "${ODIR}/${NAME}.idx" ; then log "\"${ODIR}/${NAME}.idx\" new or changed -> need to run makeindex" run_makeindex fi # we shouldn't need this, but lets be sure if test -f "${ODIR}/${NAME}.idx" -a ! -f "${ODIR}/${NAME}.ind" ; then log "\"${ODIR}/${NAME}.idx\" exists but not \"${ODIR}/${NAME}.ind\" -> run makeindex" run_makeindex fi if test -f "${ODIR}/${NAME}.glo" && new_or_changed "${ODIR}/${NAME}.glo" ; then log "\"${ODIR}/${NAME}.glo\" new or changed -> need to update glossary" run_makeglossary fi # Examine the list of figures, list of tables, table of contents, etc # files because when these change, we need to re-run latex, but # sometimes latex does not tell us this. changed_file="" for sfx in $monitor_files ; do if new_or_changed "${ODIR}/${NAME}.${sfx}" ; then changed_file="${changed_file} \"${ODIR}/${NAME}.${sfx}\"" echo "\"${ODIR}/${NAME}.${sfx}\" is new or changed. LaTeX needs to be re-run" fi done # with latex, you might see: #LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right # # with tex2page, you may get: #Rerun: tex2page week5.tex # rerun=`grep "Rerun" "$LATEX_MK_LOG"` log "rerun = ${rerun}" log "needbib = ${needbib}" log "changed_file = ${changed_file}" if test -z "$rerun" -a -z "$needbib" -a -z "$changed_file" ; then log "No rerun is needed" break; fi log "Rerun is needed" echo "$sep" echo "$0: LaTeX references have changed, another latex run is needed" echo "$sep" cnt=`expr $cnt + 1` if test "X$debug" = "Xyes" ; then echo "$0 debug: incremented cnt=$cnt" ; fi done #LaTeX Warning: There were undefined references. undefined=`grep "There were undefined references" "$LATEX_MK_LOG"` if test -n "$undefined" ; then log "Finished but still have undefined references." echo "$sep" echo "$0: There were undefined references. Please correct this." echo "$0: I have already made $cnt passes." #LaTeX Warning: Reference `tab:fuse_table' on page 3 undefined on input line 82. grep "Reference.*on page.*undefined" "$LATEX_MK_LOG" echo "$sep" fi #LaTeX Warning: There were multiply-defined labels. mult=`grep "multiply-defined labels" "$LATEX_MK_LOG"` if test -n "$mult" ; then log "Finished but still have multiply defined labels." echo "$sep" echo "$0: There were multiply defined labels." echo "$0: You may wish to correct this" #LaTeX Warning: Label `fig:myfig' multiply defined. grep "multiply defined" "$LATEX_MK_LOG" echo "$sep" fi if test $cnt -eq $MAXITERS ; then log "Reached iteration limit." echo "$sep" echo "$0: Failed to get LaTeX to converge after $MAXITERS tries" echo "$0: Please fix the document or try again if you think it" echo "$0: should be ok" echo "$sep" rm -f "$LATEX_MK_LOG" if test "$ignore_errors" = "yes" ; then exit 0 ; else exit 1 ; fi fi log "Remove log and exit." rm -f "$LATEX_MK_LOG" exit 0 latex-mk-2.1/latex.mk.in.in100644 000144 000000 00000104430 11353567176 0011257# -*- Makefile -*- # $Id: latex.mk.in.in,v 1.68 2010/03/28 05:51:58 dan Exp $ # # Makefile fragment for handling LaTeX projects # # Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Dan McMahill # All rights reserved. # # This code is derived from software written by Dan McMahill # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by Dan McMahill # 4. The name of the author may not be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # ####################################### # # README: # # To use this makefile fragment, set the variable: # NAME = Top level project name. Your top level LaTeX # file should be called $(NAME).tex # # TEXSRCS = Additional LaTeX input files (.tex) # # and add the line: # .include "latex.mk" # in your top level Makefile # # The following variables may be overridden in your top level Makefile # # BIBTEX = the BibTeX executable # BIBEX_FLAGS = flags passed to the BibTeX executable # CONVERT = the 'convert' program which is part of ImageMagick # DVIPDFM = the dvipdfm executable # DVIPDFM_ENV = environment variables set when running the dvipdfm executable # DVIPDFM_FLAGS= flags passed to the dvipdfm executable # DVIPS = the dvips executable # DVIPS_ENV = environment variables set when running the dvips executable # DVIPS_FLAGS = flags passed to the dvips executable # GZIP = gzip program # GV = a postscript previewer executable # GV_FLAGS = flags passed to the postscript previewer executable # JPG2EPS = program and flags used to convert JPEG files to EPS # LATEX = the LaTeX executable # LATEX_ENV = environment variables set when running the LaTeX executable # LATEX_FLAGS = flags passed to the LaTeX executable # LATEX2HTML = LaTeX2HTML executable # LATEX2HTML_ENV # = environment variables set when running LATEX2HTML # LATEX2HTML_FLAGS # = flags passed to LATEX2HTML # LATEX2RTF = LaTeX2RTF executable # LATEX2RTF_ENV # = environment variables set when running LATEX2RTF # LATEX2RTF_FLAGS # = flags passed to LATEX2RTF # LPR = executable to print postscript files # LPR_FLAGS = flags passed to the executable to print postscript files # MAKEIDX = the makeindex executable # MAKEIDX_FLAGS= flags passed to the makeindex executable # MAKEGLS = executable to create glossary # MAKEGLS_FLAGS= flags passed to the executable to create glossary # PDFLATEX = pdflatex executable # PDFLATEX_ENV = environment variables set when running the PDFLaTeX executable # PDFLATEX_FLAGS= flags passed to the PDFLaTeX executable # PNG2EPS = program and flags used to convert PNG files to EPS # PS2PDF = ps2pdf executable # PS2PDF_FLAGS = flags passed to the ps2pdf executable # TAR = tape archiver program # VIEWPDF = PDF viewer # VIEWPDF_FLAGS= PDF viewer flags # XDVI = a .dvi previewer executable # XDVI_FLAGS = flags passed to the .dvi previewer executable # # USE_DVIPDFM = set to use dvipdfm to create pdf files from dvi # instead of using dvips and ps2pdf # USE_PDFLATEX = set to use pdflatex to create pdf files from .tex # files instead of using latex, dvips and ps2pdf # ####################################### GMK:# figure out the name of the Makefile. We'll need this to include GMK:# in the tar file created as part of the 'dist' target GMK:MAKEFILE:= $(word 1,${MAKEFILE_LIST}) BMK:MAKECONF?= @MAKECONF@ BMK:USER_MAKECONF?= @USERMAKECONF@ GMK:MAKECONF?= @GMAKECONF@ GMK:USER_MAKECONF?= @USERGMAKECONF@ BMK:.if exists(${MAKECONF}) BMK:.include "${MAKECONF}" BMK:.endif BMK: BMK:.if exists(${USER_MAKECONF}) BMK:.include "${USER_MAKECONF}" BMK:.endif GMK:_CONFS= $(wildcard ${MAKECONF}) GMK:_CONFS+= $(wildcard ${USER_MAKECONF}) GMK:include ${_CONFS} # Make sure we set at least 1 way for creating html files BMK:.if !defined(USE_HEVEA) && !defined(USE_TEX2PAGE) GMK:ifndef USE_HEVEA GMK:ifndef USE_TEX2PAGE USE_LATEX2HTML= YES BMK:.endif GMK:endif GMK:endif # The location of the latex-mk .mk and .gmk files # we do this instead of hard coding so the package # can be tested before installation by setting this # variable in a test config file LATEX_MK_DIR?= @pkgdatadir@ AWK?= @AWK@ BIBTEX?= @BIBTEX@ CONVERT?= @CONVERT@ DVIPDFM?= @DVIPDFM@ DVIPDFM_ENV?= DVIPDFM_FLAGS+= DVIPDFM_LANDSCAPE_FLAGS?= -l DVIPS?= @DVIPS@ DVIPS_ENV?= DVIPS_FLAGS+= -j0 DVIPS_LANDSCAPE_FLAGS?= -t landscape ECHO?= @ECHO@ ENV_PROG?= @ENV_PROG@ FALSE?= @FALSE@ FIND?= @FIND@ GREP?= @GREP@ GV?= @GV@ GV_FLAGS?= GV_LANDSCAPE_FLAGS?= -landscape GZCAT?= @GZCAT@ GZIP?= @GZIP@ HACHA?= @HACHA@ HACHA_ENV?= HACHA_FLAGS?= HEVEA?= @HEVEA@ HEVEA_ENV?= HEVEA_FLAGS?= -fix IMAGEN?= @IMAGEN@ JPG2EPS?= ${CONVERT} LATEX_MK?= @latexmkbindir@/latex-mk LATEX_MK_FLAGS?= LATEX?= @LATEX@ LATEX_ENV?= LATEX2HTML?= @LATEX2HTML@ LATEX2HTML_ENV?= LATEX2HTML_FLAGS?=-image_type png -local_icons -show_section_numbers LATEX2RTF?= @LATEX2RTF@ LATEX2RTF_ENV?= LATEX2RTF_FLAGS?= LPR?= @LPR@ LPR_FLAGS?= MAKEIDX?= @MAKEIDX@ MAKEIDX_FLAGS?= MAKEGLS?= @MAKEIDX@ MAKEGLS_FLAGS?= PDFLATEX?= @PDFLATEX@ PDFLATEX_ENV?= PDFLATEX_FLAGS?= PNG2EPS?= ${CONVERT} POST_BIBTEX_HOOK?= RM?= @RM@ RMDIR?= @RMDIR@ PS2PDF?= @PS2PDF@ PS2PDF_FLAGS?= TAR?= @TAR@ TEX2PAGE?= @TEX2PAGE@ TEX2PAGE_ENV?= TEX2PAGE_FLAGS?= XDVI?= @XDVI@ XDVI_FLAGS?= XDVI_LANDSCAPE_FLAGS?= -paper usr VIEWPDF?= ${GV} VIEWPDF_FLAGS?= ${GV_FLAGS} VIEWPDF_LANDSCAPE_FLAGS?= ${GV_LANDSCAPE_FLAGS} DRAFT_STAMP_PS?= draft_stamp.ps DATED_DRAFT_PS?= ${LATEX_MK_DIR}/dated_draft.ps BMK:.if !target(default) .PHONY: default default: all BMK:.endif BMK:.if !target(all) .MAIN: all .PHONY: all all:: view-all BMK:.endif BMK:.if defined(LANDSCAPE) GMK:ifdef LANDSCAPE DVIPS_FLAGS+= ${DVIPS_LANDSCAPE_FLAGS} DVIPDFM_FLAGS+= ${DVIPDFM_LANDSCAPE_FLAGS} GV_FLAGS+= ${GV_LANDSCAPE_FLAGS} XDVI_FLAGS+= ${XDVI_LANDSCAPE_FLAGS} VIEWPDF_FLAGS+= ${VIEWPDF_LANDSCAPE_FLAGS} BMK:.endif GMK:endif BMK:REAL_LATEX_ENV+= LATEX=${LATEX:Q} BMK:REAL_LATEX_ENV+= LATEX_FLAGS=${LATEX_FLAGS} BMK:REAL_LATEX_ENV+= BIBTEX=${BIBTEX:Q} BMK:REAL_LATEX_ENV+= BIBTEX_FLAGS=${BIBTEX_FLAGS} BMK:REAL_LATEX_ENV+= MAKEIDX=${MAKEIDX:Q} BMK:REAL_LATEX_ENV+= MAKEIDX_FLAGS=${MAKEIDX_FLAGS} BMK:REAL_LATEX_ENV+= MAKEGLS=${MAKEGLS:Q} BMK:REAL_LATEX_ENV+= MAKEGLS_FLAGS=${MAKEGLS_FLAGS} BMK:REAL_LATEX_ENV+= POST_BIBTEX_HOOK=${POST_BIBTEX_HOOK} BMK:REAL_LATEX_ENV+= ${LATEX_ENV} BMK: BMK:REAL_PDFLATEX_ENV+= PDFLATEX=${PDFLATEX:Q} BMK:REAL_PDFLATEX_ENV+= PDFLATEX_FLAGS=${PDFLATEX_FLAGS} BMK:REAL_PDFLATEX_ENV+= BIBTEX=${BIBTEX:Q} BMK:REAL_PDFLATEX_ENV+= BIBTEX_FLAGS=${BIBTEX_FLAGS} BMK:REAL_PDFLATEX_ENV+= MAKEIDX=${MAKEIDX:Q} BMK:REAL_PDFLATEX_ENV+= MAKEIDX_FLAGS=${MAKEIDX_FLAGS} BMK:REAL_PDFLATEX_ENV+= MAKEGLS=${MAKEGLS:Q} BMK:REAL_PDFLATEX_ENV+= MAKEGLS_FLAGS=${MAKEGLS_FLAGS} BMK:REAL_PDFLATEX_ENV+= POST_BIBTEX_HOOK=${POST_BIBTEX_HOOK} BMK:REAL_PDFLATEX_ENV+= ${PDFLATEX_ENV} BMK: BMK:REAL_TEX2PAGE_ENV+= TEX2PAGE=${TEX2PAGE:Q} BMK:REAL_TEX2PAGE_ENV+= TEX2PAGE_FLAGS=${TEX2PAGE_FLAGS} BMK:REAL_TEX2PAGE_ENV+= BIBTEX=${BIBTEX:Q} BMK:REAL_TEX2PAGE_ENV+= BIBTEX_FLAGS=${BIBTEX_FLAGS} BMK:REAL_TEX2PAGE_ENV+= MAKEIDX=${MAKEIDX:Q} BMK:REAL_TEX2PAGE_ENV+= MAKEIDX_FLAGS=${MAKEIDX_FLAGS} BMK:REAL_TEX2PAGE_ENV+= MAKEGLS=${MAKEGLS:Q} BMK:REAL_TEX2PAGE_ENV+= MAKEGLS_FLAGS=${MAKEGLS_FLAGS} BMK:REAL_TEX2PAGE_ENV+= POST_BIBTEX_HOOK=${POST_BIBTEX_HOOK} BMK:REAL_TEX2PAGE_ENV+= ${TEX2PAGE_ENV} GMK:REAL_LATEX_ENV+= LATEX=${LATEX} GMK:REAL_LATEX_ENV+= LATEX_FLAGS=${LATEX_FLAGS} GMK:REAL_LATEX_ENV+= BIBTEX=${BIBTEX} GMK:REAL_LATEX_ENV+= BIBTEX_FLAGS=${BIBTEX_FLAGS} GMK:REAL_LATEX_ENV+= MAKEIDX=${MAKEIDX} GMK:REAL_LATEX_ENV+= MAKEIDX_FLAGS=${MAKEIDX_FLAGS} GMK:REAL_LATEX_ENV+= MAKEGLS=${MAKEGLS} GMK:REAL_LATEX_ENV+= MAKEGLS_FLAGS=${MAKEGLS_FLAGS} GMK:REAL_LATEX_ENV+= POST_BIBTEX_HOOK=${POST_BIBTEX_HOOK} GMK:REAL_LATEX_ENV+= ${LATEX_ENV} GMK: GMK:REAL_PDFLATEX_ENV+= PDFLATEX=${PDFLATEX} GMK:REAL_PDFLATEX_ENV+= PDFLATEX_FLAGS=${PDFLATEX_FLAGS} GMK:REAL_PDFLATEX_ENV+= BIBTEX=${BIBTEX} GMK:REAL_PDFLATEX_ENV+= BIBTEX_FLAGS=${BIBTEX_FLAGS} GMK:REAL_PDFLATEX_ENV+= MAKEIDX=${MAKEIDX} GMK:REAL_PDFLATEX_ENV+= MAKEIDX_FLAGS=${MAKEIDX_FLAGS} GMK:REAL_PDFLATEX_ENV+= MAKEGLS=${MAKEGLS} GMK:REAL_PDFLATEX_ENV+= MAKEGLS_FLAGS=${MAKEGLS_FLAGS} GMK:REAL_PDFLATEX_ENV+= POST_BIBTEX_HOOK=${POST_BIBTEX_HOOK} GMK:REAL_PDFLATEX_ENV+= ${PDFLATEX_ENV} GMK: GMK:REAL_TEX2PAGE_ENV+= TEX2PAGE=${TEX2PAGE} GMK:REAL_TEX2PAGE_ENV+= TEX2PAGE_FLAGS=${TEX2PAGE_FLAGS} GMK:REAL_TEX2PAGE_ENV+= BIBTEX=${BIBTEX} GMK:REAL_TEX2PAGE_ENV+= BIBTEX_FLAGS=${BIBTEX_FLAGS} GMK:REAL_TEX2PAGE_ENV+= MAKEIDX=${MAKEIDX} GMK:REAL_TEX2PAGE_ENV+= MAKEIDX_FLAGS=${MAKEIDX_FLAGS} GMK:REAL_TEX2PAGE_ENV+= MAKEGLS=${MAKEGLS} GMK:REAL_TEX2PAGE_ENV+= MAKEGLS_FLAGS=${MAKEGLS_FLAGS} GMK:REAL_TEX2PAGE_ENV+= POST_BIBTEX_HOOK=${POST_BIBTEX_HOOK} GMK:REAL_TEX2PAGE_ENV+= ${TEX2PAGE_ENV} # Include other .mk files often times used with LaTeX ####################################### # # Check for lgrind # ####################################### # Check for LGRINDSRCS and LGRINDDIRS BMK:.if defined(LGRINDSRCS) || defined(LGRINDDIRS) BMK:_USE_LGRIND_MK= YES BMK:.endif GMK:ifdef LGRINDSRCS GMK:_USE_LGRIND_MK+= YES GMK:endif GMK:ifdef LGRINDDIRS GMK:_USE_LGRIND_MK+= YES GMK:endif # Check for proj_LGRINDSRCS and proj_LGRINDDIRS BMK:.for __tmp__ in ${NAME} BMK:.if defined(${__tmp__}_LGRINDSRCS) || defined(${__tmp__}_LGRINDDIRS) BMK:_USE_LGRIND_MK= YES BMK:.endif BMK:.endfor GMK: GMK:define add_lgrind_mk_template GMK:ifdef $(1)_LGRINDSRCS GMK:_USE_LGRIND_MK= YES GMK:endif GMK:ifdef $(1)_LGRINDDIRS GMK:_USE_LGRIND_MK= YES GMK:endif GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call add_lgrind_mk_template,$(__tmp__)))) # pull in lgrind.[g]mk if needed BMK:.if defined(_USE_LGRIND_MK) BMK:.include "${LATEX_MK_DIR}/lgrind.mk" BMK:.endif GMK:ifdef _USE_LGRIND_MK GMK:include ${LATEX_MK_DIR}/lgrind.gmk GMK:endif ####################################### # # Check for METAPOST # ####################################### # Check for MPOSTSRCS and MPOSTDIRS BMK:.if defined(MPOSTSRCS) || defined(MPOSTDIRS) BMK:_USE_MPOST_MK= YES BMK:.endif GMK:ifdef MPOSTSRCS GMK:_USE_MPOST_MK+= YES GMK:endif GMK:ifdef MPOSTDIRS GMK:_USE_MPOST_MK+= YES GMK:endif # Check for proj_MPOSTSRCS and proj_MPOSTDIRS BMK:.for __tmp__ in ${NAME} BMK:.if defined(${__tmp__}_MPOSTSRCS) || defined(${__tmp__}_MPOSTDIRS) BMK:_USE_MPOST_MK= YES BMK:.endif BMK:.endfor GMK: GMK:define add_mpost_mk_template GMK:ifdef $(1)_MPOSTSRCS GMK:_USE_MPOST_MK= YES GMK:endif GMK:ifdef $(1)_MPOSTDIRS GMK:_USE_MPOST_MK= YES GMK:endif GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call add_mpost_mk_template,$(__tmp__)))) # pull in mpost.[g]mk if needed BMK:.if defined(_USE_MPOST_MK) BMK:.include "${LATEX_MK_DIR}/mpost.mk" BMK:.endif GMK:ifdef _USE_MPOST_MK GMK:include ${LATEX_MK_DIR}/mpost.gmk GMK:endif ####################################### # # Check for tgif # ####################################### # Check for TGIFSRCS and TGIFDIRS BMK:.if defined(TGIFSRCS) || defined(TGIFDIRS) BMK:_USE_TGIF_MK= YES BMK:.endif GMK:ifdef TGIFSRCS GMK:_USE_TGIF_MK+= YES GMK:endif GMK:ifdef TGIFDIRS GMK:_USE_TGIF_MK+= YES GMK:endif # Check for proj_TGIFSRCS and proj_TGIFDIRS BMK:.for __tmp__ in ${NAME} BMK:.if defined(${__tmp__}_TGIFSRCS) || defined(${__tmp__}_TGIFDIRS) BMK:_USE_TGIF_MK= YES BMK:.endif BMK:.endfor GMK: GMK:define add_tgif_mk_template GMK:ifdef $(1)_TGIFSRCS GMK:_USE_TGIF_MK= YES GMK:endif GMK:ifdef $(1)_TGIFDIRS GMK:_USE_TGIF_MK= YES GMK:endif GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call add_tgif_mk_template,$(__tmp__)))) # pull in tgif.[g]mk if needed BMK:.if defined(_USE_TGIF_MK) BMK:.include "${LATEX_MK_DIR}/tgif.mk" BMK:.endif GMK:ifdef _USE_TGIF_MK GMK:include ${LATEX_MK_DIR}/tgif.gmk GMK:endif ####################################### # # Check for xfig # ####################################### # Check for XFIGSRCS and XFIGDIRS BMK:.if defined(XFIGSRCS) || defined(XFIGDIRS) BMK:_USE_XFIG_MK= YES BMK:.endif GMK:ifdef XFIGSRCS GMK:_USE_XFIG_MK+= YES GMK:endif GMK:ifdef XFIGDIRS GMK:_USE_XFIG_MK+= YES GMK:endif # Check for proj_XFIGSRCS and proj_XFIGDIRS BMK:.for __tmp__ in ${NAME} BMK:.if defined(${__tmp__}_XFIGSRCS) || defined(${__tmp__}_XFIGDIRS) BMK:_USE_XFIG_MK= YES BMK:.endif BMK:.endfor GMK: GMK:define add_xfig_mk_template GMK:ifdef $(1)_XFIGSRCS GMK:_USE_XFIG_MK= YES GMK:endif GMK:ifdef $(1)_XFIGDIRS GMK:_USE_XFIG_MK= YES GMK:endif GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call add_xfig_mk_template,$(__tmp__)))) # pull in xfig.[g]mk if needed BMK:.if defined(_USE_XFIG_MK) BMK:.include "${LATEX_MK_DIR}/xfig.mk" BMK:.endif GMK:ifdef _USE_XFIG_MK GMK:include ${LATEX_MK_DIR}/xfig.gmk GMK:endif ####################################### # # Targets # ####################################### ####################################### # target: view_ ####################################### BMK:.for __tmp__ in ${NAME} BMK:.PHONY: view_${__tmp__} BMK:.if defined(USE_PDFLATEX) BMK:view_${__tmp__}: viewpdf_${__tmp__} BMK:.else BMK:view_${__tmp__}: ${__tmp__}.dvi BMK: ${XDVI:Q} ${XDVI_FLAGS} ${__tmp__}.dvi BMK:.endif BMK:DEFAULTVIEW?= view_${__tmp__} BMK:ALLVIEW+= view_${__tmp__} BMK:.endfor GMK:define view_template GMK:.PHONY: view_$(1) GMK:ifdef USE_PDFLATEX GMK:view_$(1): viewpdf_$(1) GMK:else GMK:view_$(1): $(1).dvi GMK: $(XDVI) $(XDVI_FLAGS) $(1).dvi GMK:endif GMK:ALLVIEW+= view_$(1) GMK:DEFAULTVIEW?= view_$(1) GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call view_template,$(__tmp__)))) ####################################### # target: viewps_ ####################################### BMK:.for __tmp__ in ${NAME} BMK:.PHONY: viewps_${__tmp__} BMK:viewps_${__tmp__}: ${__tmp__}.ps BMK: ${GV:Q} ${GV_FLAGS} ${__tmp__}.ps BMK:DEFAULTVIEWPS?= viewps_${__tmp__} BMK:ALLVIEWPS+= viewps_${__tmp__} BMK:.PHONY: viewps_${__tmp__}-draft BMK:viewps_${__tmp__}-draft: ${__tmp__}-draft.ps BMK: ${GV:Q} ${GV_FLAGS} ${__tmp__}-draft.ps BMK:DEFAULTVIEWPS_DRAFT?= viewps_${__tmp__}-draft BMK:ALLVIEWPS_DRAFT+= viewps_${__tmp__}-draft BMK:${__tmp__}-draft.ps: ${__tmp__}.dvi ${DATED_DRAFT_PS} BMK: sed "s;DATE;`date`;g" ${DATED_DRAFT_PS:Q} > ${DRAFT_STAMP_PS:Q} BMK: ${ENV_PROG:Q} ${DVIPS_ENV} ${DVIPS:Q} -h ${DRAFT_STAMP_PS:Q} ${$*_DVIPS_FLAGS} ${DVIPS_FLAGS} -o $@ ${__tmp__}.dvi BMK:.endfor GMK:define viewps_template GMK:.PHONY: viewps_$(1) GMK:viewps_$(1): $(1).ps GMK: $(GV) $(GV_FLAGS) $(1).ps GMK:DEFAULTVIEWPS?= viewps_$(1) GMK:ALLVIEWPS+= viewps_$(1) GMK:.PHONY: viewps_$(1)-draft GMK:viewps_$(1)-draft: $(1)-draft.ps GMK: $(GV) $(GV_FLAGS) $(1)-draft.ps GMK:DEFAULTVIEWPS_DRAFT?= viewps_$(1)-draft GMK:ALLVIEWPS_DRAFT+= viewps_$(1)-draft GMK:$(1)-draft.ps: $(1).dvi ${DATED_DRAFT_PS} GMK: sed "s;DATE;`date`;g" ${DATED_DRAFT_PS} > ${DRAFT_STAMP_PS} GMK: ${ENV_PROG} ${DVIPS_ENV} $(DVIPS) -h ${DRAFT_STAMP_PS} ${$*_DVIPS_FLAGS} $(DVIPS_FLAGS) -o $(1)-draft.ps $(1).dvi GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call viewps_template,$(__tmp__)))) ####################################### # target: viewpdf_ ####################################### BMK:.for __tmp__ in ${NAME} BMK:.PHONY: viewpdf_${__tmp__} BMK:viewpdf_${__tmp__}: ${__tmp__}.pdf BMK: ${VIEWPDF:Q} ${VIEWPDF_FLAGS} ${__tmp__}.pdf BMK:DEFAULTVIEWPDF?= viewpdf_${__tmp__} BMK:ALLVIEWPDF+= viewpdf_${__tmp__} BMK:.PHONY: viewpdf_${__tmp__}-draft BMK:viewpdf_${__tmp__}-draft: ${__tmp__}-draft.pdf BMK: ${VIEWPDF:Q} ${VIEWPDF_FLAGS} ${__tmp__}-draft.pdf BMK:DEFAULTVIEWPDF_DRAFT?= viewpdf_${__tmp__}-draft BMK:ALLVIEWPDF_DRAFT+= viewpdf_${__tmp__}-draft BMK:.endfor GMK:define viewpdf_template GMK:.PHONY: viewpdf_$(1) GMK:viewpdf_$(1): $(1).pdf GMK: $(VIEWPDF) $(VIEWPDF_FLAGS) $(1).pdf GMK:DEFAULTVIEWPDF?= viewpdf_$(1) GMK:ALLVIEWPDF+= viewpdf_$(1) GMK:.PHONY: viewpdf_$(1)-draft GMK:viewpdf_$(1)-draft: $(1)-draft.pdf GMK: $(VIEWPDF) $(VIEWPDF_FLAGS) $(1)-draft.pdf GMK:DEFAULTVIEWPDF_DRAFT?= viewpdf_$(1)-draft GMK:ALLVIEWPDF_DRAFT+= viewpdf_$(1)-draft GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call viewpdf_template,$(__tmp__)))) ####################################### # target: print_ ####################################### BMK:.for __tmp__ in ${NAME} BMK:.PHONY: print_${__tmp__} BMK:print_${__tmp__}: ${__tmp__}.ps BMK: ${LPR:Q} ${LPR_FLAGS} ${__tmp__}.ps BMK:DEFAULTPRINT?= print_${__tmp__} BMK:ALLPRINT+= print_${__tmp__} BMK:.PHONY: print_${__tmp__}-draft BMK:print_${__tmp__}-draft: ${__tmp__}-draft.ps BMK: ${LPR:Q} ${LPR_FLAGS} ${__tmp__}-draft.ps BMK:DEFAULTPRINT_DRAFT?= print_${__tmp__}-draft BMK:ALLPRINT_DRAFT+= print_${__tmp__}-draft BMK:.endfor GMK:define print_template GMK:.PHONY: print_$(1) GMK:print_$(1): $(1).ps GMK: $(LPR) $(LPR_FLAGS) $(1).ps GMK:DEFAULTPRINT?= print_$(1) GMK:ALLPRINT+= print_$(1) GMK:.PHONY: print_$(1)-draft GMK:print_$(1)-draft: $(1)-draft.ps GMK: $(LPR) $(LPR_FLAGS) $(1)-draft.ps GMK:DEFAULTPRINT_DRAFT?= print_$(1)-draft GMK:ALLPRINT_DRAFT+= print_$(1)-draft GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call print_template,$(__tmp__)))) ####################################### ALLTEXSRCS= ${TEXSRCS} ALLBIBTEXSRCS= ${BIBTEXSRCS} ####################################### # # master name for the distfile # ####################################### BMK:.for __tmp__ in ${NAME} BMK:.if defined(ALLNAME) BMK:ALLNAME:= ${ALLNAME}_${__tmp__} BMK:.else BMK:ALLNAME= ${__tmp__} BMK:.endif BMK:.endfor GMK:define distname_template GMK:ifdef ALLNAME GMK:ALLNAME:= ${ALLNAME}_$(1) GMK:else GMK:ALLNAME= $(1) GMK:endif GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call distname_template,$(__tmp__)))) BMK:.if ${ALLNAME} != ${NAME} GMK:ifneq (${ALLNAME}, ${NAME}) dist: ${ALLNAME}.tar.gz ${ALLNAME}.tar.gz: ${NAME:=.tar.gz} GMK: ${RM} -fr ${ALLNAME} BMK: ${RM:Q} -fr ${ALLNAME:Q} GMK: mkdir ${ALLNAME} BMK: mkdir ${ALLNAME:Q} for f in ${NAME:=.tar.gz} ; do \ GMK: ${GZCAT} $$f | (cd ${ALLNAME} && ${TAR} xpf -) ; \ BMK: ${GZCAT:Q} $$f | (cd ${ALLNAME:Q} && ${TAR:Q} xpf -) ; \ done GMK: ${TAR} cf - ${ALLNAME} | ${GZIP} > $@ BMK: ${TAR:Q} cf - ${ALLNAME:Q} | ${GZIP:Q} > $@ GMK: ${RM} -fr ${ALLNAME} BMK: ${RM:Q} -fr ${ALLNAME:Q} GMK: @${ECHO} "******* Distfile left in ${ALLNAME}.tar.gz *******" BMK: @${ECHO:Q} "******* Distfile left in ${ALLNAME}.tar.gz *******" GMK:endif BMK:.endif ####################################### # # add the dependencies for each documents .dvi file # ####################################### BMK:.for __tmp__ in ${NAME} BMK:${__tmp__}.dvi: ${__tmp__}.tex ${TEXSRCS} ${${__tmp__}_TEXSRCS} ${OTHER} ${${__tmp__}_OTHER} BMK:# some older bmake versions will fail on the empty test if these variables BMK:# do not already exist BMK:BIBTEXSRCS?= BMK:${__tmp__}_BIBTEXSRCS?= BMK:.if !empty(BIBTEXSRCS) || !empty(${__tmp__}_BIBTEXSRCS) BMK:${__tmp__}.dvi: ${__tmp__}.bib-stamp BMK:${__tmp__}.html-stamp: ${__tmp__}.bib-stamp BMK:.endif BMK:.if defined(USE_PDFLATEX) BMK:${__tmp__}.pdf: ${__tmp__}.tex ${TEXSRCS} ${${__tmp__}_TEXSRCS} ${OTHER} ${${__tmp__}_OTHER} BMK:. if !empty(BIBTEXSRCS) || !empty(${__tmp__}_BIBTEXSRCS) BMK:${__tmp__}.pdf: ${__tmp__}.bib-stamp BMK:. endif BMK:.endif BMK:${__tmp__}.html-stamp: ${__tmp__}.tex ${TEXSRCS} ${${__tmp__}_TEXSRCS} ${OTHER} ${${__tmp__}_OTHER} BMK:${__tmp__}.bib-stamp: ${BIBTEXSRCS} ${${__tmp__}_BIBTEXSRCS} BMK:.if defined(USE_PDFLATEX) BMK: ${ENV_PROG:Q} ${REAL_PDFLATEX_ENV} ${LATEX_MK:Q} ${LATEX_MK_FLAGS} --pdflatex --bibtex ${__tmp__}.tex BMK:.else BMK: ${ENV_PROG:Q} ${REAL_LATEX_ENV} ${LATEX_MK:Q} ${LATEX_MK_FLAGS} --bibtex ${__tmp__}.tex BMK:.endif BMK: touch $@ BMK: BMK:ALLTEXSRCS+= ${__tmp__}.tex ${${__tmp__}_TEXSRCS} BMK:ALLBIBTEXSRCS+= ${${__tmp__}_BIBTEXSRCS} BMK:dist: ${__tmp__}.tar.gz BMK:dvi: ${__tmp__}.dvi BMK:html: ${__tmp__}.html-stamp BMK:.PHONY: ${__tmp__}.html BMK:${__tmp__}.html: ${__tmp__}.html-stamp BMK: BMK:# latex2html needs latex to run first because it makes use of the BMK:# .aux file. It seems that tex2page and hevea do not require this. BMK:.if defined(USE_LATEX2HTML) BMK:${__tmp__}.html-stamp: ${__tmp__}.dvi BMK:.endif BMK:ps: ${__tmp__}.ps BMK:pdf: ${__tmp__}.pdf BMK:ps-draft: ${__tmp__}-draft.ps BMK:pdf-draft: ${__tmp__}-draft.pdf BMK:${__tmp__}.rtf: ${__tmp__}.dvi BMK:rtf: ${__tmp__}.rtf BMK:clean:: BMK: if [ -f ${__tmp__}.www_files ]; then \ BMK: for f in `${AWK:Q} '{print $$2}' ${__tmp__}.www_files` ; do \ BMK: if [ -f $$f ]; then ${RM:Q} -f $$f ; fi ;\ BMK: done ;\ BMK: fi BMK: ${RM:Q} -f ${__tmp__}.www_files BMK:.if defined(USE_LATEX2HTML) BMK: ${RM:Q} -f ${__tmp__}.html_dir/images.aux BMK: ${RM:Q} -f ${__tmp__}.html_dir/images.bbl BMK: ${RM:Q} -f ${__tmp__}.html_dir/images.log BMK: ${RM:Q} -f ${__tmp__}.html_dir/images.out BMK: ${RM:Q} -f ${__tmp__}.html_dir/images.tex BMK:.endif BMK: if [ -d ${__tmp__}.html_dir ]; then ${RMDIR:Q} ${__tmp__}.html_dir ; fi BMK: BMK:# And add dependencies for a source tarball BMK:${__tmp__}_DIST+= ${__tmp__}.tex ${TEXSRCS} ${${__tmp__}_TEXSRCS} ${BIBTEXSRCS} ${${__tmp__}_BIBTEXSRCS} ${OTHER} ${${__tmp__}_OTHER} ${MAKEFILE} ${${__tmp__}_EXTRA_DIST} ${EXTRA_DIST} BMK:ALL_DIST+= ${${__tmp__}_DIST} BMK: BMK:${__tmp__}.tar.gz: ${${__tmp__}_DIST} BMK: ${TAR:Q} cf - ${${__tmp__}_DIST} | ${GZIP:Q} > $@ BMK: @${ECHO:Q} "******* Distfile left in $@ *******" BMK:.endfor GMK:define dvideps_template GMK:$(1).dvi: $(1).tex ${TEXSRCS} ${$(1)_TEXSRCS} ${OTHER} ${$(1)_OTHER} GMK:ifneq ($(strip $(BIBTEXSRCS)$($(1)_BIBTEXSRCS)),) GMK:$(1).dvi: $(1).bib-stamp GMK:$(1).html-stamp: $(1).bib-stamp GMK:endif GMK:ifdef USE_PDFLATEX GMK:$(1).pdf: $(1).tex ${TEXSRCS} ${$(1)_TEXSRCS} ${OTHER} ${$(1)_OTHER} GMK:ifneq ($(strip $(BIBTEXSRCS)$($(1)_BIBTEXSRCS)),) GMK:$(1).pdf: $(1).bib-stamp GMK:endif GMK:endif GMK:$(1).html-stamp: $(1).tex ${TEXSRCS} ${$(1)_TEXSRCS} ${OTHER} ${$(1)_OTHER} GMK:$(1).bib-stamp: ${BIBTEXSRCS} ${$(1)_BIBTEXSRCS} GMK:ifdef USE_PDFLATEX GMK: $(ENV_PROG) $(REAL_PDFLATEX_ENV) $(LATEX_MK) $(LATEX_MK_FLAGS) --pdflatex --bibtex $(1).tex GMK:else GMK: $(ENV_PROG) $(REAL_LATEX_ENV) $(LATEX_MK) $(LATEX_MK_FLAGS) --bibtex $(1).tex GMK:endif GMK: touch $(1).bib-stamp GMK: GMK:ALLTEXSRCS+= $(1).tex ${$(1)_TEXSRCS} GMK:ALLBIBTEXSRCS+= ${$(1)_BIBTEXSRCS} GMK:dist: $(1).tar.gz GMK:dvi: $(1).dvi GMK:html: $(1).html-stamp GMK:# latex2html needs latex to run first because it makes use of the GMK:# .aux file. It seems that tex2page and hevea do not require this. GMK:ifdef USE_LATEX2HTML GMK:$(1).html-stamp: $(1).dvi GMK:endif GMK:.PHONY: $(1).html GMK:$(1).html: $(1).html-stamp GMK:ps: $(1).ps GMK:pdf: $(1).pdf GMK:ps-draft: $(1)-draft.ps GMK:pdf-draft: $(1)-draft.pdf GMK:$(1).rtf: $(1).dvi GMK:rtf: $(1).rtf GMK:clean:: GMK: if [ -f $(1).www_files ]; then \ GMK: for f in `${AWK} '{print $$2}' $(1).www_files` ; do \ GMK: if [ -f $$$$f ]; then ${RM} -f $$$$f ; fi ;\ GMK: done ;\ GMK: fi GMK: ${RM} -f $(1).www_files GMK:ifdef USE_LATEX2HTML GMK: ${RM} -f $(1).html_dir/images.aux GMK: ${RM} -f $(1).html_dir/images.bbl GMK: ${RM} -f $(1).html_dir/images.log GMK: ${RM} -f $(1).html_dir/images.out GMK: ${RM} -f $(1).html_dir/images.tex GMK:endif GMK: if [ -d $(1).html_dir ] ; then ${RMDIR} $(1).html_dir ; fi GMK: GMK:# And add dependencies for a source tarball GMK:$(1)_DIST+= $(1).tex ${TEXSRCS} ${$(1)_TEXSRCS} ${BIBTEXSRCS} ${$(1)_BIBTEXSRCS} ${OTHER} ${$(1)_OTHER} ${MAKEFILE} ${$(1)_EXTRA_DIST} ${EXTRA_DIST} GMK: GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call dvideps_template,$(__tmp__)))) GMK:define dist_template GMK:ALL_DIST+= $($(1)_DIST) GMK: GMK:$(1).tar.gz: $($(1)_DIST) GMK: ${TAR} cf - ${$(1)_DIST} | ${GZIP} > $(1).tar.gz GMK: @${ECHO} "******* Distfile left in $(1).tar.gz *******" GMK: GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call dist_template,$(__tmp__)))) ####################################### # target: view, view-all ####################################### .PHONY: view view: ${DEFAULTVIEW} .PHONY: view-all view-all: ${ALLVIEW} ####################################### # target: viewps, viewps-all ####################################### .PHONY: viewps viewps: ${DEFAULTVIEWPS} .PHONY: viewps-all viewps-all: ${ALLVIEWPS} ####################################### # target: viewpdf, viewpdf-all ####################################### .PHONY: viewpdf viewpdf: ${DEFAULTVIEWPDF} .PHONY: viewpdf-all viewpdf-all: ${ALLVIEWPDF} ####################################### # target: viewps-draft, viewps-all-draft ####################################### .PHONY: viewps-draft viewps-draft: ${DEFAULTVIEWPS_DRAFT} .PHONY: viewps-all-draft viewps-all-draft: ${ALLVIEWPS_DRAFT} ####################################### # target: viewpdf-draft, viewpdf-all-draft ####################################### .PHONY: viewpdf-draft viewpdf-draft: ${DEFAULTVIEWPDF_DRAFT} .PHONY: viewpdf-all-draft viewpdf-all-draft: ${ALLVIEWPDF_DRAFT} ####################################### # target: print, print-all ####################################### .PHONY: print print: ${DEFAULTPRINT} .PHONY: print-all print-all: ${ALLPRINT} ####################################### # target: print-draft, print-all-draft ####################################### .PHONY: print-draft print-draft: ${DEFAULTPRINT_DRAFT} .PHONY: print-all-draft print-all-draft: ${ALLPRINT_DRAFT} ####################################### # ####################################### .SUFFIXES : .tex .dvi .ps .pdf .rtf .html-stamp .png .jpg .eps BMK:.if defined(IGNORE_LATEX_ERRORS) GMK:ifdef IGNORE_LATEX_ERRORS LATEX_MK_FLAGS+= --ignore-errors BMK:.endif GMK:endif ####################################### # # Graphic file conversions # ####################################### .jpg.eps : GMK: $(JPG2EPS) $< $@ BMK: ${JPG2EPS:Q} $< $@ .png.eps : GMK: $(PNG2EPS) $< $@ BMK: ${PNG2EPS:Q} $< $@ ####################################### # # Distribution output (tarfile) # ####################################### .PHONY: dist ####################################### # # DVI Output (latex) # ####################################### .PHONY: dvi .tex.dvi : GMK: $(ENV_PROG) $(REAL_LATEX_ENV) $(LATEX_MK) $(LATEX_MK_FLAGS) $< BMK: ${ENV_PROG:Q} ${REAL_LATEX_ENV} ${LATEX_MK:Q} ${LATEX_MK_FLAGS} $< ####################################### # # HTML Output (latex2html or HeVeA) # ####################################### # note: we have to use a time stamp file here to keep track of what files # get created by the html conversion. Neither latex2html nor hevea provide # a convenient way to get a list of files to clean. In addition, hevea # does not currently provide a DESTDIR type functionality which is needed # for dealing with multiple top level documents. .PHONY: html .tex.html-stamp : touch $@1 BMK:.if defined(USE_LATEX2HTML) GMK:ifdef USE_LATEX2HTML GMK: @${ECHO} LaTeX-Mk: Creating HTML output using latex2html GMK: $(ENV_PROG) $(LATEX2HTML_ENV) $(LATEX2HTML) $(LATEX2HTML_FLAGS) -mkdir -dir $*.html_dir $< BMK: @${ECHO:Q} LaTeX-Mk: Creating HTML output using latex2html BMK: ${ENV_PROG:Q} ${LATEX2HTML_ENV} ${LATEX2HTML:Q} ${LATEX2HTML_FLAGS} -mkdir -dir $*.html_dir $< BMK:.elif defined(USE_TEX2PAGE) GMK:else GMK:ifdef USE_TEX2PAGE GMK: @${ECHO} LaTeX-Mk: Creating HTML output using tex2page GMK: ${ECHO} "$*.html_dir" > $*.hdir GMK: $(ENV_PROG) $(REAL_TEX2PAGE_ENV) $(LATEX_MK) --tex2page $(LATEX_MK_FLAGS) $< BMK: @${ECHO:Q} LaTeX-Mk: Creating HTML output using tex2page BMK: ${ECHO:Q} "$*.html_dir" > $*.hdir BMK: ${ENV_PROG:Q} ${REAL_TEX2PAGE_ENV} ${LATEX_MK:Q} --tex2page ${LATEX_MK_FLAGS} $< BMK:.elif defined(USE_HEVEA) GMK:else GMK:ifdef USE_HEVEA GMK: @${ECHO} LaTeX-Mk: Creating HTML output using HeVeA BMK: @${ECHO:Q} LaTeX-Mk: Creating HTML output using HeVeA mkdir -p $*.html_dir GMK: -$(ENV_PROG) $(HEVEA_ENV) $(HEVEA) $(HEVEA_FLAGS) $< GMK: -$(ENV_PROG) $(HEVEA_ENV) ${IMAGEN} `basename $< .tex` GMK: -$(ENV_PROG) $(HEVEA_ENV) $(HEVEA) $(HEVEA_FLAGS) $< BMK: -${ENV_PROG:Q} ${HEVEA_ENV} ${HEVEA:Q} $(HEVEA_FLAGS) $< BMK: -${ENV_PROG:Q} ${HEVEA_ENV} ${IMAGEN:Q} `basename $< .tex` BMK: -${ENV_PROG:Q} ${HEVEA_ENV} ${HEVEA:Q} $(HEVEA_FLAGS) $< BMK:.endif GMK:endif GMK:endif GMK:endif if [ ! -f $*.www_files ]; then touch $*.www_files ; fi GMK: for f in `${FIND} . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif \ BMK: for f in `${FIND:Q} . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif \ -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS \ -o -name \*.scm -o -name \*.hlog \) \ -newer $@1 -print` ; do \ fn=`basename $$f` ; \ GMK: if ${GREP} "^$$f " $*.www_files >/dev/null ; then \ BMK: if ${GREP:Q} "^$$f " $*.www_files >/dev/null ; then \ echo "$$f already recorded" ; \ else \ echo "recording file $$f ($*.html_dir/$$fn)" ; \ echo "$$f $*.html_dir/$$fn" >> $*.www_files ; \ fi ;\ done BMK:.if defined(USE_TEX2PAGE) GMK:ifdef USE_TEX2PAGE GMK: for f in `${FIND} . -type f \( -name \*-Z-G-\*.tex -o -name \*-Z-G-\*.aux \ BMK: for f in `${FIND} . -type f \( -name \*-Z-G-\*.tex -o -name \*-Z-G-\*.aux \ -o -name \*-Z-G-\*.log -o -name \*-Z-G-\*.dvi -o -name \*-Z-G-\*.ps \ -o -name .Z\*.tex \) -newer $@1 -print` ; do \ fn=`basename $$f` ; \ GMK: if ${GREP} "^$$f " $*.www_files >/dev/null ; then \ BMK: if ${GREP:Q} "^$$f " $*.www_files >/dev/null ; then \ echo "$$f already recorded" ; \ elif test "`dirname $$f`" != "." ; then \ echo "$$f is not in this directory, skipping" ; \ else \ echo "recording file $$f (./$$fn)" ; \ echo "$$f ./$$fn" >> $*.www_files ; \ fi ;\ done BMK:.endif GMK:endif BMK:.if defined(USE_HEVEA) GMK:ifdef USE_HEVEA GMK: for f in `${AWK} '{print $$1}' $*.www_files` ; do \ GMK: ${ECHO} "Moving $$f to $*.html_dir" ; mv $$f $*.html_dir ; \ BMK: for f in `${AWK:Q} '{print $$1}' $*.www_files` ; do \ BMK: ${ECHO:Q} "Moving $$f to $*.html_dir" ; mv $$f $*.html_dir ; \ done BMK:.endif GMK:endif mv $@1 $@ ####################################### # # Postscript Output (dvips) # ####################################### .PHONY: ps # if we're doing a *-draft target, then add the # DRAFT watermark and time stamp BMK:.if make(*-draft) GMK:ifeq ($(findstring -draft,${MAKECMDGOALS}),-draft) __DRAFT= yes BMK:.endif GMK:endif .dvi.ps : BMK:.if defined(__DRAFT) GMK:ifdef __DRAFT GMK: sed "s;DATE;`date`;g" ${DATED_DRAFT_PS} > ${DRAFT_STAMP_PS} GMK: ${ENV_PROG} ${DVIPS_ENV} $(DVIPS) -h ${DRAFT_STAMP_PS} ${$*_DVIPS_FLAGS} $(DVIPS_FLAGS) -o $*-draft.ps $< BMK: sed "s;DATE;`date`;g" ${DATED_DRAFT_PS:Q} > ${DRAFT_STAMP_PS:Q} BMK: ${DVIPS:Q} -h ${DRAFT_STAMP_PS:Q} ${$*_DVIPS_FLAGS} ${DVIPS_FLAGS} -o $*-draft.ps $< BMK:.else BMK: ${ENV_PROG:Q} ${DVIPS_ENV} ${DVIPS:Q} ${$*_DVIPS_FLAGS} ${DVIPS_FLAGS} -o $@ $< GMK:else GMK: ${ENV_PROG} ${DVIPS_ENV} $(DVIPS) ${$*_DVIPS_FLAGS} $(DVIPS_FLAGS) -o $@ $< BMK:.endif GMK:endif ####################################### # # PDF Output (ps2pdf) # ####################################### .PHONY: pdf BMK:.if defined(USE_DVIPDFM) GMK:ifdef USE_DVIPDFM .dvi.pdf : GMK: $(ENV_PROG) $(DVIPDFM_ENV) $(DVIPDFM) ${$*_DVIPDFM_FLAGS} $(DVIPDFM_FLAGS) $< BMK: ${ENV_PROG:Q} ${DVIPDFM_ENV} ${DVIPDFM:Q} ${$*_DVIPDFM_FLAGS} ${DVIPDFM_FLAGS} $< BMK:.elif defined(USE_PDFLATEX) GMK:else GMK:ifdef USE_PDFLATEX .tex.pdf : GMK: $(ENV_PROG) $(REAL_PDFLATEX_ENV) $(LATEX_MK) --pdflatex $(LATEX_MK_FLAGS) $< BMK: ${ENV_PROG:Q} ${REAL_PDFLATEX_ENV} ${LATEX_MK:Q} --pdflatex ${LATEX_MK_FLAGS} $< BMK:.else GMK:else .ps.pdf : GMK: $(PS2PDF) $(PS2PDF_FLAGS) $< BMK: ${PS2PDF:Q} ${PS2PDF_FLAGS} $< BMK:.endif GMK:endif GMK:endif ####################################### # # RTF (Rich Text Format) output (latex2rtf) # ####################################### .PHONY: rtf .dvi.rtf : GMK: $(ENV_PROG) $(LATEX2RTF_ENV) $(LATEX2RTF) $(LATEX2RTF_FLAGS) -o $@ $*.tex BMK: ${ENV_PROG:Q} ${LATEX2RTF_ENV} ${LATEX2RTF:Q} ${LATEX2RTF_FLAGS} -o $@ $*.tex ####################################### # # Clean up (clean) # ####################################### CLEAN_FILES+= ${ALLTEXSRCS:.tex=.aux} CLEAN_FILES+= ${BIBTEXSRCS:.bib=.aux} CLEAN_FILES+= ${NAME:=.ps} CLEAN_FILES+= ${NAME:=-draft.ps} CLEAN_FILES+= ${NAME:=.pdf} CLEAN_FILES+= ${NAME:=-draft.pdf} CLEAN_FILES+= ${NAME:=.rtf} CLEAN_FILES+= ${NAME:=.aux} CLEAN_FILES+= ${NAME:=.log} CLEAN_FILES+= ${NAME:=.dvi} CLEAN_FILES+= ${NAME:=.log} CLEAN_FILES+= ${NAME:=.bbl} CLEAN_FILES+= ${NAME:=.blg} CLEAN_FILES+= ${NAME:=.glo} CLEAN_FILES+= ${NAME:=.gls} CLEAN_FILES+= ${NAME:=.ilg} CLEAN_FILES+= ${NAME:=.idx} CLEAN_FILES+= ${NAME:=.ind} CLEAN_FILES+= ${NAME:=.lof} CLEAN_FILES+= ${NAME:=.lot} CLEAN_FILES+= ${NAME:=.toc} CLEAN_FILES+= ${NAME:=.out} CLEAN_FILES+= $(DRAFT_STAMP_PS) CLEAN_FILES+= ${NAME:=.bib-stamp} # HTML generation CLEAN_FILES+= ${NAME:=.html-stamp} CLEAN_FILES+= ${NAME:=.www_files} BMK:.ifdef USE_HEVEA GMK:ifdef USE_HEVEA CLEAN_FILES+= ${NAME:=.haux} CLEAN_FILES+= ${NAME:=.image.tex} BMK:.endif GMK:endif BMK:.ifdef USE_LATEX2HTML GMK:ifdef USE_LATEX2HTML CLEAN_FILES+= ${NAME:=.haux} CLEAN_FILES+= ${NAME:=.image.tex} BMK:.endif GMK:endif BMK:.ifdef USE_TEX2PAGE GMK:ifdef USE_TEX2PAGE CLEAN_FILES+= ${NAME:=.hdir} BMK:.endif GMK:endif .PHONY: clean GMK:define latex_mk_clean_template clean:: GMK: ${LATEX_MK} --clean $(1) GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call latex_mk_clean_template,$(__tmp__)))) clean:: BMK:.for __tmp__ in ${NAME} BMK: ${LATEX_MK:Q} --clean ${__tmp__} BMK:.endfor BMK: ${RM:Q} -f *~ texput.log ${CLEAN_FILES} GMK: $(RM) -f *~ texput.log $(CLEAN_FILES) .PHONY: distclean distclean: clean ####################################### # # Some helpful debugging targets # ####################################### .PHONY: show-var show-var: GMK: @${ECHO} ${${VARNAME}} BMK: @${ECHO:Q} ${${VARNAME}} latex-mk-2.1/latex.subdir.mk.in.in100644 000144 000000 00000010167 10560000623 0012523# -*- makefile -*- # $Id: latex.subdir.mk.in.in,v 1.4 2006/01/28 04:43:18 dan Exp $ # # Copyright (c) 2002, 2006 Dan McMahill # All rights reserved. # # This code is derived from software written by Dan McMahill # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by Dan McMahill # 4. The name of the author may not be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # ECHO?= @ECHO@ # # This Makefile fragment is included at the very end of users custom # Makefiles in subdirectories of a top level latex-mk Makefile. This # makes sure the standard set of targets exist so a recursive make # will not fail due to undefined targets # An example is: # # SUBDIR+= document1 # SUBDIR+= document2 # SUBDIR+= document3 BMK:# .include "/path/to/latex.subdir.mk" GMK:# include /path/to/latex.subdir.gmk # # note: we put "default" first because when we do not specify a target # we want to use "default" because thats what latex.mk has for its own # default _ALL_TARGETS= default all clean dist distclean dvi html pdf print print-all \ ps rtf show-var view viewall viewpdf viewps BMK:.for __target in ${_ALL_TARGETS} BMK:.if !target(${__target}) BMK:.PHONY: ${__target} BMK:${__target}: _SUBDIRUSE BMK:.endif BMK:.endfor BMK: BMK:# BMK:# Derived from NetBSD Id: bsd.pkg.subdir.mk,v 1.60 2005/11/14 04:44:25 rillig Exp BMK:# Which in turn says: BMK:# Derived from: FreeBSD Id: bsd.port.subdir.mk,v 1.19 1997/03/09 23:10:56 wosch Exp BMK:# from: @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91 BMK:.if !target(_SUBDIRUSE) BMK:_SUBDIRUSE: .USE BMK: @for entry in "" ${SUBDIR} ; do \ BMK: if [ "$$entry" != "" ] ; then \ BMK: OK=""; \ BMK: if [ -d ${.CURDIR}/$${entry} ]; then \ BMK: edir=$${entry}; \ BMK: else \ BMK: OK="false"; \ BMK: ${ECHO} "===> ${_THISDIR_}$${entry} non-existent"; \ BMK: fi; \ BMK: if [ "$$OK" = "" ]; then \ BMK: cd ${.CURDIR}/$${edir}; \ BMK: ${ECHO} "===> ${_THISDIR_}$${edir}"; \ BMK: ${MAKE} ${MAKEFLAGS} "_THISDIR_=${_THISDIR_}$${edir}/" \ BMK: ${.TARGET} || true; \ BMK: fi; \ BMK: fi ; \ BMK: done BMK:.endif GMK:define _SUBDIRUSE_TEMPLATE GMK:.PHONY: $(1) GMK:$(1): GMK: @for entry in "" ${SUBDIR} ; do \ GMK: if [ "$$$$entry" != "" ] ; then \ GMK: OK=""; \ GMK: if [ -d $$$${entry} ]; then \ GMK: edir=$$$${entry}; \ GMK: else \ GMK: OK="false"; \ GMK: ${ECHO} "===> ${_THISDIR_}$$$${entry} non-existent"; \ GMK: fi; \ GMK: if [ "$$$$OK" = "" ]; then \ GMK: (cd $$$${edir}; \ GMK: ${ECHO} "===> ${_THISDIR_}$$$${edir}"; \ GMK: ${MAKE} ${MAKEFLAGS:%=-%} "_THISDIR_=${_THISDIR_}$$$${edir}/" \ GMK: $(1) || true;) \ GMK: fi; \ GMK: fi ; \ GMK: done GMK:endef GMK:$(foreach __tmp__,$(_ALL_TARGETS),$(eval $(call _SUBDIRUSE_TEMPLATE,$(__tmp__)))) latex-mk-2.1/lgrind.mk.in.in100644 000144 000000 00000020013 11446120702 0011372# -*- Makefile -*- # $Id: lgrind.mk.in.in,v 1.7 2010/09/21 12:14:58 dan Exp $ # # Makefile fragment for processing lgrind files to produce postscript # # Copyright (c) 2005, 2010 Dan McMahill # # Copyright (c) 2005 Peter Bex # All rights reserved. # # This code is derived from software written by Dan McMahill # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by Dan McMahill # 4. The name of the author may not be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # ####################################### # # TODO: # - Add a way to deal with specifying the language on a per-file # or maybe per-directory basis. Maybe per-directory is a good # start. # # - Add support for files with no extension. Need to make sure # we don't have problems with CVS/ directories. In fact, we # need to make sure we don't have issues with foo.bar directories. # # - Add support for inline lgrind sources using the %(...)% notation # # README: # # To use this makefile fragment, set the variable: # LGRINDSRCS = the source files to process # in your top level Makefile. You can also specify # LGRINDDIRS which is a list of directories containing # source files. All source files in the specified directories # are added to LGRINDSRCS # # The following variables may be overridden in your top level Makefile # # LGRIND = the lgrind executable # LGRIND_FLAGS = flags passed to lgrind for exporting to tex # ####################################### # how to call lgrind to convert source files to TeX LGRIND?= @LGRIND@ LGRIND_FLAGS?= -i ####################################### # # Process LGRINDDIRS, adding to LGRINDSRCS # ####################################### # pick out $(LGRINDDIRS)/*.* except for *.tex for each # specified directory. This is how we will # deal with basically any source code file type. The # exception will be things like Makefiles which do not # have an extension usually. # While we're processing these directories, check for a directory # specific LGRIND_FLAGS (i.e. mydir_LGRIND_FLAGS). If it is defined # then assign it to the file specific lgrind flags for each source # file if the source file does not already have its own file specific # flags BMK:.if defined(LGRINDDIRS) BMK:.for __tmp__ in ${LGRINDDIRS} BMK:.if exists(${__tmp__}) BMK:_LGRIND_ADDALL_${__tmp__}!= ls ${__tmp__}/*.* BMK:_LGRIND_ADD_${__tmp__}= ${_LGRIND_ADDALL_${__tmp__}:C/.*.tex$//g} BMK:LGRINDSRCS+= ${_LGRIND_ADD_${__tmp__}} BMK:. if defined(${__tmp__}_LGRIND_FLAGS) BMK:. for __tmp2__ in ${_LGRIND_ADD_${__tmp__}} BMK:${__tmp2__}_LGRIND_FLAGS?= ${${__tmp__}_LGRIND_FLAGS} BMK:. endfor BMK:. endif BMK:.endif BMK:.endfor BMK:.endif GMK:define lgrinddir_flag_template GMK:$(1)_LGRIND_FLAGS?= $($(2)_LGRIND_FLAGS) GMK:endef GMK:define lgrindsrcs_add_template GMK:LGRINDSRCS+= ${_LGRIND_ADD_$(1)} GMK:ifdef $(1)_LGRIND_FLAGS GMK:$(foreach __tmp2__,$(_LGRIND_ADD_$(1)),$(eval $(call lgrinddir_flag_template,$(__tmp2__),$(1)))) GMK:endif GMK:endef GMK:define lgrinddirs_template GMK:_LGRIND_ADD_$(1)= $(filter-out %.tex,$(wildcard $(1)/*.*)) GMK:endef GMK:$(foreach __tmp__,$(LGRINDDIRS),$(eval $(call lgrinddirs_template,$(__tmp__)))) GMK:$(foreach __tmp__,$(LGRINDDIRS),$(eval $(call lgrindsrcs_add_template,$(__tmp__)))) ####################################### # # Process proj_LGRINDDIRS, adding to proj_LGRINDSRCS # ####################################### BMK:.for __name__ in ${NAME} BMK:.if defined(${__name__}_LGRINDDIRS) BMK:.for __tmp__ in ${${__name__}_LGRINDDIRS} BMK:.if exists(${__tmp__}) BMK:_LGRIND_ADDALL2_${__tmp__}!=ls ${__tmp__}/*.* BMK:_LGRIND_ADD2_${__tmp__}= ${_LGRIND_ADDALL2_${__tmp__}:C/.*.tex$//g} BMK:${__name__}_LGRINDSRCS+= ${_LGRIND_ADD2_${__tmp__}} BMK:. if defined(${__tmp__}_LGRIND_FLAGS) BMK:. for __tmp2__ in ${_LGRIND_ADD2_${__tmp__}} BMK:${__tmp2__}_LGRIND_FLAGS?= ${${__tmp__}_LGRIND_FLAGS} BMK:. endfor BMK:. endif BMK:.endif BMK:.endfor BMK:.endif BMK:${__name__}_DIST+= ${${__name__}_LGRINDSRCS} ${LGRINDSRCS} BMK:.endfor GMK:define proj_lgrindsrcs_add_template GMK:$(2)_LGRINDSRCS+= ${_LGRIND_ADD2_$(1)} GMK:ifdef $(1)_LGRIND_FLAGS GMK:$(foreach __tmp2__,$(_LGRIND_ADD2_$(1)),$(eval $(call lgrinddir_flag_template,$(__tmp2__),$(1)))) GMK:endif GMK:endef GMK:define proj_lgrinddirs_template GMK:_LGRIND_ADD2_$(1)= $(filter-out %.tex,$(wildcard $(1)/*.*)) GMK:endef GMK:define proj_lgrind_template GMK:ifdef $(1)_LGRINDDIRS GMK:$(foreach __tmp2__,$($(1)_LGRINDDIRS),$(eval $(call proj_lgrinddirs_template,$(__tmp2__)))) GMK:$(foreach __tmp2__,$($(1)_LGRINDDIRS),$(eval $(call proj_lgrindsrcs_add_template,$(__tmp2__),$(1)))) GMK:endif GMK:$(1)_DIST+= $($(1)_LGRINDSRCS) $(LGRINDSRCS) GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call proj_lgrind_template,$(__tmp__)))) ####################################### # # Process proj_LGRINDSRCS to add to # prog_OTHER dependencies # ####################################### LGRINDOBJS?= $(LGRINDSRCS:=.tex) ALLLGRINDOBJS+= $(LGRINDOBJS) BMK:.for __tmp__ in ${NAME} BMK:.if defined(${__tmp__}_LGRINDSRCS) BMK:${__tmp__}_LGRINDOBJS?= ${${__tmp__}_LGRINDSRCS:=.tex} BMK:${__tmp__}_OTHER+= ${${__tmp__}_LGRINDOBJS} BMK:ALLLGRINDOBJS+= ${${__tmp__}_LGRINDOBJS} BMK:.endif BMK:.endfor GMK:# note, this had to be done in two steps (create proj_LGRINDOBJS, GMK:# and then add to proj_OTHER and ALLLGRINDOBJS) with GNU make 3.80 GMK:# don't really know why. GMK:define lgrindobjs_template GMK:ifdef $(1)_LGRINDSRCS GMK:$(1)_LGRINDOBJS?= ${$(1)_LGRINDSRCS:=.tex} GMK:endif GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call lgrindobjs_template,$(__tmp__)))) GMK:define lgrinddeps_template GMK:ifdef $(1)_LGRINDSRCS GMK:$(1)_OTHER+= ${$(1)_LGRINDOBJS} GMK:ALLLGRINDOBJS+= ${$(1)_LGRINDOBJS} GMK:endif GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call lgrinddeps_template,$(__tmp__)))) ####################################### # # Add the dependencies # ####################################### OTHER+= $(LGRINDOBJS) all:: $(ALLLGRINDOBJS) clean:: BMK:.for __tmp__ in $(ALLLGRINDOBJS) BMK: $(RM) -f $(__tmp__:Q) BMK:.endfor GMK: $(RM) -f $(ALLLGRINDOBJS) ####################################### # # And add the build rules. # # Note that we do this as a loop with explicit # rules for each file rather than a suffix # rule because we want to work on any input # file that lgrind can deal with # ####################################### BMK:.for __tmp__ in ${ALLLGRINDOBJS} BMK:${__tmp__}: ${__tmp__:.tex=} BMK: $(LGRIND:Q) $(LGRIND_FLAGS) ${${__tmp__:.tex=}_LGRIND_FLAGS} \ BMK: -o $@ ${__tmp__:.tex=} BMK:.endfor GMK:define lgrindrun_template GMK:$(1): $(1:.tex=) GMK: $(LGRIND) $(LGRIND_FLAGS) $($(1:.tex=)_LGRIND_FLAGS) -o $(1) $(1:.tex=) GMK:endef GMK:$(foreach __tmp__,$(ALLLGRINDOBJS),$(eval $(call lgrindrun_template,$(__tmp__)))) latex-mk-2.1/mpost.mk.in.in100644 000144 000000 00000014270 11000730137 0011260# -*- Makefile -*- # $Id: mpost.mk.in.in,v 1.4 2007/08/26 20:38:26 dan Exp $ # # Makefile fragment for processing METAPOST files to produce postscript # # Copyright (c) 2007 Dan McMahill # All rights reserved. # # This code is derived from software written by Dan McMahill # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by Dan McMahill # 4. The name of the author may not be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # ####################################### # # README: # # To use this makefile fragment, set the variable: # MPOSTSRCS = the METAPOST input files (.mp files) # in your top level Makefile. You can also specify # MPOSTDIRS which is a list of directories containing # METAPOST files. All mpost files in the specified directories # are added to MPOSTSRCS # # The following variables may be overridden in your top level Makefile # # MPOST = the METAPOST executable # MPOST_FLAGS = flags passed to ${MPOST} # ####################################### # how to call METAPOST MPOST?= @MPOST@ MPOST_FLAGS?= ####################################### # # Process MPOSTDIRS, adding to MPOSTSRCS # ####################################### BMK:.if defined(MPOSTDIRS) BMK:.for __tmp__ in ${MPOSTDIRS} BMK:.if exists(${__tmp__}) BMK:_MPOST_ADD_${__tmp__}!= ls ${__tmp__}/*.mp BMK:MPOSTSRCS+= ${_MPOST_ADD_${__tmp__}} BMK:.endif BMK:.endfor BMK:.endif GMK:ifdef MPOSTDIRS GMK:MPOSTSRCS+= $(foreach __tmp__,$(MPOSTDIRS),$(wildcard $(__tmp__)/*.mp)) GMK:endif ####################################### # # Process proj_MPOSTDIRS, adding to proj_MPOSTSRCS # ####################################### BMK:.for __name__ in ${NAME} BMK:.if defined(${__name__}_MPOSTDIRS) BMK:.for __tmp__ in ${${__name__}_MPOSTDIRS} BMK:.if exists(${__tmp__}) BMK:_MPOST_ADD2_${__tmp__}!= ls ${__tmp__}/*.mp BMK:${__name__}_MPOSTSRCS+= ${_MPOST_ADD2_${__tmp__}} BMK:.endif BMK:.endfor BMK:.endif BMK:.endfor GMK:define mpostdirs_template GMK:ifdef $(1)_MPOSTDIRS GMK:$(1)_MPOSTSRCS+= $(foreach __tmp2__,$($(1)_MPOSTDIRS),$(wildcard $(__tmp2__)/*.mp)) GMK:endif GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call mpostdirs_template,$(__tmp__)))) ####################################### # # Process proj_MPOSTSRCS to add to # proj_OTHER dependencies # ####################################### MPOSTOBJS?= $(MPOSTSRCS:.mp=.mpx) ALLMPOSTOBJS+= $(MPOSTOBJS) BMK:.for __tmp__ in ${NAME} BMK:.if defined(${__tmp__}_MPOSTSRCS) BMK:${__tmp__}_MPOSTOBJS?= ${${__tmp__}_MPOSTSRCS:.mp=.mpx} BMK:${__tmp__}_OTHER+= ${${__tmp__}_MPOSTOBJS} BMK:ALLMPOSTOBJS+= ${${__tmp__}_MPOSTOBJS} BMK:.endif BMK:${__tmp__}_DIST+= ${${__tmp__}_MPOSTSRCS} ${MPOSTSRCS} BMK:.endfor GMK:# note, this had to be done in two steps (create proj_MPOSTOBJS, GMK:# and then add to proj_OTHER and ALLMPOSTOBJS) with GNU make 3.80 GMK:# don't really know why. GMK:define mpostobjs_template GMK:ifdef $(1)_MPOSTSRCS GMK:$(1)_MPOSTOBJS?= ${$(1)_MPOSTSRCS:.mp=.mpx} GMK:endif GMK:$(1)_DIST+= ${$(1)_MPOSTSRCS} ${MPOSTSRCS} GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call mpostobjs_template,$(__tmp__)))) GMK:define mpostdeps_template GMK:ifdef $(1)_MPOSTSRCS GMK:$(1)_OTHER+= ${$(1)_MPOSTOBJS} GMK:ALLMPOSTOBJS+= ${$(1)_MPOSTOBJS} GMK:endif GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call mpostdeps_template,$(__tmp__)))) ####################################### # # Add the dependencies # ####################################### OTHER+= $(MPOSTOBJS) all:: $(ALLMPOSTOBJS) # we do this funny thing because neither BSD make nor GNU make # seem to like make conditionals in the middle of shell code BMK:.if defined(USE_PDFLATEX) GMK:ifdef USE_PDFLATEX _MPOST_PDF_REMOVE_= $$fn BMK:.endif GMK:endif clean:: BMK:.for __tmp__ in $(ALLMPOSTOBJS) BMK: $(RM) -f $(__tmp__:Q) BMK:.endfor GMK: $(RM) -f $(ALLMPOSTOBJS) for mp in $(ALLMPOSTOBJS) ; do \ mpb=`basename $${mp} .mpx` ; \ for f in $${mpb}.ps $${mpb}.[0-9]* "" ; do \ if test "X$$f" != "X" ; then \ fn=`basename $$f .ps` ; \ fn=$${fn}.pdf ; \ $(RM) -f $$f ${_MPOST_PDF_REMOVE_}; \ fi ; \ done ; \ done ####################################### # # The suffix rules # ####################################### .SUFFIXES : .mp .mpx # if we are using pdflatex, then we probably need to convert our # postscript output to PDF .mp.mpx : BMK: $(MPOST:Q) $(MPOST_FLAGS) $(MPOST_EPS_FLAGS) $*.mp GMK: $(MPOST) $(MPOST_FLAGS) $(MPOST_EPS_FLAGS) $*.mp BMK:.if defined(MPOST_TWICE) GMK:ifdef MPOST_TWICE BMK: $(MPOST:Q) $(MPOST_FLAGS) $(MPOST_EPS_FLAGS) $*.mp GMK: $(MPOST) $(MPOST_FLAGS) $(MPOST_EPS_FLAGS) $*.mp BMK:.endif GMK:endif BMK:.if defined(USE_PDFLATEX) GMK:ifdef USE_PDFLATEX for f in $*.ps $*.[0-9]* "" ; do \ if test "X$$f" != "X" ; then \ fn=`basename $$f .ps` ; \ fn=$${fn}.pdf ; \ BMK: ${PS2PDF:Q} ${PS2PDF_FLAGS} $$f $$fn ; \ GMK: ${PS2PDF} ${PS2PDF_FLAGS} $$f $$fn ; \ fi ; \ done BMK:.endif GMK:endif latex-mk-2.1/tgif.mk.in.in100644 000144 000000 00000013547 10560000624 0011056# -*- Makefile -*- # $Id: tgif.mk.in.in,v 1.15 2006/09/21 13:48:13 dan Exp $ # # Makefile fragment for processing tgif files to produce postscript # # Copyright (c) 2001, 2002, 2003, 2005, 2006 Dan McMahill # All rights reserved. # # This code is derived from software written by Dan McMahill # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by Dan McMahill # 4. The name of the author may not be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # ####################################### # # README: # # To use this makefile fragment, set the variable: # TGIFSRCS = the tgif drawing files (.obj files) # in your top level Makefile. You can also specify # TGIFDIRS which is a list of directories containing # tgif files. All tgif files in the specified directories # are added to TGIFSRCS # # The following variables may be overridden in your top level Makefile # # TGIF = the tgif executable # TGIF_FLAGS = flags passed to tgif for any exporting # TGIF_EPS_FLAGS = flags passed to tgif for exporting to eps # TGIF_PDF_FLAGS = flags passed to tgif for exporting to pdf # ####################################### # how to call tgif to convert tgif files to postscript TGIF?= @TGIF@ TGIF_FLAGS?= -color -print TGIF_EPS_FLAGS?= -eps TGIF_PDF_FLAGS?= -pdf ####################################### # # Process TGIFDIRS, adding to TGIFSRCS # ####################################### BMK:.if defined(TGIFDIRS) BMK:.for __tmp__ in ${TGIFDIRS} BMK:.if exists(${__tmp__}) BMK:_TGIF_ADD_${__tmp__}!= ls ${__tmp__}/*.obj BMK:TGIFSRCS+= ${_TGIF_ADD_${__tmp__}} BMK:.endif BMK:.endfor BMK:.endif GMK:ifdef TGIFDIRS GMK:TGIFSRCS+= $(foreach __tmp__,$(TGIFDIRS),$(wildcard $(__tmp__)/*.obj)) GMK:endif ####################################### # # Process proj_TGIFDIRS, adding to proj_TGIFSRCS # ####################################### BMK:.for __name__ in ${NAME} BMK:.if defined(${__name__}_TGIFDIRS) BMK:.for __tmp__ in ${${__name__}_TGIFDIRS} BMK:.if exists(${__tmp__}) BMK:_TGIF_ADD2_${__tmp__}!= ls ${__tmp__}/*.obj BMK:${__name__}_TGIFSRCS+= ${_TGIF_ADD2_${__tmp__}} BMK:.endif BMK:.endfor BMK:.endif BMK:.endfor GMK:define tgifdirs_template GMK:ifdef $(1)_TGIFDIRS GMK:$(1)_TGIFSRCS+= $(foreach __tmp2__,$($(1)_TGIFDIRS),$(wildcard $(__tmp2__)/*.obj)) GMK:endif GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call tgifdirs_template,$(__tmp__)))) ####################################### # # Process proj_TGIFSRCS to add to # proj_OTHER dependencies # ####################################### # if we are using pdflatex, then don't bother with the .eps files # but create .pdf files instead BMK:.if defined(USE_PDFLATEX) GMK:ifdef USE_PDFLATEX TGIFOBJS?= $(TGIFSRCS:.obj=.pdf) BMK:.else GMK:else TGIFOBJS?= $(TGIFSRCS:.obj=.eps) BMK:.endif GMK:endif ALLTGIFOBJS+= $(TGIFOBJS) BMK:.for __tmp__ in ${NAME} BMK:.if defined(${__tmp__}_TGIFSRCS) BMK:.if defined(USE_PDFLATEX) BMK:${__tmp__}_TGIFOBJS?= ${${__tmp__}_TGIFSRCS:.obj=.pdf} BMK:.else BMK:${__tmp__}_TGIFOBJS?= ${${__tmp__}_TGIFSRCS:.obj=.eps} BMK:.endif BMK:${__tmp__}_OTHER+= ${${__tmp__}_TGIFOBJS} BMK:ALLTGIFOBJS+= ${${__tmp__}_TGIFOBJS} BMK:.endif BMK:${__tmp__}_DIST+= ${${__tmp__}_TGIFSRCS} ${TGIFSRCS} BMK:.endfor GMK:# note, this had to be done in two steps (create proj_TGIFOBJS, GMK:# and then add to proj_OTHER and ALLTGIFOBJS) with GNU make 3.80 GMK:# don't really know why. GMK:define tgifobjs_template GMK:ifdef $(1)_TGIFSRCS GMK:ifdef USE_PDFLATEX GMK:$(1)_TGIFOBJS?= ${$(1)_TGIFSRCS:.obj=.pdf} GMK:else GMK:$(1)_TGIFOBJS?= ${$(1)_TGIFSRCS:.obj=.eps} GMK:endif GMK:endif GMK:$(1)_DIST+= ${$(1)_TGIFSRCS} ${TGIFSRCS} GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call tgifobjs_template,$(__tmp__)))) GMK:define tgifdeps_template GMK:ifdef $(1)_TGIFSRCS GMK:$(1)_OTHER+= ${$(1)_TGIFOBJS} GMK:ALLTGIFOBJS+= ${$(1)_TGIFOBJS} GMK:endif GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call tgifdeps_template,$(__tmp__)))) ####################################### # # Add the dependencies # ####################################### OTHER+= $(TGIFOBJS) all:: $(ALLTGIFOBJS) clean:: BMK:.for __tmp__ in $(ALLTGIFOBJS) BMK: $(RM) -f $(__tmp__:Q) BMK:.endfor GMK: $(RM) -f $(ALLTGIFOBJS) ####################################### # # The suffix rules # ####################################### .SUFFIXES : .obj .eps .pdf .obj.eps : BMK: $(TGIF:Q) $(TGIF_FLAGS) $(TGIF_EPS_FLAGS) $*.obj GMK: $(TGIF) $(TGIF_FLAGS) $(TGIF_EPS_FLAGS) $*.obj .obj.pdf : BMK: $(TGIF:Q) $(TGIF_FLAGS) $(TGIF_PDF_FLAGS) $*.obj GMK: $(TGIF) $(TGIF_FLAGS) $(TGIF_PDF_FLAGS) $*.obj latex-mk-2.1/xfig.mk.in.in100644 000144 000000 00000013667 11346530145 0011076# -*- Makefile -*- # $Id: xfig.mk.in.in,v 1.14 2010/03/12 21:21:41 dan Exp $ # # Makefile fragment for processing xfig files to produce postscript # # Copyright (c) 2002, 2003, 2004, 2005, 2006 Dan McMahill # All rights reserved. # # This code is derived from software written by Dan McMahill # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by Dan McMahill # 4. The name of the author may not be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # ####################################### # # README: # # To use this makefile fragment, set the variable: # XFIGSRCS = the xfig drawing files (.fig files) # in your top level Makefile. You can also specify # XFIGDIRS which is a list of directories containing # xfig files. All xfig files in the specified directories # are added to XFIGSRCS # # The following variables may be overridden in your top level Makefile # # FIG2DEV = the fig2dev executable # FIG2DEV_FLAGS = flags passed to fig2dev for all exporting # FIG2DEV_EPS_FLAGS = flags passed to fig2dev for exporting to eps # FIG2DEV_PDF_FLAGS = flags passed to fig2dev for exporting to pdf # ####################################### # how to call fig2dev to convert xfig files to postscript FIG2DEV?= @FIG2DEV@ FIG2DEV_FLAGS?= FIG2DEV_EPS_FLAGS?= -L eps FIG2DEV_PDF_FLAGS?= -L pdf ####################################### # # Process XFIGDIRS, adding to XFIGSRCS # ####################################### BMK:.if defined(XFIGDIRS) BMK:.for __tmp__ in ${XFIGDIRS} BMK:.if exists(${__tmp__}) BMK:_XFIG_ADD_${__tmp__}!= ls ${__tmp__}/*.fig BMK:XFIGSRCS+= ${_XFIG_ADD_${__tmp__}} BMK:.endif BMK:.endfor BMK:.endif GMK:ifdef XFIGDIRS GMK:XFIGSRCS+= $(foreach __tmp__,$(XFIGDIRS),$(wildcard $(__tmp__)/*.fig)) GMK:endif ####################################### # # Process proj_XFIGDIRS, adding to proj_XFIGSRCS # ####################################### BMK:.for __name__ in ${NAME} BMK:.if defined(${__name__}_XFIGDIRS) BMK:.for __tmp__ in ${${__name__}_XFIGDIRS} BMK:.if exists(${__tmp__}) BMK:_XFIG_ADD2_${__tmp__}!= ls ${__tmp__}/*.fig BMK:${__name__}_XFIGSRCS+= ${_XFIG_ADD2_${__tmp__}} BMK:.endif BMK:.endfor BMK:.endif BMK:.endfor GMK:define xfigdirs_template GMK:ifdef $(1)_XFIGDIRS GMK:$(1)_XFIGSRCS+= $(foreach __tmp2__,$($(1)_XFIGDIRS),$(wildcard $(__tmp2__)/*.fig)) GMK:endif GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call xfigdirs_template,$(__tmp__)))) ####################################### # # Process proj_XFIGSRCS to add to # proj_OTHER dependencies # ####################################### # if we are using pdflatex, then don't bother with the .eps files # but create .pdf files instead BMK:.if defined(USE_PDFLATEX) GMK:ifdef USE_PDFLATEX XFIGOBJS?= $(XFIGSRCS:.fig=.pdf) BMK:.else GMK:else XFIGOBJS?= $(XFIGSRCS:.fig=.eps) BMK:.endif GMK:endif ALLXFIGOBJS+= $(XFIGOBJS) BMK:.for __tmp__ in ${NAME} BMK:.if defined(${__tmp__}_XFIGSRCS) BMK:.if defined(USE_PDFLATEX) BMK:${__tmp__}_XFIGOBJS?= ${${__tmp__}_XFIGSRCS:.fig=.pdf} BMK:.else BMK:${__tmp__}_XFIGOBJS?= ${${__tmp__}_XFIGSRCS:.fig=.eps} BMK:.endif BMK:${__tmp__}_OTHER+= ${${__tmp__}_XFIGOBJS} BMK:ALLXFIGOBJS+= ${${__tmp__}_XFIGOBJS} BMK:.endif BMK:${__tmp__}_DIST+= ${${__tmp__}_XFIGSRCS} ${XFIGSRCS} BMK:.endfor GMK:# note, this had to be done in two steps (create proj_XFIGOBJS, GMK:# and then add to proj_OTHER and ALLXFIGOBJS) with GNU make 3.80 GMK:# don't really know why. GMK:define xfigobjs_template GMK:ifdef $(1)_XFIGSRCS GMK:ifdef USE_PDFLATEX GMK:$(1)_XFIGOBJS?= ${$(1)_XFIGSRCS:.fig=.pdf} GMK:else GMK:$(1)_XFIGOBJS?= ${$(1)_XFIGSRCS:.fig=.eps} GMK:endif GMK:endif GMK:$(1)_DIST+= ${$(1)_XFIGSRCS} ${XFIGSRCS} GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call xfigobjs_template,$(__tmp__)))) GMK:define xfigdeps_template GMK:ifdef $(1)_XFIGSRCS GMK:$(1)_OTHER+= ${$(1)_XFIGOBJS} GMK:ALLXFIGOBJS+= ${$(1)_XFIGOBJS} GMK:endif GMK:endef GMK:$(foreach __tmp__,$(NAME),$(eval $(call xfigdeps_template,$(__tmp__)))) ####################################### # # Add the dependencies # ####################################### OTHER+= $(XFIGOBJS) all:: $(ALLXFIGOBJS) clean:: BMK:.for __tmp__ in $(ALLXFIGOBJS) BMK: $(RM) -f $(__tmp__:Q) BMK:.endfor GMK: $(RM) -f $(ALLXFIGOBJS) ####################################### # # The suffix rules # ####################################### .SUFFIXES : .fig .eps .pdf .fig.eps : BMK: $(FIG2DEV:Q) $(FIG2DEV_FLAGS) $(FIG2DEV_EPS_FLAGS) $*.fig $*.eps GMK: $(FIG2DEV) $(FIG2DEV_FLAGS) $(FIG2DEV_EPS_FLAGS) $*.fig $*.eps .fig.pdf : BMK: $(FIG2DEV:Q) $(FIG2DEV_FLAGS) $(FIG2DEV_PDF_FLAGS) $*.fig $*.pdf GMK: $(FIG2DEV) $(FIG2DEV_FLAGS) $(FIG2DEV_PDF_FLAGS) $*.fig $*.pdf latex-mk-2.1/configure100755 000144 000000 00000431111 11506463245 0010475#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell autoconf@gnu.org about your system, echo including any error possibly output before this echo message } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME= PACKAGE_TARNAME= PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= ac_unique_file="latex.mk.in.in" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir localstatedir includedir oldincludedir docdir infodir htmldir dvidir pdfdir psdir libdir localedir mandir DEFS ECHO_C ECHO_N ECHO_T LIBS build_alias host_alias target_alias INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA am__isrc CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os ENV_PROG FALSE GREP GZCAT GZIP RM RMDIR TAR BIBTEX CONVERT DVIPDFM DVIPS ECHO FIND GV HEVEA HACHA IMAGEN LATEX LATEX2HTML LATEX2RTF LPR MAKEIDX PDFLATEX PS2PDF TEX2PAGE XDVI LGRIND MPOST TGIF FIG2DEV GMAKE BMAKE MAKECONF GMAKECONF USERMAKECONF USERGMAKECONF LIBOBJS LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias host_alias target_alias' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=\$ac_optarg ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute directory names. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || { echo "$as_me: error: Working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$0" || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures this package to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-maintainer-mode enable make rules and dependencies not useful (and sometimes confusing) to the casual installer Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-mkconf=mkconf Use the specified file as the site configuration file for BSD make. default = /etc/latex-mk.conf --with-gmkconf=gmkconf Use the specified file as the site configuration file for GNU make. default = /etc/latex-gmk.conf --with-mkconf=usermkconf Use the specified file as the site configuration file for BSD make. default = $HOME/.latex-mk.conf --with-usergmkconf=usergmkconf Use the specified file as the user configuration file for GNU make. default = $HOME/.latex-gmk.conf _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then set x "$CONFIG_SITE" elif test "x$prefix" != xNONE; then set x "$prefix/share/config.site" "$prefix/etc/config.site" else set x "$ac_default_prefix/share/config.site" \ "$ac_default_prefix/etc/config.site" fi shift for ac_site_file do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu am__api_version='1.10' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} { (exit 1); exit 1; }; } fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm -f conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$AWK" && break done { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE=latex-mk VERSION=2.1 cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' { echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; } # Check whether --enable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval else USE_MAINTAINER_MODE=no fi { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; } if test $USE_MAINTAINER_MODE = yes; then MAINTAINER_MODE_TRUE= MAINTAINER_MODE_FALSE='#' else MAINTAINER_MODE_TRUE='#' MAINTAINER_MODE_FALSE= fi MAINT=$MAINTAINER_MODE_TRUE # # determine host type # # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6; } if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 echo "$as_me: error: invalid value of canonical build" >&2;} { (exit 1); exit 1; }; };; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6; } if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 echo "$as_me: error: invalid value of canonical host" >&2;} { (exit 1); exit 1; }; };; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # # an install program # # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' # # general # # Extract the first word of "awk nawk gawk mawk", so it can be a program name with args. set dummy awk nawk gawk mawk; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $AWK in [\\/]* | ?:[\\/]*) ac_cv_path_AWK="$AWK" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_AWK="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_AWK" && ac_cv_path_AWK="awk" ;; esac fi AWK=$ac_cv_path_AWK if test -n "$AWK"; then { echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "env", so it can be a program name with args. set dummy env; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_ENV_PROG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $ENV_PROG in [\\/]* | ?:[\\/]*) ac_cv_path_ENV_PROG="$ENV_PROG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ENV_PROG="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_ENV_PROG" && ac_cv_path_ENV_PROG="env" ;; esac fi ENV_PROG=$ac_cv_path_ENV_PROG if test -n "$ENV_PROG"; then { echo "$as_me:$LINENO: result: $ENV_PROG" >&5 echo "${ECHO_T}$ENV_PROG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "false", so it can be a program name with args. set dummy false; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_FALSE+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $FALSE in [\\/]* | ?:[\\/]*) ac_cv_path_FALSE="$FALSE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_FALSE="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_FALSE" && ac_cv_path_FALSE="false" ;; esac fi FALSE=$ac_cv_path_FALSE if test -n "$FALSE"; then { echo "$as_me:$LINENO: result: $FALSE" >&5 echo "${ECHO_T}$FALSE" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "grep", so it can be a program name with args. set dummy grep; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $GREP in [\\/]* | ?:[\\/]*) ac_cv_path_GREP="$GREP" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GREP="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GREP" && ac_cv_path_GREP="grep" ;; esac fi GREP=$ac_cv_path_GREP if test -n "$GREP"; then { echo "$as_me:$LINENO: result: $GREP" >&5 echo "${ECHO_T}$GREP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "gzcat", so it can be a program name with args. set dummy gzcat; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_GZCAT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $GZCAT in [\\/]* | ?:[\\/]*) ac_cv_path_GZCAT="$GZCAT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GZCAT="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GZCAT" && ac_cv_path_GZCAT="gzcat" ;; esac fi GZCAT=$ac_cv_path_GZCAT if test -n "$GZCAT"; then { echo "$as_me:$LINENO: result: $GZCAT" >&5 echo "${ECHO_T}$GZCAT" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "gzip", so it can be a program name with args. set dummy gzip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_GZIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $GZIP in [\\/]* | ?:[\\/]*) ac_cv_path_GZIP="$GZIP" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GZIP="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GZIP" && ac_cv_path_GZIP="gzip" ;; esac fi GZIP=$ac_cv_path_GZIP if test -n "$GZIP"; then { echo "$as_me:$LINENO: result: $GZIP" >&5 echo "${ECHO_T}$GZIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "rm", so it can be a program name with args. set dummy rm; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_RM+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $RM in [\\/]* | ?:[\\/]*) ac_cv_path_RM="$RM" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_RM="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_RM" && ac_cv_path_RM="rm" ;; esac fi RM=$ac_cv_path_RM if test -n "$RM"; then { echo "$as_me:$LINENO: result: $RM" >&5 echo "${ECHO_T}$RM" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "rmdir", so it can be a program name with args. set dummy rmdir; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_RMDIR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $RMDIR in [\\/]* | ?:[\\/]*) ac_cv_path_RMDIR="$RMDIR" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_RMDIR="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_RMDIR" && ac_cv_path_RMDIR="rmdir" ;; esac fi RMDIR=$ac_cv_path_RMDIR if test -n "$RMDIR"; then { echo "$as_me:$LINENO: result: $RMDIR" >&5 echo "${ECHO_T}$RMDIR" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "tar", so it can be a program name with args. set dummy tar; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_TAR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $TAR in [\\/]* | ?:[\\/]*) ac_cv_path_TAR="$TAR" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_TAR="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_TAR" && ac_cv_path_TAR="tar" ;; esac fi TAR=$ac_cv_path_TAR if test -n "$TAR"; then { echo "$as_me:$LINENO: result: $TAR" >&5 echo "${ECHO_T}$TAR" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # # for latex.mk # # Extract the first word of "bibtex", so it can be a program name with args. set dummy bibtex; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_BIBTEX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $BIBTEX in [\\/]* | ?:[\\/]*) ac_cv_path_BIBTEX="$BIBTEX" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_BIBTEX="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_BIBTEX" && ac_cv_path_BIBTEX="bibtex" ;; esac fi BIBTEX=$ac_cv_path_BIBTEX if test -n "$BIBTEX"; then { echo "$as_me:$LINENO: result: $BIBTEX" >&5 echo "${ECHO_T}$BIBTEX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # for converting graphics file formats (from ImageMagick) # Extract the first word of "convert", so it can be a program name with args. set dummy convert; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_CONVERT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $CONVERT in [\\/]* | ?:[\\/]*) ac_cv_path_CONVERT="$CONVERT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_CONVERT="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_CONVERT" && ac_cv_path_CONVERT="convert" ;; esac fi CONVERT=$ac_cv_path_CONVERT if test -n "$CONVERT"; then { echo "$as_me:$LINENO: result: $CONVERT" >&5 echo "${ECHO_T}$CONVERT" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "dvipdfm", so it can be a program name with args. set dummy dvipdfm; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_DVIPDFM+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $DVIPDFM in [\\/]* | ?:[\\/]*) ac_cv_path_DVIPDFM="$DVIPDFM" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_DVIPDFM="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_DVIPDFM" && ac_cv_path_DVIPDFM="dvipdfm" ;; esac fi DVIPDFM=$ac_cv_path_DVIPDFM if test -n "$DVIPDFM"; then { echo "$as_me:$LINENO: result: $DVIPDFM" >&5 echo "${ECHO_T}$DVIPDFM" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "dvips", so it can be a program name with args. set dummy dvips; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_DVIPS+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $DVIPS in [\\/]* | ?:[\\/]*) ac_cv_path_DVIPS="$DVIPS" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_DVIPS="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_DVIPS" && ac_cv_path_DVIPS="dvips" ;; esac fi DVIPS=$ac_cv_path_DVIPS if test -n "$DVIPS"; then { echo "$as_me:$LINENO: result: $DVIPS" >&5 echo "${ECHO_T}$DVIPS" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "echo", so it can be a program name with args. set dummy echo; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_ECHO+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $ECHO in [\\/]* | ?:[\\/]*) ac_cv_path_ECHO="$ECHO" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ECHO="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_ECHO" && ac_cv_path_ECHO="echo" ;; esac fi ECHO=$ac_cv_path_ECHO if test -n "$ECHO"; then { echo "$as_me:$LINENO: result: $ECHO" >&5 echo "${ECHO_T}$ECHO" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "find", so it can be a program name with args. set dummy find; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_FIND+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $FIND in [\\/]* | ?:[\\/]*) ac_cv_path_FIND="$FIND" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_FIND="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_FIND" && ac_cv_path_FIND="find" ;; esac fi FIND=$ac_cv_path_FIND if test -n "$FIND"; then { echo "$as_me:$LINENO: result: $FIND" >&5 echo "${ECHO_T}$FIND" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "gv", so it can be a program name with args. set dummy gv; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_GV+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $GV in [\\/]* | ?:[\\/]*) ac_cv_path_GV="$GV" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GV="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GV" && ac_cv_path_GV="gv" ;; esac fi GV=$ac_cv_path_GV if test -n "$GV"; then { echo "$as_me:$LINENO: result: $GV" >&5 echo "${ECHO_T}$GV" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "hevea", so it can be a program name with args. set dummy hevea; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_HEVEA+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $HEVEA in [\\/]* | ?:[\\/]*) ac_cv_path_HEVEA="$HEVEA" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_HEVEA="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_HEVEA" && ac_cv_path_HEVEA="hevea" ;; esac fi HEVEA=$ac_cv_path_HEVEA if test -n "$HEVEA"; then { echo "$as_me:$LINENO: result: $HEVEA" >&5 echo "${ECHO_T}$HEVEA" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "hacha", so it can be a program name with args. set dummy hacha; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_HACHA+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $HACHA in [\\/]* | ?:[\\/]*) ac_cv_path_HACHA="$HACHA" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_HACHA="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_HACHA" && ac_cv_path_HACHA="hacha" ;; esac fi HACHA=$ac_cv_path_HACHA if test -n "$HACHA"; then { echo "$as_me:$LINENO: result: $HACHA" >&5 echo "${ECHO_T}$HACHA" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "imagen", so it can be a program name with args. set dummy imagen; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_IMAGEN+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $IMAGEN in [\\/]* | ?:[\\/]*) ac_cv_path_IMAGEN="$IMAGEN" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_IMAGEN="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_IMAGEN" && ac_cv_path_IMAGEN="imagen" ;; esac fi IMAGEN=$ac_cv_path_IMAGEN if test -n "$IMAGEN"; then { echo "$as_me:$LINENO: result: $IMAGEN" >&5 echo "${ECHO_T}$IMAGEN" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "latex", so it can be a program name with args. set dummy latex; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_LATEX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $LATEX in [\\/]* | ?:[\\/]*) ac_cv_path_LATEX="$LATEX" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_LATEX="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_LATEX" && ac_cv_path_LATEX="latex" ;; esac fi LATEX=$ac_cv_path_LATEX if test -n "$LATEX"; then { echo "$as_me:$LINENO: result: $LATEX" >&5 echo "${ECHO_T}$LATEX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "latex2html", so it can be a program name with args. set dummy latex2html; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_LATEX2HTML+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $LATEX2HTML in [\\/]* | ?:[\\/]*) ac_cv_path_LATEX2HTML="$LATEX2HTML" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_LATEX2HTML="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_LATEX2HTML" && ac_cv_path_LATEX2HTML="latex2html" ;; esac fi LATEX2HTML=$ac_cv_path_LATEX2HTML if test -n "$LATEX2HTML"; then { echo "$as_me:$LINENO: result: $LATEX2HTML" >&5 echo "${ECHO_T}$LATEX2HTML" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "latex2rtf", so it can be a program name with args. set dummy latex2rtf; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_LATEX2RTF+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $LATEX2RTF in [\\/]* | ?:[\\/]*) ac_cv_path_LATEX2RTF="$LATEX2RTF" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_LATEX2RTF="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_LATEX2RTF" && ac_cv_path_LATEX2RTF="latex2rtf" ;; esac fi LATEX2RTF=$ac_cv_path_LATEX2RTF if test -n "$LATEX2RTF"; then { echo "$as_me:$LINENO: result: $LATEX2RTF" >&5 echo "${ECHO_T}$LATEX2RTF" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "lpr", so it can be a program name with args. set dummy lpr; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_LPR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $LPR in [\\/]* | ?:[\\/]*) ac_cv_path_LPR="$LPR" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_LPR="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_LPR" && ac_cv_path_LPR="lpr" ;; esac fi LPR=$ac_cv_path_LPR if test -n "$LPR"; then { echo "$as_me:$LINENO: result: $LPR" >&5 echo "${ECHO_T}$LPR" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "makeindex", so it can be a program name with args. set dummy makeindex; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_MAKEIDX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $MAKEIDX in [\\/]* | ?:[\\/]*) ac_cv_path_MAKEIDX="$MAKEIDX" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MAKEIDX="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_MAKEIDX" && ac_cv_path_MAKEIDX="makeindex" ;; esac fi MAKEIDX=$ac_cv_path_MAKEIDX if test -n "$MAKEIDX"; then { echo "$as_me:$LINENO: result: $MAKEIDX" >&5 echo "${ECHO_T}$MAKEIDX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "pdflatex", so it can be a program name with args. set dummy pdflatex; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_PDFLATEX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $PDFLATEX in [\\/]* | ?:[\\/]*) ac_cv_path_PDFLATEX="$PDFLATEX" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PDFLATEX="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_PDFLATEX" && ac_cv_path_PDFLATEX="pdflatex" ;; esac fi PDFLATEX=$ac_cv_path_PDFLATEX if test -n "$PDFLATEX"; then { echo "$as_me:$LINENO: result: $PDFLATEX" >&5 echo "${ECHO_T}$PDFLATEX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "ps2pdf", so it can be a program name with args. set dummy ps2pdf; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_PS2PDF+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $PS2PDF in [\\/]* | ?:[\\/]*) ac_cv_path_PS2PDF="$PS2PDF" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PS2PDF="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_PS2PDF" && ac_cv_path_PS2PDF="ps2pdf" ;; esac fi PS2PDF=$ac_cv_path_PS2PDF if test -n "$PS2PDF"; then { echo "$as_me:$LINENO: result: $PS2PDF" >&5 echo "${ECHO_T}$PS2PDF" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "tex2page", so it can be a program name with args. set dummy tex2page; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_TEX2PAGE+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $TEX2PAGE in [\\/]* | ?:[\\/]*) ac_cv_path_TEX2PAGE="$TEX2PAGE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_TEX2PAGE="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_TEX2PAGE" && ac_cv_path_TEX2PAGE="tex2page" ;; esac fi TEX2PAGE=$ac_cv_path_TEX2PAGE if test -n "$TEX2PAGE"; then { echo "$as_me:$LINENO: result: $TEX2PAGE" >&5 echo "${ECHO_T}$TEX2PAGE" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # Extract the first word of "xdvi", so it can be a program name with args. set dummy xdvi; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_XDVI+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $XDVI in [\\/]* | ?:[\\/]*) ac_cv_path_XDVI="$XDVI" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_XDVI="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_XDVI" && ac_cv_path_XDVI="xdvi" ;; esac fi XDVI=$ac_cv_path_XDVI if test -n "$XDVI"; then { echo "$as_me:$LINENO: result: $XDVI" >&5 echo "${ECHO_T}$XDVI" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # # for lgrind.mk # # Extract the first word of "lgrind", so it can be a program name with args. set dummy lgrind; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_LGRIND+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $LGRIND in [\\/]* | ?:[\\/]*) ac_cv_path_LGRIND="$LGRIND" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_LGRIND="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_LGRIND" && ac_cv_path_LGRIND="lgrind" ;; esac fi LGRIND=$ac_cv_path_LGRIND if test -n "$LGRIND"; then { echo "$as_me:$LINENO: result: $LGRIND" >&5 echo "${ECHO_T}$LGRIND" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # # for mpost.mk # # Extract the first word of "mpost mp", so it can be a program name with args. set dummy mpost mp; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_MPOST+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $MPOST in [\\/]* | ?:[\\/]*) ac_cv_path_MPOST="$MPOST" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_MPOST="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_MPOST" && ac_cv_path_MPOST="mpost" ;; esac fi MPOST=$ac_cv_path_MPOST if test -n "$MPOST"; then { echo "$as_me:$LINENO: result: $MPOST" >&5 echo "${ECHO_T}$MPOST" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # # for tgif.mk # # Extract the first word of "tgif", so it can be a program name with args. set dummy tgif; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_TGIF+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $TGIF in [\\/]* | ?:[\\/]*) ac_cv_path_TGIF="$TGIF" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_TGIF="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_TGIF" && ac_cv_path_TGIF="tgif" ;; esac fi TGIF=$ac_cv_path_TGIF if test -n "$TGIF"; then { echo "$as_me:$LINENO: result: $TGIF" >&5 echo "${ECHO_T}$TGIF" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # # for xfig.mk # # Extract the first word of "fig2dev", so it can be a program name with args. set dummy fig2dev; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_FIG2DEV+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $FIG2DEV in [\\/]* | ?:[\\/]*) ac_cv_path_FIG2DEV="$FIG2DEV" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_FIG2DEV="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_FIG2DEV" && ac_cv_path_FIG2DEV="fig2dev" ;; esac fi FIG2DEV=$ac_cv_path_FIG2DEV if test -n "$FIG2DEV"; then { echo "$as_me:$LINENO: result: $FIG2DEV" >&5 echo "${ECHO_T}$FIG2DEV" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi # # Look for a GNU make program and a BSD make program # This is used by the testsuite # #AC_MSG_CHECKING([for GNU make]) gnu_make= for mk in "$GMAKE" "$MAKE" gmake make gnumake ; do if test -n "$mk" ; then { echo "$as_me:$LINENO: checking if $mk is GNU make >= 3.80" >&5 echo $ECHO_N "checking if $mk is GNU make >= 3.80... $ECHO_C" >&6; } tmp=`sh -c "$mk --version" 2> /dev/null | grep GNU` if test -z "$tmp" ; then { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } else case $tmp in *\ 3.[8-9][0-9]*|*\ [4-9].[0-9]*) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } gnu_make="$mk" break ;; * ) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ;; esac fi fi done if test -z "$gnu_make" ; then { echo "$as_me:$LINENO: No suitable GNU make found." >&5 echo "$as_me: No suitable GNU make found." >&6;} GMAKE=none else # Extract the first word of "$gnu_make", so it can be a program name with args. set dummy $gnu_make; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_GMAKE+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $GMAKE in [\\/]* | ?:[\\/]*) ac_cv_path_GMAKE="$GMAKE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_GMAKE="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi GMAKE=$ac_cv_path_GMAKE if test -n "$GMAKE"; then { echo "$as_me:$LINENO: result: $GMAKE" >&5 echo "${ECHO_T}$GMAKE" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi cat > tmp.mk << EOF # include some of the "." commands that we need from a # BSD make. MYVAR= BSDmake MYFLAG= #defined test: .for __tmp__ in \${MYVAR} .if defined(MYFLAG) @echo \${__tmp__} .endif .endfor EOF bsd_make= for mk in "$BMAKE" "$MAKE" make bmake nbmake ; do if test -n "$mk" ; then { echo "$as_me:$LINENO: checking if $mk is BSD make" >&5 echo $ECHO_N "checking if $mk is BSD make... $ECHO_C" >&6; } tmp=`sh -c "$mk -f tmp.mk test" 2> /dev/null | grep BSDmake` if test "X$tmp" = "XBSDmake" ; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } bsd_make="$mk" break else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi done if test -f tmp.mk ; then rm tmp.mk ; fi if test -z "$bsd_make" ; then { echo "$as_me:$LINENO: No suitable BSD make found." >&5 echo "$as_me: No suitable BSD make found." >&6;} BMAKE=none else # Extract the first word of "$bsd_make", so it can be a program name with args. set dummy $bsd_make; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_BMAKE+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $BMAKE in [\\/]* | ?:[\\/]*) ac_cv_path_BMAKE="$BMAKE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_BMAKE="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi BMAKE=$ac_cv_path_BMAKE if test -n "$BMAKE"; then { echo "$as_me:$LINENO: result: $BMAKE" >&5 echo "${ECHO_T}$BMAKE" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test "X${BMAKE}" = "Xnone" -a "X${GMAKE}" = "Xnone" ; then { echo "$as_me:$LINENO: ************************ WARNING ************************ I could not find GNU make >= version 3.80 _or_ a suitable BSD make on your system. This package will still install correctly, but you will not actually be able to use it or run the testsuite until you install a suitable make program. ************************ WARNING ************************ " >&5 echo "$as_me: ************************ WARNING ************************ I could not find GNU make >= version 3.80 _or_ a suitable BSD make on your system. This package will still install correctly, but you will not actually be able to use it or run the testsuite until you install a suitable make program. ************************ WARNING ************************ " >&6;} fi # # system config files # # Check whether --with-mkconf was given. if test "${with_mkconf+set}" = set; then withval=$with_mkconf; if test "X$with_mkconf" = "Xno" ; then { { echo "$as_me:$LINENO: error: --without-mkconf is not supported" >&5 echo "$as_me: error: --without-mkconf is not supported" >&2;} { (exit 1); exit 1; }; } else MAKECONF="$with_mkconf" fi else MAKECONF=@latexmkconfdir@/latex-mk.conf fi # Check whether --with-gmkconf was given. if test "${with_gmkconf+set}" = set; then withval=$with_gmkconf; if test "X$with_gmkconf" = "Xno" ; then { { echo "$as_me:$LINENO: error: --without-gmkconf is not supported" >&5 echo "$as_me: error: --without-gmkconf is not supported" >&2;} { (exit 1); exit 1; }; } else GMAKECONF="$with_gmkconf" fi else GMAKECONF=@latexmkconfdir@/latex-gmk.conf fi # Check whether --with-usermkconf was given. if test "${with_usermkconf+set}" = set; then withval=$with_usermkconf; if test "X$with_usermkconf" = "Xno" ; then { { echo "$as_me:$LINENO: error: --without-usermkconf is not supported" >&5 echo "$as_me: error: --without-usermkconf is not supported" >&2;} { (exit 1); exit 1; }; } else USERMAKECONF="$with_usermkconf" fi else USERMAKECONF="\${HOME}/.latex-mk.conf" fi # Check whether --with-usergmkconf was given. if test "${with_usergmkconf+set}" = set; then withval=$with_usergmkconf; if test "X$with_usergmkconf" = "Xno" ; then { { echo "$as_me:$LINENO: error: --without-usergmkconf is not supported" >&5 echo "$as_me: error: --without-usergmkconf is not supported" >&2;} { (exit 1); exit 1; }; } else USERGMAKECONF="$with_usergmkconf" fi else USERGMAKECONF="\${HOME}/.latex-gmk.conf" fi ac_config_files="$ac_config_files Makefile doc/Makefile doc/prefix.texi example/Makefile example/tgif/Makefile ieee-copyout latex-mk latex.mk.in latex.subdir.mk.in lgrind.mk.in mpost.mk.in testsuite/Makefile testsuite/bmake_ref/Makefile testsuite/gmake_ref/Makefile testsuite/latex_mk_ref/Makefile tgif.mk.in xfig.mk.in" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { echo "$as_me:$LINENO: updating cache $cache_file" >&5 echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Transform confdefs.h into DEFS. # Protect against shell expansion while executing Makefile rules. # Protect against Makefile macro expansion. # # If the first sed substitution is executed (which looks for macros that # take arguments), then branch to the quote section. Otherwise, # look for a macro that doesn't take arguments. ac_script=' t clear :clear s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g t quote s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g t quote b any :quote s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g s/\[/\\&/g s/\]/\\&/g s/\$/$$/g H :any ${ g s/^\n// s/\n/ /g p } ' DEFS=`sed -n "$ac_script" confdefs.h` ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 # Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by $as_me, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. config_files="$ac_config_files" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE Configuration files: $config_files Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ config.status configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2006 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 CONFIG_SHELL=$SHELL export CONFIG_SHELL exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "doc/prefix.texi") CONFIG_FILES="$CONFIG_FILES doc/prefix.texi" ;; "example/Makefile") CONFIG_FILES="$CONFIG_FILES example/Makefile" ;; "example/tgif/Makefile") CONFIG_FILES="$CONFIG_FILES example/tgif/Makefile" ;; "ieee-copyout") CONFIG_FILES="$CONFIG_FILES ieee-copyout" ;; "latex-mk") CONFIG_FILES="$CONFIG_FILES latex-mk" ;; "latex.mk.in") CONFIG_FILES="$CONFIG_FILES latex.mk.in" ;; "latex.subdir.mk.in") CONFIG_FILES="$CONFIG_FILES latex.subdir.mk.in" ;; "lgrind.mk.in") CONFIG_FILES="$CONFIG_FILES lgrind.mk.in" ;; "mpost.mk.in") CONFIG_FILES="$CONFIG_FILES mpost.mk.in" ;; "testsuite/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/Makefile" ;; "testsuite/bmake_ref/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/bmake_ref/Makefile" ;; "testsuite/gmake_ref/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/gmake_ref/Makefile" ;; "testsuite/latex_mk_ref/Makefile") CONFIG_FILES="$CONFIG_FILES testsuite/latex_mk_ref/Makefile" ;; "tgif.mk.in") CONFIG_FILES="$CONFIG_FILES tgif.mk.in" ;; "xfig.mk.in") CONFIG_FILES="$CONFIG_FILES xfig.mk.in" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # Set up the sed scripts for CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF SHELL!$SHELL$ac_delim PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim PACKAGE_NAME!$PACKAGE_NAME$ac_delim PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim PACKAGE_STRING!$PACKAGE_STRING$ac_delim PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim exec_prefix!$exec_prefix$ac_delim prefix!$prefix$ac_delim program_transform_name!$program_transform_name$ac_delim bindir!$bindir$ac_delim sbindir!$sbindir$ac_delim libexecdir!$libexecdir$ac_delim datarootdir!$datarootdir$ac_delim datadir!$datadir$ac_delim sysconfdir!$sysconfdir$ac_delim sharedstatedir!$sharedstatedir$ac_delim localstatedir!$localstatedir$ac_delim includedir!$includedir$ac_delim oldincludedir!$oldincludedir$ac_delim docdir!$docdir$ac_delim infodir!$infodir$ac_delim htmldir!$htmldir$ac_delim dvidir!$dvidir$ac_delim pdfdir!$pdfdir$ac_delim psdir!$psdir$ac_delim libdir!$libdir$ac_delim localedir!$localedir$ac_delim mandir!$mandir$ac_delim DEFS!$DEFS$ac_delim ECHO_C!$ECHO_C$ac_delim ECHO_N!$ECHO_N$ac_delim ECHO_T!$ECHO_T$ac_delim LIBS!$LIBS$ac_delim build_alias!$build_alias$ac_delim host_alias!$host_alias$ac_delim target_alias!$target_alias$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$ac_delim am__isrc!$am__isrc$ac_delim CYGPATH_W!$CYGPATH_W$ac_delim PACKAGE!$PACKAGE$ac_delim VERSION!$VERSION$ac_delim ACLOCAL!$ACLOCAL$ac_delim AUTOCONF!$AUTOCONF$ac_delim AUTOMAKE!$AUTOMAKE$ac_delim AUTOHEADER!$AUTOHEADER$ac_delim MAKEINFO!$MAKEINFO$ac_delim install_sh!$install_sh$ac_delim STRIP!$STRIP$ac_delim INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim mkdir_p!$mkdir_p$ac_delim AWK!$AWK$ac_delim SET_MAKE!$SET_MAKE$ac_delim am__leading_dot!$am__leading_dot$ac_delim AMTAR!$AMTAR$ac_delim am__tar!$am__tar$ac_delim am__untar!$am__untar$ac_delim MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim MAINT!$MAINT$ac_delim build!$build$ac_delim build_cpu!$build_cpu$ac_delim build_vendor!$build_vendor$ac_delim build_os!$build_os$ac_delim host!$host$ac_delim host_cpu!$host_cpu$ac_delim host_vendor!$host_vendor$ac_delim host_os!$host_os$ac_delim ENV_PROG!$ENV_PROG$ac_delim FALSE!$FALSE$ac_delim GREP!$GREP$ac_delim GZCAT!$GZCAT$ac_delim GZIP!$GZIP$ac_delim RM!$RM$ac_delim RMDIR!$RMDIR$ac_delim TAR!$TAR$ac_delim BIBTEX!$BIBTEX$ac_delim CONVERT!$CONVERT$ac_delim DVIPDFM!$DVIPDFM$ac_delim DVIPS!$DVIPS$ac_delim ECHO!$ECHO$ac_delim FIND!$FIND$ac_delim GV!$GV$ac_delim HEVEA!$HEVEA$ac_delim HACHA!$HACHA$ac_delim IMAGEN!$IMAGEN$ac_delim LATEX!$LATEX$ac_delim LATEX2HTML!$LATEX2HTML$ac_delim LATEX2RTF!$LATEX2RTF$ac_delim LPR!$LPR$ac_delim MAKEIDX!$MAKEIDX$ac_delim PDFLATEX!$PDFLATEX$ac_delim PS2PDF!$PS2PDF$ac_delim TEX2PAGE!$TEX2PAGE$ac_delim XDVI!$XDVI$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF CEOF$ac_eof _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF LGRIND!$LGRIND$ac_delim MPOST!$MPOST$ac_delim TGIF!$TGIF$ac_delim FIG2DEV!$FIG2DEV$ac_delim GMAKE!$GMAKE$ac_delim BMAKE!$BMAKE$ac_delim MAKECONF!$MAKECONF$ac_delim GMAKECONF!$GMAKECONF$ac_delim USERMAKECONF!$USERMAKECONF$ac_delim USERGMAKECONF!$USERGMAKECONF$ac_delim LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 12; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF :end s/|#_!!_#|//g CEOF$ac_eof _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 echo "$as_me: error: Invalid tag $ac_tag." >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac ac_file_inputs="$ac_file_inputs $ac_f" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input="Generated from "`IFS=: echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} fi case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin";; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir="$ac_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= case `sed -n '/datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s&@configure_input@&$configure_input&;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out"; rm -f "$tmp/out";; *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; esac ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi latex-mk-2.1/AUTHORS100644 000144 000000 00000000735 10560000615 0007625# $Id: AUTHORS,v 1.4 2006/04/04 22:11:53 dan Exp $ latex-mk was written over the course of several years (1998-2002/present) by Dan McMahill The initial lgrind support was written by Peter Bex and later expanded and documented by Dan McMahill. -------------- Contributers: -------------- The following people have made significant contributions to LaTeX-Mk through one or more of bug reports, patch submissions, and feature suggestions. Peter Bex latex-mk-2.1/COPYING100644 000144 000000 00000003705 11346527005 0007622$Id: COPYING,v 1.6 2010/03/12 21:11:33 dan Exp $ A few of the files related to the build system ('missing' for example) are covered by the GPL. All of the actual .mk code, postscript files, scripts, etc, unless otherwise noted, are covered by the following copyright: Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, Dan McMahill All rights reserved. This code is derived from software written by Dan McMahill Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed Dan McMahill 4. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. latex-mk-2.1/ChangeLog100644 000144 000000 00000274060 11506452064 00103452010-12-28 16:15 dan * configure.ac, testsuite/Makefile.am, testsuite/texfiles/Makefile.am: rework how the texfiles subdirectory is distributed to handle spaces in the file names 2010-12-28 15:18 dan * testsuite/: script_tests.list, script_tests.sh, latex_mk_ref/Makefile.am, latex_mk_ref/basic_space1.ref, texfiles/Makefile.am: add test for latex-mk script on a file with a space in the name 2010-12-28 02:28 dan * NEWS, latex-mk.in, testsuite/latex_mk_ref/bibtex1.ref, testsuite/latex_mk_ref/bibtex2.ref, testsuite/latex_mk_ref/bibtex4.ref, testsuite/latex_mk_ref/bibtex5.ref, testsuite/latex_mk_ref/bibunits1.ref, testsuite/latex_mk_ref/bibunits2.ref, testsuite/latex_mk_ref/bibunits3.ref, testsuite/latex_mk_ref/bibunits4.ref, testsuite/latex_mk_ref/bibunits5.ref, testsuite/latex_mk_ref/bibunits6.ref, testsuite/latex_mk_ref/makegls1.ref, testsuite/latex_mk_ref/makeindex1.ref, testsuite/latex_mk_ref/makeindex2.ref, testsuite/latex_mk_ref/makeindex4.ref: Improve quoting for $NAME and variables derived from NAME in the latex-mk shell script. This hopefully gets things working when $NAME has spaces in it. Also improve $ODIR quoting. Addresses bug #3146401 "$NAME needs quoting" reported by Reuben Thomas. 2010-09-21 08:14 dan * lgrind.mk.in.in: fix a bug in cleaning the lgrind objects. Quoted the wrong variable. 2010-09-20 19:27 dan * htdocs/Makefile: update the rsync setup 2010-04-05 23:24 dan * htdocs/: index.shtml, news.shtml: add latex-mk-2.0 news and notes 2010-04-05 23:07 dan * README.to-release: fix up the checksum instructions 2010-04-05 22:39 dan * configure.ac: Set version for 2.0 release 2010-04-05 22:38 dan * configure.ac: welcome to 2.0A 2010-04-05 19:40 dan * ChangeLog: update for 2.0 2010-04-05 19:38 dan * README.to-release: update to account for autogen.sh not running configure and also for version 2.0 2010-04-05 12:52 dan * NEWS, doc/latex-mk.texi: update news/changes for 2.0 2010-03-28 01:51 dan * latex.mk.in.in: Fix bug #2963890 PDFLATEX_FLAGS=-shell-escape doesn't work. This manifested itself when BIBTEXSRCS is also set. Testsuite was updated to demonstrate the bug and then with this fix, the testsuite is happy. 2010-03-28 01:46 dan * testsuite/: bmake_ref/basic_bibtexsrcs_pdf2.ref, gmake_ref/basic_bibtexsrcs_pdf2.ref: Fix a bug in the reference files when USE_PDFLATEX is set at the same time we have BIBTEXSRCS. In this case we were calling latex-mk once with the LaTeX environment instead of the pdfLaTeX environment. 2010-03-25 14:26 dan * latex-mk.in: Be sure to clean up leftover output files from the bibunits.sty package 2010-03-12 16:21 dan * xfig.mk.in.in: When xfig is supposed to produce pdf it had been producing eps instead. Fix this behavior. Reported in bug #2234783 by Taylor Venable. 2010-03-12 16:15 dan * testsuite/script_tests.sh: add help/usage output 2010-03-12 16:14 dan * testsuite/latex_mk_ref/: bibtex1.ref, bibtex2.ref, bibtex4.ref, bibtex5.ref: update after having added bibunits support. results were hand verified 2010-03-12 16:13 dan * doc/Makefile.am: do not install the ps or dvi manual anymore 2010-03-12 16:12 dan * doc/latex-mk.texi: - add some comments to help tidy up the history section - update copyright date - add placeholder for version 2.0 history 2010-03-12 16:11 dan * COPYING: update copyright date 2010-03-12 16:11 dan * latex-mk.in, testsuite/latex_mk_ref/bibunits1.ref, testsuite/latex_mk_ref/bibunits2.ref, testsuite/latex_mk_ref/bibunits3.ref, testsuite/latex_mk_ref/bibunits4.ref, testsuite/latex_mk_ref/bibunits5.ref, testsuite/latex_mk_ref/bibunits6.ref, testsuite/script_tests.list, testsuite/latex_mk_ref/Makefile.am, testsuite/latex_mk_ref/bibunits7.ref, testsuite/latex_mk_ref/bibunits8.ref, testsuite/texfiles/Makefile.am, testsuite/texfiles/bibliography.bib, testsuite/texfiles/bibunits1.tex, testsuite/texfiles/bibunits2.tex: Add support for the bibunits package. Suggested by Pallav Gupta (pallav.gupta@villanova.edu) 2010-03-08 13:03 dan * autogen.sh: do not automatically run configure 2010-03-08 13:03 dan * testsuite/: bmake_ref/xfig_pdflatex_dvi1.ref, gmake_ref/xfig_pdflatex_dvi1.ref: Fix the rule for making .pdf from .fig with xfig. The 'golden' files were wrong too (grrr). Noted by Tayler Venable in bug report #2234783. 2007-08-26 20:07 dan * NEWS, README.to-release, configure.ac, mpost.mk.in.in, doc/latex-mk.texi, htdocs/history.shtml, htdocs/index.shtml, htdocs/main_footer.incl, htdocs/news.shtml, testsuite/bmake_ref/mpostsrcs_clean1.ref, testsuite/bmake_ref/mpostsrcs_clean2.ref, testsuite/gmake_ref/mpostsrcs_clean1.ref, testsuite/gmake_ref/mpostsrcs_clean2.ref: fix the MPOST clean bug. Fixes from head. 2007-08-26 18:09 dan * doc/latex-mk.texi, htdocs/index.shtml, htdocs/news.shtml, htdocs/history.shtml: 1.9.1 notes 2007-08-26 18:01 dan * NEWS: mention metapost bug fix 2007-08-26 16:38 dan * mpost.mk.in.in, htdocs/main_footer.incl, testsuite/bmake_ref/mpostsrcs_clean1.ref, testsuite/bmake_ref/mpostsrcs_clean2.ref, testsuite/gmake_ref/mpostsrcs_clean1.ref, testsuite/gmake_ref/mpostsrcs_clean2.ref: Fix stupid mistake when cleaning with metapost features being used. Unfortunately the testsuite was wrong too. Grrrr! Andreas Bihlmaier reported that something wasn't right here.. 2007-06-15 19:34 dan * NEWS, README.to-release: add missing 1.9 news 2007-06-15 19:18 dan * configure.ac: set version for 1.9 2007-06-15 19:17 dan * configure.ac: welcome to 1.9A 2007-06-15 19:09 dan * ChangeLog, doc/latex-mk.texi, htdocs/history.shtml, htdocs/index.shtml, htdocs/news.shtml: update for the 1.9 release 2007-06-15 18:54 dan * TODO: add sweave support 2007-06-15 18:48 dan * README.to-release: update for 1.9 2007-06-15 18:47 dan * sweave.mk.in.in: create sweave.mk.in.in by copying mpost.mk.in.in. Not fixed up at all yet 2007-06-15 17:51 dan * testsuite/golden.mk: added some missing files 2007-06-15 17:44 dan * latex.mk.in.in, doc/latex-mk.texi, testsuite/golden.mk, testsuite/run_tests.sh, testsuite/script_tests.sh, testsuite/tests.list, testsuite/bmake_ref/multi1_dvipdfm_flag1.ref, testsuite/bmake_ref/multi1_dvips_flag1.ref, testsuite/gmake_ref/multi1_dvipdfm_flag1.ref, testsuite/gmake_ref/multi1_dvips_flag1.ref: add support for per-document DVIPS_FLAGS and DVIPDFM_FLAGS 2007-06-15 16:35 dan * latex-mk.in: use $PWD instead of some hacks involving csh. Bug [ 1672001 ] latex-mk uses hardcoded csh 2007-06-15 16:29 dan * latex.mk.in.in, mpost.mk.in.in, doc/latex-mk.texi, testsuite/tests.list: remove references to BIBTEX_ENV. It didn't work anyway. Addresses bug report [ 1530580 ] BIBTEX_ENV seems to be a no-op 2007-06-15 16:16 dan * doc/latex-mk.texi: document metapost 2007-06-15 15:48 dan * testsuite/: golden.mk, run_tests.sh, testfile.mk.in, tests.list, bmake_ref/basic_mpostdirs1.ref, bmake_ref/basic_mpostsrcs1.ref, bmake_ref/basic_mpostsrcs2.ref, bmake_ref/basic_mpostsrcs3.ref, bmake_ref/mpostsrcs_clean1.ref, bmake_ref/mpostsrcs_clean2.ref, bmake_ref/vars_mpost.ref, gmake_ref/basic_mpostdirs1.ref, gmake_ref/basic_mpostsrcs1.ref, gmake_ref/basic_mpostsrcs2.ref, gmake_ref/basic_mpostsrcs3.ref, gmake_ref/mpostsrcs_clean1.ref, gmake_ref/mpostsrcs_clean2.ref, gmake_ref/vars_mpost.ref: add tests for mpost.mk 2007-06-14 12:55 dan * latex.mk.in.in: when running latex-mk with --bibtex, also add --pdflatex if USE_PDFLATEX is set. From Rafael Laboissiere 2007-06-14 12:54 dan * testsuite/: golden.mk, tests.list, bmake_ref/basic_bibtexsrcs_pdf1.ref, bmake_ref/basic_bibtexsrcs_pdf2.ref, gmake_ref/basic_bibtexsrcs_pdf1.ref, gmake_ref/basic_bibtexsrcs_pdf2.ref: add tests for bibtex when pdflatex is being used 2007-06-14 10:02 dan * README: add a few more acks 2007-06-14 09:30 dan * mpost.mk.in.in: clean up a bunch of stuff which still pointed at tgif (this file came from tgif.mk.in.in) 2007-02-27 00:01 dan * Makefile.am, configure.ac, latex.mk.in.in, mpost.mk.in.in: start work on metapost support 2007-02-01 20:28 dan * doc/latex-mk.texi: document MAKEGLS and MAKEGLS_FLAGS 2007-02-01 20:25 dan * latex-mk.in, latex.mk.in.in, testsuite/golden.mk, testsuite/run_tests.sh, testsuite/script_tests.list, testsuite/script_tests.sh, testsuite/tests.list, testsuite/bmake_ref/basic1_clean1.ref, testsuite/bmake_ref/basic1_dvi1.ref, testsuite/bmake_ref/basic1_dvi2.ref, testsuite/bmake_ref/basic1_dvipdfm_dvi1.ref, testsuite/bmake_ref/basic1_dvipdfm_dvi2.ref, testsuite/bmake_ref/basic1_dvipdfm_pdf1.ref, testsuite/bmake_ref/basic1_dvipdfm_pdf2.ref, testsuite/bmake_ref/basic1_dvipdfm_ps1.ref, testsuite/bmake_ref/basic1_dvipdfm_ps2.ref, testsuite/bmake_ref/basic1_html1.ref, testsuite/bmake_ref/basic1_html2.ref, testsuite/bmake_ref/basic1_html4.ref, testsuite/bmake_ref/basic1_html7.ref, testsuite/bmake_ref/basic1_html8.ref, testsuite/bmake_ref/basic1_landscape_dvipdfm.ref, testsuite/bmake_ref/basic1_landscape_pdf.ref, testsuite/bmake_ref/basic1_landscape_ps.ref, testsuite/bmake_ref/basic1_landscape_view.ref, testsuite/bmake_ref/basic1_landscape_viewpdf.ref, testsuite/bmake_ref/basic1_landscape_viewps.ref, testsuite/bmake_ref/basic1_pdf1.ref, testsuite/bmake_ref/basic1_pdf2.ref, testsuite/bmake_ref/basic1_pdflatex_dvi1.ref, testsuite/bmake_ref/basic1_pdflatex_dvi2.ref, testsuite/bmake_ref/basic1_pdflatex_pdf1.ref, testsuite/bmake_ref/basic1_pdflatex_pdf2.ref, testsuite/bmake_ref/basic1_pdflatex_ps1.ref, testsuite/bmake_ref/basic1_pdflatex_ps2.ref, testsuite/bmake_ref/basic1_ps1.ref, testsuite/bmake_ref/basic1_ps2.ref, testsuite/bmake_ref/basic2_dvi1.ref, testsuite/bmake_ref/basic2_dvi2.ref, testsuite/bmake_ref/basic2_dvi3.ref, testsuite/bmake_ref/basic_bibtexsrcs_dvi1.ref, testsuite/bmake_ref/basic_bibtexsrcs_dvi3.ref, testsuite/bmake_ref/basic_lgrinddirs.ref, testsuite/bmake_ref/basic_lgrinddirs2.ref, testsuite/bmake_ref/basic_lgrinddirs3.ref, testsuite/bmake_ref/basic_lgrindsrcs.ref, testsuite/bmake_ref/basic_lgrindsrcs2.ref, testsuite/bmake_ref/basic_tgifdirs.ref, testsuite/bmake_ref/basic_tgifsrcs.ref, testsuite/bmake_ref/basic_xfigdirs.ref, testsuite/bmake_ref/basic_xfigsrcs.ref, testsuite/bmake_ref/draft1.ref, testsuite/bmake_ref/graphic1_dvi1.ref, testsuite/bmake_ref/multi1_dvi1.ref, testsuite/bmake_ref/multi1_dvi2.ref, testsuite/bmake_ref/multi1_dvi3.ref, testsuite/bmake_ref/multi_lgrinddirs_dvi1.ref, testsuite/bmake_ref/multi_lgrinddirs_dvi2.ref, testsuite/bmake_ref/multi_lgrinddirs_dvi3.ref, testsuite/bmake_ref/multi_lgrinddirs_dvi4.ref, testsuite/bmake_ref/multi_lgrinddirs_dvi5.ref, testsuite/bmake_ref/multi_lgrinddirs_dvi6.ref, testsuite/bmake_ref/multi_lgrindsrcs_dvi1.ref, testsuite/bmake_ref/multi_lgrindsrcs_dvi2.ref, testsuite/bmake_ref/multi_lgrindsrcs_dvi3.ref, testsuite/bmake_ref/multi_lgrindsrcs_dvi5.ref, testsuite/bmake_ref/multi_lgrindsrcs_dvi6.ref, testsuite/bmake_ref/multi_lgrindsrcs_dvi7.ref, testsuite/bmake_ref/multi_texsrcs_dvi1.ref, testsuite/bmake_ref/multi_texsrcs_dvi2.ref, testsuite/bmake_ref/multi_texsrcs_dvi3.ref, testsuite/bmake_ref/multi_texsrcs_dvi5.ref, testsuite/bmake_ref/multi_tgifsrcs_dvi1.ref, testsuite/bmake_ref/multi_tgifsrcs_dvi2.ref, testsuite/bmake_ref/multi_tgifsrcs_dvi3.ref, testsuite/bmake_ref/multi_tgifsrcs_dvi5.ref, testsuite/bmake_ref/tgif_pdflatex_dvi1.ref, testsuite/bmake_ref/tgifsrcs_clean.ref, testsuite/bmake_ref/vars_bibtex.ref, testsuite/bmake_ref/vars_dvipdfm.ref, testsuite/bmake_ref/vars_dvipdfm_landscape.ref, testsuite/bmake_ref/vars_dvips.ref, testsuite/bmake_ref/vars_dvips_landscape.ref, testsuite/bmake_ref/vars_gv.ref, testsuite/bmake_ref/vars_gv_landscape.ref, testsuite/bmake_ref/vars_latex.ref, testsuite/bmake_ref/vars_latex2html.ref, testsuite/bmake_ref/vars_latex2rtf.ref, testsuite/bmake_ref/vars_lgrind.ref, testsuite/bmake_ref/vars_lpr.ref, testsuite/bmake_ref/vars_makegls.ref, testsuite/bmake_ref/vars_makeindex.ref, testsuite/bmake_ref/vars_pdflatex.ref, testsuite/bmake_ref/vars_ps2pdf.ref, testsuite/bmake_ref/vars_tex2page.ref, testsuite/bmake_ref/vars_viewpdf.ref, testsuite/bmake_ref/vars_viewpdf_landscape.ref, testsuite/bmake_ref/vars_xdvi.ref, testsuite/bmake_ref/vars_xdvi_landscape.ref, testsuite/bmake_ref/xfig_pdflatex_dvi1.ref, testsuite/bmake_ref/xfigsrcs_clean.ref, testsuite/gmake_ref/basic1_clean1.ref, testsuite/gmake_ref/basic1_dvi1.ref, testsuite/gmake_ref/basic1_dvi2.ref, testsuite/gmake_ref/basic1_dvipdfm_dvi1.ref, testsuite/gmake_ref/basic1_dvipdfm_dvi2.ref, testsuite/gmake_ref/basic1_dvipdfm_pdf1.ref, testsuite/gmake_ref/basic1_dvipdfm_pdf2.ref, testsuite/gmake_ref/basic1_dvipdfm_ps1.ref, testsuite/gmake_ref/basic1_dvipdfm_ps2.ref, testsuite/gmake_ref/basic1_html1.ref, testsuite/gmake_ref/basic1_html2.ref, testsuite/gmake_ref/basic1_html4.ref, testsuite/gmake_ref/basic1_html7.ref, testsuite/gmake_ref/basic1_html8.ref, testsuite/gmake_ref/basic1_landscape_dvipdfm.ref, testsuite/gmake_ref/basic1_landscape_pdf.ref, testsuite/gmake_ref/basic1_landscape_ps.ref, testsuite/gmake_ref/basic1_landscape_view.ref, testsuite/gmake_ref/basic1_landscape_viewpdf.ref, testsuite/gmake_ref/basic1_landscape_viewps.ref, testsuite/gmake_ref/basic1_pdf1.ref, testsuite/gmake_ref/basic1_pdf2.ref, testsuite/gmake_ref/basic1_pdflatex_dvi1.ref, testsuite/gmake_ref/basic1_pdflatex_dvi2.ref, testsuite/gmake_ref/basic1_pdflatex_pdf1.ref, testsuite/gmake_ref/basic1_pdflatex_pdf2.ref, testsuite/gmake_ref/basic1_pdflatex_ps1.ref, testsuite/gmake_ref/basic1_pdflatex_ps2.ref, testsuite/gmake_ref/basic1_ps1.ref, testsuite/gmake_ref/basic1_ps2.ref, testsuite/gmake_ref/basic2_dvi1.ref, testsuite/gmake_ref/basic2_dvi2.ref, testsuite/gmake_ref/basic2_dvi3.ref, testsuite/gmake_ref/basic_bibtexsrcs_dvi1.ref, testsuite/gmake_ref/basic_bibtexsrcs_dvi3.ref, testsuite/gmake_ref/basic_lgrinddirs.ref, testsuite/gmake_ref/basic_lgrinddirs2.ref, testsuite/gmake_ref/basic_lgrinddirs3.ref, testsuite/gmake_ref/basic_lgrindsrcs.ref, testsuite/gmake_ref/basic_lgrindsrcs2.ref, testsuite/gmake_ref/basic_tgifdirs.ref, testsuite/gmake_ref/basic_tgifsrcs.ref, testsuite/gmake_ref/basic_xfigdirs.ref, testsuite/gmake_ref/basic_xfigsrcs.ref, testsuite/gmake_ref/draft1.ref, testsuite/gmake_ref/graphic1_dvi1.ref, testsuite/gmake_ref/multi1_dvi1.ref, testsuite/gmake_ref/multi1_dvi2.ref, testsuite/gmake_ref/multi1_dvi3.ref, testsuite/gmake_ref/multi_lgrinddirs_dvi1.ref, testsuite/gmake_ref/multi_lgrinddirs_dvi2.ref, testsuite/gmake_ref/multi_lgrinddirs_dvi3.ref, testsuite/gmake_ref/multi_lgrinddirs_dvi4.ref, testsuite/gmake_ref/multi_lgrinddirs_dvi5.ref, testsuite/gmake_ref/multi_lgrinddirs_dvi6.ref, testsuite/gmake_ref/multi_lgrindsrcs_dvi1.ref, testsuite/gmake_ref/multi_lgrindsrcs_dvi2.ref, testsuite/gmake_ref/multi_lgrindsrcs_dvi3.ref, testsuite/gmake_ref/multi_lgrindsrcs_dvi5.ref, testsuite/gmake_ref/multi_lgrindsrcs_dvi6.ref, testsuite/gmake_ref/multi_lgrindsrcs_dvi7.ref, testsuite/gmake_ref/multi_texsrcs_dvi1.ref, testsuite/gmake_ref/multi_texsrcs_dvi2.ref, testsuite/gmake_ref/multi_texsrcs_dvi3.ref, testsuite/gmake_ref/multi_texsrcs_dvi5.ref, testsuite/gmake_ref/multi_tgifsrcs_dvi1.ref, testsuite/gmake_ref/multi_tgifsrcs_dvi2.ref, testsuite/gmake_ref/multi_tgifsrcs_dvi3.ref, testsuite/gmake_ref/multi_tgifsrcs_dvi5.ref, testsuite/gmake_ref/tgif_pdflatex_dvi1.ref, testsuite/gmake_ref/tgifsrcs_clean.ref, testsuite/gmake_ref/vars_bibtex.ref, testsuite/gmake_ref/vars_dvipdfm.ref, testsuite/gmake_ref/vars_dvipdfm_landscape.ref, testsuite/gmake_ref/vars_dvips.ref, testsuite/gmake_ref/vars_dvips_landscape.ref, testsuite/gmake_ref/vars_gv.ref, testsuite/gmake_ref/vars_gv_landscape.ref, testsuite/gmake_ref/vars_latex.ref, testsuite/gmake_ref/vars_latex2html.ref, testsuite/gmake_ref/vars_latex2rtf.ref, testsuite/gmake_ref/vars_lgrind.ref, testsuite/gmake_ref/vars_lpr.ref, testsuite/gmake_ref/vars_makegls.ref, testsuite/gmake_ref/vars_makeindex.ref, testsuite/gmake_ref/vars_pdflatex.ref, testsuite/gmake_ref/vars_ps2pdf.ref, testsuite/gmake_ref/vars_tex2page.ref, testsuite/gmake_ref/vars_viewpdf.ref, testsuite/gmake_ref/vars_viewpdf_landscape.ref, testsuite/gmake_ref/vars_xdvi.ref, testsuite/gmake_ref/vars_xdvi_landscape.ref, testsuite/gmake_ref/xfig_pdflatex_dvi1.ref, testsuite/gmake_ref/xfigsrcs_clean.ref, testsuite/latex_mk_ref/Makefile.am, testsuite/latex_mk_ref/basic1.ref, testsuite/latex_mk_ref/basic2.ref, testsuite/latex_mk_ref/basic4.ref, testsuite/latex_mk_ref/bibtex1.ref, testsuite/latex_mk_ref/bibtex2.ref, testsuite/latex_mk_ref/bibtex4.ref, testsuite/latex_mk_ref/bibtex5.ref, testsuite/latex_mk_ref/makegls1.ref, testsuite/latex_mk_ref/makeindex1.ref, testsuite/latex_mk_ref/makeindex2.ref, testsuite/latex_mk_ref/makeindex4.ref, testsuite/latex_mk_ref/pdf1.ref, testsuite/latex_mk_ref/pdf2.ref, testsuite/latex_mk_ref/pdf4.ref, testsuite/latex_mk_ref/vars1.ref, testsuite/latex_mk_ref/vars2.ref, testsuite/latex_mk_ref/vars3.ref, testsuite/latex_mk_ref/vars4.ref, testsuite/latex_mk_ref/vars5.ref, testsuite/latex_mk_ref/vars6.ref, testsuite/latex_mk_ref/vars7.ref, testsuite/texfiles/Makefile.am, testsuite/texfiles/nomencl.tex: Add glossary support. Partial patch from Recai Oktaþ (roktas at debian dot org). I updated the testsuite since a new variable has been added to the latex-mk run environments. 2007-01-31 07:56 dan * testsuite/: tests.list, bmake_ref/draft1.ref, gmake_ref/draft1.ref: override the DATED_DRAFT variable to make sure we don't embed a build (or worse yet, my home directory) path into the reference and/or log file. 2007-01-30 22:35 dan * latex.mk.in.in, testsuite/golden.mk, testsuite/tests.list, testsuite/bmake_ref/draft1.ref, testsuite/gmake_ref/draft1.ref: Add a testsuite entry for the foo-draft.ps target. This shows sourceforge bugs 1645713 and 1645718. Fix both of these bugs. The former is a typo on my part, the latter seems to be a GNU make bug, but the workaround is easy so do that. 2007-01-30 22:21 dan * latex.mk.in.in: add a missing : after a GMK. Sourceforge bug 1645713 2007-01-30 22:13 dan * latex.mk.in.in, testsuite/tests.list, doc/latex-mk.texi: forgot to bump copyright date on last commit 2007-01-30 22:12 dan * latex.mk.in.in, doc/latex-mk.texi, testsuite/tests.list, testsuite/bmake_ref/basic1_dvipdfm_ps1.ref, testsuite/bmake_ref/basic1_dvipdfm_ps2.ref, testsuite/bmake_ref/basic1_landscape_pdf.ref, testsuite/bmake_ref/basic1_landscape_ps.ref, testsuite/bmake_ref/basic1_landscape_viewpdf.ref, testsuite/bmake_ref/basic1_landscape_viewps.ref, testsuite/bmake_ref/basic1_pdf1.ref, testsuite/bmake_ref/basic1_pdf2.ref, testsuite/bmake_ref/basic1_pdflatex_ps1.ref, testsuite/bmake_ref/basic1_pdflatex_ps2.ref, testsuite/bmake_ref/basic1_ps1.ref, testsuite/bmake_ref/basic1_ps2.ref, testsuite/bmake_ref/vars_dvips.ref, testsuite/bmake_ref/vars_dvips_landscape.ref, testsuite/bmake_ref/vars_gv.ref, testsuite/bmake_ref/vars_gv_landscape.ref, testsuite/bmake_ref/vars_lpr.ref, testsuite/bmake_ref/vars_ps2pdf.ref, testsuite/bmake_ref/vars_viewpdf.ref, testsuite/bmake_ref/vars_viewpdf_landscape.ref, testsuite/gmake_ref/basic1_dvipdfm_ps1.ref, testsuite/gmake_ref/basic1_dvipdfm_ps2.ref, testsuite/gmake_ref/basic1_landscape_pdf.ref, testsuite/gmake_ref/basic1_landscape_ps.ref, testsuite/gmake_ref/basic1_landscape_viewpdf.ref, testsuite/gmake_ref/basic1_landscape_viewps.ref, testsuite/gmake_ref/basic1_pdf1.ref, testsuite/gmake_ref/basic1_pdf2.ref, testsuite/gmake_ref/basic1_pdflatex_ps1.ref, testsuite/gmake_ref/basic1_pdflatex_ps2.ref, testsuite/gmake_ref/basic1_ps1.ref, testsuite/gmake_ref/basic1_ps2.ref, testsuite/gmake_ref/vars_dvips.ref, testsuite/gmake_ref/vars_dvips_landscape.ref, testsuite/gmake_ref/vars_gv.ref, testsuite/gmake_ref/vars_gv_landscape.ref, testsuite/gmake_ref/vars_lpr.ref, testsuite/gmake_ref/vars_ps2pdf.ref, testsuite/gmake_ref/vars_viewpdf.ref, testsuite/gmake_ref/vars_viewpdf_landscape.ref: Add a DVIPS_ENV variable, document it, and update the testsuite accordingly. The idea and basic patch came from Steven Mestdagh - steven.mestdagh at esat kuleuven be The documentation and testsuite updates are from me. 2007-01-30 21:39 dan * configure.ac, doc/latex-mk.texi, doc/prefix.texi.in: Put the actual installation prefix into the manual. Patch from Rafael Laboissiere. 2006-11-26 19:13 dan * testsuite/script_tests.sh: When executing latex-mk, redirect stdin to /dev/null (< /dev/null) to avoid tex possibly sitting waiting for user input. Patch suggested by Rafael Laboissiere from Debian. 2006-09-21 10:02 dan * testsuite/script_tests.sh: Be sure to eat white space in the return value field in the test list file. Otherwise a " " gets fed to test $? -ne " " 2006-09-21 09:52 dan * testsuite/: bmake_ref/xfigsrcs_clean.ref, golden.mk, gmake_ref/xfigsrcs_clean.ref, tests.list: add xfigsrcs_clean test as a result of a bug in removing xfig output files. 2006-09-21 09:49 dan * xfig.mk.in.in: fix a bug in cleaning files created via XFIGSRCS 2006-09-21 09:48 dan * tgif.mk.in.in: fix a bug in cleaning files created via TGIFSRCS 2006-09-21 09:47 dan * testsuite/: bmake_ref/tgifsrcs_clean.ref, tests.list, gmake_ref/tgifsrcs_clean.ref, golden.mk: add tgifsrcs_clean test as a result of a bug in cleaning files created via TGIFSRCS 2006-06-23 14:23 dan * README: note that Rafael helped with testsuite issues 2006-06-23 14:22 dan * testsuite/: script_tests.list, script_tests.sh: skip some tests when run as root since they will fail (root can write to a 555 directory) 2006-06-23 09:09 dan * testsuite/: run_tests.sh, script_tests.sh: use diff -w to ignore white space differences due to different makes. Also avoide csh 2006-06-22 23:50 dan * configure.ac: welcome to 1.8A 2006-06-22 14:46 dan * configure.ac: set version for 1.8 2006-06-22 14:42 dan * NEWS: one last 1.8 news item 2006-06-22 14:33 dan * ChangeLog: update for 1.8 release 2006-06-22 14:25 dan * README: add one more acknowledgement 2006-06-22 12:22 dan * README.to-release: update for 1.8 2006-06-22 11:22 dan * doc/latex-mk.texi, htdocs/history.shtml, htdocs/news.shtml: one more news item for 1.8 2006-06-22 10:09 dan * testsuite/script_tests.sh: use srcdir to find the scripts 2006-06-22 09:55 dan * testsuite/script_tests.sh: Add a syntax check on all shell scripts (sh -n). Suggested by Rafael Laboissiere. 2006-06-21 13:49 dan * htdocs/: history.shtml, index.shtml, news.shtml: add 1.8 release notes 2006-06-21 13:42 dan * doc/latex-mk.texi: add 1.8 release notes 2006-06-20 15:51 dan * NEWS: start on latex-mk-1.8 release notes 2006-06-20 15:51 dan * README: add some more acknowledgements 2006-06-20 15:48 dan * testsuite/: golden.mk, tests.list, bmake_ref/basic1_clean1.ref, gmake_ref/basic1_clean1.ref: add a basic test for the clean target 2006-06-20 08:51 dan * testsuite/script_tests.sh: normalize the environment before running the tests 2006-06-20 07:26 dan * testsuite/run_tests.sh: normalize the name of the bmake program when comparing to the golden files 2006-06-19 18:13 dan * testsuite/latex_mk_ref/: Makefile.am, bibtex1.ref, bibtex2.ref, bibtex3.ref, bibtex4.ref, bibtex5.ref: add some bibtex tests 2006-06-11 07:59 dan * testsuite/: texfiles/Makefile.am, script_tests.list, texfiles/bibliography.bib, texfiles/bibliography.tex, texfiles/bibliography2.tex: add some bibtex tests 2006-06-11 07:59 dan * testsuite/latex_mk_ref/Makefile.am: add the .dlog files to the list to be cleaned 2006-06-11 07:59 dan * testsuite/script_tests.sh: be sure to clean out the rundirectory first 2006-06-11 07:58 dan * latex-mk.in: if the .idx file exists but not a .ind file then also be sure to run makeindex. Suggested by Antoine Reilles. 2006-06-11 07:26 dan * latex.mk.in.in: clean .glo, .idx, and .ind files 2006-06-11 07:25 dan * latex-mk.in: be sure and clean out the .idx.old file 2006-06-10 09:23 dan * latex-mk.in: add some more annotation output 2006-06-10 09:23 dan * testsuite/: script_tests.list, latex_mk_ref/Makefile.am, latex_mk_ref/basic3.ref, latex_mk_ref/makeindex1.ref, latex_mk_ref/makeindex2.ref, latex_mk_ref/makeindex3.ref, latex_mk_ref/makeindex4.ref, latex_mk_ref/pdf1.ref, latex_mk_ref/pdf3.ref, texfiles/Makefile.am, texfiles/index.tex: add makeindex tests 2006-06-10 09:22 dan * testsuite/script_tests.sh: - check return code from latex-mk. Used in a few cases where we intentionally error out right away before a log file is created. - if the testlog is not created, make our own by grabbing the output from latex-mk and also add some text - add a --noclean flag to preserve the run directory for debugging. - be sure to clean up the testlog after we're done each time. Besides being nicer, we avoid the results of one test corrupting the results of another test from the same run 2006-06-10 08:36 dan * latex-mk.in: fix a non-portable shell construct (empty then clause). Spotted by Antoine Reilles 2006-06-09 18:52 dan * configure.ac: set version to 1.7 2006-06-09 18:50 dan * configure.ac: welcome to 1.7A 2006-06-09 18:26 dan * testsuite/: golden.mk, tests.list, bmake_ref/vars_makeindex.ref, gmake_ref/vars_makeindex.ref: add vars_makeindex test 2006-06-09 17:33 dan * testsuite/: run_tests.sh, bmake_ref/basic1_dvi1.ref, bmake_ref/basic1_dvi2.ref, bmake_ref/basic1_dvipdfm_dvi1.ref, bmake_ref/basic1_dvipdfm_dvi2.ref, bmake_ref/basic1_dvipdfm_pdf1.ref, bmake_ref/basic1_dvipdfm_pdf2.ref, bmake_ref/basic1_dvipdfm_ps1.ref, bmake_ref/basic1_dvipdfm_ps2.ref, bmake_ref/basic1_html1.ref, bmake_ref/basic1_html2.ref, bmake_ref/basic1_html4.ref, bmake_ref/basic1_html7.ref, bmake_ref/basic1_html8.ref, bmake_ref/basic1_landscape_dvipdfm.ref, bmake_ref/basic1_landscape_pdf.ref, bmake_ref/basic1_landscape_ps.ref, bmake_ref/basic1_landscape_view.ref, bmake_ref/basic1_landscape_viewpdf.ref, bmake_ref/basic1_landscape_viewps.ref, bmake_ref/basic1_pdf1.ref, bmake_ref/basic1_pdf2.ref, bmake_ref/basic1_pdflatex_dvi1.ref, bmake_ref/basic1_pdflatex_dvi2.ref, bmake_ref/basic1_pdflatex_pdf1.ref, bmake_ref/basic1_pdflatex_pdf2.ref, bmake_ref/basic1_pdflatex_ps1.ref, bmake_ref/basic1_pdflatex_ps2.ref, bmake_ref/basic1_ps1.ref, bmake_ref/basic1_ps2.ref, bmake_ref/basic2_dvi1.ref, bmake_ref/basic2_dvi2.ref, bmake_ref/basic2_dvi3.ref, bmake_ref/basic_bibtexsrcs_dvi1.ref, bmake_ref/basic_bibtexsrcs_dvi3.ref, bmake_ref/basic_lgrinddirs.ref, bmake_ref/basic_lgrinddirs2.ref, bmake_ref/basic_lgrinddirs3.ref, bmake_ref/basic_lgrindsrcs.ref, bmake_ref/basic_lgrindsrcs2.ref, bmake_ref/basic_tgifdirs.ref, bmake_ref/basic_tgifsrcs.ref, bmake_ref/basic_xfigdirs.ref, bmake_ref/basic_xfigsrcs.ref, bmake_ref/graphic1_dvi1.ref, bmake_ref/multi1_dvi1.ref, bmake_ref/multi1_dvi2.ref, bmake_ref/multi1_dvi3.ref, bmake_ref/multi_lgrinddirs_dvi1.ref, bmake_ref/multi_lgrinddirs_dvi2.ref, bmake_ref/multi_lgrinddirs_dvi3.ref, bmake_ref/multi_lgrinddirs_dvi4.ref, bmake_ref/multi_lgrinddirs_dvi5.ref, bmake_ref/multi_lgrinddirs_dvi6.ref, bmake_ref/multi_lgrindsrcs_dvi1.ref, bmake_ref/multi_lgrindsrcs_dvi2.ref, bmake_ref/multi_lgrindsrcs_dvi3.ref, bmake_ref/multi_lgrindsrcs_dvi5.ref, bmake_ref/multi_lgrindsrcs_dvi6.ref, bmake_ref/multi_lgrindsrcs_dvi7.ref, bmake_ref/multi_texsrcs_dvi1.ref, bmake_ref/multi_texsrcs_dvi2.ref, bmake_ref/multi_texsrcs_dvi3.ref, bmake_ref/multi_texsrcs_dvi5.ref, bmake_ref/multi_tgifsrcs_dvi1.ref, bmake_ref/multi_tgifsrcs_dvi2.ref, bmake_ref/multi_tgifsrcs_dvi3.ref, bmake_ref/multi_tgifsrcs_dvi5.ref, bmake_ref/tgif_pdflatex_dvi1.ref, bmake_ref/vars_bibtex.ref, bmake_ref/vars_dvipdfm.ref, bmake_ref/vars_dvipdfm_landscape.ref, bmake_ref/vars_dvips.ref, bmake_ref/vars_dvips_landscape.ref, bmake_ref/vars_gv.ref, bmake_ref/vars_gv_landscape.ref, bmake_ref/vars_latex.ref, bmake_ref/vars_latex2html.ref, bmake_ref/vars_latex2rtf.ref, bmake_ref/vars_lgrind.ref, bmake_ref/vars_lpr.ref, bmake_ref/vars_pdflatex.ref, bmake_ref/vars_ps2pdf.ref, bmake_ref/vars_tex2page.ref, bmake_ref/vars_viewpdf.ref, bmake_ref/vars_viewpdf_landscape.ref, bmake_ref/vars_xdvi.ref, bmake_ref/vars_xdvi_landscape.ref, bmake_ref/xfig_pdflatex_dvi1.ref, gmake_ref/basic1_dvi1.ref, gmake_ref/basic1_dvi2.ref, gmake_ref/basic1_dvipdfm_dvi1.ref, gmake_ref/basic1_dvipdfm_dvi2.ref, gmake_ref/basic1_dvipdfm_pdf1.ref, gmake_ref/basic1_dvipdfm_pdf2.ref, gmake_ref/basic1_dvipdfm_ps1.ref, gmake_ref/basic1_dvipdfm_ps2.ref, gmake_ref/basic1_html1.ref, gmake_ref/basic1_html2.ref, gmake_ref/basic1_html4.ref, gmake_ref/basic1_html7.ref, gmake_ref/basic1_html8.ref, gmake_ref/basic1_landscape_dvipdfm.ref, gmake_ref/basic1_landscape_pdf.ref, gmake_ref/basic1_landscape_ps.ref, gmake_ref/basic1_landscape_view.ref, gmake_ref/basic1_landscape_viewpdf.ref, gmake_ref/basic1_landscape_viewps.ref, gmake_ref/basic1_pdf1.ref, gmake_ref/basic1_pdf2.ref, gmake_ref/basic1_pdflatex_dvi1.ref, gmake_ref/basic1_pdflatex_dvi2.ref, gmake_ref/basic1_pdflatex_pdf1.ref, gmake_ref/basic1_pdflatex_pdf2.ref, gmake_ref/basic1_pdflatex_ps1.ref, gmake_ref/basic1_pdflatex_ps2.ref, gmake_ref/basic1_ps1.ref, gmake_ref/basic1_ps2.ref, gmake_ref/basic2_dvi1.ref, gmake_ref/basic2_dvi2.ref, gmake_ref/basic2_dvi3.ref, gmake_ref/basic_bibtexsrcs_dvi1.ref, gmake_ref/basic_bibtexsrcs_dvi3.ref, gmake_ref/basic_lgrinddirs.ref, gmake_ref/basic_lgrinddirs2.ref, gmake_ref/basic_lgrinddirs3.ref, gmake_ref/basic_lgrindsrcs.ref, gmake_ref/basic_lgrindsrcs2.ref, gmake_ref/basic_tgifdirs.ref, gmake_ref/basic_tgifsrcs.ref, gmake_ref/basic_xfigdirs.ref, gmake_ref/basic_xfigsrcs.ref, gmake_ref/graphic1_dvi1.ref, gmake_ref/multi1_dvi1.ref, gmake_ref/multi1_dvi2.ref, gmake_ref/multi1_dvi3.ref, gmake_ref/multi_lgrinddirs_dvi1.ref, gmake_ref/multi_lgrinddirs_dvi2.ref, gmake_ref/multi_lgrinddirs_dvi3.ref, gmake_ref/multi_lgrinddirs_dvi4.ref, gmake_ref/multi_lgrinddirs_dvi5.ref, gmake_ref/multi_lgrinddirs_dvi6.ref, gmake_ref/multi_lgrindsrcs_dvi1.ref, gmake_ref/multi_lgrindsrcs_dvi2.ref, gmake_ref/multi_lgrindsrcs_dvi3.ref, gmake_ref/multi_lgrindsrcs_dvi5.ref, gmake_ref/multi_lgrindsrcs_dvi6.ref, gmake_ref/multi_lgrindsrcs_dvi7.ref, gmake_ref/multi_texsrcs_dvi1.ref, gmake_ref/multi_texsrcs_dvi2.ref, gmake_ref/multi_texsrcs_dvi3.ref, gmake_ref/multi_texsrcs_dvi5.ref, gmake_ref/multi_tgifsrcs_dvi1.ref, gmake_ref/multi_tgifsrcs_dvi2.ref, gmake_ref/multi_tgifsrcs_dvi3.ref, gmake_ref/multi_tgifsrcs_dvi5.ref, gmake_ref/tgif_pdflatex_dvi1.ref, gmake_ref/vars_bibtex.ref, gmake_ref/vars_dvipdfm.ref, gmake_ref/vars_dvipdfm_landscape.ref, gmake_ref/vars_dvips.ref, gmake_ref/vars_dvips_landscape.ref, gmake_ref/vars_gv.ref, gmake_ref/vars_gv_landscape.ref, gmake_ref/vars_latex.ref, gmake_ref/vars_latex2html.ref, gmake_ref/vars_latex2rtf.ref, gmake_ref/vars_lgrind.ref, gmake_ref/vars_lpr.ref, gmake_ref/vars_pdflatex.ref, gmake_ref/vars_ps2pdf.ref, gmake_ref/vars_tex2page.ref, gmake_ref/vars_viewpdf.ref, gmake_ref/vars_viewpdf_landscape.ref, gmake_ref/vars_xdvi.ref, gmake_ref/vars_xdvi_landscape.ref, gmake_ref/xfig_pdflatex_dvi1.ref: update after adding MAKEIDX and MAKEIDX_FLAGS 2006-06-09 14:30 dan * configure.ac, latex.mk.in.in, doc/latex-mk.texi: add MAKEIDX and MAKEIDX_FLAGS and document them 2006-06-09 14:23 dan * NEWS, doc/latex-mk.texi, htdocs/history.shtml, htdocs/index.shtml, htdocs/news.shtml: update htdocs, manual, and release notes for 1.7 2006-06-09 14:11 dan * ChangeLog: update for version 1.7 2006-06-09 14:08 dan * example/ex5.tex: add a glossary (or the start of one) 2006-06-09 14:06 dan * README.to-release: update with 1.7 as the example release 2006-06-09 13:00 dan * testsuite/Makefile.am: fix typo 2006-06-09 12:57 dan * testsuite/script_tests.sh: point to latex-mk, not latex-mk.in 2006-06-09 12:56 dan * testsuite/README.txt: update notes to mention script_tests.sh 2006-06-09 12:54 dan * configure.ac, testsuite/Makefile.am, testsuite/script_tests.list, testsuite/script_tests.sh, testsuite/latex_mk_ref/Makefile.am, testsuite/latex_mk_ref/basic1.ref, testsuite/latex_mk_ref/basic2.ref, testsuite/latex_mk_ref/basic3.ref, testsuite/latex_mk_ref/basic4.ref, testsuite/latex_mk_ref/pdf1.ref, testsuite/latex_mk_ref/pdf2.ref, testsuite/latex_mk_ref/pdf3.ref, testsuite/latex_mk_ref/pdf4.ref, testsuite/latex_mk_ref/vars1.ref, testsuite/latex_mk_ref/vars2.ref, testsuite/latex_mk_ref/vars3.ref, testsuite/latex_mk_ref/vars4.ref, testsuite/latex_mk_ref/vars5.ref, testsuite/latex_mk_ref/vars6.ref, testsuite/latex_mk_ref/vars7.ref: add some (very basic for now) tests of the latex-mk script 2006-06-09 12:39 dan * latex-mk.in: log the flags and environment before exiting if the input args are bad 2006-06-08 07:49 dan * testsuite/Makefile.am, configure.ac: add texfiles subdirectory 2006-06-08 07:49 dan * testsuite/texfiles/: Makefile.am, README.txt: add some documentation and a makefile 2006-06-08 07:45 dan * testsuite/texfiles/: basic1.tex, figures.tex, lof.tex, lot.tex, tables.tex, toc.tex: add various example latex files 2006-06-07 19:15 dan * latex-mk.in: - add makeindex support - use TEFMFOUTPUT to correctly (I think) deal with the case where the current directory is not writeable. - consolidate some common code to a function 2006-06-07 13:55 dan * example/: ex5.tex, Makefile.am: add example with an index 2006-06-07 09:49 dan * example/ex2.tex: make compatible with pdflatex 2006-05-31 21:33 dan * latex-mk.in: remove a strange line I had near the copyright statement. 2006-05-31 21:31 dan * latex-mk.in: log the environment variables to the testlog file 2006-05-31 21:29 dan * latex-mk.in: - add usage output - add parial support for makeindex - add --testlog logfile option that lets you log actions to a file. The goal is to provide a way for me to do regression testing on this script. I'll do a real set of runs and then compare the log file to a known good log. 2006-05-31 01:01 dan * doc/latex-mk.texi: add an alternatives section 2006-05-31 00:49 dan * doc/latex-mk.texi: ispell the manual. 2006-05-31 00:44 dan * doc/latex-mk.texi: be consistent with how "Postscript" is written. Noted by Reuben Thomas. 2006-04-04 19:14 dan * README.to-release: it is md5 not md6! 2006-04-04 18:35 dan * README.to-release: it is md5 not md6... 2006-04-04 18:22 dan * configure.ac: set rev for 1.6 release 2006-04-04 18:21 dan * configure.ac: bump rev for after the 1.6 branch 2006-04-04 18:11 dan * AUTHORS: add a contributers section 2006-04-04 18:09 dan * ChangeLog, README.to-release, doc/latex-mk.texi, htdocs/history.shtml, htdocs/index.shtml, htdocs/news.shtml: update changelog, add news and notes for version 1.6 2006-04-04 17:41 dan * latex-mk.in: When run with --force-bibtex, run latex once, run bibtex once and continue on instead of exiting. Bug noted by Peter Bex. 2006-04-04 17:27 dan * latex.mk.in.in: fix a typo in last commit caught via the testsuite (yay!) 2006-04-04 16:32 dan * latex-mk.in, latex.mk.in.in, lgrind.mk.in.in, tgif.mk.in.in, xfig.mk.in.in: Add a bunch of quoting to deal with spaces in the program path names. Patch supplied by Peter Bex with a few minor additions from me. 2006-02-01 09:33 dan * ieee-copyout.in: fix a syntax error noted by Rafael Laboissiere (rafael at debian dot org) 2006-02-01 09:30 dan * config.sub, config.guess: update to the version from automake-1.9.6 2006-01-31 08:24 dan * TODO: - recursive make support + improved variable quoting 2006-01-28 00:51 dan * doc/Makefile.am: distribute the pre-built docs 2006-01-28 00:32 dan * doc/Makefile.am: distribute and install the formatted docs 2006-01-27 23:53 dan * configure.ac: set version to 1.5 for release 2006-01-27 23:52 dan * configure.ac: welcome to 1.5A 2006-01-27 23:43 dan * latex.subdir.mk.in.in: fix one last bug in the gmake version with multiple subdirectories 2006-01-27 23:39 dan * testsuite/run_tests.sh: fix reference file directory in messages for failed tests when building outside the source tree 2006-01-27 23:32 dan * ChangeLog: update for 1.5 release 2006-01-27 23:30 dan * README.to-release: - be sure to use --enable-maintainer-mode to update version.texi - autogen.sh runs configure. No need to run that by hand. - add some details about sourceforge file release 2006-01-27 23:25 dan * doc/latex-mk.texi, htdocs/history.shtml, htdocs/news.shtml: document latex.subdir.mk 2006-01-27 14:43 dan * latex.subdir.mk.in.in, testsuite/Makefile.am, testsuite/golden.mk, testsuite/run_tests.sh, testsuite/simple.mk, testsuite/testfile.mk.in, testsuite/tests.list, testsuite/bmake_ref/subdir1.ref, testsuite/bmake_ref/subdir2.ref, testsuite/bmake_ref/subdir3.ref, testsuite/bmake_ref/subdir4.ref, testsuite/bmake_ref/subdir5.ref, testsuite/gmake_ref/subdir1.ref, testsuite/gmake_ref/subdir2.ref, testsuite/gmake_ref/subdir3.ref, testsuite/gmake_ref/subdir4.ref, testsuite/gmake_ref/subdir5.ref: - fix a few latex.subdir.mk bugs - add 5 tests for this to the testsuite - extend the testsuite framework to allow some tests to execute make without the "-n" flag. - extend the testsuite framework to allow copying files from the source directory to the run directory 2006-01-27 12:21 dan * Makefile.am, latex.subdir.mk.in.in: get latex.subdir.mk working and add it to the list of files which we process. 2006-01-25 15:24 dan * doc/latex-mk.texi, htdocs/history.shtml, htdocs/main_footer.incl, htdocs/news.shtml: fix up the history, news, and manual for 1.5 2006-01-25 15:13 dan * latex-mk.in, latex.mk.in.in, testsuite/bmake_ref/basic1_html1.ref, testsuite/bmake_ref/basic1_html2.ref, testsuite/bmake_ref/basic1_html4.ref, testsuite/bmake_ref/basic1_html5.ref, testsuite/bmake_ref/basic1_html6.ref, testsuite/bmake_ref/basic1_html7.ref, testsuite/bmake_ref/basic1_html8.ref, testsuite/bmake_ref/vars_hevea.ref, testsuite/bmake_ref/vars_latex2html.ref, testsuite/bmake_ref/vars_tex2page.ref, testsuite/gmake_ref/basic1_html1.ref, testsuite/gmake_ref/basic1_html2.ref, testsuite/gmake_ref/basic1_html4.ref, testsuite/gmake_ref/basic1_html5.ref, testsuite/gmake_ref/basic1_html6.ref, testsuite/gmake_ref/basic1_html7.ref, testsuite/gmake_ref/basic1_html8.ref, testsuite/gmake_ref/vars_hevea.ref, testsuite/gmake_ref/vars_latex2html.ref, testsuite/gmake_ref/vars_tex2page.ref: Add a --tex2page mode for latex-mk. This is because tex2page sometimes must be run multiple times to get references right just like latex. Improved the clean target when tex2page is used. Update the testsuite accordingly. These changes and patches (except for the testsuite) came from Peter Bex. 2006-01-25 15:11 dan * doc/Makefile.am: change how the manual building and cleaning works a bit because the latest automake just didn't like the old way. 2005-12-16 17:03 dan * latex.mk.in.in: clean up the .Z*.tex files left in the top project directory by tex2page. Noted by Peter Bex. 2005-12-15 13:04 dan * latex.mk.in.in: make sure that BIBTEXSRCS and foo_BIBTEXSRCS are ?= set to empty to keep some older versions of bmake happy when trying empty(BIBTEXSRCS). 2005-12-14 21:37 dan * latex-mk.in, latex.mk.in.in, doc/latex-mk.texi, htdocs/history.shtml, htdocs/news.shtml, testsuite/tests.list, testsuite/bmake_ref/basic_bibtexsrcs_dvi1.ref, testsuite/bmake_ref/basic_bibtexsrcs_dvi3.ref, testsuite/gmake_ref/basic_bibtexsrcs_dvi1.ref, testsuite/gmake_ref/basic_bibtexsrcs_dvi3.ref: Fix a bug where if the bibtex input file is modified, latex will be rerun but bibtex is not always run again. To achieve this, a new flag for latex-mk is added, -b|--bibtex, which will run latex once and then run bibtex once. If any of BIBTEXSRCS or foo_BIBTEXSRCS is touched then latex-mk --bibtex is run once and a .bib-stamp file is created. This is used as a dependency for the .dvi and other output files. Fixed up the testsuite to deal with this change. 2005-12-12 16:53 dan * latex.mk.in.in, doc/latex-mk.texi, htdocs/history.shtml, htdocs/index.shtml, htdocs/news.shtml, testsuite/bmake_ref/basic1_html5.ref, testsuite/bmake_ref/basic1_html6.ref, testsuite/bmake_ref/basic1_html7.ref, testsuite/bmake_ref/basic1_html8.ref, testsuite/bmake_ref/vars_hevea.ref, testsuite/bmake_ref/vars_tex2page.ref, testsuite/gmake_ref/basic1_html5.ref, testsuite/gmake_ref/basic1_html6.ref, testsuite/gmake_ref/basic1_html7.ref, testsuite/gmake_ref/basic1_html8.ref, testsuite/gmake_ref/vars_hevea.ref, testsuite/gmake_ref/vars_tex2page.ref: avoid running latex when generating html output unless we're using latex2html (which needs the .aux file generated by latex). Suggested by Peter Bex in bug #1357485 2005-10-05 09:20 dan * tgif.mk.in.in, xfig.mk.in.in: fix the dist target when using TGIFDIRS/SRCS and XFIGDIRS/SRCS 2005-10-04 21:39 dan * testsuite/run_tests.sh: try again with the correct value for LGRIND_FLAGS 2005-10-04 21:37 dan * testsuite/run_tests.sh: define LGRIND and LGRIND_FLAGS to normalize the test environment 2005-10-04 19:09 dan * configure.ac: set version to 1.4 for release 2005-10-04 19:07 dan * configure.ac: bump rev to 1.4A 2005-10-04 19:05 dan * ChangeLog: update for the 1.4 release 2005-10-04 18:08 dan * README.to-release: update these notes a bit 2005-10-04 18:04 dan * doc/latex-mk.texi, htdocs/history.shtml, htdocs/index.shtml, htdocs/news.shtml: set the release date to today! 2005-10-04 17:51 dan * latex.mk.in.in, testsuite/bmake_ref/multi_distfile1.ref, testsuite/bmake_ref/multi_distfile2.ref, testsuite/bmake_ref/multi_distfile3.ref, testsuite/gmake_ref/multi_distfile1.ref, testsuite/gmake_ref/multi_distfile2.ref, testsuite/gmake_ref/multi_distfile3.ref: improve the dist target to support a tar of all documents 2005-10-04 17:51 dan * htdocs/: Makefile, history.shtml, index.shtml, main_footer.incl, news.shtml: add v1.4 release notes 2005-10-04 17:51 dan * doc/latex-mk.texi: add some missing variables and add v1.4 notes 2005-10-04 17:51 dan * ChangeLog: regen with cvs2cl.pl 2005-10-04 17:51 dan * configure.ac, testsuite/run_tests.sh: add gzcat/GZCAT used by the dist target 2005-10-04 08:51 dan * TODO: lgrind support and dist target now exist 2005-10-04 06:57 dan * AUTHORS: add note about lgrind 2005-10-04 06:52 dan * doc/latex-mk.texi: the v1.3 section was incorrectly identified as v1.2 2005-10-04 06:45 dan * doc/latex-mk.texi: bump copyright date 2005-10-03 21:36 dan * configure.ac, latex.mk.in.in, lgrind.mk.in.in, tgif.mk.in.in, xfig.mk.in.in, doc/latex-mk.texi, testsuite/golden.mk, testsuite/run_tests.sh, testsuite/tests.list, testsuite/bmake_ref/multi_distfile1.ref, testsuite/bmake_ref/multi_distfile2.ref, testsuite/bmake_ref/multi_distfile3.ref, testsuite/gmake_ref/multi_distfile1.ref, testsuite/gmake_ref/multi_distfile2.ref, testsuite/gmake_ref/multi_distfile3.ref: add a 'dist' target which currently produces a distfile for each project. I still need the master distfile. 2005-10-03 14:10 dan * tgif.mk.in.in, xfig.mk.in.in, doc/latex-mk.texi, testsuite/golden.mk, testsuite/run_tests.sh, testsuite/tests.list, testsuite/bmake_ref/basic_xfigdirs.ref, testsuite/bmake_ref/basic_xfigsrcs.ref, testsuite/bmake_ref/tgif_pdflatex_dvi1.ref, testsuite/bmake_ref/xfig_pdflatex_dvi1.ref, testsuite/gmake_ref/basic_xfigdirs.ref, testsuite/gmake_ref/basic_xfigsrcs.ref, testsuite/gmake_ref/tgif_pdflatex_dvi1.ref, testsuite/gmake_ref/xfig_pdflatex_dvi1.ref: when using pdflatex, export tgif and xfig directly to pdf rather than eps. 2005-10-03 13:00 dan * lgrind.mk.in.in, testsuite/golden.mk, testsuite/testfile.mk.in, testsuite/tests.list, testsuite/bmake_ref/multi_lgrinddirs_dvi1.ref, testsuite/bmake_ref/multi_lgrinddirs_dvi2.ref, testsuite/bmake_ref/multi_lgrinddirs_dvi3.ref, testsuite/bmake_ref/multi_lgrinddirs_dvi4.ref, testsuite/bmake_ref/multi_lgrinddirs_dvi5.ref, testsuite/bmake_ref/multi_lgrinddirs_dvi6.ref, testsuite/bmake_ref/multi_lgrindsrcs_dvi1.ref, testsuite/bmake_ref/multi_lgrindsrcs_dvi2.ref, testsuite/bmake_ref/multi_lgrindsrcs_dvi3.ref, testsuite/bmake_ref/multi_lgrindsrcs_dvi4.ref, testsuite/bmake_ref/multi_lgrindsrcs_dvi5.ref, testsuite/bmake_ref/multi_lgrindsrcs_dvi6.ref, testsuite/bmake_ref/multi_lgrindsrcs_dvi7.ref, testsuite/gmake_ref/basic_lgrinddirs2.ref, testsuite/gmake_ref/basic_lgrinddirs3.ref, testsuite/gmake_ref/multi_lgrinddirs_dvi1.ref, testsuite/gmake_ref/multi_lgrinddirs_dvi2.ref, testsuite/gmake_ref/multi_lgrinddirs_dvi3.ref, testsuite/gmake_ref/multi_lgrinddirs_dvi4.ref, testsuite/gmake_ref/multi_lgrinddirs_dvi5.ref, testsuite/gmake_ref/multi_lgrinddirs_dvi6.ref, testsuite/gmake_ref/multi_lgrindsrcs_dvi1.ref, testsuite/gmake_ref/multi_lgrindsrcs_dvi2.ref, testsuite/gmake_ref/multi_lgrindsrcs_dvi3.ref, testsuite/gmake_ref/multi_lgrindsrcs_dvi4.ref, testsuite/gmake_ref/multi_lgrindsrcs_dvi5.ref, testsuite/gmake_ref/multi_lgrindsrcs_dvi6.ref, testsuite/gmake_ref/multi_lgrindsrcs_dvi7.ref: fix up GNU make support for foo_LGRIND_FLAGS. Add lots of tests to veryify that this stuff is working right. 2005-10-03 08:03 dan * testsuite/: bmake_ref/vars_lgrind.ref, gmake_ref/vars_lgrind.ref: Update for some whitespace changes which resulted from expanded lgrind flags support. 2005-10-02 22:23 dan * lgrind.mk.in.in, doc/latex-mk.texi, testsuite/golden.mk, testsuite/tests.list, testsuite/bmake_ref/basic_lgrinddirs.ref, testsuite/bmake_ref/basic_lgrinddirs2.ref, testsuite/bmake_ref/basic_lgrinddirs3.ref, testsuite/bmake_ref/basic_lgrindsrcs.ref, testsuite/bmake_ref/basic_lgrindsrcs2.ref, testsuite/gmake_ref/basic_lgrinddirs.ref, testsuite/gmake_ref/basic_lgrinddirs2.ref, testsuite/gmake_ref/basic_lgrinddirs3.ref, testsuite/gmake_ref/basic_lgrindsrcs.ref, testsuite/gmake_ref/basic_lgrindsrcs2.ref: Fix up the lgrind support quite a bit by adding per directory and per file variables for setting flags to lgrind. Fully works with BSD make, not fully working yet with GNU make. 2005-10-01 09:47 dan * testsuite/golden.mk: add vars_lgrind 2005-09-30 23:19 dan * lgrind.mk.in.in, doc/latex-mk.texi: remove the *.c *.h only restriction on lgrind inputs 2005-09-30 22:46 dan * doc/latex-mk.texi: document lgrind support 2005-09-30 22:38 dan * testsuite/tests.list: expand on comments for the @ special character 2005-09-30 22:37 dan * testsuite/: tests.list, bmake_ref/vars_lgrind.ref, gmake_ref/vars_lgrind.ref: add tsts for LGRIND and LGRIND_FLAGS variables 2005-09-30 18:11 dan * Makefile.am, configure.ac, latex.mk.in.in, lgrind.mk.in.in, testsuite/golden.mk, testsuite/testfile.mk.in, testsuite/tests.list, testsuite/bmake_ref/basic_lgrinddirs.ref, testsuite/bmake_ref/basic_lgrindsrcs.ref, testsuite/gmake_ref/basic_lgrinddirs.ref, testsuite/gmake_ref/basic_lgrindsrcs.ref: add initial support for lgrind based on patches from Peter Bex 2005-09-30 18:11 dan * testsuite/Makefile.am: make sure the test makefile gets built properly 2005-09-30 10:09 dan * latex.mk.in.in: if we have USE_PDFLATEX set, then do not build a .dvi file by default. Make the default view_${NAME} target be one which views the pdf file instead of the dvi file. Patch provided in bug #977584 by Peter Bex. 2005-09-30 09:45 dan * configure.ac, latex.mk.in.in, doc/latex-mk.texi, testsuite/golden.mk, testsuite/tests.list, testsuite/bmake_ref/basic1_html1.ref, testsuite/bmake_ref/basic1_html2.ref, testsuite/bmake_ref/basic1_html4.ref, testsuite/bmake_ref/basic1_html5.ref, testsuite/bmake_ref/basic1_html6.ref, testsuite/bmake_ref/basic1_html7.ref, testsuite/bmake_ref/basic1_html8.ref, testsuite/bmake_ref/vars_hevea.ref, testsuite/bmake_ref/vars_latex2html.ref, testsuite/bmake_ref/vars_tex2page.ref, testsuite/gmake_ref/basic1_html1.ref, testsuite/gmake_ref/basic1_html2.ref, testsuite/gmake_ref/basic1_html4.ref, testsuite/gmake_ref/basic1_html5.ref, testsuite/gmake_ref/basic1_html6.ref, testsuite/gmake_ref/basic1_html7.ref, testsuite/gmake_ref/basic1_html8.ref, testsuite/gmake_ref/vars_hevea.ref, testsuite/gmake_ref/vars_latex2html.ref, testsuite/gmake_ref/vars_tex2page.ref: Add support for tex2page for generating html output. Initial patch supplied by Peter Bex. Documentation, testsuite, and GNU make fixes by me. 2005-09-30 07:01 dan * configure.ac: if GNUmake >= 3.80 is not found _and_ no BSD make is found, then print a loud warning message about it. 2005-09-30 06:53 dan * acinclude.m4: improve quoting to keep more recent aclocal happy 2005-09-30 06:52 dan * doc/Makefile.am: clean up this file now that html, pdf, ps targets are dealt with by automake 2005-09-30 06:52 dan * configure.ac: add AM_MAINTAINER_MODE 2005-09-29 23:02 dan * COPYING, latex.mk.in.in, doc/latex-mk.texi, testsuite/golden.mk, testsuite/tests.list: add a LANDSCAPE variable which will trigger various other flags like DVIPS_LANDSCAPE_FLAGS, etc to be added the the appropriate tools. 2005-09-29 22:57 dan * testsuite/bmake_ref/: basic1_landscape_view.ref, vars_xdvi_landscape.ref: repair some broken golden files that had some of my .latex-mk.conf settings in them 2005-09-29 22:52 dan * testsuite/run_tests.sh: make sure we don't pull in a users MAKECONF or USER_MAKECONF which can completely throw off these tests. 2005-09-29 20:07 dan * autogen.sh: oops. no need to run autoheader. 2005-09-29 20:05 dan * autogen.sh: be a bit more verbose and abort on errors 2004-07-28 22:34 dan * xfig.mk.in.in: use -L eps instead of -L ps for FIG2DEV_FLAGS. Bug #972353 2004-06-26 16:33 dan * testsuite/: bmake_ref/vars_dvipdfm_landscape.ref, bmake_ref/vars_dvips_landscape.ref, bmake_ref/vars_gv_landscape.ref, bmake_ref/vars_viewpdf_landscape.ref, bmake_ref/vars_xdvi_landscape.ref, gmake_ref/vars_dvipdfm_landscape.ref, gmake_ref/vars_dvips_landscape.ref, gmake_ref/vars_gv_landscape.ref, gmake_ref/vars_viewpdf_landscape.ref, gmake_ref/vars_xdvi_landscape.ref: add more landscape checks 2004-06-26 16:03 dan * testsuite/: bmake_ref/basic1_landscape_dvipdfm.ref, bmake_ref/basic1_landscape_pdf.ref, bmake_ref/basic1_landscape_ps.ref, bmake_ref/basic1_landscape_view.ref, bmake_ref/basic1_landscape_viewpdf.ref, bmake_ref/basic1_landscape_viewps.ref, gmake_ref/basic1_landscape_dvipdfm.ref, gmake_ref/basic1_landscape_pdf.ref, gmake_ref/basic1_landscape_ps.ref, gmake_ref/basic1_landscape_view.ref, gmake_ref/basic1_landscape_viewpdf.ref, gmake_ref/basic1_landscape_viewps.ref: add various tests for the landscape variables 2004-05-29 09:18 dan * configure.ac: set to version 1.3 2004-05-29 09:17 dan * configure.ac: welcome to 1.3A 2004-05-29 09:09 dan * example/Makefile.am: add ex4.tex and ex4.bib 2004-05-29 09:09 dan * doc/latex-mk.texi: correct location of freebsd port 2004-05-29 09:07 dan * doc/latex-mk.texi: add latex-mk-1.3 notes 2004-05-29 09:03 dan * htdocs/Makefile: make this stupid makefile actually work 2004-05-29 08:59 dan * example/Makefile.am: makefile.in -> mkfile.in 2004-05-29 08:55 dan * htdocs/: history.shtml, index.shtml, news.shtml: latex-mk-1.3 updates 2004-05-29 08:49 dan * ChangeLog: update with latest using cvs2cl.pl 2004-05-29 08:46 dan * latex-mk.in: Correctly detect that a bibtex run is needed in the case where the document has no explicit \cite{} commands. For example, you could have uncited references by just doing \nocite{*}. Reported in bug report #927068. 2004-05-29 08:42 dan * example/: ex4.bib, ex4.tex: add an example of a document where the bibliography is generated with \nocite{*} 2004-05-29 08:28 dan * example/: biblio.tex, ex2.tex, ex3.tex, example.tex, refs.bib: RCS Id police 2004-05-28 23:24 dan * example/: Makefile.am, README-example.txt, makefile.in, mkfile.in: rename makefile.in to mkfile.in to avoid problems with non-case-sensitive filesystems (cygwin) 2004-04-13 11:28 dan * htdocs/obtaining.shtml: update freebsd port URL 2004-03-18 22:55 dan * configure.ac: set to version 1.2 for release 2004-03-18 22:53 dan * configure.ac: welcome to 1.2A 2004-03-18 21:28 dan * htdocs/Makefile: add latex-mk.html target and favicon.ico to all: target 2004-03-18 21:27 dan * htdocs/upload_list: add favicon.ico 2004-03-18 21:15 dan * htdocs/: Makefile, favicon.xpm, bugs.shtml, examples.shtml, faq.shtml, history.shtml, index.shtml, news.shtml, obtaining.shtml: add favicon icon 2004-03-18 18:11 dan * testsuite/golden.mk: add graphic1_dvi1 2004-03-18 17:13 dan * doc/latex-mk.texi: fix more texinfo syntax errors 2004-03-18 17:12 dan * doc/latex-mk.texi, htdocs/history.shtml, htdocs/news.shtml: add some docs about png and jpeg conversion 2004-03-18 17:02 dan * testsuite/: run_tests.sh, testfile.mk.in, tests.list, bmake_ref/graphic1_dvi1.ref, gmake_ref/graphic1_dvi1.ref: add tests for jpeg and png graphic file conversion 2004-03-18 15:31 dan * doc/latex-mk.texi: fix one more texinfo syntax bug 2004-03-18 15:24 dan * doc/latex-mk.texi: fix a texinfo syntax bug 2004-03-18 15:22 dan * doc/latex-mk.texi, latex.mk.in.in: add JPG2EPS and PNG2EPS for converting png and jpeg files to eps 2004-03-18 07:31 dan * latex.mk.in.in: fix up the call to latex-mk --clean after recent changes to the latex-mk script 2004-03-18 07:28 dan * latex-mk.in: be explicit about which project we are cleaning 2004-03-17 16:41 dan * TODO: HTML output is in testsuite now 2004-03-17 16:39 dan * testsuite/: tests.list, bmake_ref/vars_latex.ref, gmake_ref/vars_latex.ref: exercise the POST_BIBTEX_HOOK variable 2004-03-17 16:08 dan * htdocs/obtaining.shtml, doc/latex-mk.texi: add link to freebsd port 2004-03-17 15:45 dan * htdocs/main_footer.incl: update copyright date 2004-03-17 15:40 dan * doc/latex-mk.texi, htdocs/history.shtml, htdocs/index.shtml, htdocs/news.shtml: add updates for latex-mk version 1.2 2004-03-17 15:20 dan * latex-mk.in: make sure we clean up the .old versions of the files we were monitoring 2004-03-17 15:13 dan * testsuite/: bmake_ref/basic1_dvipdfm_pdf1.ref, bmake_ref/basic1_pdflatex_pdf1.ref, bmake_ref/basic1_pdflatex_pdf2.ref, gmake_ref/basic1_dvipdfm_pdf2.ref, gmake_ref/basic1_pdflatex_pdf1.ref, gmake_ref/basic1_pdflatex_pdf2.ref: update for POST_BIBTEX_HOOK and DVIPDFM_ENV 2004-03-17 15:09 dan * testsuite/: bmake_ref/vars_dvipdfm.ref, gmake_ref/vars_dvipdfm.ref: update for DVIPDFM_ENV 2004-03-17 15:09 dan * testsuite/: bmake_ref/vars_bibtex.ref, gmake_ref/vars_bibtex.ref, bmake_ref/vars_latex.ref, gmake_ref/vars_latex.ref, bmake_ref/vars_pdflatex.ref, gmake_ref/vars_pdflatex.ref: update for POST_BIBTEX_HOOK 2004-03-17 14:56 dan * testsuite/: bmake_ref/basic1_dvipdfm_pdf2.ref, gmake_ref/basic1_dvipdfm_pdf1.ref: update golden files for having DVIPDFM_ENV 2004-03-17 14:50 dan * testsuite/: bmake_ref/basic1_dvipdfm_ps1.ref, bmake_ref/basic1_dvipdfm_ps2.ref, bmake_ref/basic1_pdf1.ref, bmake_ref/basic1_pdf2.ref, bmake_ref/basic1_pdflatex_ps1.ref, bmake_ref/basic1_pdflatex_ps2.ref, bmake_ref/basic1_ps1.ref, bmake_ref/basic1_ps2.ref, bmake_ref/vars_gv.ref, bmake_ref/vars_lpr.ref, bmake_ref/vars_ps2pdf.ref, bmake_ref/vars_viewpdf.ref, gmake_ref/basic1_dvipdfm_ps1.ref, gmake_ref/basic1_dvipdfm_ps2.ref, gmake_ref/basic1_pdf1.ref, gmake_ref/basic1_pdf2.ref, gmake_ref/basic1_pdflatex_ps1.ref, gmake_ref/basic1_pdflatex_ps2.ref, gmake_ref/basic1_ps1.ref, gmake_ref/basic1_ps2.ref, gmake_ref/vars_gv.ref, gmake_ref/vars_lpr.ref, gmake_ref/vars_ps2pdf.ref, gmake_ref/vars_viewpdf.ref: update golden files for not having -Ppdf forced on you for dvips 2004-03-17 14:45 dan * testsuite/: bmake_ref/basic1_dvi1.ref, bmake_ref/basic1_dvi2.ref, bmake_ref/basic1_dvipdfm_dvi1.ref, bmake_ref/basic1_dvipdfm_dvi2.ref, bmake_ref/basic1_dvipdfm_pdf1.ref, bmake_ref/basic1_dvipdfm_pdf2.ref, bmake_ref/basic1_dvipdfm_ps1.ref, bmake_ref/basic1_dvipdfm_ps2.ref, bmake_ref/basic1_html1.ref, bmake_ref/basic1_html2.ref, bmake_ref/basic1_html4.ref, bmake_ref/basic1_html5.ref, bmake_ref/basic1_html6.ref, bmake_ref/basic1_pdf1.ref, bmake_ref/basic1_pdf2.ref, bmake_ref/basic1_pdflatex_dvi1.ref, bmake_ref/basic1_pdflatex_dvi2.ref, bmake_ref/basic1_pdflatex_ps1.ref, bmake_ref/basic1_pdflatex_ps2.ref, bmake_ref/basic1_ps1.ref, bmake_ref/basic1_ps2.ref, bmake_ref/basic2_dvi1.ref, bmake_ref/basic2_dvi2.ref, bmake_ref/basic2_dvi3.ref, bmake_ref/basic_bibtexsrcs_dvi1.ref, bmake_ref/basic_bibtexsrcs_dvi3.ref, bmake_ref/basic_tgifdirs.ref, bmake_ref/basic_tgifsrcs.ref, bmake_ref/basic_xfigdirs.ref, bmake_ref/basic_xfigsrcs.ref, bmake_ref/multi1_dvi1.ref, bmake_ref/multi1_dvi2.ref, bmake_ref/multi1_dvi3.ref, bmake_ref/multi_texsrcs_dvi1.ref, bmake_ref/multi_texsrcs_dvi2.ref, bmake_ref/multi_texsrcs_dvi3.ref, bmake_ref/multi_texsrcs_dvi5.ref, bmake_ref/multi_tgifsrcs_dvi1.ref, bmake_ref/multi_tgifsrcs_dvi2.ref, bmake_ref/multi_tgifsrcs_dvi3.ref, bmake_ref/multi_tgifsrcs_dvi5.ref, bmake_ref/vars_dvipdfm.ref, bmake_ref/vars_dvips.ref, bmake_ref/vars_gv.ref, bmake_ref/vars_hevea.ref, bmake_ref/vars_latex2html.ref, bmake_ref/vars_lpr.ref, bmake_ref/vars_ps2pdf.ref, bmake_ref/vars_viewpdf.ref, bmake_ref/vars_xdvi.ref, gmake_ref/basic1_dvi1.ref, gmake_ref/basic1_dvi2.ref, gmake_ref/basic1_dvipdfm_dvi1.ref, gmake_ref/basic1_dvipdfm_dvi2.ref, gmake_ref/basic1_dvipdfm_pdf1.ref, gmake_ref/basic1_dvipdfm_pdf2.ref, gmake_ref/basic1_dvipdfm_ps1.ref, gmake_ref/basic1_dvipdfm_ps2.ref, gmake_ref/basic1_html1.ref, gmake_ref/basic1_html2.ref, gmake_ref/basic1_html4.ref, gmake_ref/basic1_html5.ref, gmake_ref/basic1_html6.ref, gmake_ref/basic1_pdf1.ref, gmake_ref/basic1_pdf2.ref, gmake_ref/basic1_pdflatex_dvi1.ref, gmake_ref/basic1_pdflatex_dvi2.ref, gmake_ref/basic1_pdflatex_ps1.ref, gmake_ref/basic1_pdflatex_ps2.ref, gmake_ref/basic1_ps1.ref, gmake_ref/basic1_ps2.ref, gmake_ref/basic2_dvi1.ref, gmake_ref/basic2_dvi2.ref, gmake_ref/basic2_dvi3.ref, gmake_ref/basic_bibtexsrcs_dvi1.ref, gmake_ref/basic_bibtexsrcs_dvi3.ref, gmake_ref/basic_tgifdirs.ref, gmake_ref/basic_tgifsrcs.ref, gmake_ref/basic_xfigdirs.ref, gmake_ref/basic_xfigsrcs.ref, gmake_ref/multi1_dvi1.ref, gmake_ref/multi1_dvi2.ref, gmake_ref/multi1_dvi3.ref, gmake_ref/multi_texsrcs_dvi1.ref, gmake_ref/multi_texsrcs_dvi2.ref, gmake_ref/multi_texsrcs_dvi3.ref, gmake_ref/multi_texsrcs_dvi5.ref, gmake_ref/multi_tgifsrcs_dvi1.ref, gmake_ref/multi_tgifsrcs_dvi2.ref, gmake_ref/multi_tgifsrcs_dvi3.ref, gmake_ref/multi_tgifsrcs_dvi5.ref, gmake_ref/vars_dvipdfm.ref, gmake_ref/vars_dvips.ref, gmake_ref/vars_gv.ref, gmake_ref/vars_hevea.ref, gmake_ref/vars_latex2html.ref, gmake_ref/vars_lpr.ref, gmake_ref/vars_ps2pdf.ref, gmake_ref/vars_viewpdf.ref, gmake_ref/vars_xdvi.ref: update golden files for having POST_BIBTEX_HOOK set in LATEX_ENV 2004-03-17 14:34 dan * testsuite/: tests.list, golden.mk: update copyright date 2004-03-17 14:33 dan * testsuite/run_tests.sh: add DVIPDFM_ENV and the latex2rtf variables 2004-03-17 14:32 dan * testsuite/tests.list: add vars_latex2rtf test and add DVIPDFM_ENV to vars_dvipdfm 2004-03-17 14:28 dan * testsuite/: bmake_ref/vars_latex2rtf.ref, gmake_ref/vars_latex2rtf.ref, golden.mk: add vars_latex2rtf test 2004-03-17 13:07 dan * COPYING: update copyright date 2004-03-17 13:04 dan * latex-mk.in: add support for monitoring certain files such as the .toc, .lof, and .lot files (table of contents, list of figures, list of tables). If these files change or appear after a latex run, then an addition run will be triggered. This addresses a bug noted by Herve Quiroz and reproduced by myself where the table of contents might not get properly updated. 2004-02-02 22:30 dan * example/README-example.txt: LATEX-MK -> LATEX_MK 2003-11-17 17:48 dan * doc/latex-mk.texi: added some info about the 1.2 release 2003-11-17 17:22 dan * configure.ac: check for convert (from ImageMagick) for png to eps conversion 2003-11-17 17:19 dan * example/makefile.in: add missing BIBTEXSRCS adn TEXSRCS entries 2003-11-17 17:02 dan * latex.mk.in.in: Apply several fixes to the RTF output. This target should actually work now. (added .rtf to suffixes, set the LATEX2RTF* variables, added the dependency on the .dvi file) 2003-11-17 17:01 dan * latex-mk.in: fix a shell quoting bug which causes an errored exit at the end of the latex runs. Also add a --debug option for getting some debug output. 2003-11-17 13:08 dan * doc/latex-mk.texi: note the rtf target 2003-11-17 13:05 dan * doc/latex-mk.texi: document the latex2rtf variables, the DVIPDFM_ENV variable, and note the change in DVIPS_FLAGS default 2003-11-17 12:58 dan * latex.mk.in.in: Fix a handful of bugs noted by Brook Milligan who supplied patches. In particular: - don't force -Ppdf on everyone as a DVIPS flag. This now needs to go in a site/user/project config file now if you want -Ppdf. - make sure POST_BIBTEX_HOOK ends up in REAL_{PDF,}LATEX_ENV so it can be detected by latex-mk. - add DVIPDFM_ENV and use it when calling dvipdfm. 2003-11-17 12:49 dan * latex.mk.in.in: add preliminary support for RTF output 2003-11-17 12:49 dan * configure.ac: look for latex2rtf 2003-09-05 16:04 dan * latex-mk.in: add checks at the end for multiply defined labels 2003-08-24 20:14 dan * latex.mk.in.in: clean the images.out file which got created with latex2html 2003-06-14 10:16 dan * testsuite/run_tests.sh: do not fail the entire test if we have skipped one flavor of make 2003-06-14 08:38 dan * configure.ac: set version to 1.1 for release 2003-06-14 08:34 dan * configure.ac: bump rev to 1.1A 2003-06-12 17:58 dan * testsuite/run_tests.sh: replace $GMAKE with gmake in the log files and the reference files to account for the differing names that GNU make may be installed under. Also minor clean up of variables. 2003-06-11 20:49 dan * testsuite/: bmake_ref/vars_hevea.ref, gmake_ref/vars_hevea.ref: s;/usr/bin/;;g 2003-06-11 08:27 dan * testsuite/: bmake_ref/basic1_html1.ref, bmake_ref/basic1_html2.ref, bmake_ref/basic1_html4.ref, bmake_ref/basic1_html5.ref, bmake_ref/basic1_html6.ref, bmake_ref/vars_latex2html.ref, gmake_ref/basic1_html1.ref, gmake_ref/basic1_html2.ref, gmake_ref/basic1_html4.ref, gmake_ref/basic1_html5.ref, gmake_ref/basic1_html6.ref, gmake_ref/vars_latex2html.ref: s;/usr/bin;;g 2003-06-11 08:24 dan * latex.mk.in.in: allow FIND and GREP to be overridden 2003-06-11 08:23 dan * testsuite/run_tests.sh: override FIND, GREP, and RM 2003-06-11 07:43 dan * acinclude.m4: do not try and test out an empty string to see if it is BSD make 2003-06-09 00:33 dan * doc/latex-mk.texi, htdocs/history.shtml, htdocs/index.shtml, htdocs/news.shtml: add documentation relating to the version 1.1 release 2003-06-09 00:24 dan * configure.ac: bump to 1.0B now that HTML output works 2003-06-09 00:14 dan * testsuite/: golden.mk, tests.list, bmake_ref/basic1_html1.ref, bmake_ref/basic1_html2.ref, bmake_ref/basic1_html3.ref, bmake_ref/basic1_html4.ref, bmake_ref/basic1_html5.ref, bmake_ref/basic1_html6.ref, bmake_ref/vars_hevea.ref, bmake_ref/vars_latex2html.ref, gmake_ref/basic1_html1.ref, gmake_ref/basic1_html2.ref, gmake_ref/basic1_html3.ref, gmake_ref/basic1_html4.ref, gmake_ref/basic1_html5.ref, gmake_ref/basic1_html6.ref, gmake_ref/vars_hevea.ref, gmake_ref/vars_latex2html.ref: add HTML output tests to testsuite. 2003-06-07 23:42 dan * testsuite/run_tests.sh: if BMAKE or GMAKE is set to none then skip that test 2003-06-07 23:30 dan * configure.ac: look for GNU and BSD make 2003-06-07 14:18 dan * testsuite/Makefile.am: add BMAKE and GMAKE to the test environment 2003-06-07 09:03 dan * acinclude.m4: fix up bsd and gnu make tests 2003-06-04 10:12 dan * acinclude.m4: add the start of some checks for GNU make and BSD make 2003-06-04 08:28 dan * testsuite/run_tests.sh: add the variables for latex output 2003-06-01 17:24 dan * README: add Brook Milligan to ack. section 2003-06-01 16:46 dan * doc/latex-mk.texi: document POST_BIBTEX_HOOK 2003-05-31 18:39 dan * latex-mk.in: on second thought, don't use ". $POST_BIBTEX_HOOK", but rather just "$POST_BIBTEX_HOOK" to allow for any sort of executible to be used rather than just a bourne shell script. 2003-05-29 05:23 dan * latex-mk.in: add the option of running a script after a bibtex run. If the POST_BIBTEX_HOOK variable is set to an executible script, then it is run immediately after a bibtex run. The script can set the 'exit_status' variable to something non-zero to cause latex-mk to exit. Suggested by Brook Milligan. 2003-05-27 07:10 dan * doc/latex-mk.texi: its @{ not \{... also fix the next field for the variables node 2003-05-27 06:59 dan * latex.mk.in.in: protect default and all targets with .if !(). Also add missing .PHONY:default. From Brook Milligan 2003-05-27 06:56 dan * doc/latex-mk.texi: escape { and } 2003-05-27 06:42 dan * TODO: add 2 more items 2003-05-26 15:15 dan * doc/latex-mk.texi: add documentation for html output 2003-05-26 15:15 dan * configure.ac: add check for imagen 2003-05-26 15:14 dan * latex.mk.in.in: - imagen -> ${IMAGEN} - also add 'foo.html' targets 2003-05-25 16:12 dan * latex.mk.in.in: fix some bugs in the html clean:: section for GNU make which rendered this file non-functional. GNU make html generation now seems to work. 2003-05-25 00:14 dan * testsuite/run_tests.sh: add awk, grep, rm, and rmdir variables 2003-05-25 00:07 dan * latex.mk.in.in: add HTML output support via Hevea or Latex2HTML 2003-05-25 00:07 dan * configure.ac: add checks for awk, grep, and rmdir 2003-05-18 23:24 dan * latex-mk.in: fix a bug where bibtex would not get run due to slightly different LaTeX output in teTeX-1.0.7 than what I had observed. Noted by Brook Milligan brook at biology dot nmsu dot edu. 2003-05-07 07:09 dan * configure.ac, latex.mk.in.in: add the start of HTML output support suggested by Brook Milligan. Not finished yet. 2003-04-19 00:08 dan * TODO: pdflatex support has been added 2003-04-18 23:47 dan * htdocs/history.shtml: fix html typo 2003-03-19 13:46 dan * doc/latex-mk.texi: - add URL to tgif - add example of setting NAME 2003-03-07 19:04 dan * latex.mk.in.in: add dependency on ${DATED_DRAFT_PS} to foo-draft.ps so that users who override the default DATED_DRAFT_PS get the correct dependency. 2003-03-07 18:53 dan * latex-mk.in: after executing --help, exit instead of looping forever 2003-02-28 05:38 dan * doc/latex-mk.texi: correct some typos 2003-02-26 20:57 dan * htdocs/index.shtml: add latex-mk-1.0 release new 2003-02-26 19:17 dan * testsuite/: bmake_ref/Makefile.am, gmake_ref/Makefile.am: do not install the testsuite. its only for use at build time 2003-02-26 18:32 dan * testsuite/run_tests.sh: fixes to run on solaris 2003-02-26 05:20 dan * htdocs/history.shtml: add release date for 1.0 2003-02-25 20:53 dan * configure.ac: bump rev to 1.0 2003-02-25 20:50 dan * configure.ac: bump rev to 1.0A 2003-02-25 20:50 dan * testsuite/: Makefile.am: make sure we build the .{,g}mk files needed by the tests 2003-02-25 20:45 dan * htdocs/faq.shtml: add note about GNU make version 2003-02-25 20:28 dan * autogen.sh: no need to run autoheader. we do not have one... 2003-02-25 19:57 dan * testsuite/golden.mk: add several missing tests 2003-02-25 19:42 dan * testsuite/: bmake_ref/basic2_dvi1.ref, bmake_ref/basic2_dvi2.ref, bmake_ref/basic2_dvi3.ref, gmake_ref/basic2_dvi1.ref, gmake_ref/basic2_dvi2.ref, gmake_ref/basic2_dvi3.ref: add some missing reference files 2003-02-25 18:56 dan * htdocs/history.shtml, htdocs/news.shtml, doc/latex-mk.texi: add notes about the 1.0 release 2003-02-24 21:05 dan * testsuite/: testfile.mk.in, tests.list, bmake_ref/multi_texsrcs_dvi1.ref, bmake_ref/multi_texsrcs_dvi2.ref, bmake_ref/multi_texsrcs_dvi3.ref, bmake_ref/multi_texsrcs_dvi4.ref, bmake_ref/multi_texsrcs_dvi5.ref, bmake_ref/multi_tgifsrcs_dvi1.ref, bmake_ref/multi_tgifsrcs_dvi2.ref, bmake_ref/multi_tgifsrcs_dvi3.ref, bmake_ref/multi_tgifsrcs_dvi4.ref, bmake_ref/multi_tgifsrcs_dvi5.ref, gmake_ref/multi_texsrcs_dvi1.ref, gmake_ref/multi_texsrcs_dvi2.ref, gmake_ref/multi_texsrcs_dvi3.ref, gmake_ref/multi_texsrcs_dvi4.ref, gmake_ref/multi_texsrcs_dvi5.ref, gmake_ref/multi_tgifsrcs_dvi1.ref, gmake_ref/multi_tgifsrcs_dvi2.ref, gmake_ref/multi_tgifsrcs_dvi3.ref, gmake_ref/multi_tgifsrcs_dvi4.ref, gmake_ref/multi_tgifsrcs_dvi5.ref: add several more tests. These are for multiple document projects 2003-02-24 21:01 dan * testsuite/Makefile.am: do not install testsuite. this is a compile time check 2003-02-24 19:26 dan * testsuite/: Makefile.am, README.txt: add some docs on the testsuite 2003-02-24 19:14 dan * testsuite/run_tests.sh: add --without-{b,g}make flags to disable BSD or GNU make test 2003-02-24 07:29 dan * README.to-release, autogen.sh: update notes on how to release to reflect using a GNU auto* tools build system. 2003-02-22 22:17 dan * example/ex2.tex: remove extra junk from bottom of file 2003-02-22 22:17 dan * example/makefile.in: add ex3 2003-02-22 22:16 dan * example/: Makefile.am, ex3.tex: add an example which has a bibliography but does not include postscript files. This is used for testing the latex-mk script with --pdflatex. 2003-02-22 09:28 dan * latex-mk.in: fix a bug with running bibtex that caused latex-mk to sometimes stop processing after running bibtex once. 2003-02-17 07:11 dan * latex.mk.in.in, tgif.mk.in.in, xfig.mk.in.in, testsuite/testfile.mk.in: add -*- Makefile -*- to let emacs figure out the major mode 2003-02-15 15:35 dan * testsuite/: bmake_ref/basic1_dvi1.ref, bmake_ref/basic1_dvi2.ref, bmake_ref/basic1_dvipdfm_dvi1.ref, bmake_ref/basic1_dvipdfm_dvi2.ref, bmake_ref/basic1_dvipdfm_pdf1.ref, bmake_ref/basic1_dvipdfm_pdf2.ref, bmake_ref/basic1_dvipdfm_ps1.ref, bmake_ref/basic1_dvipdfm_ps2.ref, bmake_ref/basic1_pdf1.ref, bmake_ref/basic1_pdf2.ref, bmake_ref/basic1_pdflatex_dvi1.ref, bmake_ref/basic1_pdflatex_dvi2.ref, bmake_ref/basic1_pdflatex_pdf1.ref, bmake_ref/basic1_pdflatex_pdf2.ref, bmake_ref/basic1_pdflatex_ps1.ref, bmake_ref/basic1_pdflatex_ps2.ref, bmake_ref/basic1_ps1.ref, bmake_ref/basic1_ps2.ref, bmake_ref/basic_bibtexsrcs_dvi1.ref, bmake_ref/basic_bibtexsrcs_dvi3.ref, bmake_ref/basic_tgifdirs.ref, bmake_ref/basic_tgifsrcs.ref, bmake_ref/basic_xfigdirs.ref, bmake_ref/basic_xfigsrcs.ref, bmake_ref/multi1_dvi1.ref, bmake_ref/multi1_dvi2.ref, bmake_ref/multi1_dvi3.ref, bmake_ref/vars_dvipdfm.ref, bmake_ref/vars_dvips.ref, bmake_ref/vars_gv.ref, bmake_ref/vars_lpr.ref, bmake_ref/vars_ps2pdf.ref, bmake_ref/vars_viewpdf.ref, bmake_ref/vars_xdvi.ref, gmake_ref/basic1_dvi1.ref, gmake_ref/basic1_dvi2.ref, gmake_ref/basic1_dvipdfm_dvi1.ref, gmake_ref/basic1_dvipdfm_dvi2.ref, gmake_ref/basic1_dvipdfm_pdf1.ref, gmake_ref/basic1_dvipdfm_pdf2.ref, gmake_ref/basic1_dvipdfm_ps1.ref, gmake_ref/basic1_dvipdfm_ps2.ref, gmake_ref/basic1_pdf1.ref, gmake_ref/basic1_pdf2.ref, gmake_ref/basic1_pdflatex_dvi1.ref, gmake_ref/basic1_pdflatex_dvi2.ref, gmake_ref/basic1_pdflatex_pdf1.ref, gmake_ref/basic1_pdflatex_pdf2.ref, gmake_ref/basic1_pdflatex_ps1.ref, gmake_ref/basic1_pdflatex_ps2.ref, gmake_ref/basic1_ps1.ref, gmake_ref/basic1_ps2.ref, gmake_ref/basic_bibtexsrcs_dvi1.ref, gmake_ref/basic_bibtexsrcs_dvi3.ref, gmake_ref/basic_tgifdirs.ref, gmake_ref/basic_tgifsrcs.ref, gmake_ref/basic_xfigdirs.ref, gmake_ref/basic_xfigsrcs.ref, gmake_ref/multi1_dvi1.ref, gmake_ref/multi1_dvi2.ref, gmake_ref/multi1_dvi3.ref, gmake_ref/vars_dvipdfm.ref, gmake_ref/vars_dvips.ref, gmake_ref/vars_gv.ref, gmake_ref/vars_lpr.ref, gmake_ref/vars_ps2pdf.ref, gmake_ref/vars_viewpdf.ref, gmake_ref/vars_xdvi.ref: all calls to latex-mk now include an env call to set PDF/LATEX, PDF/LATEX_FLAGS, BIBTEX, BIBTEX_FLAGS 2003-02-15 15:07 dan * latex-mk.in, latex.mk.in.in: set {{PDF,}LA},BIB}TEX{,_FLAGS} in the environment that latex-mk is run in. Also follow these flags inside of latex-mk. 2003-02-15 14:43 dan * testsuite/: golden.mk, tests.list, bmake_ref/vars_bibtex.ref, bmake_ref/vars_latex.ref, bmake_ref/vars_pdflatex.ref, gmake_ref/vars_bibtex.ref, gmake_ref/vars_latex.ref, gmake_ref/vars_pdflatex.ref: add BIBTEX, LATEX, and PDFLATEX variable checks 2003-02-15 09:17 dan * latex.mk.in.in: add VIEWPDF{,_FLAGS} to comments near top 2003-02-15 09:06 dan * testsuite/: golden.mk, testfile.mk.in, tests.list, bmake_ref/basic_bibtexsrcs_dvi1.ref, bmake_ref/basic_bibtexsrcs_dvi2.ref, bmake_ref/basic_bibtexsrcs_dvi3.ref, bmake_ref/vars_dvipdfm.ref, bmake_ref/vars_dvips.ref, bmake_ref/vars_gv.ref, bmake_ref/vars_lpr.ref, bmake_ref/vars_ps2pdf.ref, bmake_ref/vars_viewpdf.ref, bmake_ref/vars_xdvi.ref, gmake_ref/basic_bibtexsrcs_dvi1.ref, gmake_ref/basic_bibtexsrcs_dvi2.ref, gmake_ref/basic_bibtexsrcs_dvi3.ref, gmake_ref/vars_dvipdfm.ref, gmake_ref/vars_dvips.ref, gmake_ref/vars_gv.ref, gmake_ref/vars_lpr.ref, gmake_ref/vars_ps2pdf.ref, gmake_ref/vars_viewpdf.ref, gmake_ref/vars_xdvi.ref: add lots of tests related to variables defining executables and their flags 2003-02-10 08:07 dan * testsuite/golden.mk: add multi1_dvi{1,2,3} tests 2003-02-09 23:00 dan * testsuite/: testfile.mk.in, tests.list, bmake_ref/multi1_dvi1.ref, bmake_ref/multi1_dvi2.ref, bmake_ref/multi1_dvi3.ref, gmake_ref/multi1_dvi1.ref, gmake_ref/multi1_dvi2.ref, gmake_ref/multi1_dvi3.ref: add tests for projects with multiple .tex files and multiple documents 2003-02-08 16:42 dan * testsuite/: Makefile.am, golden.mk, bmake_ref/Makefile.am, gmake_ref/Makefile.am: put the list of reference files for the testsuite into a single file (golden.mk) which is included by the two subdirectory makefiles. 2003-02-08 16:39 dan * testsuite/run_tests.sh: add support for inserting delays between touching files which need to be created during each test run. 2003-02-07 20:32 dan * configure.ac: move testsuite/{b,g}make to testsuite/{b,g}make_ref 2003-02-07 20:22 dan * testsuite/: Makefile.am, run_tests.sh, bmake_ref/Makefile.am, bmake_ref/basic1_dvi1.ref, bmake_ref/basic1_dvi2.ref, bmake_ref/basic1_dvipdfm_dvi1.ref, bmake_ref/basic1_dvipdfm_dvi2.ref, bmake_ref/basic1_dvipdfm_pdf1.ref, bmake_ref/basic1_dvipdfm_pdf2.ref, bmake_ref/basic1_dvipdfm_ps1.ref, bmake_ref/basic1_dvipdfm_ps2.ref, bmake_ref/basic1_pdf1.ref, bmake_ref/basic1_pdf2.ref, bmake_ref/basic1_pdflatex_dvi1.ref, bmake_ref/basic1_pdflatex_dvi2.ref, bmake_ref/basic1_pdflatex_pdf1.ref, bmake_ref/basic1_pdflatex_pdf2.ref, bmake_ref/basic1_pdflatex_ps1.ref, bmake_ref/basic1_pdflatex_ps2.ref, bmake_ref/basic1_ps1.ref, bmake_ref/basic1_ps2.ref, bmake_ref/basic_tgifdirs.ref, bmake_ref/basic_tgifsrcs.ref, bmake_ref/basic_xfigdirs.ref, bmake_ref/basic_xfigsrcs.ref, gmake_ref/Makefile.am, gmake_ref/basic1_dvi1.ref, gmake_ref/basic1_dvi2.ref, gmake_ref/basic1_dvipdfm_dvi1.ref, gmake_ref/basic1_dvipdfm_dvi2.ref, gmake_ref/basic1_dvipdfm_pdf1.ref, gmake_ref/basic1_dvipdfm_pdf2.ref, gmake_ref/basic1_dvipdfm_ps1.ref, gmake_ref/basic1_dvipdfm_ps2.ref, gmake_ref/basic1_pdf1.ref, gmake_ref/basic1_pdf2.ref, gmake_ref/basic1_pdflatex_dvi1.ref, gmake_ref/basic1_pdflatex_dvi2.ref, gmake_ref/basic1_pdflatex_pdf1.ref, gmake_ref/basic1_pdflatex_pdf2.ref, gmake_ref/basic1_pdflatex_ps1.ref, gmake_ref/basic1_pdflatex_ps2.ref, gmake_ref/basic1_ps1.ref, gmake_ref/basic1_ps2.ref, gmake_ref/basic_tgifdirs.ref, gmake_ref/basic_tgifsrcs.ref, gmake_ref/basic_xfigdirs.ref, gmake_ref/basic_xfigsrcs.ref: rename bmake and gmake directories to bmake_ref and gmake_ref to avoid problems with users who may include '.' in their path. 2003-02-06 05:31 dan * doc/latex-mk.texi, htdocs/history.shtml: add some news about the up and coming 1.0 release 2003-02-05 10:28 dan * testsuite/: Makefile.am, run_tests, run_tests.sh: move run_tests to run_tests.sh and fix up the script. In particular, it now properly functions when the build directory is not the same as the source directory. Its now open season on adding tests! 2003-02-03 07:13 dan * testsuite/run_tests: look in ${srcdir} for tests.list 2003-02-03 07:09 dan * testsuite/Makefile.am: do not try and chmod run_test. It should be ok already and we may have a write-only source tree 2003-02-03 07:04 dan * testsuite/Makefile.am: add run_test, tests.list, and testfile.mk.in to EXTRA_DIST 2003-02-03 06:45 dan * configure.ac: bump to 0.9C with the addition of a testsuite 2003-02-03 06:41 dan * testsuite/Makefile.am: enable the testsuite 2003-02-03 06:39 dan * testsuite/run_tests: clean up the environment a bit for running the test make's. This lets the testsuite actually run as part of 'make check' 2003-02-02 22:34 dan * latex.mk.in.in, testsuite/Makefile.am, testsuite/run_tests, testsuite/testfile.mk.in, testsuite/tests.list: import the first pass at part of a testsuite. As a bonus I've already caught a bug with this. Testsuite still needs to be incorporated into the 'make check' part of the automake build system. 2003-02-02 22:27 dan * configure.ac: add testsuite/{b,g}make/Makefile output 2003-02-02 22:25 dan * tgif.mk.in.in, xfig.mk.in.in: fix bug in which only one directory of multiple directories listed in {TGIF,XFIG}DIRS actually got processed with BSD make. Caught when creating the testsuite. 2003-02-02 07:38 dan * Makefile.am, configure.ac, testsuite/Makefile.am, testsuite/run_tests, testsuite/testfile.mk.in: add the start of a testsuite. 2003-02-02 07:07 dan * xfig.mk.in.in: - fix some typos in comments - s/XFIG2DEV_FLAGS/FIG2DEV_FLAGS 2003-02-01 22:43 dan * latex-mk.in: add a very short -h|--help output 2003-02-01 22:42 dan * configure.ac, latex.mk.in.in, doc/latex-mk.texi: provide preliminary support for using pdflatex to directly produce pdf files from latex files. 2003-02-01 21:33 dan * doc/latex-mk.texi: update copyright year 2003-02-01 20:28 dan * configure.ac, latex.mk.in.in, doc/latex-mk.texi: add preliminary support for using dvipdfm to directly create PDF from DVI. This addresses feature request "[ 620891 ] support for dvipdfm" entered on sourceforge. 2003-02-01 19:14 dan * latex.mk.in.in, tgif.mk.in.in, xfig.mk.in.in: - fix remaining bugs with correct inclusion of tgif.mk and xfig.mk when foo_TGIFDIRS and bar_XFIGSRCS, etc are used with gmake. - correctly add the dependencies for tgif and xfig files with gmake and foo_{TGIF,XFIG}{DIRS,SRCS} 2003-02-01 11:01 dan * latex.mk.in.in: correctly pull in latex.[g]mk and xfig.[g]mk when foo_TGIFDIRS and similar constructs are used but without TGIFDIRS being defined. 2002-10-31 09:59 dan * htdocs/faq.shtml: add note about GNU make version and how to get bmake 2002-10-31 09:57 dan * htdocs/history.shtml: fix the 0.9.1 section to be labeled as 0.9.1 2002-10-30 05:16 dan * htdocs/: Makefile, bugs.shtml, examples.shtml, faq.shtml, history.shtml, index.shtml, news.shtml, obtaining.shtml, upload_list: sync with the head for the 0.9.1 release 2002-10-29 05:29 dan * configure.ac: bump version to 0.9.1 2002-10-28 21:50 dan * htdocs/: history.shtml, index.shtml, news.shtml: add news and history for latex-mk-0.9.1 2002-10-28 21:17 dan * doc/latex-mk.texi: pullup revs 1.16, 1.17, 1.18 2002-10-28 21:14 dan * xfig.mk.in.in: pullup rev 1.3 2002-10-28 21:13 dan * tgif.mk.in.in: pullup revs 1.6 and 1.7 2002-10-28 21:10 dan * latex.mk.in.in: pullup revision 1.22 to fix many GNU make related bugs 2002-10-26 21:23 dan * doc/latex-mk.texi: - add system requirements section with info on required GNU make version (>=3.80) and where to get a BSD make program - add a history section 2002-10-17 22:23 dan * ChangeLog: add ChangeLog 2002-10-17 22:22 dan * tgif.mk.in.in: remove some whitespace. move ALLTGIFOBJS up higher in the file. 2002-10-17 22:21 dan * xfig.mk.in.in: Support per-document xfig dependencies. Somehow this was missed when support was added for tgif per-docuemnt dependencies. 2002-10-17 06:54 dan * latex.mk.in.in, tgif.mk.in.in: many fixes for gmake. Uses gmake-3.80 features, but the other approach to the dynamic dependencies and targets was a total hack which proved to not be portable across different versions of gmake. The big change here is how we handle multiple top level documents with gmake. 2002-10-10 08:50 dan * doc/latex-mk.texi: - document the VIEWPDF and VIEWPDF_FLAGS variables - XDVI is for .dvi previews, not .pdf previews 2002-10-09 21:32 dan * htdocs/bugs.shtml, htdocs/examples.shtml, htdocs/faq.shtml, htdocs/history.shtml, htdocs/index.shtml, htdocs/news.shtml, htdocs/obtaining.shtml, doc/latex-mk.texi: s/danmc@sourceforge.net/danmc@users.sourceforge.net/ 2002-10-09 01:03 dan * htdocs/: Makefile, upload_list: add 'upload' target. this uses the upload_list to select which files get rsynced 2002-10-09 00:35 dan * htdocs/: Makefile, history.shtml, index.shtml, news.shtml: add the news section and update for the 0.9 release 2002-10-09 00:11 dan * configure.ac: set to version 0.9 2002-10-09 00:10 dan * configure.ac: bump to 0.9A 2002-10-08 23:46 dan * Makefile.am: add all-local to chmod 755 the scripts. otherwise they are not executible prior to installation 2002-10-08 23:37 dan * COPYING: note that its more than just .mk files 2002-10-08 23:36 dan * doc/latex-mk.texi: add the ps_-draft target 2002-10-08 23:22 dan * TODO: add ieee-copyout and dist items 2002-10-08 23:19 dan * example/ex2.tex: add missing example to CVS 2002-10-08 23:17 dan * latex.mk.in.in: clean the draft_stamp.ps file 2002-10-08 23:13 dan * example/README-example.txt: add more notes on runnng the example 2002-10-08 22:53 dan * example/: Makefile.am, example.conf.in, makefile.in: example.conf is deprecated. Just set the env vars per the readme file 2002-10-08 20:59 dan * htdocs/: Makefile, bugs.shtml, examples.shtml, faq.shtml, history.shtml, index.shtml, left_column.incl, obtaining.shtml: several updates, add a history section, add some faq's about GNU vs BSD make, correct some spellings, grammar, etc. 2002-10-08 09:46 dan * example/tgif/Makefile.am: install the tgif files in a subdirectory 2002-10-08 09:45 dan * example/: Makefile.am, README-example.txt: add a readme file about how to try the example 2002-10-07 17:15 dan * doc/Makefile.am: distribute the .dvi files to avoid needing tex to build the docs 2002-10-07 17:00 dan * example/Makefile.am: fix for BSD make 2002-10-07 15:31 dan * latex.mk.in.in: s/BMK/GMK in a key spot. Fixes gmake foo-draft.ps and prevents creating garbage pdf-draft files with bmake 2002-10-07 14:34 dan * latex.mk.in.in: fix the test for draft output with gmake. clean the -draft.ps and -draft.pdf files 2002-10-07 10:11 dan * latex-mk.in: add a check for LaTeX Warning: There were undefined references. after the final run. For now, just issue a warning. In the future, this should support a bunch of flags saying which are warnings and which are fatal errors 2002-10-06 23:08 dan * latex-mk.in, latex.mk.in.in: add support for IGNORE_LATEX_ERRORS makefile variable which will pass --ignore-errors to latex-mk. This lets you build with undefined references. While here, add --pdflatex support to latex-mk. Still need support in the makefiles. 2002-10-06 22:30 dan * latex-mk.in: correctly capture the latex return code when piping the output to a log file. Thanks to Valeriy E. Ushakov for shell programming help on this one. 2002-10-06 22:28 dan * Makefile.am, latex.mk.in.in: fix exec_dir processing 2002-10-06 22:27 dan * ieee-copyout, ieee-copyout.in: move ieee-copyout to ieee-copyout.in 2002-10-05 16:34 dan * README: Add an acknowledgement for Karthikesh Raju 2002-10-05 16:18 dan * README.to-release: pull in some notes on releasing with cvs 2002-10-05 16:18 dan * example/README.to-release: move to top directory 2002-10-05 16:08 dan * example/README.to-release: pull in some notes on releasing with cvs 2002-10-02 22:34 dan * README: add some formatting and some acknowledgements 2002-09-29 23:10 dan * htdocs/index.shtml: note that latex-mk has scripts as well as makefiles 2002-09-29 23:05 dan * latex-mk.in, latex.mk.in.in: fix support for -draft targets 2002-09-29 21:46 dan * doc/latex-mk.texi: document the -draft targets and the options for multiple top level documents. 2002-09-29 21:18 dan * configure.ac, ieee-copyout, Makefile.am: add script (not finished yet) to make a sanitized copy of the document for IEEE submission. 2002-09-27 09:27 dan * latex.mk.in.in: fix the name for viewps-draft, viewps-all-draft, print-draft, and print-all-draft 2002-09-26 23:11 dan * dated_draft.ps, latex.mk.in.in: add initial support for draft watermark and time stamp in postscript and later output 2002-09-26 22:53 dan * Makefile.am, TODO: add TODO list 2002-09-21 10:40 dan * latex.mk.in.in, tgif.mk.in.in: cause the gmake dependency files to always be remade. Hopefully this ugly hack brings gmake support up to what BSD make does. 2002-09-21 10:39 dan * example/Makefile.am: add ex2.tex to distfiles 2002-09-20 22:57 dan * example/Makefile.am: add example.conf to distclean list 2002-09-20 22:56 dan * doc/latex-mk.texi: fix texi formatting bugs 2002-09-20 22:44 dan * configure.ac: bump rev now that multiple docs are supported 2002-09-20 22:38 dan * configure.ac, latex.mk.in.in, tgif.mk.in.in, doc/latex-mk.texi, example/Makefile.am, example/makefile.in: many changes to allow GNU make to deal with multiple documents per directory and some common and some shared dependencies. Now fully supports things like: NAME= doc1 doc2 TEXSRCS= common.tex doc1_TEXSRCS=extra1.tex doc2_TEXSRCS=extra2.tex 2002-09-20 22:32 dan * latex-mk.in: be sure and cleanup on exit 2002-09-20 22:31 dan * latex-mk.in: add a --clean flag which deletes any leftover log files 2002-09-20 08:05 dan * example/: Makefile.am, example.conf.in: more work on the examples, but not ready for prime-time yet 2002-09-20 07:58 dan * Makefile.am: add copyright info 2002-09-20 07:58 dan * configure.ac: correct help text for --with-{user,}{g,}mkconf 2002-09-17 22:45 dan * latex.mk.in.in, tgif.mk.in.in, example/Makefile.am, example/makefile.in: add support for having multiple documents with individual and shared dependencies in the same directory. Idea from Jeff McMahill. 2002-09-17 22:11 dan * latex-mk.in: use if test ! -f $file instead of if ! test -f $file and fix some echo "" quotes to make this work properly on solaris. 2002-09-16 07:12 dan * Makefile.am, configure.ac, example/Makefile.am, example/biblio.tex, example/example.tex, example/makefile.in, example/refs.bib, example/tgif/Makefile.am: add an example of using latex-mk 2002-09-16 07:11 dan * latex.mk.in.in: search for the included .mk files in LATEX_MK_DIR. This will let me more easily setup a config file for pre-installation testing. 2002-09-15 07:43 dan * latex-mk.in, latex.mk.in.in: more improvements to the latex-mk script. It now seems to correctly detect when a bibtex run is needed and actually appears to run latex the right number of times now. Given this, try switching to latex-mk instead of latex in the makefiles now. 2002-09-15 07:34 dan * Makefile.am: add @bindir@ to the list of common variables to substitute for 2002-09-14 22:14 dan * latex.mk.in.in: for gmake, include the .gmk files, not the .mk files 2002-09-14 07:34 dan * Makefile.am, configure.ac, latex-mk.in: add a latex-mk shell script which actually will (not yet) do the work of running latex. It will keep track of if latex and/or bibtex need to be re-run to resolve changed labels, etc. Also, it has a configurable limit on how many times it will run latex. 2002-09-12 22:50 dan * htdocs/images/: curved.png, curved.xcf, logo.jpg, logo.png, logo2.png: add some images 2002-09-12 08:59 dan * htdocs/: Makefile, bugs.shtml: add bug reporting info 2002-09-12 08:59 dan * htdocs/examples.shtml: add some examples 2002-09-11 22:55 dan * htdocs/Makefile: makefile for building static pages 2002-09-11 22:54 dan * htdocs/: examples.shtml, left_column.incl: add template for an example 2002-09-11 22:53 dan * htdocs/main_footer.incl: add sourceforge logo and counter 2002-08-31 00:06 dan * htdocs/: faq.shtml, index.shtml, left_column.incl, main_footer.incl, obtaining.shtml, page_start.incl, images/logo.xcf, utils/shtml2html: start on web page 2002-08-29 18:36 dan * doc/latex-mk.texi: - fix the table of contents so it actually shows up - fix the concepts index so it actually shows up - start new pages with each new chapter 2002-08-29 18:32 dan * aclocal.m4: this is a generated file. no need to put in cvs 2002-08-28 21:01 dan * Makefile.am, configure.ac, latex.mk.in.in, doc/latex-mk.texi: fix up the config files. In particular, use sysconfdir to specify the locations for latex-mk.conf and latex-gmk.conf. switch to make the default user config file be ${HOME}/.latex-{g,}mk.conf 2002-08-28 19:53 dan * latex.subdir.mk.in.in: add stub makefile for subdirectories 2002-08-28 09:10 dan * configure.ac, doc/latex-mk.texi: use ${sysconfdir} instead of hardcoding /etc 2002-08-28 08:55 dan * doc/latex-mk.texi: document the --with-mkconf, --with-gmkconf, --with-usermkconf, and --with-usergmkconf options start work on the installation chapter 2002-08-28 08:52 dan * configure.ac, latex.mk.in.in: fix up the --with-mkconf, --with-gmkconf, --with-usermkconf, and --with-usergmkconf options 2002-08-28 08:47 dan * README: point to the real documentation 2002-08-25 22:14 dan * configure.ac: fix up the previous commit 2002-08-25 22:07 dan * configure.ac, latex.mk.in.in, xfig.mk.in.in: add --with-mkconf and --with-gmkconf to change /etc/mk.conf and /etc/gmk.conf 2002-08-24 00:14 dan * doc/Makefile.am: install the html, postscript and pdf manuals 2002-08-24 00:05 dan * doc/latex-mk.texi: add minimal documentation on MAKECONF and USER_MAKECONF 2002-08-23 23:57 dan * latex.mk.in.in: use mk.conf for BSD make and gmk.conf for GNU make 2002-08-23 21:27 dan * latex.mk.in.in: - fix autoconf-iguration of ENV_PROG. - check for XFIGSRCS and XFIGDIRS and pull in xfig.mk if either is set. fixes processing of xfig figures. 2002-08-22 22:41 dan * doc/latex-mk.texi: fix up copyright notice and license 2002-08-21 23:14 dan * doc/latex-mk.texi: - add a bunch of introductory text - sort variables by type - add barebones "obtaining" section 2002-08-21 23:13 dan * doc/Makefile.am: sort DISTCLEANFILES and add .pdf 2002-08-21 07:53 dan * doc/latex-mk.texi: add some sections and nodes for targets and variables 2002-08-20 22:28 dan * Makefile.am: do not distribute the .mk.in files. they are installation dependent 2002-08-20 21:50 dan * doc/latex-mk.texi: first pass through listing of all targets and variables. Need to add examples and a good bit of explanatory text still. 2002-08-19 07:40 dan * doc/texinfo.tex: update to version 2002-06-04.06 2002-08-18 22:12 dan * doc/Makefile.am: use DISTCLEANFILES instead of distclean-local: 2002-08-16 07:05 dan * configure.ac: add more program checks 2002-08-14 22:50 dan * Makefile.am, aclocal.m4, configure.ac, latex.mk.in.in, tgif.mk.in.in, example/tgif/myfig.obj: lots of changes to build system. use configure to find paths to many of the executibles which are needed. Also add xfig tests and an example. 2002-08-14 22:44 dan * xfig.mk.in.in: add (untested) xfig make fragment 2002-08-14 07:40 dan * latex.mk.in.in, latex.mk.in, tgif.mk.in.in, tgif.mk.in: move latex.mk.in tgif.mk.in to latex.mk.in.in tgif.mk.in.in 2002-07-01 08:32 dan * doc/Makefile.am: remove .fns files during distclean 2002-06-02 07:07 dan * latex.mk.in: add .PHONY everywhere where needed (did not have any before) 2002-06-02 07:04 dan * doc/latex-mk.texi: add small example on formatting code examples 2002-05-20 22:10 dan * doc/Makefile.am: cleanup and fix distclean target 2002-05-20 21:50 dan * doc/: mdate-sh, texinfo.tex: add rcs id 2002-05-20 21:50 dan * doc/Makefile.am: add html and pdf ouptut 2002-05-20 21:26 dan * AUTHORS, COPYING, Makefile.am, README, configure.ac, latex.mk.in, doc/latex-mk.texi, doc/mdate-sh, doc/texinfo.tex: add texinfo skeleton 2002-05-20 10:25 dan * AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, NEWS, README, aclocal.m4, config.guess, config.sub, configure.ac, install-sh, latex.mk.in, missing, mkinstalldirs, tgif.mk.in: move here from localsrc/share/mk since it is its own package now latex-mk-2.1/INSTALL100644 000144 000000 00000017313 07472203534 0007623# $Id: INSTALL,v 1.1 2002/05/20 14:25:32 dan Exp $ Basic Installation ================== These are generic installation instructions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, a file `config.cache' that saves the results of its tests to speed up reconfiguring, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.in' is used to create `configure' by a program called `autoconf'. You only need `configure.in' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. If you're using `csh' on an old version of System V, you might need to type `sh ./configure' instead to prevent `csh' from trying to execute `configure' itself. Running `configure' takes awhile. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package. 4. Type `make install' to install the programs and any data files and documentation. 5. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. You can give `configure' initial values for variables by setting them in the environment. Using a Bourne-compatible shell, you can do that on the command line like this: CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure Or on systems that have the `env' program, you can do it like this: env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you must use a version of `make' that supports the `VPATH' variable, such as GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. If you have to use a `make' that does not supports the `VPATH' variable, you have to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. Installation Names ================== By default, `make install' will install the package's files in `/usr/local/bin', `/usr/local/man', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PATH'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you give `configure' the option `--exec-prefix=PATH', the package will use PATH as the prefix for installing programs and libraries. Documentation and other data files will still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=PATH' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Optional Features ================= Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Specifying the System Type ========================== There may be some features `configure' can not figure out automatically, but needs to determine by the type of host the package will run on. Usually `configure' can figure that out, but if it prints a message saying it can not guess the host type, give it the `--host=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name with three fields: CPU-COMPANY-SYSTEM See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the host type. If you are building compiler tools for cross-compiling, you can also use the `--target=TYPE' option to select the type of system they will produce code for and the `--build=TYPE' option to select the type of system on which you are compiling the package. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Operation Controls ================== `configure' recognizes the following options to control how it operates. `--cache-file=FILE' Use and save the results of the tests in FILE instead of `./config.cache'. Set FILE to `/dev/null' to disable caching, for debugging `configure'. `--help' Print a summary of the options to `configure', and exit. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--version' Print the version of Autoconf used to generate the `configure' script, and exit. `configure' also accepts some other, not widely useful, options. latex-mk-2.1/NEWS100644 000144 000000 00000005500 11506455643 0007267# $Id: NEWS,v 1.9 2010/12/28 21:50:27 dan Exp $ # -------------------------------- Release Notes for LaTeX-Mk-2.1 -------------------------------- - Fixed a bug in the quoting of lgrind related variables. The result is that the clean target didn't quite work right. - Improved quoting in the latex-mk script to better handle the case of a file name with spaces in it. -------------------------------- Release Notes for LaTeX-Mk-2.0 -------------------------------- - Added support for the bibunits package - Fix a bug when exporting xfig figures to pdf (they were exporting to postscript instead). - No longer install the .dvi or .ps versions of the manual. - Fix a bug where PDFLATEX_FLAGS wasn't being properly -------------------------------- Release Notes for LaTeX-Mk-1.9.1 -------------------------------- - Fixed a bug in the 'clean' target when METAPOST is in use. ------------------------------ Release Notes for LaTeX-Mk-1.9 ------------------------------ - Added support for per-document DVIPS_FLAGS and DVIPDFM_FLAGS. - Avoided the use of hardcoded csh in some scripts. - Removed claims of a BIBTEX_ENV variable in the documentation. It didn't do anything. - Added METAPOST support. - Fixed a bug when using BibTeX and PDFLaTeX at the same time. - Added glossary support. - Fixed a bug with GNU make draft output. - Put the actual installation prefix into the manual. - Avoid a case which caused the testsuite to hang. - Expanded the testsuite and fixed some bugs in the testsuite. - Fix a bug in cleaning xfig and tgif output. ------------------------------ Release Notes for LaTeX-Mk-1.8 ------------------------------ - Fix a syntax error in the latex-mk script which showed up with some shells. - Fix a bug in the latex-mk script where some of the ".old" files that are used for determining when to re-run various tools were not being cleaned up properly. - Add a few more files which latex and makeindex may generate to the list of files removed by the 'clean' target. - Add a testsuite entry for the clean target. - Improve the makefile testsuite robustness. In particular it now deals with the bmake program having different names (make, bmake, bsdmake, etc). - Improve and expand the testsuite for the latex-mk script. ------------------------------ Release Notes for LaTeX-Mk-1.7 ------------------------------ - Added support for makeindex. Suggested by Antoine Reilles who provided a preliminary patch. - Added a --help flag to the latex-mk script and documented the script a bit more there. It seems that some users are using the latex-mk script only and not the makefile system. Suggested by Reuben Thomas. - Added the ability in the latex-mk script to work with a read only current directory and use the TEXMFOUTPUT environment variable to control where the real output goes. Suggested by Reuben Thomas. latex-mk-2.1/TODO100644 000144 000000 00000000507 10634614250 0007252# $Id: TODO,v 1.8 2007/06/15 22:54:32 dan Exp $ # LaTeX-Mk Unofficial TODO List ----------------------------- - fix the ieee-copyout script - add hacha support for HTML processing. - improve variable quoting all over the place to deal with spaces in file names or path names. - add sweave support (sweave is part of R) latex-mk-2.1/config.guess100755 000144 000000 00000124634 10560000621 0011077#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. timestamp='2005-07-08' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner . # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # The plan is that this can be called by configure scripts if you # don't specify an explicit build system type. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __ELF__ >/dev/null then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerppc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[45]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; x86:Interix*:[34]*) echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' exit ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips #undef mipsel #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mipsel #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef mips64 #undef mips64el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=mips64el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=mips64 #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent # problems with other programs or directories called `ld' in the path. # Set LC_ALL=C to ensure ld outputs messages in English. ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ | sed -ne '/supported targets:/!d s/[ ][ ]*/ /g s/.*supported targets: *// s/ .*// p'` case "$ld_supported_targets" in elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" exit ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #ifdef __INTEL_COMPILER LIBC=gnu #else LIBC=gnuaout #endif #endif #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` test x"${LIBC}" != x && { echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit } test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in *86) UNAME_PROCESSOR=i686 ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: latex-mk-2.1/config.sub100755 000144 000000 00000075777 10560000622 0010560#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. timestamp='2005-07-08' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray) os= basic_machine=$1 ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64vr | mips64vrel \ | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | ms1 \ | msp430 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b \ | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) basic_machine=$basic_machine-unknown ;; m32c) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64vr-* | mips64vrel-* \ | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | ms1-* \ | msp430-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa-* \ | ymp-* \ | z8k-*) ;; m32c-*) ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; c90) basic_machine=c90-cray os=-unicos ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16c) basic_machine=cr16c-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: latex-mk-2.1/install-sh100755 000144 000000 00000013022 07472203537 0010572#!/bin/sh # $Id: install-sh,v 1.1 2002/05/20 14:25:35 dan Exp $ # install - install a program, script, or datafile # This comes from X11R5 (mit/util/scripts/install.sh). # # Copyright 1991 by the Massachusetts Institute of Technology # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that # the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of M.I.T. not be used in advertising or # publicity pertaining to distribution of the software without specific, # written prior permission. M.I.T. makes no representations about the # suitability of this software for any purpose. It is provided "as is" # without express or implied warranty. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" transformbasename="" transform_arg="" instcmd="$mvprog" chmodcmd="$chmodprog 0755" chowncmd="" chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" mvcmd="$mvprog" src="" dst="" dir_arg="" while [ x"$1" != x ]; do case $1 in -c) instcmd="$cpprog" shift continue;; -d) dir_arg=true shift continue;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; -s) stripcmd="$stripprog" shift continue;; -t=*) transformarg=`echo $1 | sed 's/-t=//'` shift continue;; -b=*) transformbasename=`echo $1 | sed 's/-b=//'` shift continue;; *) if [ x"$src" = x ] then src=$1 else # this colon is to work around a 386BSD /bin/sh bug : dst=$1 fi shift continue;; esac done if [ x"$src" = x ] then echo "install: no input file specified" exit 1 else true fi if [ x"$dir_arg" != x ]; then dst=$src src="" if [ -d $dst ]; then instcmd=: chmodcmd="" else instcmd=mkdir fi else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if [ -f $src -o -d $src ] then true else echo "install: $src does not exist" exit 1 fi if [ x"$dst" = x ] then echo "install: no destination specified" exit 1 else true fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic if [ -d $dst ] then dst="$dst"/`basename $src` else true fi fi ## this sed command emulates the dirname command dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then defaultIFS=' ' IFS="${IFS-${defaultIFS}}" oIFS="${IFS}" # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` IFS="${oIFS}" pathcomp='' while [ $# -ne 0 ] ; do pathcomp="${pathcomp}${1}" shift if [ ! -d "${pathcomp}" ] ; then $mkdirprog "${pathcomp}" else true fi pathcomp="${pathcomp}/" done fi if [ x"$dir_arg" != x ] then $doit $instcmd $dst && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi else # If we're going to rename the final executable, determine the name now. if [ x"$transformarg" = x ] then dstfile=`basename $dst` else dstfile=`basename $dst $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename if [ x"$dstfile" = x ] then dstfile=`basename $dst` else true fi # Make a temp file name in the proper directory. dsttmp=$dstdir/#inst.$$# # Move or copy the file name to the temp name $doit $instcmd $src $dsttmp && trap "rm -f ${dsttmp}" 0 && # and set any options; do chmod last to preserve setuid bits # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $instcmd $src $dsttmp" command. if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && # Now rename the file to the real destination. $doit $rmcmd -f $dstdir/$dstfile && $doit $mvcmd $dsttmp $dstdir/$dstfile fi && exit 0 latex-mk-2.1/missing100755 000144 000000 00000021231 07472201525 0010161#! /bin/sh # Common stub for a few missing GNU programs while installing. # Copyright 1996, 1997, 1999, 2000 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi case "$1" in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case "$1" in -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch]" ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing 0.3 - GNU automake" ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; aclocal) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case "$f" in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; bison|yacc) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.h fi ;; esac fi if [ ! -f y.tab.h ]; then echo >y.tab.h fi if [ ! -f y.tab.c ]; then echo 'main() { return 0; }' >y.tab.c fi ;; lex|flex) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if [ ! -f lex.yy.c ]; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` fi if [ -f "$file" ]; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit 1 fi ;; makeinfo) if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then # We have makeinfo, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` fi touch $file ;; tar) shift if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 fi # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar ${1+"$@"} && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar ${1+"$@"} && exit 0 fi firstarg="$1" if shift; then case "$firstarg" in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" ${1+"$@"} && exit 0 ;; esac case "$firstarg" in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" ${1+"$@"} && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and you do not seem to have it handy on your system. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequirements for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 latex-mk-2.1/mkinstalldirs100755 000144 000000 00000001411 07472203540 0011365#! /bin/sh # $Id: mkinstalldirs,v 1.1 2002/05/20 14:25:36 dan Exp $ # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman # Created: 1993-05-16 # Public domain # Id: mkinstalldirs,v 1.13 1999/01/05 03:18:55 bje Exp errstatus=0 for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d do pathcomp="$pathcomp$d" case "$pathcomp" in -* ) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr fi fi pathcomp="$pathcomp/" done done exit $errstatus # mkinstalldirs ends here latex-mk-2.1/dated_draft.ps100644 000144 000000 00000001155 07544746116 0011404%! %% %% $Id: dated_draft.ps,v 1.1 2002/09/27 03:11:10 dan Exp $ %% userdict begin /bop-hook { gsave /LucidaSans-Typewriter 12 selectfont 306 20 ( DATE ) dup stringwidth pop 2 div 4 -1 roll exch sub 3 -1 roll moveto show 306 34 ( DRAFT ) dup stringwidth pop 2 div 4 -1 roll exch sub 3 -1 roll moveto show /Helvetica-Bold 144 selectfont 306 396 moveto -52.3 rotate ( DRAFT ) dup stringwidth pop -54 % the Y coordinate exch 2 div 0 exch sub % the X coordinate exch rmoveto % 1 is white, 0 is black 0.8 setgray show grestore } def end latex-mk-2.1/doc/latex-mk.html100644 000144 000000 00000273006 11506456432 0011752 LaTeX-Mk

LaTeX-Mk


Next: , Previous: (dir), Up: (dir)

LaTeX-Mk

This file documents the LaTeX-Mk package. LaTeX-Mk is a collection of Makefile fragments and shell scripts for managing small to large sized LaTeX projects. This edition documents version 2.0A.


Next: , Previous: Top, Up: Top

1 Introduction

LaTeX-Mk is a tool for managing small to large sized LaTeX projects. The typical LaTeX-Mk input file is simply a series of variable definitions in a Makefile for the project. After creating a simple Makefile the user can easily perform all required steps to do such tasks as: preview the document, print the document, or produce a PDF file. LaTeX-Mk will keep track of files that have changed and how to run the various programs that are needed to produce the output.

As a quick example, consider a project which has a single LaTeX file, mydoc.tex, as its input. To produce a .pdf file you might use the following sequence of commands:

     latex mydoc.tex
     latex mydoc.tex
     latex mydoc.tex
     dvips -Ppdf -j0 -o mydoc.ps mydoc.dvi
     ps2pdf mydoc.ps mydoc.pdf

The triple invocation of `latex' is to ensure that all references have been properly resolved and any page layout changes due to inserting the references have been accounted for. The sequence of commands isn't horrible, but it still is several commands and one of them, `dvips', has some flags to remember. To use LaTeX-Mk for this project, you would create a Makefile that contains the following.

     NAME=mydoc
     
     include /usr/local/share/latex-mk/latex.gmk

Note that the include /usr/local/share/latex-mk/latex.gmk is the syntax for GNU `make'. If you are using BSD `make' you would replace the include line with .include "/usr/local/share/latex-mk/latex.mk". In both examples, you would replace /usr/local with the installation prefix on your system. For the remainder of this document we will use the BSD style of include in the examples. Now to create a .pdf file you simply run `make pdf'. For larger projects which may need to run programs to export drawings to Postscript files for inclusion or run BibTeX to generate bibliographies, the generation of .pdf (or other) files becomes increasingly complicated to run manually. With LaTeX-Mk, such operations are still very simple.

As a more complicated example, consider a project whose LaTeX input is broken apart in to many .tex files which are all included by mydoc.tex. Also suppose the project includes a bibliography and a large number of figures created with the Tgif program. An example Makefile for this project might look like:

     NAME=        mydoc
     TEXSRCS=     ch1.tex ch2.tex ch3.tex refs.tex
     BIBTEXSRCS=  mybib.bib
     TGIFDIRS=    tgif_figs
     
     .include "/usr/local/share/latex-mk/latex.mk"

In this example is it assumed that all of the Tgif figures reside in a subdirectory called tgif_figs. When the user issues a `make' command, all of the steps required to reformat the document are taken. Because of the dependency structure imposed by `make', only the steps which need to be taken are done. This avoids re-exporting a large number of figures which may have not changed, but ensures that files which need processing are processed.

Hopefully this introduction has provided an adequate example for how LaTeX-Mk can simplify the management of LaTeX based documents. The LaTeX-Mk system is simple enough for small projects and powerful enough for large projects. The remainder of this manual will provide complete documentation on the use of LaTeX-Mk as well as configuration and installation instructions.


Next: , Previous: Introduction, Up: Top

2 Targets

LaTeX-Mk provides a fixed set of targets, the argument to the `make' command, for all projects. The default target is `view' whose ultimate goal is to provide an on-screen preview of the formatted document. For additional information on the `make' program, please refer to the documentation for your copy of `make'.

2.1 Base Targets

The targets provided by LaTeX-Mk are:

— Target: clean

Cleans the current working directory by removing all LaTeX output and other output files created during processing of the project. In addition, emacs ~ files are removed.

— Target: dist

Creates a .tar.gz file containing an archive of the project. It contains the source files and additionally some generated files which are generated with tools which someone else may not have installed. For example, any tgif drawings are included both in tgif .obj form as well as encapsulated Postscript (or PDF if you are using pdflatex). For a multiple document project, a master .tar.gz file is created containing the entire project as well as smaller .tar.gz files for each document.

— Target: dvi

Performs all processing required to produce the .dvi file for the project.

— Target: html

Performs all processing required to produce HTML output for the project.

— Target: pdf

Performs all processing required to produce a PDF (Portable Document Format) file, .pdf, for the project.

— Target: print

Sends the processed document to the printer.

— Target: ps

Performs all processing required to produce a Postscript file, .ps, for the project.

— Target: rtf

Performs all processing required to produce a RTF (Rich Text Format) file, .rtf, for the project. Please note that the ability of LaTex to RTF converters to work correctly is somewhat limited. Your mileage may vary.

— Target: show-var

This target is used to help debug users Makefiles as well as the LaTeX-Mk system. This target displays the value of the variable whose name is given by the variable VARNAME. For example:

            make show-var VARNAME=TEXSRCS
     

will display the value of the TEXSRCS variable.

— Target: view

Previews the .dvi file.

— Target: viewpdf

Previews the PDF (.pdf) file.

— Target: viewps

Previews the Postscript (.ps) file.

2.2 Draft Targets

LaTeX-Mk supports adding a DRAFT watermark and timestamp for the Postscript, PDF, and printed output. To produce the draft versions, simply append -draft to the target. The currently supported draft targets are:

— Target: pdf-draft

Draft version of the pdf target.

— Target: ps-draft

Draft version of the ps target.

— Target: print-draft

Draft version of the print target.

— Target: viewpdf-draft

Draft version of the viewpdf target.

— Target: viewps-draft

Draft version of the viewps target.

2.3 Per Document Targets

LaTeX-Mk supports multiple top level documents in a single directory controlled by a single makefile. For each top level document specified in the NAME variable (more on variables later), there will be a set of targets defined which are specific to the document. The per document targets are:

— Target: print_<name>

Prints the Postscript file <name>.ps.

— Target: view_<name>

Previews the DVI file <name>.dvi.

— Target: viewpdf_<name>

Previews the PDF file <name>.pdf.

— Target: viewps_<name>

Previews the Postscript file <name>.ps.

In addition, draft versions of these targets exist:

— Target: print_<name>-draft

Draft version of the print_<name> target.

— Target: ps_<name>-draft

Draft version of the ps_<name> target.

— Target: view_<name>-draft

Draft version of the view_<name> target.

— Target: viewpdf_<name>-draft

Draft version of the viewpdf_<name> target.

— Target: viewps_<name>-draft

Draft version of the viewps_<name> target.


Next: , Previous: Targets, Up: Top

3 Variables

The variables used by LaTeX-Mk can be categorized roughly into two groups. The first set of variables are typically set during the installation of LaTeX-Mk and these defaults used for all projects. These variables can be overridden on a per-user or per-project basis for maximum flexibility. The second set of variables are set by the user on a per-project basis.

3.1 Site Configuration Variables

This section documents the variables which are typically set on a site-wide or user-wide basis.

3.1.1 Site and User Configuration File

— Variable: MAKECONF

This variable is set to the location of the site-wide configuration file. If this file exists, it is sourced at the beginning of the LaTeX-Mk code. Default is ${sysconfdir}/latek-mk.conf for BSD make and ${sysconfdir}/latex-gmk.conf for GNU make. This is where system administrators can set system wide configuration variables. Any variables defined here should be defined using VARIABLE?= "new value" instead of VARIABLE= "new value" so that individual users can easily override the setting. The default setting may be changed during configuration of the package using the --with-mkconf and --with-gmkconf flags to configure. The sysconfdir directory can be specified to configure with the --sysconfdir= option.

— Variable: USER_MAKECONF

This variable is set to the location of a users personal configuration file. If this file exists, it is sourced at the beginning of the LaTeX-Mk code. Default is $HOME/.latex-mk.conf for BSD make and $HOME/.latex-gmk.conf for GNU make. This file is sourced before the file specified by MAKECONF. The default setting may be changed during configuration of the package using the --with-usermkconf and --with-usergmkconf flags to configure.

3.1.2 Generic Project Variables

This section documents the variables which are typically set on a site-wide or user-wide basis. In a typical installation these variables do not need to be explicitly set as they will take on reasonable defaults.

— Variable: BIBTEX

The bibtex executible. Defaults to `bibtex'.

— Variable: BIBTEX_ENV

Deprecated. Actually this variable did not work correctly anyway. Use LATEX_ENV to set variables for both LaTeX and bibTeX runs.

— Variable: BIBTEX_FLAGS

A list of flags to be passed to the BIBTEX executible. Defaults to `'.

— Variable: CONVERT

The image file format conversion executible which is part of the ImageMagick (http://imagemagick.org/) suite. Defaults to `convert'.

— Variable: DVIPDFM

The executible which produces PDF files from .dvi files. Defaults to `dvipdfm'. Note that the default behavior is to use DVIPS to produce Postscript and then PS2PDF to produce a PDF file. To use DVIPDFM to directly produce PDF from DVI, set the USE_DVIPDFM variable.

— Variable: DVIPDFM_ENV

A list of variables to be set in the environment when DVIPDFM is executed. Defaults to `'.

— Variable: DVIPDFM_FLAGS

A list of flags to be passed to the DVIPDFM executible. Defaults to `'.

To set flags on a per-document basis, you can use <docname>_DVIPDFM_FLAGS where <docname> is the name of the document.

— Variable: DVIPDFM_LANDSCAPE_FLAGS

A list of flags to be added to DVIPDFM_FLAGS when the LANDSCAPE variable is set. Defaults to `-l'.

— Variable: DVIPS

The executible which produces Postscript files from .dvi files. Defaults to `dvips'.

— Variable: DVIPS_ENV

A list of variables to be set in the environment when DVIPS is executed. Defaults to `'.

— Variable: DVIPS_FLAGS

A list of flags to be passed to the DVIPS executible. Defaults to `-j0'. Note: versions of latex-mk prior to 1.2 used `-Ppdf -j0' as the default. If you wish to maintain this behavior on latex-mk-1.2 and newer, you will need to set this variable in your site or user configuration file.

To set flags on a per-document basis, you can use <docname>_DVIPS_FLAGS where <docname> is the name of the document.

— Variable: DVIPS_LANDSCAPE_FLAGS

A list of flags to be added to DVIPS_FLAGS when the LANDSCAPE variable is set. Defaults to `-t landscape'.

— Variable: GV

The executible which previews Postscript files. Defaults to `gv'.

— Variable: GV_FLAGS

A list of flags to be passed to the GV executible. Defaults to `'.

— Variable: GV_LANDSCAPE_FLAGS

A list of flags to be added to GV_FLAGS when the LANDSCAPE variable is set. Defaults to `-landscape'.

— Variable: GZCAT

The gzcat file decompression utility. Defaults to `gzcat'.

— Variable: GZIP

The gzip file compression utility. Defaults to `gzip'.

— Variable: HEVEA

The Hevea executible. Defaults to `hevea'.

— Variable: HEVEA_ENV

A list of variables to be set in the environment when HEVEA or IMAGEN is run. For example:

          HEVEA_ENV+=	TEXINPUTS=.:/home/usr/tex:
     

Defaults to `'.

— Variable: HEVEA_FLAGS

A list of flags to be passed to the HEVEA executible. Defaults to `-fix'.

— Variable: IMAGEN

The imagen executible (part of HeVeA). Defaults to `imagen'.

— Variable: JPG2EPS

The command to convert a JPEG file to an Encapsulated Postscript (EPS) file. Defaults to `${CONVERT}'.

— Variable: LATEX

The LaTeX executible. Defaults to `latex'.

— Variable: LATEX_ENV

A list of variables to be set in the environment when LATEX is run. For example:

          LATEX_ENV+=	TEXINPUTS=.:/home/usr/tex:
     

Defaults to `'.

— Variable: LATEX_FLAGS

A list of flags to be passed to the LATEX executible. Defaults to `'.

— Variable: LATEX2HTML

The LaTex2HTML executible. Defaults to `latex2html'.

— Variable: LATEX2HTML_ENV

A list of variables to be set in the environment when LATEX2HTML is run. For example:

          LATEX2HTML_ENV+=	TEXINPUTS=.:/home/usr/tex:
     

Defaults to `'.

— Variable: LATEX2HTML_FLAGS

A list of flags to be passed to the LATEX2HTML executible. Defaults to `-image_type png -local_icons -show_section_numbers'.

— Variable: LATEX2RTF

The LaTex2rtf executible. Defaults to `latex2rtf'.

— Variable: LATEX2RTF_ENV

A list of variables to be set in the environment when LATEX2RTF is run.

— Variable: LATEX2RTF_FLAGS

A list of flags to be passed to the LATEX2RTF executible. Defaults to `'.

— Variable: LPR

The executible which spools Postscript files to a printer. Defaults to `lpr'.

— Variable: LPR_FLAGS

A list of flags to be passed to the LPR executible. For example:

          LPR_FLAGS=	-Pbeernuts
     

Defaults to `'.

— Variable: MAKEGLS

The executible used to make glossaries. Defaults to `makeindex'.

— Variable: MAKEGLS_FLAGS

A list of flags to be passed to the MAKEGLS executible. Defaults to `'.

— Variable: MAKEIDX

The makeindex executible. Defaults to `makeindex'.

— Variable: MAKEIDX_FLAGS

A list of flags to be passed to the MAKEIDX executible. Defaults to `'.

— Variable: MPOST

The METApost executible. Defaults to `mpost'.

— Variable: MPOST_FLAGS

A list of flags to be passed to the MPOST executible. Defaults to `'.

— Variable: PDFLATEX

The PDFLaTeX executible. Defaults to `pdflatex'.

— Variable: PDFLATEX_ENV

A list of variables to be set in the environment when PDFLATEX is run. For example:

          PDFLATEX_ENV+=	TEXINPUTS=.:/home/usr/tex:
     

Defaults to `'.

— Variable: PDFLATEX_FLAGS

A list of flags to be passed to the PDFLATEX executible. Defaults to `'.

— Variable: PNG2EPS

The command to convert a Portable Network Graphic (PNG) file to an Encapsulated Postscript (EPS) file. Defaults to `${CONVERT}'.

— Variable: POST_BIBTEX_HOOK

If this variable is set to the name of an executible, then LaTeX-Mk will run this program/script immediately after a BibTeX run. This hook provides the ability to do post-processing of the BibTeX output prior to the final LaTeX run(s). This feature is likely to be of interest to advanced users only. The program/script is run in the same environment as specified by LATEX_ENV and is given the project name as an argument. For example if your Makefile contains

          NAME= mydoc
          POST_BIBTEX_HOOK=  ./my_bib_fixup
     

then the after BibTeX is run, `./my_bib_fixup mydoc' will be run. POST_BIBTEX_HOOK defaults to `'.

— Variable: PS2PDF

The executible which produces PDF (.pdf) files from Postscript (.ps) files. Defaults to `ps2pdf'.

— Variable: PS2PDF_FLAGS

A list of flags to be passed to the PS2PDF executible. Defaults to `'.

— Variable: TAR

The tar tape archiver utility. Defaults to `tar'.

— Variable: TEX2PAGE

The tex2page executible. Defaults to `tex2page'.

— Variable: TEX2PAGE_ENV

A list of variables to be set in the environment when TEX2PAGE is run. For example:

          TEX2PAGE_ENV+=	TEXINPUTS=.:/home/usr/tex:
     

Defaults to `'.

— Variable: TEX2PAGE_FLAGS

A list of flags to be passed to the TEX2PAGE executible. Defaults to `'.

— Variable: USE_DVIPDFM

When set, this variable causes the DVIPDFM program to be used to directly generate .pdf files from the .dvi files instead of using DVIPS to generate a Postscript file and then PS2PDF to convert the Postscript to PDF. Please note that the use of this option currently precludes the generation of the -draft versions of PDF files.

— Variable: USE_HEVEA

When set, this variable causes the HEVEA program to be used to generate HTML output.

— Variable: USE_LATEX2HTML

When set, this variable causes the LATEX2HTML program to be used to generate HTML output.

— Variable: USE_PDFLATEX

When set, this variable causes the PDFLATEX program to be used to directly generate .pdf files from the .tex files instead of using LATEX to generate a .dvi file, DVIPS to generate a Postscript file and then PS2PDF to convert the Postscript to PDF. Please note that the use of this option currently precludes the generation of the -draft versions of PDF files.

— Variable: USE_TEX2PAGE

When set, this variable causes the TEX2PAGE program to be used to generate HTML output.

— Variable: VIEWPDF

The executible which previews .pdf files. Defaults to `gv'.

— Variable: VIEWPDF_FLAGS

A list of flags to be passed to the VIEWPDF executible. Defaults to `'.

— Variable: VIEWPDF_LANDSCAPE_FLAGS

A list of flags to be added to VIEWPDF_FLAGS when the LANDSCAPE variable is set. Defaults to `-landscape'.

— Variable: XDVI

The executible which previews .dvi files. Defaults to `xdvi'.

— Variable: XDVI_FLAGS

A list of flags to be passed to the XDVI executible. Defaults to `'.

— Variable: XDVI_LANDSCAPE_FLAGS

A list of flags to be added to XDVI_FLAGS when the LANDSCAPE variable is set. Defaults to `-paper usr'.

3.1.3 Lgrind Site Configuration Variables

This section documents the variables related to lgrind source code processing. Lgrind is a source code formatter which takes source code files in various programming languages and formats them for inclusion in a LaTeX document.

— Variable: LGRIND

The lgrind executible used for formatting source code for inclusion into a LaTeX document. Defaults to `lgrind'.

— Variable: LGRIND_FLAGS

A list of flags to be passed to the LGRIND executible. For example:

          LGRIND_FLAGS=	-i -t 4 -d /my/private/lgrindef
     

Defaults to `-i'.

3.1.4 Tgif Site Configuration Variables

This section documents the variables related to Tgif file processing. Tgif (http://bourbon.usc.edu:8001/tgif/tgif.html) is a nice vector drawing program which works well with LaTeX. Please note that LaTeX-Mk requires that all Tgif files use the extension .obj.

— Variable: TGIF

The tgif executible. Defaults to `tgif'.

— Variable: TGIF_FLAGS

A list of flags to be passed to the TGIF executible to cause it to print to a file. These flags will be used for both PDF and EPS export. Defaults to `-color -print'.

— Variable: TGIF_EPS_FLAGS

A list of flags to be passed to the TGIF executible when exporting to an encapsulated Postscript, .eps, file. Defaults to `-eps'.

— Variable: TGIF_PDF_FLAGS

A list of flags to be passed to the TGIF executible when exporting to a PDF, .pdf, file. Defaults to `-pdf'.

3.1.5 Xfig Site Configuration Variables

This section documents the variables related to Xfig file processing. Please note that LaTeX-Mk requires that all Xfig files use the extension .fig.

— Variable: FIG2DEV

The executible which can convert xfig .fig files to encapsulated Postscript .eps files. Defaults to fig2dev.

— Variable: FIG2DEV_FLAGS

A list of flags to be passed to the FIG2DEV executible to cause it to print to a file. These flags will be used for both PDF and EPS export. Defaults to `'.

— Variable: FIG2DEV_EPS_FLAGS

A list of flags to be passed to the FIG2DEV executible when exporting to an encapsulated Postscript, .eps, file. Defaults to `-L eps'.

— Variable: FIG2DEV_PDF_FLAGS

A list of flags to be passed to the FIG2DEV executible when exporting to a PDF, .pdf, file. Defaults to `-L pdf'.

3.2 Per-Project Variables

This section documents variables which can be set in project Makefiles to accommodate other dependencies which may be added.

3.2.1 Required Variables

Every project must define the NAME variable.

— Variable: NAME

Name of the project. The top level LaTeX input file is assumed to be called <NAME>.tex. For projects which have multiple documents, you would list the top level name for each document here. For example, if you have a single document, mydoc, you would use

          NAME= mydoc
     

and if you have multiple documents, mydoc1, mydoc2, and mydoc3, you would use

          NAME= mydoc1 mydoc2 mydoc3
     

3.2.2 Generic Variables

The variables described in this section affect all of the top level documents listed in the NAME variable. This is useful for listing common dependencies like a header or style file used by all documents. To list dependencies which are specific to one of the top level documents, you can use the variable <docname>_<VARNAME> where <docname> is the name of the document and <VARNAME> is the name of the variable. For example,

     NAME= doc1 doc2
     TEXSRCS= header.tex
     doc1_TEXSRCS= intro1.tex body1.tex conclusions.tex

defines a project with two top level documents, doc1 and doc2. Both documents depend on header.tex and in addition, doc1 depends on intro1.tex, body1.tex, and conclusions.tex. More information on the TEXSRCS variable is given later.

— Variable: BIBTEXSRCS

All files listed in this variable are assumed to be BibTeX input files. Listing files in this variable will cause a dependency to be added to the top level project and BibTeX will be run on these files as needed.

— Variable: CLEAN_FILES

Files listed in this variable will be removed when the clean target is made. When setting this variable in a Makefile, the += syntax should be used to append to this variable. For example:

          CLEAN_FILES+=   my_leftover_file foo.bak
     

will add my_leftover_file and foo.bak to the list of files to be removed when `make clean' is run.

— Variable: EXTRA_DIST

Files listed in this variable will be added to the archive file created with the dist target.

          EXTRA_DIST+=   README.txt
     
— Variable: OTHER

Files listed in this variable will be added to the dependency list for the .dvi file. For example if you want to add all .eps and .epsi files in a particular directory as well as some .png files from another directory to the dependency list, then using BSD make, you could add:

          OTHER_EPS!=     ls eps/*.eps*
          OTHER+=         $(OTHER_EPS)
          OTHER_PNG!=	ls png/*.png
          OTHER+=         $(OTHER_PNG:.png=.eps)
          CLEAN_FILES+=   $(OTHER_PNG:.png=.eps)
     

If you are using GNU make, you would use

          OTHER_EPS=      $(wildcard eps/*.eps*)
          OTHER+=         $(OTHER_EPS)
          OTHER_PNG=      $(wildcard png/*.png)
          OTHER+=         $(OTHER_PNG:.png=.eps)
          CLEAN_FILES+=   $(OTHER_PNG:.png=.eps)
     
— Variable: TEXSRCS

All files listed in this variable are assumed to be LaTeX input files. Listing files in this variable will cause a dependency to be added to the top level project. All LaTeX files used in the project should be listed in this variable with the exception of the top level LaTeX file which is automatically included by LaTeX-Mk.

3.2.3 Per-Project Lgrind Variables

— Variable: LGRINDSRCS

All files listed in this variable are assumed to be source code files to be processed by lgrind. Listing files in this variable will cause a dependency to be added to the top level project and will cause these files to be automatically re-formatted as required.

— Variable: LGRINDDIRS

A list of directories containing source code can be listed in this variable. All files found in those directories which have extensions will be formated using lgrind. Files without a .* extension will be ignored. These files will be added to the top level dependency list and will be automatically re-formatted as required.

— Variable: foo_LGRIND_FLAGS

This variable sets specific flags which should be passed to lgrind when processing the source file foo. For example,

          mymodule.v_LGRIND_FLAGS=        -lverilog
     

If foo is a directory which has been listed in LGRINDDIRS, then foo_LGRIND_FLAGS will be used for all files in the specified directory. You can define flags for an entire directory and then override it for a single file if needed. For example, suppose you want to use 4 as the tab width for all sources in the directory srcs except for srcs/funny.c where you want to use a tab width of 8. You would achieve this with

          srcs_LGRIND_FLAGS=              -t 4
          srcs/funny.c_LGRIND_FLAGS=      -t 8
     

3.2.4 Per-Project META-post Variables

— Variable: MPOSTSRCS

All files listed in this variable are assumed to be META-post .mp files. Listing files in this variable will cause a dependency to be added to the top level project and will cause these files to be automatically re-exported to Postscript and/or PDF as required.

— Variable: MPOSTDIRS

A list of directories containing META-post figured can be listed in this variable. All .mp files found in those directories are assumed to be META-post .mp files. These files will be added to the top level dependency list and will be automatically re-exported to Postscript and/or PDF as required.

— Variable: MPOST_TWICE

By default META-post is run once for each of its input files. Setting this variable will cause META-post to run twice on each input file. Some figures may require this and I haven't figured out if there is a way to automatically make this determination like there is with LaTeX.

3.2.5 Per-Project Tgif Variables

— Variable: TGIFSRCS

All files listed in this variable are assumed to be tgif .obj files. Listing files in this variable will cause a dependency to be added to the top level project and will cause these files to be automatically re-exported to Postscript as required.

— Variable: TGIFDIRS

A list of directories containing tgif drawings can be listed in this variable. All .obj files found in those directories are assumed to be tgif .obj files. These files will be added to the top level dependency list and will be automatically re-exported to Postscript as required.

3.2.6 Per-Project Xfig Variables

— Variable: XFIGSRCS

All files listed in this variable are assumed to be xfig .fig files. Listing files in this variable will cause a dependency to be added to the top level project and will cause these files to be automatically re-exported to Postscript as required.

— Variable: XFIGDIRS

A list of directories containing xfig drawings can be listed in this variable. All .fig files found in those directories are assumed to be xfig .fig files. These files will be added to the top level dependency list and will be automatically re-exported to Postscript as required.


Next: , Previous: Variables, Up: Top

4 HTML Output

LaTeX-Mk includes support for generating HTML output. Currently Latex2HTML (see http://www.latex2html.org), HeVeA (see http://para.inria.fr/~maranget/hevea/), or tex2page (see http://www.ccs.neu.edu/home/dorai/tex2page/) can be used for producing an HTML version of your document. The selection of which program to use is done with the USE_HEVEA, USE_LATEX2HTML, and USE_TEX2PAGE variables. Simply define one of these in your ${sysconfdir}/latex-mk.conf file (for site-wide configuration) or $HOME/.latex-mk.conf (for per-user configuration). If you are using GNU make, the variable would be set in ${sysconfdir}/latex-gmk.conf or $HOME/.latex-gmk.conf instead. You can also override this setting in your project Makefile. For example, to use Latex2HTML, add

     USE_LATEX2HTML=  yes

to your configuration file or to your project Makefile.

To generate HTML output, simply run `make html'. The HTML output along with any image files will be placed in a subdirectory called ${NAME}.html_dir. For example, if you have a project with two top level documents, your Makefile might look like:

     NAME=  doc1 doc2
     .include "/usr/pkg/share/latex-mk/latex.mk"

After running `make html', you will have two new subdirectories called doc1.html_dir and doc2.html_dir containing HTML versions of the two documents.

To keep track of which files have been generated during the conversion, a temporary file, ${NAME}.www_files gets created and all generated files are recorded there. This allows the output produced by HeVeA to be moved to the correct subdirectory as well as allowing `make clean' to work.

The HTML generation is still new and there are probably some bugs to work out. Please submit bug reports. There are also some features which may be useful that have not been integrated. For example the program hacha could be used for breaking the HeVeA output into several smaller files.


Next: , Previous: HTML, Up: Top

5 Using LaTeX-Mk Recursively

In some cases you may wish to organize multiple documents into their own subdirectories but still be able to build all of them with a single make call. This is supported in LaTeX-Mk via the use of the latex.subdir.mk makefile fragment. To use recursion, create a Makefile, in your top level directory which looks something like the following example.

     
     SUBDIR+=        project1
     SUBDIR+=        project2
     SUBDIR+=        project3
     
     .include "/usr/local/share/latex-mk/latex.subdir.mk"
     

Now create your usual LaTeX-Mk Makefiles in the project1, project2, and project3 subdirectories. Additional subdirectories are added to the SUBDIR variable. Multiple levels of subdirectories make be used. Please note that currently the use of both latex.mk and latex.subdir.mk in a single Makefile is not supported.


Next: , Previous: Recursive, Up: Top

6 Obtaining LaTeX-Mk

The latest information and version of LaTeX-Mk can be found on the main LaTeX-Mk web site at http://latex-mk.sourceforge.net. A package for the NetBSD operating system (see http://www.NetBSD.org for information about NetBSD) exists at ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc/print/latex-mk/README.html. A port for the FreeBSD operating system (see http://www.FreeBSD.org for information about FreeBSD) exists at http://www.freshports.org/misc/latex-mk.


Next: , Previous: Obtaining, Up: Top

7 Installing LaTeX-Mk

7.1 System Requirements

To configure and install LaTeX-Mk, you will need a Unix-like operating system or shell with a compatible make program. In addition, to use LaTeX-Mk, you will require:

  1. latex. The development of LaTeX-Mk was done using Thomas Esser's TeX distribution, teTeX, version 1.0.7. More information on teTeX can be found at http://www.tug.org/tetex/.
  2. Either GNU make version 3.80 or higher or a BSD make program. For information on GNU make, see http://www.gnu.org/software/make/. For information on the NetBSD operating system (which of course includes BSD make), see http://www.netbsd.org. If you wish to install BSD make on a non-BSD system, you can try downloading one of the bmake snapshots from files area of the LaTeX-Mk sourceforge project page at http://www.sourceforge.net/projects/latex-mk. The GNU make version requirement is firm. LaTeX-Mk will not work with versions of GNU make prior to 3.80. It is highly unlikely that LaTeX-Mk will be ported to older GNU make versions due to the lack of some important features in older versions.

7.2 Installation

Installation of LaTeX-Mk consists of three steps: configuration, building, and installing. In a typical installation, this is as simple as

     ./configure
     make
     make install

This will configure LaTeX-Mk with the defaults, create the final files to be installed, and install them in the proper location. The configure script is a standard GNU autoconf script. The most common option is the `--prefix=<installation prefix>' option. This causes LaTeX-Mk to use <installation prefix> as the base directory for the installation.

Running configure --help will give a list of the available configuration options. The ones which are specific to LaTeX-Mk, as opposed to being generic configure options are listed here. --with-mkconf=<mkconf>: this option changes the default system configuration file for BSD make. This file defaults to ${sysconfdir}/latex-mk.conf. --with-gmkconf=<gmkconf>: this option changes the default system configuration file for GNU make. This file defaults to ${sysconfdir}/latex-gmk.conf. --with-usermkconf=<usermkconf>: this option changes the default user configuration file for BSD make. This file defaults to $HOME/.latex-mk.conf. --with-usergmkconf=<usergmkconf>: this option changes the default user configuration file for GNU make. This file defaults to $HOME/.latex-gmk.conf.


Next: , Previous: Installation, Up: Top

8 Feedback

To report bugs, provide feedback, suggest new features, etc. visit the LaTeX-Mk Project management page at http://www.sourceforge.net/projects/latex-mk or send email to the author at danmc@users.sourceforge.net. For information on the current version of LaTeX-Mk, visit the LaTeX-Mk homepage at http://latex-mk.sourceforge.net.


Next: , Previous: Feedback, Up: Top

9 Alternatives

There are a few tools which are somewhat similar to LaTeX-Mk. I have not reviewed them in any detail and thus am unable to comment on how similar or different they are compared to LaTeX-Mk.

  1. "mk" http://www.servalys.nl/scripts/


Next: , Previous: Alternatives, Up: Top

10 History

10.1 The Dark Ages

In the beginning I used a WYSIWYG word processor from a large software vendor in the Pacific Northwest of the US. It worked for short papers, it was horrible for medium to long documents, painful for equations, and painful for figures. Then I learned LaTeX and life was much much better.

10.2 The Giant Per-Project Makefile

In graduate school, a friend showed me a makefile he had set up for his thesis. It contained all sorts of targets and some intelligence about running LaTeX multiple times for resolving references. I made a modified version of that for my thesis and even wrote a book where I used yet another modified version of that makefile. This approach was much better than doing everything by hand because I had added a lot of functionality over my friends makefile. In particular, my new makefile automatically dealt with tgif figures and I had many many figures in the thesis and the book.

Despite the utility of the large customized makefile I had, it was not maintainable in the sense that every time I started a new document, I'd end up with another copy of a very large makefile to maintain. If I fixed a bug in one, I'd have several other documents in progress which needed updating.

10.3 Enter LaTeX-Mk

For those of you familiar with the build system used by the BSD operating systems, you'll know that for each program, there is a very simple makefile which lists the source files along with a couple of other variables which can optionally be set. Then a system makefile called bsd.prog.mk is included. That included makefile fragment has all the code required to provide all the standard targets, sets up the various compiler flags and correctly handles all the dependencies. It is maintainable because the bulk of the code is common and only needs to be maintained in one place.

Being inspired by the BSD style makefile approach, I converted my most up to date giant per-project makefile into an include-able makefile fragment and spent some time defining the interface a bit more generically than I'd done in the past. Since that time I've used the result, LaTeX-Mk, for the last few documents at school, some papers I've worked on since then and also for work related documentation. So far, the makefile framework has proven to be very useful and a big time saver for me. Since I believe in open-source software I felt it was appropriate to document my efforts and provide a packaged solution that others could also use.

10.4 The Modern Era of LaTeX-Mk

10.4.1 Version 0.9

Released on 2002-10-09, this was the first public release of LaTeX-Mk. My reason for using 0.9 instead of 1.0 is that LaTeX-Mk had not been tested or used much by others yet. Even though it works well for me, as with any product I'm sure others will quickly find other ways to use it that I had not anticipated. My goal is to collect feedback over the first few months of public consumption and come out with a 1.0 version which incorporates the primary improvements.

10.4.2 Version 0.9.1

This is a bug fix version released on 2002-10-29. The significant changes over the previous version are:

  • Per-document Xfig dependencies are now supported. This was an oversight in the previous version.
  • A big non-portable GNU make hack has been removed. Starting with this version of LaTeX-Mk, you will need version 3.80 or newer of GNU make (run gmake --version to check your GNU make version) if you are using the GNU make interface to LaTeX-Mk. The new implementation is much cleaner and should continue to work with all newer versions of GNU make.
  • The history section of the manual was added.

10.4.3 Version 1.0

This is the long awaited 1.0 release! Hopefully LaTeX-Mk can be considered production/stable at this point. This release was made on 2003-02-26. The significant changes/additions over the previous version are:

  • Support for dvipdfm (see http://gaspra.kettering.edu/dvipdfm) is included. By setting the USE_DVIPDFM variable, the dvipdfm program can be used to generate .pdf files from the .dvi file generated by LaTeX.
  • Support for PDFLaTeX is included. By setting the USE_PDFLATEX variable, the pdflatex program can be used to generate .pdf files directly from the TeX sources.
  • A testsuite is now included. This has resulted in the fixing of a handful of small bugs and should greatly contribute to the reliability and stability of this tool.
  • Bugs related to processing multiple directories listed in TGIFDIRS and XFIGDIRS have been fixed.
  • Bugs related to per-project processing of foo_TGIFDIRS and foo_XFIGDIRS have been fixed.
  • A bug in latex-mk relating to BibTeX has been fixed. Previously, after a BibTeX run, latex-mk failed to run LaTeX the correct number of times.

10.4.4 Version 1.1

This is the "HTML Support" release. Version 1.1 was released on 2003-06-15. The significant changes/additions over the previous version are:

  • Support for HTML output. Either LaTeX2HTML or HeVeA may be used.
  • Fixed a bug where bibtex was not run sometimes when it needed to be run. This problem showed up with some versions of LaTeX.
  • Added a POST_BIBTEX_HOOK variable which specifies a program to be run after a BibTeX run. This gives users the ability to insert an additional processing step if desired.

10.4.5 Version 1.2

Version 1.2 was released on 2004-03-21. The significant changes/additions over the previous version are:

  • Fixed a bug which prevented the POST_BIBTEX_HOOK hook from actually doing anything.
  • Dropped -Ppdf from the default DVIPS_FLAGS. Users who wish to keep -Ppdf as part of DVIPS_FLAGS can add it to the site configuration file, user configuration file, or project Makefile.
  • Added DVIPDFM_ENV variable for running dvipdfm inside a customized environment.
  • Preliminary Rich Text Format (RTF) output support. The new rtf target will use latex2rtf to produce an RTF version of your document. Use this when sending your documents to the text-formatter-challenged.
  • Fixed a bug where a list of figures, list of tables, and table of contents were sometimes not fully up to date in the final output.
  • Added support for using ImageMagick to convert JPEG and PNG files to EPS for inclusion in a document.

10.4.6 Version 1.3

Version 1.3 was released on 2004-05-29. The significant changes/additions over the previous version are:

  • Fixed a bug which prevented BibTeX from being run in the case where the source document did not have explicit \cite{} commands but rather used \nocite{}. Bug report #927068.
  • Fixed some file names in the examples/ directory to avoid a file name clash on file systems which are not case sensitive. This should fix a long standing bug where latex-mk would not build under cygwin. Bug report #946216.

10.4.7 Version 1.4

Version 1.4 was released on 2005-10-04. The significant changes/additions over the previous version are:

  • Added support for lgrind.
  • Added a dist target for creating a distribution archive of all source files.
  • Added support for using tex2page for html output.
  • When using pdflatex, directly convert tgif and xfig drawings to PDF instead of to encapsulated Postscript.
  • When using pdflatex, do not create .dvi files as part of the default target.
  • Added a LANDSCAPE variable which when set will add landscape flags to various tools.
  • Make the default flag for exporting xfig drawings to encapsulated Postscript be -L eps instead of -L ps.

10.4.8 Version 1.5

  • When using tex2page or HeVeA for html output, do not force the running of LaTeX. With latex2html, LaTeX will still be run because latex2html makes use of the .aux files generated by LaTeX.
  • Fixed a bug where if the BibTeX input file was modified LaTeX would be run again but not BibTeX.
  • Added a --tex2page mode for latex-mk (the script) which allows latex-mk to run tex2page the appropriate number of times to resolves all references.
  • Improve the cleaning of tex2page generated output.
  • Added latex.subdir.mk to support recursive builds.

10.4.9 Version 1.6

  • Fix a syntax error in the (not used yet) ieee-copyout script.
  • Fix a bug in the latex-mk script when BibTeX is used.
  • Add quoting of command names in the BSD makefiles. This will properly deal with pathnames to the programs which contain spaces. Currently GNU make will not properly deal with this.

10.4.10 Version 1.7

  • Added support for makeindex. Suggested by Antoine Reilles who provided a preliminary patch.
  • Added a --help flag to the latex-mk script and documented the script a bit more there. It seems that some users are using the latex-mk script only and not the makefile system. Suggested by Reuben Thomas.
  • Added the ability in the latex-mk script to work with a read only current directory and use the TEXMFOUTPUT environment variable to control where the real output goes. Suggested by Reuben Thomas.

10.4.11 Version 1.8

  • Fix a syntax error in the latex-mk script which showed up with some shells.
  • Fix a bug in the latex-mk script where some of the .old files that are used for determining when to re-run various tools were not being cleaned up properly.
  • Add a few more files which latex and makeindex may generate to the list of files removed by the clean target.
  • Add a testsuite entry for the clean target.
  • Improve the makefile testsuite robustness. In particular it now deals with the bmake program having different names (make, bmake, bsdmake, etc).
  • Improve and expand the testsuite for the latex-mk script.

10.4.12 Version 1.9

  • Added support for per-document DVIPS_FLAGS and DVIPDFM_FLAGS.
  • Avoided the use of hardcoded csh in some scripts.
  • Removed claims of a BIBTEX_ENV variable in the documentation. It didn't do anything.
  • Added METAPOST support.
  • Fixed a bug when using BibTeX and PDFLaTeX at the same time.
  • Added glossary support.
  • Fixed a bug with GNU make draft output.
  • Put the actual installation prefix into the manual.
  • Avoid a case which caused the testsuite to hang.
  • Expanded the testsuite and fixed some bugs in the testsuite.
  • Fix a bug in cleaning xfig and tgif output.

10.4.13 Version 1.9.1

  • Fixed a bug in the clean target when METAPOST is in use.

10.4.14 Version 2.0

  • Added support for the bibunits LaTeX package.
  • Fixed a bug where PDFLATEX_FLAGS was not being properly passed down to the latex-mk script when bibtex was in use.
  • Fixed a bug where exporting Xfig figures to PDF actually produced postscript instead of PDF.

10.4.15 Version 2.1

  • Fixed a bug in the quoting of lgrind related variables. The result is that the clean target didn't quite work right.
  • Improved quoting in the latex-mk script to better handle the case of a file name with spaces in it.


Next: , Previous: History, Up: Top

Target Index


Next: , Previous: Target Index, Up: Top

Variable Index


Previous: Variable Index, Up: Top

General Index

latex-mk-2.1/doc/latex-mk.pdf100644 000144 000000 00000624776 11506456444 0011600%PDF-1.4 3 0 obj << /Length 269 /Filter /FlateDecode >> stream xÚ}ËJ1†÷óY&`bÎ%“d©Ô.ÄÙe!ˆ‹vœbikaŸßœ™Q* är.ÿùòƒòuÊ^E"—9FÕŸ¿„ ,7&¬çÕ”•œ…ÿºmÕ·'ûÒÜ®#(ô® )¨²“é¡S"UÞ^ôÓ¦˜Ìz0ô³m»ƒy-ÍCùU”–@.AŸ‘‚Q!R5j÷wøeñDP«À»ì3qvŒ *0: ‘'޵I¬Ï£±D¤¿ ¦iüÜŸ?æ ºŠçïnäÅÓ] ½Ô 'ƒQo­û°¨ /™,vÄ- €Å°T;ÉAÛΫLŠAw}·yß‹ìñxÅ ðµ ˆ/Í—3†ÙŒo¡”fmendstream endobj 2 0 obj << /Type /Page /Contents 3 0 R /Resources 1 0 R /MediaBox [0 0 612 792] /Parent 10 0 R >> endobj 1 0 obj << /Font << /F71 6 0 R /F51 9 0 R >> /ProcSet [ /PDF /Text ] >> endobj 13 0 obj << /Length 1701 /Filter /FlateDecode >> stream xÚÕVÛnÛF}÷W}’KáU—öI¢(›%ºäÒIÐô–(›%#ßË’”B§Eß ÖrwvöÌ™3³«÷4ù§÷fZobš£™5™ô¶‡§¿Þè<²LCþv. mÃè ÛÛâæÃÊÖ{º6ši3½'öp€5™tÍ´{b÷gß)^Æ´ÿ½èýìùÆÕà/ñ{϶FÆÄ˜ö´‘iL§h»……«±Öv84Gš©™½aËð‹¦Ûd{y¸nl˶%Z°24͸ MÓ„¡Ù ­fh7Ã1-NšÙi3œÕC]£Ñ29Ò`½]'/ažcpñ=šH°Cs:šØÖñˆ—ìDæÛÁP$c'w¥t°ZÝ¥eö ˆJw4±òŠYpï^ÎT`ó60&ý¤l¼¼•YU¥Œë ¹¿+ ’—,—?[ë ucdÙ¦yøær¿1럓œæhÍRè}L1‡OoHð„\ÆEoÏ tTYÁ˜$jˆ¨ÂGÚÙ þŠi Ù°¤Æc„òÑÒàT•Ù“œ+p­JŽLêYN"—Šýl2Å`PnyµÞ³#W2´}#C'VÈ|`@/4!Mh!«^ÐqÕÅ÷%;¥Ä­-Ä>Û9~E»´<@ªØ+À-€²oY^«€±¤Rì4Tä9îyˎϬÍâˆôan€¢ I™¶t‘V¿vé#²éN ;G RÍÄ{q.•6ãö‡*9€àëäqLeZ%Ù±¬JÛ“Ü>é-¬Lt‹~=/±-Í8%ª›\„r,*€OÀnÕ1YA.CãLïÛ%Aî2àIIiÐJLªD”CÜê빩®ì„Þò$SBKËõ™N¸Æ¿f>;þ£ªÂù+ö%JÐù"q-•½›u1@Pí‹áÿ’î‚—ªë¨l{‚s®·×ðª7éýªY[Ùî¿UŠd%9ÇÁüSÉ«>-æÇB  0{ئŸ° ‘~&%“¥4Ϲë';JbYeJ Ym IÞ$çÀmB¦€ÛïU·J Çç2Um¡ìîÔ*Á`ý¢n¡S±W÷áûÓ»RêsÃôÑéû‹nZóH¹ú…6K5àý®<ýÓCèFò7"ÄÚÈÐÇ“KâÑ«.=­|ö€ݪ1þp¾:ºeãó~¼ô6wjÚê/bAƒM@¡ÃØ÷ÖžÀàäF°ä#ij¥9¿¤þÝà莂‚±Â)+Š<¸È§s/MSÉÄÎð|O|¾àÈêCbJõG•­…6âE-±2ÿuiª^Guˆ ˆ¯ôW7ˆ8r¯WêëH_ ÕG]U¬˜[Fàñ®ù’î$@ÙNtû¼®2 HUߢn½V»SÃzìÜ«„å=€p¥¬ |]¼^o\qó7Ž‘endstream endobj 12 0 obj << /Type /Page /Contents 13 0 R /Resources 11 0 R /MediaBox [0 0 612 792] /Parent 10 0 R >> endobj 11 0 obj << /Font << /F51 9 0 R /F60 16 0 R >> /ProcSet [ /PDF /Text ] >> endobj 19 0 obj << /Length 1860 /Filter /FlateDecode >> stream xÚí›Ér7†ïz ‡"ØËÑkâ”]vÙ´ËUIZ(c‰rDÊU~û40L‰…^eK.85»9ýý ل›X:ÑB+µž_Ðþö»Ö_ÍÀb†MîÏ~{ܲ £ÄRË&óÓIË ±ÊêÁÕüä¯f9ýgþçÁ£ytÕr^ æLv£iˆ¦ g­tÑà )# ²õqæS+šÃ£ó)kÓ™ÐmsyÚ½>€[—«©àÍf/¬ÙÀµûZOI„TÜù„g”ŒP©˜wɦ3ÆxÛ<é?5cÍÕ%øäÍÉõñféÞƒ_ï¾ òÃàÚ(ªÀ¡óCÀR©Ñ‹NÝÜã_Çä+|| ª„¼YAÅDIA¨1ÒQƒÜú#²Ñn† #Þ!…»;"Ûq[: ™“3©Esb%kjÃ{ò¨®é³…À:Å[kb™•·÷Ï*"$¶ªdXT&%’Š@ž²ŠØŽ6îÌ€>4á¶´V®Y×ÉpâúJisÿpíäàº!@'Æé4Òëú(äÌBôS»úÐ{'üfoÞà—ØÑ•$­„üF09]õv3l˜ ½ë0«+ì)§«J´AW†ÆißßÞëêá N‡§›½teásR›_ºú¤›YA"UA!â 0b™ò”T9Ú (£¦¬”èõbÊM³¸êôôÊx{|}•\ì'3¨±ˆ´âŽÊ,+—ïª\aQ.`›” ò”•Ëv´J§†myßÏu•Λ©•}¥³tU´Û’µŽeDA%u×j\u“Y«n°a©ºÑQI OYlGËuœ)©í´«›W0-7¾¸‘̓ËÕßP¾À­³k?:m–0íñÇ›®ã˜ö¢ñõP¬‘·:õ–hùmìE²]DÈnµ‹@†Å.ãJ‹yÊŠ£)¤`¢N-á–ò ´:WðÃëµçß6Ý<^vbIéĵQ7WÔda†tTa"Ã"Lœß4Lä) ³-À”V&la†‚ó÷ÐjWáÂ7çãŽî ÷ІV5ÿ†ÿoFZ>üç|‘nõ­%TÈŸ Ñç°ÇÄÕ°cÃö‰$vì)‡½-b7Z“1{( ŸžyÌ+ßryóªoÏÐjûe-Ö¸Æ{v Wã_Ö s £‹–ê›RßΛ¡Áž8Ã+ØÍ°aŠ×ŽC¿Å“À«,°r¸LYb„:]Ù›Ÿ-O¿+ÓUÍØwl YpáÉ«àaNer•WÁµŠ(£‡¶íÁ½ ƒ`å¶Ò _¥‡ ‹ôp>3ô«,½r¸XK)H+Tè(ùxö<ûâqâé_Sè‘hBÒ«¢A†EÑ`Š,¹†‡]eES›¼ D˜~³4 ä—‹ÿ\k^^-NÆqUðQV"Ж)—·J#Yò!uUòȰH³ÈG®²äËá"y·)ZÉïWMÊtÙm¦Rx°;0]Ž CV«¢@†EQ`LQ WYQ”ÃEQPI¨‘:Š-ÁÚA 3wñbÚí%§Æ(Í—hR=M¦ïÐ’0£~µd‡ U#Ã"`œr–\bÇ®²€Ëá`á–&„ú{ùy€Ÿ=‚;~Íýž·}?qÝ\®7±—À…_¾‹€) m¿ëä:6f¦–ÀŽRÍ’‹áØUl%\«5ÑF Ýyûy`ÃmÏF«(‘’ýÐÛÂYà!cUàȰ#ÈG®²ÀËá"p%‰|èªÕç÷s»³;‚<䬊‘c,¹†]e‘o‡ÛÙð¢%­da¶Ûðúcî@>{Ú{Ø®ýŸ÷ð’:Ò%àšòö'ß÷Ú+ÜAµvHQno7Æ©m¬‡á ]£“€‘»,àrH˜ Â@ýÎiøõz¹rMS«æéáÜmoú¦ûÖµëgï:ì/Ç×~Ïs½üàÎø-Î?¦às·ÎÙwŸ%ž±J á¤yB&I¹Ë*‡„drM¡_î 5Õz~ä[ÜáråÏRv´ÚŽ–ho¦TSÔ–¤W—o¾%æèÅç¯ÑÆ%z£„zz6E»ËÑ«„tô„!’ö“kOÅ®;|çþ´jl¾º-„§0ê‡>0™%rQ%‰ ‹$qrÝ:BC“$‘»,Éí™ÅNαJw³íë~ôÇ7¡Ð¹è¦$Âօ?ÒÊ,cYÂÍí\¸ø‚ê)¦¼V=aÃRõ4bÈÓ’A®²’)‡$C 1L÷]@\ïz²ògéd\?6ùSg`Q†ñ_g¿ªª•ªªaQUsFUÈUVUÛáv†?ˆsÕU¦RûQÃw<'Gn9vEÙ»Ì14N©¸3ÇÐrÃQÌcm8†¥áhÆGÉ]`w9TBz ÞjåƒÙ^÷|=±YøÂ|uØýÐæƒûýÎ"û ÆLÏnç/n²èCòªè‘a=¦áÑ'·]±»ýÿbVèdendstream endobj 18 0 obj << /Type /Page /Contents 19 0 R /Resources 17 0 R /MediaBox [0 0 612 792] /Parent 10 0 R /Annots [ 23 0 R 24 0 R 28 0 R 29 0 R 30 0 R 31 0 R 32 0 R 33 0 R 34 0 R 35 0 R 36 0 R 37 0 R 38 0 R 39 0 R 40 0 R 41 0 R 42 0 R 43 0 R 44 0 R 45 0 R 46 0 R 47 0 R 48 0 R 49 0 R 50 0 R 51 0 R 52 0 R ] >> endobj 23 0 obj << /Type /Annot /Border [0 0 0] /Rect [441.9303 643.0884 450 653.051] /Subtype /Link /A << /S /GoTo /D (1) >> >> endobj 24 0 obj << /Type /Annot /Border [0 0 0] /Rect [441.9303 607.9203 450 620.5529] /Subtype /Link /A << /S /GoTo /D (3) >> >> endobj 28 0 obj << /Type /Annot /Border [0 0 0] /Rect [444.5454 592.1503 450 601.726] /Subtype /Link /A << /S /GoTo /D (3) >> >> endobj 29 0 obj << /Type /Annot /Border [0 0 0] /Rect [444.5454 578.9996 450 588.6966] /Subtype /Link /A << /S /GoTo /D (4) >> >> endobj 30 0 obj << /Type /Annot /Border [0 0 0] /Rect [444.5454 565.8489 450 575.4247] /Subtype /Link /A << /S /GoTo /D (5) >> >> endobj 31 0 obj << /Type /Annot /Border [0 0 0] /Rect [441.9303 538.8792 450 548.8419] /Subtype /Link /A << /S /GoTo /D (6) >> >> endobj 32 0 obj << /Type /Annot /Border [0 0 0] /Rect [444.5454 520.3197 450 530.0166] /Subtype /Link /A << /S /GoTo /D (6) >> >> endobj 33 0 obj << /Type /Annot /Border [0 0 0] /Rect [444.5454 507.169 450 516.866] /Subtype /Link /A << /S /GoTo /D (6) >> >> endobj 34 0 obj << /Type /Annot /Border [0 0 0] /Rect [444.5454 494.0183 450 503.7153] /Subtype /Link /A << /S /GoTo /D (6) >> >> endobj 35 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 480.8676 450 490.5646] /Subtype /Link /A << /S /GoTo /D (12) >> >> endobj 36 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 467.7169 450 477.4139] /Subtype /Link /A << /S /GoTo /D (12) >> >> endobj 37 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 454.5663 450 464.2632] /Subtype /Link /A << /S /GoTo /D (12) >> >> endobj 38 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 441.4156 450 451.1125] /Subtype /Link /A << /S /GoTo /D (13) >> >> endobj 39 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 428.2649 450 437.9619] /Subtype /Link /A << /S /GoTo /D (13) >> >> endobj 40 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 417.2354 450 424.8112] /Subtype /Link /A << /S /GoTo /D (13) >> >> endobj 41 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 401.9635 450 411.6605] /Subtype /Link /A << /S /GoTo /D (14) >> >> endobj 42 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 388.8129 450 398.5098] /Subtype /Link /A << /S /GoTo /D (15) >> >> endobj 43 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 375.6622 450 385.3591] /Subtype /Link /A << /S /GoTo /D (15) >> >> endobj 44 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 362.5115 450 372.2085] /Subtype /Link /A << /S /GoTo /D (16) >> >> endobj 45 0 obj << /Type /Annot /Border [0 0 0] /Rect [433.8605 332.7523 450 345.3849] /Subtype /Link /A << /S /GoTo /D (17) >> >> endobj 46 0 obj << /Type /Annot /Border [0 0 0] /Rect [433.8605 300.3737 450 313.1259] /Subtype /Link /A << /S /GoTo /D (18) >> >> endobj 47 0 obj << /Type /Annot /Border [0 0 0] /Rect [433.8605 267.9951 450 280.7473] /Subtype /Link /A << /S /GoTo /D (19) >> >> endobj 48 0 obj << /Type /Annot /Border [0 0 0] /Rect [433.8605 235.6166 450 248.3687] /Subtype /Link /A << /S /GoTo /D (20) >> >> endobj 49 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 219.8466 450 229.4223] /Subtype /Link /A << /S /GoTo /D (20) >> >> endobj 50 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 208.8171 450 216.3928] /Subtype /Link /A << /S /GoTo /D (20) >> >> endobj 51 0 obj << /Type /Annot /Border [0 0 0] /Rect [433.8605 179.7262 450 189.6888] /Subtype /Link /A << /S /GoTo /D (21) >> >> endobj 52 0 obj << /Type /Annot /Border [0 0 0] /Rect [433.8605 147.3476 450 157.3102] /Subtype /Link /A << /S /GoTo /D (22) >> >> endobj 17 0 obj << /Font << /F51 9 0 R /F71 6 0 R /F90 22 0 R /F54 27 0 R >> /ProcSet [ /PDF /Text ] >> endobj 71 0 obj << /Length 1272 /Filter /FlateDecode >> stream xÚíÚMoÛFà»…ŽÔA›ýþ86¨“´¨„ @Ûƒ+©jÇäÚß]J»Y;³{HQ$"rCf‚y´@±àñX¾pJ± [|ø|ŧï®Äñh+V°äåúêÅ+#‚³ÀƒX¬?.Œ0,¨ §VëÛ_‡Ýnùûúç«ëuée¤lMK%çã\§™ÒV¦qéÿ§såÔ8HðåJi‡7»§/ñxØÿ“F¿x+Áç|`ZJ¥O±XhíÉ_®v²ãg_§ä«üÙöuܪ·ÜLË‹ë‹ "(u+XXÉá¼aÚ«L¨³á†ŸÌ­DŸJÎGžJÒÄ‘Æ,lPÌ„pÌŸ‰8”s>¬ÿÜ.WJ©áÇÍþîpôçíÓAƒÑ'­xD&œ®ppÝ»ÿOþÇóÎüÆãöÊî1>Dz¨«DyÖnÄS…anèYÏ™Ö>_7˜|îæõnó°”~ørøçÛt¼Ý¯Þî—bˆ—c‡¿âÑ6ÿ0Öèá&žØÜ…éôo\èxæ~[Eç53ÖúoŠ o²©’ `4ˆÐ …@›$XÇdp6KPG ×1»ƒ€íþ`à—ÍzéÕ!Ü÷«›»j®B1ëD˜/&Äí'7ß” I90JDh…Ê¡ÇMrŒfB» G?¿„ÜÄëDôs›¯ûQÔø£ëýæpðøñÔê*j–>Þb¿5WhøÇå5³ŸêÈèAHòS#4xr–°‚9%VÇsÁ–[‡.ï–^OQ?¥ƒÝ㘸âgj¹Æ»•Â]èåÅ‘WÜÔ I03©«>@+=®‘Žymì$Dö ‰’ª¨’Yá. Ê"ïµÉ’,`P Ð eA+,â¯L6è0±P,ãó…£û‘WÜ I!03Dh… ¡Ç!\0£µœ„è.!bÒ-$¯¸)’B`fˆÐ BËBŒ÷Le&!¦Kˆœ…ô )+n …”“̤© ­0!qEˆ3Lj î2¶Kˆš…t É+n …¤˜"´B…ÐãŠ+ãX î2®Kˆž…t É+n …¤˜"´B…ÐãŠíYÐÜe|—3 é’WÜ I!03i«B@+T=®Q†¹Àý$$t ±³n!yÅM! 3C„€V¨z\"%³š ð5ï"âªD<3’ûK#‚ÚÈËmÚ…¤ ˜b´BmÐ㊠˜öÜ_„è²ágmy¹M ´ÓBl€V¨ z\¶¡ƒeJypg²ËF˜m4m”å¶lÀBÊÆIZÒÕlÀV˜Æ¸bÃ+&¼‡÷”¾¯PÑoÖ Ò^À“ "o´ ’ `DÐ A+ Üø– z¾1•ÈwêóÅâÄF^nÓ($mÀ´ jƒWl˼·Ø0]6Äl£m#/·i’6`Zˆ Ð µñ|ÜÙ£Zºøë‹9ܱÖË †ÍþS°M¯q93üôp;Òø»öêhL§·/ýÕѲÅÖ«£°zuô$–ñÕQ_5Ú¡è‘1P Óâøžê»eÐÑÀ.ÍÜüq¿íP ¸O¥Õç†ï…|Y]+xXH’Å|¨ÛaÁ7F¦à­Š·¸Ê¼~Øî7÷)s;fŽäÞÖ4áóÎkæ ɼaéé}Õ¼A»)ïY¡’endstream endobj 70 0 obj << /Type /Page /Contents 71 0 R /Resources 69 0 R /MediaBox [0 0 612 792] /Parent 10 0 R /Annots [ 72 0 R 73 0 R 74 0 R 75 0 R 76 0 R 77 0 R 78 0 R 79 0 R 80 0 R 81 0 R 82 0 R 83 0 R 84 0 R 85 0 R 86 0 R 87 0 R 88 0 R 89 0 R 90 0 R 91 0 R 92 0 R 93 0 R 94 0 R ] >> endobj 72 0 obj << /Type /Annot /Border [0 0 0] /Rect [433.8605 707.2478 450 720] /Subtype /Link /A << /S /GoTo /D (23) >> >> endobj 73 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 691.4778 450 701.1747] /Subtype /Link /A << /S /GoTo /D (23) >> >> endobj 74 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 678.3271 450 688.0241] /Subtype /Link /A << /S /GoTo /D (23) >> >> endobj 75 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 667.2976 450 674.8734] /Subtype /Link /A << /S /GoTo /D (23) >> >> endobj 76 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 654.147 450 661.7227] /Subtype /Link /A << /S /GoTo /D (23) >> >> endobj 77 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 640.9963 450 648.4508] /Subtype /Link /A << /S /GoTo /D (24) >> >> endobj 78 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 627.8456 450 635.3001] /Subtype /Link /A << /S /GoTo /D (24) >> >> endobj 79 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 614.6949 450 622.1494] /Subtype /Link /A << /S /GoTo /D (24) >> >> endobj 80 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 601.5442 450 608.9988] /Subtype /Link /A << /S /GoTo /D (24) >> >> endobj 81 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 588.3935 450 595.8481] /Subtype /Link /A << /S /GoTo /D (25) >> >> endobj 82 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 575.2429 450 582.6974] /Subtype /Link /A << /S /GoTo /D (25) >> >> endobj 83 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 562.0922 450 569.5467] /Subtype /Link /A << /S /GoTo /D (25) >> >> endobj 84 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 548.9415 450 556.396] /Subtype /Link /A << /S /GoTo /D (26) >> >> endobj 85 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 535.7908 450 543.2453] /Subtype /Link /A << /S /GoTo /D (26) >> >> endobj 86 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 522.6401 450 530.0947] /Subtype /Link /A << /S /GoTo /D (26) >> >> endobj 87 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 509.4895 450 516.944] /Subtype /Link /A << /S /GoTo /D (26) >> >> endobj 88 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 496.3388 450 503.7933] /Subtype /Link /A << /S /GoTo /D (27) >> >> endobj 89 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 483.1881 450 490.6426] /Subtype /Link /A << /S /GoTo /D (27) >> >> endobj 90 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 470.0374 450 477.4919] /Subtype /Link /A << /S /GoTo /D (27) >> >> endobj 91 0 obj << /Type /Annot /Border [0 0 0] /Rect [439.0909 456.8867 450 464.3413] /Subtype /Link /A << /S /GoTo /D (27) >> >> endobj 92 0 obj << /Type /Annot /Border [0 0 0] /Rect [433.8605 425.0063 450 437.7584] /Subtype /Link /A << /S /GoTo /D (28) >> >> endobj 93 0 obj << /Type /Annot /Border [0 0 0] /Rect [433.8605 395.4173 450 405.3799] /Subtype /Link /A << /S /GoTo /D (29) >> >> endobj 94 0 obj << /Type /Annot /Border [0 0 0] /Rect [433.8605 363.0387 450 373.0013] /Subtype /Link /A << /S /GoTo /D (31) >> >> endobj 69 0 obj << /Font << /F51 9 0 R /F71 6 0 R /F90 22 0 R /F54 27 0 R >> /ProcSet [ /PDF /Text ] >> endobj 103 0 obj << /S /GoTo /D (1) >> endobj 105 0 obj (Introduction) endobj 106 0 obj << /S /GoTo /D (3) >> endobj 108 0 obj (Targets) endobj 109 0 obj << /S /GoTo /D (3) >> endobj 111 0 obj (Base Targets) endobj 112 0 obj << /S /GoTo /D (4) >> endobj 114 0 obj (Draft Targets) endobj 115 0 obj << /S /GoTo /D (5) >> endobj 117 0 obj (Per Document Targets) endobj 118 0 obj << /S /GoTo /D (6) >> endobj 120 0 obj (Variables) endobj 121 0 obj << /S /GoTo /D (6) >> endobj 123 0 obj (Site Configuration Variables) endobj 124 0 obj << /S /GoTo /D (6) >> endobj 126 0 obj (Site and User Configuration File) endobj 127 0 obj << /S /GoTo /D (6) >> endobj 129 0 obj (Generic Project Variables) endobj 130 0 obj << /S /GoTo /D (12) >> endobj 132 0 obj (Lgrind Site Configuration Variables) endobj 133 0 obj << /S /GoTo /D (12) >> endobj 135 0 obj (Tgif Site Configuration Variables) endobj 136 0 obj << /S /GoTo /D (12) >> endobj 138 0 obj (Xfig Site Configuration Variables) endobj 139 0 obj << /S /GoTo /D (13) >> endobj 141 0 obj (Per-Project Variables) endobj 142 0 obj << /S /GoTo /D (13) >> endobj 144 0 obj (Required Variables) endobj 145 0 obj << /S /GoTo /D (13) >> endobj 147 0 obj (Generic Variables) endobj 148 0 obj << /S /GoTo /D (14) >> endobj 150 0 obj (Per-Project Lgrind Variables) endobj 151 0 obj << /S /GoTo /D (15) >> endobj 153 0 obj (Per-Project META-post Variables) endobj 154 0 obj << /S /GoTo /D (15) >> endobj 156 0 obj (Per-Project Tgif Variables) endobj 157 0 obj << /S /GoTo /D (16) >> endobj 159 0 obj (Per-Project Xfig Variables) endobj 160 0 obj << /S /GoTo /D (17) >> endobj 162 0 obj (HTML Output) endobj 163 0 obj << /S /GoTo /D (18) >> endobj 165 0 obj (Using LaTeX-Mk Recursively) endobj 166 0 obj << /S /GoTo /D (19) >> endobj 168 0 obj (Obtaining LaTeX-Mk) endobj 169 0 obj << /S /GoTo /D (20) >> endobj 171 0 obj (Installing LaTeX-Mk) endobj 172 0 obj << /S /GoTo /D (20) >> endobj 174 0 obj (System Requirements) endobj 175 0 obj << /S /GoTo /D (20) >> endobj 177 0 obj (Installation) endobj 178 0 obj << /S /GoTo /D (21) >> endobj 180 0 obj (Feedback) endobj 181 0 obj << /S /GoTo /D (22) >> endobj 183 0 obj (Alternatives) endobj 184 0 obj << /S /GoTo /D (23) >> endobj 186 0 obj (History) endobj 187 0 obj << /S /GoTo /D (23) >> endobj 189 0 obj (The Dark Ages) endobj 190 0 obj << /S /GoTo /D (23) >> endobj 192 0 obj (The Giant Per-Project Makefile) endobj 193 0 obj << /S /GoTo /D (23) >> endobj 195 0 obj (Enter LaTeX-Mk) endobj 196 0 obj << /S /GoTo /D (23) >> endobj 198 0 obj (The Modern Era of LaTeX-Mk) endobj 199 0 obj << /S /GoTo /D (24) >> endobj 201 0 obj (Version 0.9) endobj 202 0 obj << /S /GoTo /D (24) >> endobj 204 0 obj (Version 0.9.1) endobj 205 0 obj << /S /GoTo /D (24) >> endobj 207 0 obj (Version 1.0) endobj 208 0 obj << /S /GoTo /D (24) >> endobj 210 0 obj (Version 1.1) endobj 211 0 obj << /S /GoTo /D (25) >> endobj 213 0 obj (Version 1.2) endobj 214 0 obj << /S /GoTo /D (25) >> endobj 216 0 obj (Version 1.3) endobj 217 0 obj << /S /GoTo /D (25) >> endobj 219 0 obj (Version 1.4) endobj 220 0 obj << /S /GoTo /D (26) >> endobj 222 0 obj (Version 1.5) endobj 223 0 obj << /S /GoTo /D (26) >> endobj 225 0 obj (Version 1.6) endobj 226 0 obj << /S /GoTo /D (26) >> endobj 228 0 obj (Version 1.7) endobj 229 0 obj << /S /GoTo /D (26) >> endobj 231 0 obj (Version 1.8) endobj 232 0 obj << /S /GoTo /D (27) >> endobj 234 0 obj (Version 1.9) endobj 235 0 obj << /S /GoTo /D (27) >> endobj 237 0 obj (Version 1.9.1) endobj 238 0 obj << /S /GoTo /D (27) >> endobj 240 0 obj (Version 2.0) endobj 241 0 obj << /S /GoTo /D (27) >> endobj 243 0 obj (Version 2.1) endobj 244 0 obj << /S /GoTo /D (28) >> endobj 246 0 obj (Target Index) endobj 247 0 obj << /S /GoTo /D (29) >> endobj 249 0 obj (Variable Index) endobj 250 0 obj << /S /GoTo /D (31) >> endobj 252 0 obj (General Index) endobj 255 0 obj << /Length 3026 /Filter /FlateDecode >> stream xÚµZYÛÈ~÷¯ìËR€E³»y.ÏÚ^LÆz‚5 GjIôP¤–¤Bs…”]ƒŽFJyjñ¯Û¿>{}Û³iý-f‘ä1· p›øZE¡p§¡¯L·j±ŒbŒàaAs&æVŽ+`æüÞ*„sÂ+ ô3„´ÛßòÛEj<ûq‰»¼…µ÷pñ8òŠc/çn‡·O¼ºäî¦n¸±Ï«|‹GV[hqŸ}^–Ã:ü-s|­åMÛâ¿ôØkžì™àîA^;нOÐ"ÊUGû‹ej2ïÛ;žÃý:Ò …X¬òï~µt·UÆWQ\¾­NŒWT¸øØqïŸ ¡[Zì†^¯åf[ìq%—'&Îù§eí)Ã-×þý¼€ÛäM‘ß6^;b9°*PžE]µŽ«Éÿ¡ê±PMù&0!(Þðm~o70#ÿ0òSzÆ”?ó¦|ë†ÛÝÎrãÐàóGÞ'Ëš¾À—§W5Qä+­Ôô]_n:w´Ÿ@³…4n0ïà* ~œ£ëà¼å_Û³WS ΊTò”«á¦ÈÓN8¶¸Ë+îØœT«(üÄÔRvëîÚ¾Ö‘¨ävcÿD,(»– uöÐÊÑ5ÿ®bš† ƒÁöÞ‰’Æp‡8;SÓ.oïq£ T¦ý !‘ØÏ…}Àш…5›åÊíMÚi³žƒm¨€­©à!·šåÒoz«ãžn dY¿Õisè'ësþyïÞp•¹t’ƒaË9ÃÃÜÅcºøCA¸¡4LÃiÖ²±Á(a“ÓËÝs é4‹`¥DâyÇ3»÷øLñ¿|^ 1þ(Ô„µ,¡‹Â‚Ù¯æq|€cÅm÷z8ﬗ…ƦÞâ’|/HÀëcyc§—g©WÖ®I•Œè e3~zäaey¼!´ëcÇàÅ&Úã^â©b”‰Ú”j’Vª<Ö[÷š8b¿ä°Ùç(HÃr®+F?X°Û8,’ÝæášçP¢õ4Šù”%>üaÌ΄¼ßG¦ba {ópHZ€`Z×+¿³_æ0#R~†™Ã Ùø"˽ðS ʨ@7„rÃç0´»æ©‹æ²Ê™äÜ¥¾Nt* ù‡õfŽm­¡™f#¨3flsxÌ u¸>òܾØîœõAÂsÚÔeɺŸ€:¬6‚Zt¶rª‡†‡3«zÏ®©×S3WZ*¥}%º‹¬eŽà'š ˆ BûadÌÿ…ný¹@|Fºå{|]n~ ¤Q÷p”܃¥s;ZÝï3·ì‚Q¥Ò(ЧFz»ÅïPλ ǬÁb܉AÒ¢yÒ ÃabDWøæT*õc4 Oe³7©€ Ùª=ŠK§a2ãNÌjÈ^7TH£ê-A  ϸá{]!aË®m ¹†3–Î…‚ÅCÐ25Ô¶.ÝÖó„5µocÈÈCŽîÂxx"&óéxV ÝÄ™G:2lYC¡1üzI˜Aq†Ä¸‡U@Ñ?Æ7ži§Ïƒ#wCPb+¹-YÕGqïjr_ Ò]àvækXׂLÂÖ?ùàyÒ¯ _°ß£«dÅ€¡p®WýÜñ ò¡ ©ðcµ ½;‰®q«BÛŽ¼= µ2D'‚#'ZòàÍ^Â6Ä$Ï;ÔÕÃÝ¡žÏ½À¼÷ðÕÄ..š‹;ÈIväÑ Ñ20Zî2Gx‹­Ì²gÏÉsàµÇ;߉ž£S‰ÜŸ jÏGR4áycðò…çˆQ0/üŽ|Æ;˜Ü¡”k9à­ÄÿÊã8œ†m_õjóý¤!ŠšØß°’ç…D$ßáÃüY§¤3Ȧ)æ|Ò»—o_ÿ…@Û)‹†8*ˆù‚Eµ*kËÐþâØ6/ÊÍíb¹„«Ëý=7üíþþ+ MAÿ]e‡Syºi,IýÎαž¤~¤{<ï¹Âçy"W¢  vâA­a^„©ö$þ…û¢d¬ aèƒ#<ÞßÞýž)‰.…g¾6‘KV÷  ßâ€9(•hï=mš‹Ç`0M£Ç–›×0áö¼RP0TßÅG:hä£Ó§vƒÓ½ÉP(;,Å)§¬Q’xE´¨³¬[@R’‘΃‹‰»Ý¼+¸E–è©ü‰Züô-½Øßÿ4¯€\ ¢Ly7â›åüQ ÌQ—. iÄ¡ÏýZ@šT©áÅ…—¢NI®˜ô¨?jrÆÒFîçt)êÈq8Üsî:1j¹S»‡y6a2ÀG˜‰ûî ÉûÊž SFP‹ö^ĉ»VÃ=r]'ç;»GOï e;Ïò¦ú3œ­mÃä¾g…ä"$*;{ ¯¥þp4¸BRN˹üC!• œ g‚£Ä6®?¼â©–Ki¥ŒS– ÃçêêRà€jTH1¤ÅÁ  Rë‚GÁ:@bî\vd’]Þª±è_¨óÔ¬Õ†A R ~4AâtœvgÉÔqҦЌL;4!—§NÜnðñ¢æ®© ð²1 p28ÏchüDÇéá~¯+xæP1¥„‡fÊr-sþ0ɱ‘vŸcGø¯l_î@§Y»[Un_Ô÷m“ï[¾#PH 5ôM “©æÙ/Sx‰Þ92Þº¡xUü.zçˆÂÉ÷ô®-—pWMqÖõå¤ïC˜È°sëKds‘îg@°}í`ò®¯"ÓáRzƒæÖV¶!Cú»‚j°…Ôh»bX3‘âch·SF20ÌëEš€ÃþΔ>G>X눂>¤S„³£¤f•£•ÛZ¥ ’¦[™gm\Á“DE9°/þ<ÐJb¾5Ïq̪†W7œ÷ƒT¡Ã&ªJ‰XÁÍB£ÎàêªmïØ*\K¥åÛ{˜yÎA\{\á¶BW ±ùP§RJ3„~.•0F2¦æ4*_<úF©Ìp‘¾¯Û×;fGÏ”Î8Xm§õ2£Ý–}H~^/ƒ¹‡]ÝÚé}”‚>½ûH¤…0zGÛq½´’ƒ9›æÅ!„Ú*uFªÌ ôÄ³Ú ^4Š{7z©®ö¨@…ûk)Ž=.†*á€âoH@GWǘf”ßâø«¿Æ¯†C­“'TÑ_e™÷²tTó9}ÿÀªY·Â­¸Òô1Hs“%~êlêFnõHQÊ”?øx!•ç8óM¸ Kw½Þ6÷ø²wãÏ´š@+ÑîÃÓöظ£3¦WF‰– ÕO²Ûm![¸zwŽO+ïe5‡¢S3a³÷ò‘Ÿ@ôûÔ„qS7.säjRGËe®8Zr…­¾—nAùµ+GÌ×8cí'I”>N'Atx“¬r\=¼}ýñÃï¿~:C^¹Ú)¿/d®vzÜ1C§±›öR…óúæzØTÃA‰|T¤9~»yóêæwâ"¯¡þ{Sl۹؟$ÁOÍ+æKŸ7k2 ÓG é2G5$øÍÛvÿ®G厈|Ã$¸–0œ¾#Óçë œÙC8ªÓžËªB€œ)Ú#Ûך?²vQltbzveï|Ö#\6Ù–¥&Bú6Š…&ñþØ å½¥}ÃÂÒ\dQ ¢Ð±ôoÚÇŠ1I],ò@dnâäÇòz>nTY¤ba,òR‚RÄ®åÃÛ®O­…+ü[4#Ç@ô5ÿ‚©ÔÍ>wÆ‚ôBt§ãù¡<ÕGÐîò*ª°.Ú½köä9—ꀎØ×îk-î?Ô«µ­V'&â´‘>4®º#0êþÝ w5|GÙ·ø}©ÔCÅ?Xã@è„¿ú•§ùß–ÿRÀÕendstream endobj 254 0 obj << /Type /Page /Contents 255 0 R /Resources 253 0 R /MediaBox [0 0 612 792] /Parent 10 0 R >> endobj 53 0 obj << /D [254 0 R /XYZ 90 720 null] >> endobj 256 0 obj << /D [254 0 R /XYZ 90 670.2955 null] >> endobj 253 0 obj << /Font << /F51 9 0 R /F71 6 0 R /F52 259 0 R >> /ProcSet [ /PDF /Text ] >> endobj 262 0 obj << /Length 777 /Filter /FlateDecode >> stream xÚUMÓ0½÷WôèH$Ø“´A @pË 8¸‰›„M“â¤ÛÝÏ|ØiVjìñxæÍ{3^µ–ð§Ö;¹.Ò4Ùé¢XWÇ•ô滕ò«<â[—×åêå»L­•Lvr§ÖåáI²þ*Þ´æ)1Û(VÂEqš¦B½Šb­µø0D›­˜œQ Ëú Ë =çZ3¥Ä&ú^~\½-(Ùfó/°èòhó­NTª3B;1ND<V½—¶#L›B´hÙŠöäek6Ì#÷€¶À#2š;,Ž4Â8Ë1kªÍ&ÀÂv+JtiÁÔM|Õ`²{¼=bîڛŊíÉòŒnîJ.ѧ7®±'D8ñwOìZÇãñ|“J7È8Gžc .Vi¢2ÉòAùFhY¹#a{ä b¾bµlÆ™ž2p[¿`ãÓyO 1­ãÀRS-æÖx'Ä'½GH¶ËBØ" &~" PDÇ}UñuJ„” »°"ð/¾¶Nˆ¥¡‰40“C«ì¸UÞ§ ·¸î{øEnòjˆ$(l(%·ºïst¯æ<Ís¦É;ŸxˆV@[S9àc¼¯©C¡?‘3ƒ‹÷ìƒ9†Þí½ aÎçÁ…>™2Ú‚_âÏw|LS9°Üx©÷¦¦î¾;p¥Zƒš-ãÁõÑ ¦±äg¹`´Kê8<_Ò²yo&*¤æm=¡Uh‡Û8 K0—a±O#¢™‹ÁHÓ#É7¦ŽìŒzàJ9EÏ´»Æs ¥%hŠÌáb" 䥭(ÎrñÃV3Æ”)RÇ…ÈðÊ|c‹8ôý3©üøR?Ò($ä™e òº¥FCÏAmß'Î%êÓý6Ù9• ZÑaVª¤¸t½_ùa€Ã{h?¶‘(#ÒFý¦?b<1‹`¾4Ì ùÜàp=|çÖß>‡¹÷{z“ÀôÔ·z¢•f¼˜Í€3X«qðÏDsv&~NW?jéU'\wËë3œÝÞ\ýnÎ?­Þ”„G¿U'öendstream endobj 261 0 obj << /Type /Page /Contents 262 0 R /Resources 260 0 R /MediaBox [0 0 612 792] /Parent 10 0 R >> endobj 263 0 obj << /D [261 0 R /XYZ 90 720 null] >> endobj 260 0 obj << /Font << /F51 9 0 R >> /ProcSet [ /PDF /Text ] >> endobj 266 0 obj << /Length 2072 /Filter /FlateDecode >> stream xÚÕY[ãÄ~ß_‘·ãH“Æ}±óÈeˆ#­  @Âk{³Žlgf—~;ukÇÎ800¼ •&v_ª«¾®úªÊ«W!üÓ«4\%ÖªÔ%É*?¾ eøÝ+-OX±™.ùd÷ê£×‘^éP¥aªW»û™]ñCðé!;­u0”ëºõÆZ˜×ç\°[omu0½§é¡‡ù01ÛÀ®Ú}õêóÝxtdÌ_)‡Kžj—€v‰2:r¢]¼uJ[‘vf½‰bФ¨È¾@—Ͼ6K;ëV«U¿¸÷ëŒô/¿Û îÿ‡ï@}ho×®ÁŒ‡ª€g² M³iñ’Cí`æ=M<Õ3üÒÞóï0ƒçwÃÃ¥¢$Ðú oG\P6x¨HZ^0]ü³˜f¦¦Ù0VÖ¸PD³ŽÙ»r càq›Êªÿñ!9ÛYƒ†Šz÷m'ÆÖ5JÔ`ž$ñj£­ÒQÈ®qBÓZ¼àSŽ> bÂ`w€A4ÂxÙ¹^P83‡tPõ<µh­v‰ŠSkÅŽ‡ª|¼míöb- ~<´½(t®‡ÊÞ %ÏïÛ¬æiVAÓ%àû‚KàpÖð²¶ÙÙyW’!2L»J¯"€—„*žÃH®¢áÂ, ¨!þ£jCYðtªlƒü|7AŒÁ'^¯·. ƒ­*WTd[Û 58Šo "ßvÇl¨Ú†‡é—3ú–‡e#­ÿ¶‡Lû.;¢w€².³^Në¦n! Ãg"e®Ü؇q‚‡ " ºÁxû`ž-æçY{–·¼=áû~ãXµ7üm›‚ úyÑ5ú›â5H^NY\³1Ú¨0#°Ïª$ÚÆÌa µ×G6ø$ëå2’iÍ!¿n0@f¡[ÜfSï4«IêŽQrR"R#˜™óÁk’àª‚Ü @x;f™!-R-‰û˜.Ë…!ƒä0!WI ¨6iƒÆZ¥QÄH8©$Ô‘à•×DNKÐnU’¦ÑÜ>/j0H&r|ÈÏÝèQžJMh&Õ»ªÙóXQuÎj»<ê­Gi]y¼àã·!%Òìˆ ¿¶gÄöt–‘Oé¡å:¿YïD ¸pnæ”z’nÌ–…iÀ£Øm(¥«¤N^éÉ‚À$Bê§KÐÏñ…d“mÈáeNœ&Ùð¬Ð j QlRÌÌ”‹Š7#Uqûxø}é^ÁLb& Â$¯Ö% 7\\”ü<Þב‰ÿ&˜pÑD+—n_àˆEÕÏ÷Á®Ì†ñ¶ŒÅâq@#iêÉQAÚSûß–Žr¡ ÓÐMp‘#.øê€¿Ø½3ºÞñŽQ…F~»W*’;>Š’Ìv•ÄÑBðƒ7p™àÏÄlÒ{I"š¼<¼ËEòDg!®ÕÈÔ¤¡ãHÁ‚…GVàUVÄàC yÈ™ oTY Á¦ì2Ή0q28öˆÏh`•côDtWòô^ØÁç›YháJÚO.àGU[ y‚‡Šáõ£k›rØLðeMèPγ’×=ËÂêÒü|Ȧ® Uçî~0Ê‚2¾žf|  ÷ÙR*%Wä‰àa›ïù¥Àð!é£Í¾ç3|”Ñy¨Ý7Ú{.¦èLäRÂ’yÕŒGÝ/qÚ29¨Ð†¾€SíÛ_žULW\*#“€‹÷üû8s³gÊ&ÏNý¹žÓ',xCÕ@?ôdh‡`œžú1ŒÂ¶“eŸ½æ‡êž¥ŠS<7ÁIç ÑÂÛ‰@*À;£µ”—Ð+¬‘Þ"Mëð-^"…T;©MÍUX`®MÀZ8ÊUôèS]ò`q!ûKõ#­C|£0¿ã­^lFN9”¿/?)¬ÑHFÉZÑ´»ˆ9ÖU¾˜•fôñI ÕÕ±¤{tÁ÷tqÔ©óôÑ÷ƒ|aÙ¾œŒg“Ïk@0ë> 9ÊÿÏùyeeendstream endobj 265 0 obj << /Type /Page /Contents 266 0 R /Resources 264 0 R /MediaBox [0 0 612 792] /Parent 271 0 R >> endobj 54 0 obj << /D [265 0 R /XYZ 90 720 null] >> endobj 267 0 obj << /D [265 0 R /XYZ 90 666.5323 null] >> endobj 264 0 obj << /Font << /F51 9 0 R /F71 6 0 R /F52 259 0 R /F61 270 0 R >> /ProcSet [ /PDF /Text ] >> endobj 274 0 obj << /Length 1165 /Filter /FlateDecode >> stream xÚÍWKoÛF¾ûWèV0×û^2@ndŠº!Ð(-QaIHJªÿ}fv–zÄtíT Ðä åììÌ7ßÎc-þ‹AÆN)–iç“åâÇ V h$Ç*¿Œ/®FF gÏÄ`<;12žþ½ŸçëXDm'"ªãD)Éwq¢µŽÆqª¢¼†í¿Ý6°ÏL#ÿ5þõâf¼wm¤| ª¼†ÎpÃf`SÍ„ÒÆc 8ŠÝ^,œ,3Fâ™D‹pˆ{íf€«X‰h‹dø“§ÞdÊ\–™A"†!ãy‰a‚Çö8tɨÛÚ4^:%i[Ñï¼X¬i5-î7xöD­…ó·ùc 4r¡EæáwK‹Å©´…Óó‚Ö¿åž’âs‚voaç‘6š§†ÐŠÈ»\2Œˆé QK"²ê×Ó²Y/à`ŽîŸ«–:jçd ×ÛØØ(_l’j,=ÓªK4v¿(Ha‡xüÕxˆAºÊ—áPyðøPn=;+ҹǧà&°Ðç¦'ÒO±"º¾ûýúöÔå÷É«B²ÿäËõ¢xD'ˆæL &3f uÐâ2÷Fȳj—l!Gü×'ròóøæóÇ»÷ûÒ-éÌIøÕ©òöv¥¿h2€¥ç r‘‡¨q«õ¯¾æ%È?©xYOB– pGåñ/µbNÚ,(vôæ÷§ L’Ü1elêƒÑR¨ÿP Û²Ø½¹?Ô].o‘¿Ú5{—s¸þ»/tëŽ#gÓmÙëWÂ2MƒÖOħ¯ÌÎuˆ=³L8;öh³ïÎÁXG~Ã{9ÉRfœé.™­_ÀqÊ X/ób Ó©³yiÞÀˆýFF ˆª¦m&¾c«X·¯$¤:e¨–pL¤Â¾… «‘ƒ£š)m)va±Ÿ8$B²Ú› Hè&VEÃ?òYL“ÇY 3óc,9Æ}°4ŒW)*“ðÏ›îÚ@¿Ý`«|D–RœðÚÈ(Çf4-W4ÃP5§ŸáÝõ„cúò“*o‹z™×Þ$òÕ”m¹ô8›ú+©c8Øvq½Ÿ°·DQMêÒ?H.}n%û€N b£K)xŒý$Ö€eAl·EU› nZ Ú%fEgq£®|üñfR¼‡Jë|Ö’)KµGйT­šËÀd'ZîøÉ×ȯ£| ¨=I§¬bÚò®à’©wÚsÁ*cüУۊœ ^O—æ’éÔ¥§|јgáU× “ÉÙª ¢kf ä®êý3bz˜PD†Ÿ8_¿ Ö»ÿôÃt°/ñ3úB×+_&„úƒ= xXïkPѵ=ÁપíÑü”ƒÏº¥cF›=šš%Ç1Ó]Iàš:#4[•ê³hðëoÑC\þ÷ÖNù™°T}ÝÇ0žñ^&œf0'ìYLøâ¦2Bœ¯å„ù¡9±g¢.Wý•*™tR÷‘aãçeÅñ;âÿÁƒGÔ_ô®ìM m˜•™=ÿé|cuüx.z+D9–a·zFþ1ý+|Õendstream endobj 273 0 obj << /Type /Page /Contents 274 0 R /Resources 272 0 R /MediaBox [0 0 612 792] /Parent 271 0 R >> endobj 55 0 obj << /D [273 0 R /XYZ 90 720 null] >> endobj 272 0 obj << /Font << /F51 9 0 R /F61 270 0 R /F52 259 0 R /F71 6 0 R >> /ProcSet [ /PDF /Text ] >> endobj 277 0 obj << /Length 1375 /Filter /FlateDecode >> stream xÚÍWmoÛ6þî_¡o“€Šãñ]EQ`[Z Å:d˜1 èŠMµ”Dˆmy¶š´ÿ~w¤$+¶à¦uþ`Š<Ÿ»çáéÇD¬”,SÖF³Å„·Ó×hG)Z¤C“Ÿ§“_kˆ€³ŒgM/î8™ïã_®òUqS&)Äë$•RÆây’*¥âiâdœ¯qùÒ/7\çV¸X'¦o'¯¦ýÑZˆ¯#“}tÑ)&•-:ã©´G'+“TŸ'RÄ=N«ã³ÿE<û´ Ér™HÄ–¦IFÐ/ýâF¸»™Àc3¥¢TH ¥?ï×ÜÇ\þ•ÒÆwù5¦B›xCÏŸðyµJRaãzMÉ •E‚´2o*Êä¼ óM½ ƒyy“`Ê<ð9Mé¸@à8…À4‚/W¸våí¹Õò²óXÐòºœy*j¢åKXð35zÊâf]Ïçeæ?ÒÌŠ=J»h£Õ“¨M&µ¹›ÊýtQœÃÐ!λ«EÙÔð qŽðKò+o«ùœFÄW;íÍÃÜ&(8˜Öa²Ae—þ6âdQRš–ƒ<‘Éí©¥#‡fòîÀaž=]žga½©ÛÿâpÈV±´#hù„𻙘^Ñ©ºÚš²'ù0½w ÂçÞ¥Í,—Ó1ž)<‡r„öOƒ|Ë´ö¥#í7FW”ñ*€Å"ÑìV,œieL¤3ɔłƒ%é¿Éû<*°|½à²ÝR-cÂh-&XšZ¶Ïóɓ߷®÷˜]†,†PÑ3`{4~1•aÂÕ†´ÌÅo¤`Üf]à/ÇÔŽõœ aõ]®Î}Žúä éè;'ŠëM¨û³NÂÕª%nPÈúß±›XZµÕY ìáÉV£ÕXæNu¦?i Ò:Çèà¦*o÷¸‡ïŽÜkiAGsßyL‡.G¹Çe÷vÀ=0`F¸÷—ù†xõ£Ûö"ö7Çg¤Ž?ßlY?L9Ï8Ø¡¼¸©F9·¡€Îñ)厥|å[ƒâbziYæ2…‚C Nºã©ï<¦C—cÔ+ÆàäÓ3o —ßÇü9Ï^ß—xBÆ3±s×÷#ßÛVÐ:’ùÍ>çÀ à  LƬtPê;éÐåç›@нÝéI׊9+ô÷’Ž×½Þt%ŸšˆaÉŸo-Çe ͘ î_òSÁ“<³8¢ëпYyQú¦ª©ßyÖ¶Z~Ñ¢Ü6ž4íß_Áº Ö÷PþE×%dÓÔì~êà\ù¹Ú4mSÂ9³Úöú´ß Oó­M‰â†Ikà›’¡ËCMIow¥Žøé,ÒbMŽ Cà;ß.gh@|˜t¿¾³Qlf1?zKPµlþ ²ÃbQœFtš ÝkW¾Pù™<®gÝ/]\2ç´‹¤ÑÔ`<Àëªó˜]Ž ‚c€yïíGêë‚‚’pREl99 ­©Û‘crÈ‚EëSµ®Rxõ¶®C—‡Z×ÞîÉBaŽñ‹ÿ1*‘r@Æ0#1É#ŠÀôacOÞÙ '˜Q°³º<ÐÙöfOF#PÆ>J¥ðäÄáðÞ€-\#;œ°ùø(3å°ùº<ÔüövO¦¥À#ÀÖó± ÆÁ—ˆ%Æ9ì«‚hüx‰‰xendstream endobj 276 0 obj << /Type /Page /Contents 277 0 R /Resources 275 0 R /MediaBox [0 0 612 792] /Parent 271 0 R >> endobj 56 0 obj << /D [276 0 R /XYZ 90 720 null] >> endobj 275 0 obj << /Font << /F51 9 0 R /F71 6 0 R /F52 259 0 R /F61 270 0 R >> /ProcSet [ /PDF /Text ] >> endobj 280 0 obj << /Length 2660 /Filter /FlateDecode >> stream xÚíYmoãÆþî_!B%ûÊe °ïœôÒ»K›ó¤J[´ÄX]’:Û-úß;/»$%Q¾4éÇ€µÜÎÎë³C1KáOÌòt–)•ä:Ëf7›³ÔOß ?Š"“\\½øÚˆ™H“<ÍÅìêvÉÕâÇè媸Ÿ‹¨+籈šy¬”ŠÔæ±Ö:ú8w**X®Šë5üQ;ežg.²óŸ®¾=»¼êßo¤üœ„Hr,b"f‰F{­Ó‰PÚˆj+Aš\ƒ4A”ß~x:¡±žÅÒ$¹U|«ˆ­¤>ÍE°xšÝµåG&ºžK=ñøMq…‡§ÿ¿½ãÙ›bHc -ý,]¹¬›êŸ´Ã3DÍÕ»å ~ÖžoµÅ—t5?uøð0—Yä'–M½êû6A ÈAö¿¥BÃBÓvxìY*T"LÊméÝì”:ªoù7º¸F)ðÐÞS4%H‚'ô€ê¦X£”¸©EF¥ç´@‰\DK¿iž ù@‚é»í².ºªÞî˔Ɋęb»àA`%Hzd¸·h§Ýº#Cƒ÷ìÕ[ͦDV7VÈ ZWló¹Ó¨ ÎÅ^tìA75Zõ…‹hMœ<ö(•NMp|è£ ¶váE»¶Ï70Mz‚ß‚ F×lŽ2qü뢭 n(+`BщÒVbVB™'65–óI‚LòTÑ{P‡÷ÌD/q\o1Ú–8Ü5-Wu0+A"¢óÆ>/ÆŸÍF2±.“>U¨1‘{-‘uè>¤˜_Ôä 7»MÉÉ‚UÚ‡ ŽÁf23ãâÊÂÓÊŠYöÆA6ñ!ÜI’ÞÌ"ïÅ(FR‚Žü+â‡já‘·Å.$p_Z=™ -¤’T,d+S3¶Ði;QþÀÁ‡6HÖüüºb«MM§YbDžÍàI®2ö™‰RH{-ìIn 9ZÜoNi×Ûó?_¾ü¨ß}=õ*é’,Ï;’ØArk '³¨bmã°7cI¡_ï%H°æ\‚ÎÄ%*¸b8Ó˜[•<öÆ.ã`Nó+7¬V˜!ÍîP>Óã²/Oë2™ŠÌ×ð*‘*/ž²a“† ÕvíïáI ‘½q“§÷ÒQ}lH¬´PtcþÝõF–x”í–þ/=m};µi(U¸ï-¬ÜMè†Õº€óÆÒ ½*o ”lM¢˜ÌK ƒ¿{ËË½Ì Eâà…ÞO~÷¯ö©…´{»¨š¿€ZÞÅ›»g&óŠÑ‰U:xÙ—þM¡ÒÃÅûW4²Ñ†l7gÀB‹>¥2³‰Ö½²¯OJ ±ªž‘÷1^>'°M(™ù °ƒJõ ß¼ûÀƒµ*”ð±àr܇«Ñ É#žzRn|î±*Q9"ͱ͊ņÀ 8䄺A(¤íPàA#ࣧ¸ÃtAŽóðn8Õ 6Çn?Æ„<2'£ó­/ŠcºBÆ=–ðì·åbÊYÚHrEˆã~Á³}h£&yUŸÂ=Ê›òXm’L¨àsÏ¿}~ñæò_ñ•á‹mù€#œÅzW~1éÒ&™ÎŒg1BŽeá©o§Þm ~ê\¼züf2;èD`Píiè´<Ê%ÆiZDàÎc[L( ðQµE•UŸÈâ»bͳ£‚×òÌá¡ô- ~˜AE*UTG¨Ž:íA‘ëaSÇF@šgÑU0kÉòÁc¿—kAçSëƒÏ·§M°€àØÈ9|1^(èÝý%ˆèè$0¦Nœ9¬˜½ßã2ãDÀžŠÂÄþŽ\}éçwm¸T06ªêAêIm✓ÞR1 ŒnùñT¶É ¬* ësÝ!ST&H¢{¹Ï3_žæŽ7ÓT8Ï‘u±lÅC žßAªÖo@¶äŠIìaDb´i’®)rìSÜ$pbcHËSì­HD®í}¥ñ´F ?ù+ÏÄu'eïôМöT>‹ôÎrRP"3€zÒÑçT±ìD(8h÷Ón¢E«{/tñÕ /ô”Qß#f#S¬ÏRíw~üðþH¿?l–@Ê)7SRƒ$Æa7äg?þ”ÎgéìÛ³41JèÙ¶QiM6ÛœïI(×þy}öþì¯Co¥çYRƒe_BÈÖ¤N ¯þ`M—¥ÎM¡Uí²É+‰v.âu7êN1¢Uœ àÇëšœëª"5õà·`Âýü‹3ãcX¤…) N•iÇ(´¿AAÈå©%ÀJb®¦oÚ£=VÞúXõå 1¬…\Ö M*@º1€ QƒëEÇë‰âØw˜–”"·!Qâ jwQ~ʼnýö Îx::8‡ÛC©H7}º_€ÿþôÝÛË ¿çpÜ!¡É÷%÷áàe{ò¼ÂgÕÃ?~¢;’M#h!¸)žE¢b'ú„DˆD¹v?«òýê0ÈM$¡†ìL×z³w«Qþ€¿m½£Sš´Á¸·u¸—›Ì—Ëc­ï ÝPë#‘ú‘ÆBârùÞMt:²Ù9‘e£ªÞuµD[ŒÜ†D"PF †pÖžÂNŽº¥.à ŒÁí’Žá”ÇázFT〲.¾p_ÀÄ=‚ ‡àÂxpáöÀ…ãÆÓ$²€£«,ßGØž;]ÿã~ÓþíbfÀ=.³âøÏ x'“VA ,§ †ÔRÿˆ1ÑŒ‰¥¶‰‘ð ß”±GMÉM™o¸ÛY‚é°-ÇÍ•¿Ì©C­ ù¹¤þ%÷ͨO þzí[VŸí›‰ÿ÷͸oq™G¯ ›9zq{ý{Òëšç)–Úd ÈœSLßð6Ě€T%þnëÎÂ98ñø/ð;@D@åãýº—%èHSfTüIô—ûÞÿË×wÖ멺ÔõÙï™t(ˆˆ&0)ÚzÛ)Ž¿$0¸:|¿Ü]¼¾¸ºüátsÏÂ%/µâ¯ûo|–ò‘ûÛ;£×ØN£q¯ÆÇÀM-s!+À¾é ™Ü—}©»®®¡8NÞƒu¢¬ µýKV’ÈT"•Ñÿ[%í` àÀ†$T“¬ýÍ8pŒÇ,§°ã-†W£˜—ï>N&|™'¹Ð–|UÞÃÝ©è<Ž#< •ˆÎ91í|¢ûKHzs«–ŽÂNæ|­¯8VuHù€î^7w<Í×‚öp_“yôD‹ñÇèCy¤|sŽœ0†Î!ïÀ5|–ËD5qÑìém¡ €lÎÀA2éÂó-z†ñˆãÄ÷h;®ld ¨µYžhqxq n?|gRê™ÔÒ$BNYu¸Pî}éå)j‚,<5EéI³£›=þ¦e®’endstream endobj 279 0 obj << /Type /Page /Contents 280 0 R /Resources 278 0 R /MediaBox [0 0 612 792] /Parent 271 0 R >> endobj 57 0 obj << /D [279 0 R /XYZ 90 720 null] >> endobj 281 0 obj << /D [279 0 R /XYZ 90 673.884 null] >> endobj 278 0 obj << /Font << /F51 9 0 R /F71 6 0 R /F61 270 0 R /F52 259 0 R >> /ProcSet [ /PDF /Text ] >> endobj 284 0 obj << /Length 2298 /Filter /FlateDecode >> stream xÚÍioã6ö{~…¿­ TŒx‰d±X 3I)ff§Mv°@[´Š­$ÚñUËžLÿý¾ÇGê°'ƒ$Å"@ÄãññÝÍGüñ‘ËFFJæ”1£Éü( ËŸx¥‘vAÞ\Ÿk>âs™ã£«›’«éÏÉÛ»b5æÉ¦§d/¯VÙå{!6A+ÜÁú´ÍOޏ¸Ù¹=*í gGU 18 Ô%E\˜¨ °ƒÅ#.4]EN°ãI-bsC^cÛ6"½.êʳaXäÉŸ>amiÓŸ+ÂM8TS`²"Üß§ËÉ¢˜—ÿøí”Üå·ów'ÊäPˆÜÆ“àlëÁRi𙾯››†pk͸å2 ®¢|Â¥ñ]rÓh… ¦“‚:bÜvcCðRf(¡Júk½T Ù‚ÃËyiå!/màäw'N/ßzOEª÷3µrL+pé#¸ÁøÁBK–.ú?V µfÖp³W¸Žq…çd&°‚N‰&äýÖ½s÷ -0)¦Mù9¥c¦{ eGtÒó%óŒqåô³‹œcÚE9Päe€XoàHt'H-ÈÍ“NYÑ3êld• â,ÁoÅ4"ò ÂT>’øbž»œA£ úÒa¯@cwÑ  CaÂf ¾¦kIgƒ!‡3¥•ê7ÂæLÚüÅ=ùòÛúCdp'£„òw:½!J`¸þb ½ô>- ÔW¡¾îó†\E4¤·“ëÈ©òdVlʯ©7ùϴ⃻’j “p&ha[·E>Ì Wú"'WÓPÜ>À”V;k—šî¥z{/iÁ¥.nh¿í àô}UßõéŸytÑÄCq jjΰhï=]· ÚB1(â(!CC$zrLIX°[`<™Òx¸“åQÏôuRHP¼A:g³p¶,Ï|;-¾8úè#äîû-V úÆ;è‡3DRm°3‡@×á'6oë>:bF½Ý"åÅÆÿ–ÓlÇ´—ŠÛ6,+îz•,Î%ôY‘Ÿ®ÓiÛ ÅÐŒûÝFRI×Ê7›F'4’êZ JCäå6¼Ë¶ÿÑ6Rþ?¶‘ö¯K0<ÓLg/ñ f“aº(¥˜îI$èÕIÇ_Žàãc ÐE–KÓ'øñ¤Èñ^%Š*Ñt±š;d,\´‰ 4Ÿ©=°Av^¤ö”- V(ÁšÌëùÏäaÚÁ8ôJî@`УG¨½öBk¿Œ.R6]¤ü÷»C5g[íɶe¤b âåf§¿ú¶FR;–gyŒCièœfÅbZOŠU9¤ú<OЦ×t >þ2¶Ÿendstream endobj 283 0 obj << /Type /Page /Contents 284 0 R /Resources 282 0 R /MediaBox [0 0 612 792] /Parent 271 0 R >> endobj 285 0 obj << /D [283 0 R /XYZ 90 720 null] >> endobj 282 0 obj << /Font << /F51 9 0 R /F61 270 0 R /F52 259 0 R >> /ProcSet [ /PDF /Text ] >> endobj 288 0 obj << /Length 1581 /Filter /FlateDecode >> stream xÚÕXYoÛF~ׯÐC(¸Þ›KyPÙ‰áºj­AÓ ¥mÚ"ª«’|´Eÿ{gö (‡¶ä†)P0©Ýáìì7ß»¬Káu3ÚM… ™LÓîå¤CýðoæßHê"ß ;{‡Šu%ÍXwx½¡dxõ!:åó˜E«"NX´ˆ!D$öãDJÇFDù¦Ëüb +´Œže©‰LüqxÜé«õçÛ,D‘m&Ê,%ŠeiWI˜ÊÚ` ,¿w¨á[F2¥8~›Hê?¦ö«£s'µ¹7$Í2ÕM˜ LQ‡ÄpTàöeT<—¸Ñ[Ä¥¼€ÿc?s?*/cn¢‘Ãi¾˜Ü•áí~éD(7[®–—X0{¾rŸýL™\£IÖoì¯kÎoÇ«¥“\Íœ²_ý&øæ&4IyªýNoîšv ÐH%¥—yEP¦k(Q€#xJ´ü³ñ­“€1N(ØÖÍDHªÑË¿w>|¤Ý+`Äqg²{ô \«´;速9øÙÿwÎ:߯9SiLê*-q6cLƒ;[/&žÀfz±`ÑÑY#-7¹ÐsøËåÊy`vO޾Sù÷±sˆ. "ÒÈsdž/—èÊâªîCx:z „Ì>­Ã©Æ¢Š×9NyB¬WüõUŒBèL‘™9ýâÞ¤œ(©Ó6½YSù¬7ƒšxÒ;}sv`= 8 ú æ\/tÖžÁ•ÆmsSj¦6 ÞF¿Ä¢5Ë>! äHÀØ&\`‡@J^ã!"+ð‰<4È+ü‘_]…så¾ bŸz™E¨”ɈÈBVj ‰ÇLÈ 0„§Ü„ß1 “šÆ†TÏaó‚§¢ZØ!ÖÃä pY³ïGÅÔïsäv$¹t<€Ÿ¸ÁÞÞúNè.V˜Àó=¥GÊEæÊENÂtFOÍ&ôO]SVÑTs@É8Ÿ^-/óyÑäj•"fl3s͈‘èÿâ÷'™Š†O×=ýDÝ»ùó2÷éKT­îULºœMðâ°`.ËÙÔÁãrظ\¡óþˆŒK›#ôV\¹Ðü*—³­yKZèG˜2ØŸV¸Ñ60}7ø7X–óuµ¯Aù"È)¡šš A°¨i^y P$UTµàÛþy¿÷rßwC‘76eUÿT¯”8¸SÐbàÃ{ˆÚQqËìL.hŸX*M«ØlÔ\ ùVÕ•\ð¢úüš4&u•M5WJ¢4ÔÜJ­ìŸ6vÑ ’>ŸV.Ê|ë„o¶dÁóQbÆŒL}Q‚Ùª‡ÂÁeJÌ”˜ý)u ØÉiÌ3h»;,²!Uøâ?òEÞÞöAQvÆ,ÜóÝ·®Æ`Ý8õë,Ýsq;­š+º¹·CŒÉÙ¢Þ¿å“yÅÅýæ6=°\¡˜YûýÀõë×1œ‰ ]÷ß¿;ü8<{Mö÷F³I±w»\ì­Š‡ýfä+¥šP™ñ-…ëUû­âó̅曘ú‚ö˜[Wùs+¹š¯§(üźÄÍu¯­g5 {YèE®Ë‡¾@rêVò=†`uqõâ£w‚9¿)|Qˆlçq»ÂÉ‹qʪ¢ó|áÔÎA€nam.z0͈Û(ž»bÉ’ÉP!ʉ5¨a?B¡…xtÀ6$ÓÄZdqy_¯GU§~îl.QÑ›0ó’;&– ƒ€ºôa÷F)ÕDg­µQpD gs¡ £ƒô/M ×AcRWÙXpðjͬW~¶Sâp1jÇ2’j¼w}²ìT ΔÓPsܧ¶Ð¸@/Qél: -” ߸~ ßkpÑãñý:)ûÅlS_Q°ê†l'TìÞôÀŸÿëh;+3û…\Ñ)kŸádÚ­z7[hÞÌ[®Îïv1Î|¶Aüÿ`Ëoendstream endobj 287 0 obj << /Type /Page /Contents 288 0 R /Resources 286 0 R /MediaBox [0 0 612 792] /Parent 271 0 R >> endobj 289 0 obj << /D [287 0 R /XYZ 90 720 null] >> endobj 286 0 obj << /Font << /F51 9 0 R /F61 270 0 R /F52 259 0 R >> /ProcSet [ /PDF /Text ] >> endobj 292 0 obj << /Length 1415 /Filter /FlateDecode >> stream xÚ½XmSÛFþî_¡o•¦£ã^uwÌäƒ[pšR n&3i† #°'¶åZr ÿ¾»w’ˆBL0 3X>ííîí>ÏîžY@á–Zb¥ÖÁd1 Õò竞bˆÛ"¿Œ{#ÅF‰¥–㫎’ñåÇð×iºŠXXfQÌÂu !B±ÅRÊð}dD˜®áõ,½˜Ã‡*¢˜[«Mh£Oã·ƒÃqc_qþ=Qä{.J«‰bV‰‘„ ©œ£=΀ù½Q{±JqÜKZm¦n×Ñ0²I8>üÀù]kÜm­ b&SÔGe<Í02œ þ¼ƒD£1n«t¸è:ÊŒ%V+sgÝ=|÷¾/L±f„éDtó:„,qÎgE O‚†ù•_ù©B5ÃÄA6 ÿ³†o/òA€‹…KqéßÌ–þ³œzz @¶Œ@úË Ÿ/NÜ-U{n¦Yµ B jBí5V¶q÷f ÿY@˜p„8Ì×.Ý´>•Ïsv›.Ðyží÷BÌ¡<}Š$<‘U¦kÓçÅŸ_E@O…î¼ywò×øìÙß›æ‹loS¬÷’û½q¾ÓœÁ…qš²«tƒÞ|…ÿ °BÃ6Nù V)E¤Ðl‡€m«|°º;:‚ƒ #ÁÂ×gBn¢kä&Æ#Wþ¦L¥×…_Ä0ã'V#ñË*- „GvéwÔB5fÃe ‰(ç‹^5nváHdÒÈnv+³Xz—{k J]•¹x¶H¯³óò¿Uæá±Z^{¼Äó|’ÎÏg“|YøWq1Ío΋lRÎòåùr³¸ÈÖEA§„Ó-`O™­á¶›–rY Ëè©](¯ª¾â–êV‹¡‡ço´—²ŠŒç–ì73úE·µ¬ÁZ_gaDIiïua@€‹Ýµ¹WúÊHÆŒµOçj­1n«ìãªVD3®ïL?Ô\TB,¼[†‡>ž¢˜Ü%•csQ½sT»26”ÅŦÇàì1.Ï_Qࡃ²¾ÇàSÝc@ãŽÏ£JoåÁ¹¼|κüÝtCï0–é]¦»¥òÁt×r[•æ{y×ç½)ÍßÌs»4ßQSu³w/u?<~>Gû=9}|„LÐU„^Ý^ü››él‚@žz ?Ø`Ìr7…åèXu¬Ì‹Ò MÖ3w“ñû öÒÍqíã§UÔAl ¬Â¹­º÷¸1KJÔô|L‘" ¬UUvµî‹Ó„–të+„‰*!wÒ˜|": c†*˜ó[µƒi½Ö·Uö1Œsb9 «‘ÛŠahܰ$­Õy»Ó¢ž»»íùî“ÓóÑÑðõY5jÇ'Y¶^nÊâGë§@êxøûá룳]ò{Sts!ÃEú9ò×+üvÎå.i\È2÷Ô”·o½7Š·¯Õ`&›-/³Û­g-‰Ñ;©‘­8vè™P¢’‡Ú ¡‚<žµÆ¸­²ž‰„VcN#·=°NåËñ#>aðîu¾‡&ãè«ñê¹Øñæ ‚ƒ~x> endobj 293 0 obj << /D [291 0 R /XYZ 90 720 null] >> endobj 290 0 obj << /Font << /F51 9 0 R /F61 270 0 R /F52 259 0 R >> /ProcSet [ /PDF /Text ] >> endobj 297 0 obj << /Length 2236 /Filter /FlateDecode >> stream xÚ½ko7ò»…>Ðî–^¾–d€~°ÙM{q|µ.0оµµ²¶Ö«Ò*¶q¸ÿ~3rõÈÆvR%0`rÉáÌpÞCñN¼ã²Ž‘’9eLçfr…å»f)@¤› ÇýƒÃÍ;tuR‘y•b(S€x2#t‹&€˲AaD9¥i=¢Xˆs2í¡¨‹Ål ÃÄ»–_ §ïGå”XAu­ù_ÌKQ™«)š×É ‚ÌÈCáQÎ=ׯڌŒ =ÇHĬæºQ÷й!þýû._Tû図ó÷/¾g¯G³Iy¸Z.Á _µž¯fZYëñ>áëßÊÑ[mVK —7n6»‰ò)›mà^Î?e¼_-œo[Ýf˜[Åøæc›nÑ-yN¿V(?;½ó‹Ï‹ß £gï:Þ€Öñúë}ðCÞI~ͽ›¡Wº,)ì÷f~¸¸Ï‚óÃÖ=íßÑÆ)sŒÕ áù LsÉÙ)Ì8ÒTÄù)¦4öWÏœ/¾–1Õ`bÀùÀ‹8Û¾5q¹¬=ôÍãѼ&]"ý2pAôi èÇšíËò:Aî\ÐÒßþûû³÷½_úÿkS”6ãßI]Z3¨÷c$muœ0Ìha;J9pç=䪈0ÝÀØæö’3kŒj#‡ÇoŽÑ»vy´9S¹Ù‹ßs:Àì lrøã»w?·Æ#ÃÁÍͽ½è£tÈv˜£”¶» ”C¶Å)E¡:œœÑ"FQ€E˧dVÐ,AßÀ‘âR4\ O0¯ül[‹-6e[Š€oêŽ6îñOÇ´°Xù#9†{´¸Öqv»(&‡Ñ»æ!J—T`Êâ ŠfûHÛŰ.aJÃquÝT”ø½@Ÿó‰]伂¸„Í’ÑÌGñÙ]a¨˜”¬)8`î%_+™ ±€íŸ¶Ý‘(QU”JXìÜPWç7*TÏ-Ä„œƒc$.s»u3³ªQP«š>q¾¨°jñg#À¨„Â(Æ´·Y{Ã6•@ð#šçHNCfêãw4F<<,‹zµ(ÛnëAœ€dzçÿø¿9ñëëìé$ÝÔùÛC¦¨›,A‚©éD}IK‘\†±-D˜…3U¸Ô¢]¾PÞb„¶Ã·—`sùÝ+p’„Z Ü3°•š<M LQ¦ðÖusF¨20¼Ë|ô¤å˜ÌDÞÁS‚«¿îŠ Æte‹+r b2Z®I‡j/ÛV¹œñÌš=²1>˪ƒ;Y0â-V}Yäõ9ˆ&†öT¬ÆuˆÅ--®p–q¹§ÚöB@ƒöéþ'o{¿²yRÆg*ä³ò­ .߇Þ k„+:dŸî«Ø{`uàç¯a儿˜wÛc5LJ9fóÁ°•_SpØ`ö¡¨ ‡>ÚNù¾&T^OsÃË•² 7ËV'4Œ[ž’ÌË™H^G¥§Áï”a™Év[ŸèŠÛ8TP¥ Õ<ú-Å'&d/)¶û&á s]oŸ¶µ. k “w„4,—™Úà xÀ˜n¢l}7…X“~Ù ¸e¹æ>™\G^v”®v’¦§~Y¼ØçƒI¿ër¼;O~ùüGoä±eE]Ìãƒ'~‹4€Í¿Ioáþi5ôÀúæÃ²ÿ¢‡‘A÷ÌmLŽ5pó¼÷Æ·?)ö.Å9IÍ®÷e¢¤2N`Ô*nÃúÛJ{ä…ܧDäº.RzñïÇsíì×ÙöK¬y™‡<`´â{xˆ%„é&ƶ ’[æXK÷äoÐ-¿hb Îü0Æ7TÛ5ýh 5½éÁnTpqY†³Ø­áØtî°ùTS†°÷±¿E®Ð’š^ÿê ‚‡îáô´‹kDhIãúÛ´ò?Ì?çW¯ä£ÓÞ·þÕ éÿf-Ùendstream endobj 296 0 obj << /Type /Page /Contents 297 0 R /Resources 295 0 R /MediaBox [0 0 612 792] /Parent 294 0 R >> endobj 298 0 obj << /D [296 0 R /XYZ 90 720 null] >> endobj 295 0 obj << /Font << /F51 9 0 R /F61 270 0 R /F52 259 0 R >> /ProcSet [ /PDF /Text ] >> endobj 301 0 obj << /Length 2159 /Filter /FlateDecode >> stream xÚÍZmoÛ6þî_áo•‰ßÉ}ËšdëÐ⵺Sm%1æØž-§Ý¿ß_$ÊV7qŠ¡@Ì—ãñx÷ðîx*ðm1Ôœ+´NnEþ{@C+Š<%ùq<øþ\Ò!-ˆ-,ޝ:LÆÓÙË›r5¢Y]rš­G9ç<ã?Œr!DövdxV®azV~œÃ#ÚŒrËMFéèÏñ/ƒ³q#€dì!‘ä!…ÕDR«‡ÊB¹NÒi`ûïϬ¥ÄJÉpm.а¸p«ÆgïÙÅȪìdÄiöÓÙ®ÈT ¢Ó­@¤þ,†Sÿ—AA$§bø ÏB˜’zx;J”¡?\~kæ)GwÈ® TbUÝCž¿†ƒyQ/ýñºªÉe›3܇* oÄo·ùlScKdË+üeÙ•åõÆÖKOö ¨Ñ–8¸*7´j5õ“‘¨¾©|cŒ³g êÑØ ÿ4Â17ï0ñ9‚c²­g¡3¯bHf§qæ åv^oÒ}Dö ¿ xÔ!׆hV>˜"…¡O°úï—û†¦†šÉ¡ÔÉÌÓ-9æ)Ë>S3F@6Ún2žŽÀ@o_¡n.NÏádoz Î ·Zuíýî&ju¶T<ó&¬¿C˰ª ï©’ÙÝHªVŠlRn7Íe†¾³66NGÌ€P ÐÏyµ^^ãâòÖ³«¡½ô´ˆ#“……ßÔ¯ªÉt¶nQÏÿõƒ×Õ¢Z—µ3$h²s²¿‚XªN ^ˆ`Z²š^õ) tl cÕ @—0ˆáЈ¨Öp½¼õ“âÐèÝT+¢¥q×éÝìÑ»Î#êMTW%Þ3¡ý ÚíÆÍ^û^TÿeÐ+›×ÁÜA›Î$uåù—žäbÄl¶ôûl&‘j¶ªw¤rzÏ)“DqÝU¹@ñ¨FÝ,°\/aC„º®»·ð;Y.PÖ;üS­ë0é4J(¦e=s!§lÃà†NÏIè4Ñ¥ÜTžn±¬ý˜[tS6[´£Û¨ÖÐw:uÂø;àRît˲œ-Þ9!õº½N wÂüëiVëÊ‘áÐvš„@çP£,¼uÃÒ¡Œ¯O0ÃL.êè1 P DQx/ãºA@é3?Ø‹€Äÿ@äü4r¹e+a®× :ØZ'I,l¹N»T÷…ưú–mÛlëoš7 E‰B )ËûÐÐСŒŠ|’ yìÓG"BBÞä:Î-H“¸éÜ‚Ü}üàx.dÈ °áý6Bƒ#4ü>+äQ!C*.Sƒ]TÈà'`ãÎ,¢&8Isò>¤$N¥?Ÿ*ˆQšuBeØN$ò{´I•a­‡ìOª aF7IU]}~ÒÎh®ÅÆ¿]]be¨Ÿ@‰ÕµoFc8¬x«'Ì\*õ%áÈŌ奄¶‘Þe[àpÕxGÓ„¤s¦ï|üOSÀäôÅüK'41銹*gÞƒmîç Ÿi7‰ñwKÖæ¢ “ðEêÈ£ÚÁeü1ïë¨ãÊ ¸Ì@á²@ìÌ+Ÿþ1š¤Ð éààMí¤0ç,4ñùƒDK'‚OË`n²E±×1ÙƒÌ_%8³jÆ'sä<­6qóVN–ç·ì;\’æþU¼Ë«Va1ûCFM:Ùd~iÚß_ˆýÏåì¹²D±#ºú–á}Ž>P}©póˆÇ± éãX­“g‚ïG~&XŸ‡GÚhUl›‚Ç‚ˆ‰\žfØwoaøm2dÐñõ)U뎰·ŸªÃr§àÂ×$ð„ïŠ}.ö²Vvõ>ŽN ú\5O«X ò3ŸnfÔÖM|\EKÝÍbëÓ&Ö…z<0• •‡E.›Äž7ÔÕ©),ÔÅrÄõ]Ÿ4ä+Ao"k‰ˆÖg°PçKˆ²šÊ!L€˜'ßâÈ0O8ö–4Q30ɪh N¤Uª ðç¬h¾}uö.}]û fµ_º¬®œ¨MÖ€Àxñmn^¿]9쨑‰·†MXÞkÙHçße¿ž^¾ôÏ`š]ìE&,‘à(Ž'pÃñ!™äD0ÝøA,RŽZa÷Ëë”F0ÒcÂo FèøÂMrzŠYéÔá0™Gø|ÍwG_œb¤ 8¬Í1®÷õ%€%苃œ·d&öwôÕpÌS–=Ÿ\8•À››vk¯/Ü0¥Eö ÍÜIik~Ì¡æ._ž\œù“q0”ærjQJð®ªÃƒŒøPû70Üå^¿làY£·ŸÏËÅt3)WUŸ¥¥FµÑ®ƒf©ì1nò{_ÝÇüú?GÐß0ÏA?&ƒ7‘ÑÄZNQùÚ5QÇÕ{ {S¡ UÅþ—¿ƒ¬ K,3úˆVM8ÞkÕHwPø„dzZOÞ†ãCc©C0Ö•÷abû0:°ùô¥ ‰"|Zi©Ë©{‹‡¯f‘¤ß®ÊlA :±¢¾yrüløå-ÞèÉ,p±‚Åmwc§P=±ÃH à'Œï¤A®¢´á9KBÕ‚+vÞÀ_8%<º ƒa¾‚˜þ'Èv³îž’PCYÇ5£þU.óendstream endobj 300 0 obj << /Type /Page /Contents 301 0 R /Resources 299 0 R /MediaBox [0 0 612 792] /Parent 294 0 R >> endobj 302 0 obj << /D [300 0 R /XYZ 90 720 null] >> endobj 299 0 obj << /Font << /F51 9 0 R /F61 270 0 R /F52 259 0 R >> /ProcSet [ /PDF /Text ] >> endobj 305 0 obj << /Length 2206 /Filter /FlateDecode >> stream xÚ½YëoÛFÿî¿BßJázŸ|¸¹86R¸…ï,ÚâJK”ÄF‰JrÿýÍc—¢$ÊvZ÷`À\îÎgçõ›Y©„?5Èå 5Fä6Mãå…ôÓŸ.”Å@wIþ9º¸¼vj ¤Èe®£é“Ñä—èí¼XUÔ”ÃXE›alŒ‰Ìëal­> 3X®Š‡<ˆh;Œ5lÏ"¥‡¿~¼x7jpZ?%"’œÊ˜‚ŒFHÒ˘dV(cÉh~WÑ3Œ]b¢ÛÙߪÕDN]t_á+žÂ¤Iô¶Æ·Õ¯RÙÙŽ <#íà%Þõa˜[8`(à0*·x®cÅ) "ÛA¬HR›`£yÚ0¹‹¶¤šqSÕȸNà;:‹Æ»e¹ ñ„ͼäÁ—¡KðÛÅ|xQÒrm‚–ESN˜USóŽÅ $ÙýôÉêÌlÆ%ïóG'Ìgж/ [¶Ÿ(4Ñ9é’U ÇÄá `å${ Ó‚3ðãøÓà+GŸ†™) ëͲhö¾euôu^QsæÔŸðŽ{¶õe“˜‚ÆÈ<&~ íʃ—jÅÏ Oüêί­75­X"“%ªhÆK‹b5Ã3ïÔxvyxê‚Tmt4¥s Sæ˜-9\`•ÄŸäÅ`ÙmÙŒ—Ѱúàq[Œ0²ÊÌu¶÷vOô˜$–•©p*OÁùr‘¦™!éz¢“Ü6·U"wN£ÛÆífI»noþýþç«>×™Hóܪ`„îjS‰Îç$¶IÎçÿ1Þ5»1ï8<-é' Hk v<]S­f¼Òu(o{äœÊ¿²Gñ¸W×´0 ú«y¢àÇ^é=–ž°ƒ¿]Ñ®àdxUN \Z´~P³5÷ÊÔÙ¢H9´Ž¡Ëñu¬uc…IŒöt?°Áµ‘BKg^ÖàÝL­l"R£’³™0R:LÅŸ/~ùM&¶¼Âe_1‡ ¸t°¼€#iHÉþ}qqñ¯}bo9Æ]–”Ý¥‹ÌÁ\K‡b^ßÂÞ Šnîûô-¤K’`7NÀoØ‹jÛ°Qê)G,¤WÌŽ,õ@F.yr]p*¤, ‹ˆ4F)+ŽˆËoeë{WÇø$߸f6 Y€C£X®[ª×}Âá†çI„”ÆtŒõŸëÛ77÷ÿ¤Ó.Š+ÿløiý넟—Ëÿ^®7Õ€‹Kö²rÚ«¿î÷RéýþûœÚå"‘IðU¬&•°à£ëÏÇøç¹È©H(©Ur‚ò–Q~4#°šžb¼‹ÞRÊ`Œ'ÓlŠ^€w2±™g¢»ë {–d€îd}F÷,IKÙ~ ¹Nqg7%¼O’ÈÏÑ ‹#F9&?€qrÛmEø­¥õ{Îb÷¯ÒÉ>kZ¡­†š7ÍúõååàïC½»íX”“ÝëLJuÙ{ú'æÍrÑ Ò…Õ¹g_TPZ¤)Õ ø,ø9» '¾ø³r1~(Þ&„ØCˆÔ¯°‘tÓç€åtTm­H3Ì‘ÝÃvË (Q¿"BOèàiÎ3åbá׫ÆSx@Q> ž»kkÞb[òöUÝø•èrøB»­ßÿô‰÷oÊÏ;„£M¨›Oöø…Ùò¸-ß&¿mÇ®å“þ1~…š„rU€æÆ;¦ßè«ÝÛ©2‘4DýðG¯¡5 ³ì­'„sR¿ZnÞ__qBY Ý„´×æßniB•}Ùâ8Nc)Qì|Ú ÉßžÁr— •…´×ø`ëWM~¨•gJló’ª9€qíÀlxÆdÂåÒüuã.Ë>‡©,uûO? ÆalÀŽQ\C¯Â(Ž#Dq|¶(Ž/h#|>P,ù¥‹â]"J¿8áê Ê£ v>8×yÚîTÃâTÕ²^s!Ìùþ`¥h¥¶ìnlà£çöS¥ÈL¾1£ääË•,òÕȾ¤¦–ÃWÂ{²c`Î3wW×¾ßÀà÷[ÞÝÁø¾"k*‡ê 7®§` ;P$ 5Á¸^¹b(KVMŸ¤j^}*©ÈNÿö@Ñ™Z™¾` tY>(- ùîîþDF•`¦Ô Ê8>)cB Gr(ã“Ál¡Ø“‰:tjŒf,Í0¢h†'z;uÜЙä°ù¶,ÇI¬t ®p‚Ãë4ki9®-o( Óül¾çUŠª¶c_1·vËšcgÓ6£ô ÿ­¢Kݶ›t]¶ Ùc_Åõ„÷æˆzÛõ˜®&ÖÍ«Ç lðãÔxåzû ¤ñ І?Õ³æ |I™Ê~ý¨P™Eÿ±øêDX£^2z÷ ^OFv½:ÐÐKû‚†O ˜h‘êüPÀ§׈\çùIàBÿN÷)¹,©ÊqO Ï=Z)Æ<|î{jÅhÜÂìDmy c\5Õ‹=ÍIÐ"³rXíE^+ˆ£»5xEÛ¨è¿ôº¹IÁW A¶žLŸá毸é09”‚&ÏN`ܶ­ÂŸ ½L!ж¡÷<™ú{ke@2FÒ3͵ãæú£o¹µn•ëÿ±µ¶J^œ[%{/Α2?Žjß#á 7ÕO_3¿pLœëäH«ôù®ÛлEYlÃ]$ì]Q…åw†&îlÓÝÞ6ÆÈâ'l@ÙüÜ ~Æ;ËjÓùI%[sj ±v e`k'ŸäG»:a÷ /­šrµ¿„î¯ß’¯Ú¾oZÍžŸô•ƒ:.{‘¾ïúý¾zÔÎwI_÷—©Gî¢qµ{#¯cDuÔä^|Á?PpƃµoAåPô·„¹„€•ù÷©™Ÿt÷;+e5.ÖÛÝ¢hÂq&,…/%(+o¡”Xï…í0 ·±Ï)%ö’?[)…J¥z$ÉmŸh¦ûRœIknЗž”_úD²s™ ‚ ýá™Ö³endstream endobj 304 0 obj << /Type /Page /Contents 305 0 R /Resources 303 0 R /MediaBox [0 0 612 792] /Parent 294 0 R >> endobj 58 0 obj << /D [304 0 R /XYZ 90 720 null] >> endobj 303 0 obj << /Font << /F51 9 0 R /F71 6 0 R /F61 270 0 R /F52 259 0 R >> /ProcSet [ /PDF /Text ] >> endobj 308 0 obj << /Length 2648 /Filter /FlateDecode >> stream xÚÅYYoÛÆ~÷¯ð[% df'y‘Èb-’Â76‚mÑKKtÄV[%*Žÿ}Ï2ÃEÙnjà€5Ë™™3gýæPž ø“§…8Í´N “e§“ʼnðÞHßJ€"铼º:y~nå©i! yzu3ØäjúËèõ¬\娩ƉmƉÖz¤ÿ3NŒ1£ã\Ê L×åõ~ˆh;N,ÏGR»úéäìªeÀ*õ‹Hò¦ÈR+‹ìÔå&•ÚXâ4 ÿüÜÁZ™Ö*\›á Zuþã[õæ ¨?î3+­JµÑyw pó×É/¿‰Ó)pþÓ‰H­–æô¯‘*g³ÓÅ P* ôýùÉåÉ»»µ;&ý-é‚C&¥u©q¹^ðü°ùr¬åèí%_m(–Dg©s9l/u*­`¾Y=š×cR ¨’V7ø«F¿ iËÏ[lVü{ :ÌPÚš꿤¥[Rð”ÚfÆšGR&t@ y®úJ+&»Õr=¯†ÇLÊÝÖ¯Döšáìšt¹«|¦ä`ÝɼJQ ãÁůf1]±Ñv÷Ôft[Ïç<Ü݆wAFÕ”goV›>Ù îJÝ |sÎíré‰ÑŠ..¹]}]óŠM“²³¼©nÊšeãy Ëéÿ¾cöu–§™`'ʤZÊo±j÷¬|Ì*éžÒª{[ÞkÕY=»¸<à1שvê Yô>Èaž¥&wvÈáƒ~çòÔåÙ¡Ûit»mÃ-ò·¡êÖмò`©ër;0Â@Ô:šÞs4´7\ð5„`ð7ô'ö7˜½ÅÁY˜]â òKZ3%_û<<±\úÝ—“rÄœl»›—M`ô]uµmˆûÉYX7ϼ•{É©A²±©’ðÙhÓj½ÉW)hæ…§úîY+Gv~<¬ïc8xàcÑÓ%ØŒÔ~ßä¿kœ ­R•)˜`—•q•°æß¸ì?HD6'IdOè²ý-ïsÙ–Y½€Ðwà²6Ísû”<†ä±©bÇ6“`{â0Yöƒº ÉÒA΋輘 ѱö…¿m1BÅò%îhÑÓf·{J§~—/[ÿÅáÛYµäMöœ©Ði;^&Gì^¼¹óg1§zƒN…ÁÒõôæÿïŠG˜ˆ¹âóó hÀ cï’M¥V蚥ÑD¬SdQë0\…(¸I.6ÀŒýQM0^g4RXôâÄ»1ähd€S ƒç€OY°š9˜À„ì¨^a,Xƒ­(ÜÓÊháÃ2¿ìËØº.†T~ôvVOjÆ[ѥ߷2x*±Ûp§öh—xMØù6S4<÷¾üsÌHvêô§’æà·œÐ«Å‚ùŸBä'óJ‚úF¶jÚ„ã1Ô4ô×U¼4ø¤—º ȬwEX³ +âÀ]¯•ÓvOlô,¬ôƒêœ*Tßè¿d;øPýµ«‰OJd™EÝ›žîý³æ‘º?ûB’Üx†JnwÙõ9Š©B,»\ïqizmp…Ÿ_¾?‹z­K­±!ÍzÓ‚‹õ°³RDÅ¿ŸÙCl¾-¢Ìäç­ß:E1Ö:Ã¬âÆšÄfÑ'I<¨3 ¢½šùÍj á#Ë}΋ߕWÈGâE…‹KŽ¿“ª/;…èàמ°GöT©QÚô·Tß²•F\Ó:UÖý½õñ½ÕÞÞ=©æ¨ë ; :âQuˆŽý’ÂMTá²×V½¶ŽåÙâ•- Ò­>H·v½e‡¨6”s'ýŒ;&¬ðm€«bÿ„ìf£5IŠUxš^wá¹)%! eÛzëÚ‡TBoHUBÎÐÄÚ$<`M‰ùxEOÚÇsDY !¸Í‚V ýðÌ^ìD<‚¤ÀÛQœu:(Ò,oƒÈѬ j¼{ À; 3n ˜ÿ²­DRTÞÍyˆÊeØè? |]‡[ü¸äþ´ŠBÁ 1ܨ¸.ypV•ÓÊŸNÜ6hüw6HX& “CiaÊy.Óáû0±{œ í’ „™îãõ]¨%¥Œm¬xÉàùˆ›ñ=áËiW„‘,Žºg£¸¸Ÿ¶‘guÛCμÐ× Ï7þðU@Ž™ášlÒVŽˆnÝq9ÀM‘ÜD6šõ^*dú½(lzéQpˆJFK§Û³MÔ9£u!$¾€ˆƒ à‡ß_||ù S4*@¶J[¿ê4ÞJxÚló(³À‡ aŸ^tFô.ÄZdá<)u&³{o¡›Ã Þ}¢í Ë1ñ•f* lÝ+¸ÌÛ\X‡§¸¯@`»ƒA² {OQÿ¾oÁW»ËÅz^=‹æ©ŠTbç¸è2MÈ«d†s­æ,ruöéòÃëKOÏî`ó>-îöûpA½l6+I ¨½šÞõº“Õr2ßm!ÆoaqÔ&pî†0gðRã%}ý¥à¯›SQçnkü‚€Ó *š¶ 4½Ç ÝÇ#"WÚ¥F¶O‡c"¿Î²à0G¬ ’¬0Æv[©ãu¡`ÕK~.J_dÓz~ïG•¬ yÀŒØñFC¸uy qˆ¬ýçœÏu÷|õ_Yðó×À|} à+<™´~’RË«_çXç~ ‹.×]öRÒKÂ7Î2"¢ê›sô¹ŠŠ`ЖMJµ§ ÀÄÁ_˜œó0Û^á÷'\]á:¯êë+,d„òL{¾ûvÍg ² ݾöø™ÍK…gÏžÇÊ"‚’ñ*Ë¢o•åøU˜q<ùoÓ8^â»ÅÝ1I³âÅíeiù”ítHBù•«5Ïì?pè ‰à~OfAŠ~?Å®|ä÷fçõzè&þ‹Rõp2K«­ÞÊ—U[q–^ñƒÐß*Æ/endstream endobj 307 0 obj << /Type /Page /Contents 308 0 R /Resources 306 0 R /MediaBox [0 0 612 792] /Parent 294 0 R >> endobj 59 0 obj << /D [307 0 R /XYZ 90 720 null] >> endobj 306 0 obj << /Font << /F51 9 0 R /F61 270 0 R /F52 259 0 R /F71 6 0 R >> /ProcSet [ /PDF /Text ] >> endobj 311 0 obj << /Length 2279 /Filter /FlateDecode >> stream xÚ½YmoÛ8þž_á8yo­’")‰ú!Û&Ý,Ò^/ñíØ]äKI´µ-¯,'Í¿¿y!õâ(iz] Ô"9Îë3CFNü“+&‰R¡ÕI2Y¬„›þt Ý× (f}’æ/ŽœHZaåd~5`2Ï ^ßd›© šb:“A=)¥õr:ÓZ?OSd5,—Ùå~ˆh;E°= ¤žþ6ÿéàhÞ `¢èK""É—dÔ6 ´É$Nu(•6$éˆ4pü‹ãöÊÐáÞ™n³`ýNòèðý¾¨RÙ06íÎYþ8øå71ÉAîŸDh”Ô“;T"Œb“LV@¥/ÎþÙiÖrœõY’zC¥V¡RZ Õ;>!IÏY©¡Af‘itЇ„ÒvÝqÙ÷‰²Q€ãr‹M‘ã ×üÛܸ5¤»šL v„ÉeÁ“wÄnɃKpr¸•ºXUSÞN£4ðŒïnŠ–µó¨×:Š£P§6rŽX,‹l=¦œŠà3–ެÉêë¢q²;qWY^„ÓY,mðï¯2ñËX*kÔÐ4["iš¨××À%ŠALâ_ ¾Ùkú‘­`=ãŸÿŒi%#ÐÊÆÊ‰û.ûT\•ËbL1mÂT&>ÿö=ò˜µÒPéÄ[áï¯ÆJ G³½_£?šì3‹»½©v¨LÎCô`ÊšÅÁŽ â–šÊ鉙¿aºµ_ƒ©ÊKÊ!Ãv†Ž£‡vÞ ¤qÃÇÓT•:ø3,g+üÚáËGLXà  g,¥Ë_HÞ HŽ£s0 ,%&XÝ_,‹«¦º-ê 2> Š ®ª*¼Ì>çOubÒ˜XCÀc´§6Èòœ?F]®ãP$­>rž[)°•ó¼;dýÔ!R¥Þ·Oè¢E(¬0CÞäQ+ØegO ˜¨ºâß_!ˆ–ÅÖíp;{ /0áq_…ñÕKzI¿Ÿ~Â’Ë=d×0JxW7â‚1¡LeÔS¨)…•0ywkø/$9Tp-À¯³(¥ý†zqôq~vø X€ÑM$ÍÄ$ÄPÁ¾¹Vx†³ÇÑR¡ÃXÜ'CßœœÏÇ£GÇñSU\,»*S„“ü‰@H‰ƒ…'9o´L:ŒÁé,Gðñ1®᎗ëFÒMÉÅ“Š=Î nBœ¸™/ îpˆ2B|·\ÇB,s[;_æå¶5TK7°—žðÙÐD¡rÞh‘éìèðÍ»£°ùÄIí_F´¬` Ýsñáý[<ËôŽ—ÂQαÏ> ½ÄM¯PÈÇÎë7¿Äã‘vÓ ÛÍ“«OdµkƒvÛ’.*ðùöý¿žçÆ;xW¶‘R|½7_a°ÁªÆç‹¬Î÷ýú¤ŸþWß>qrëæ¯>øÿæê?¯¤Ï>žŸMU¼>¼ªï%ü!¡#ôå-nm]ïÅÝõì\ØEרá`ô 9 £HÚîVžÍÈEA§Ù•->ú£ðz·kö„"Nt7Á)HV"ð]wD­ØÜ†zWõ[3ÿzÙ‘¦'¹)l,2ºíâdÆ?û}Ç8ã^TÛÆ–¸´MŸ„z\nª Ï´w¸NœM ÀØ¿»ˆwdðò¡·3áˆÞd~ã&úižó„kÞñ³½ÿÁ÷þÁ8ñN¤ê €¶s* !l¡‚ßî ˆ>! 5ìÓI_Eï!€Ä)6ô8S9ÁénêÏ  š ;b“eqۢ⒑¯†Ê÷'|Q¤k¹À^âÆ]!Ù~¸˜íšj•A³’-—÷nµ 4Ï®‡±—xôýÞ©³wŸÜ­!Á‡E¼ŸÛaˆ°Ä ;*D~ý¯ÀCÐ!}À¼ç–böÝsà6tY§×5Ù•Ú9À¨Ÿ§V£ééŽòAþ¢A·ã¯2€ L«oA¨Ó·g'ïß HÉà5lúZœƒpJ™–@â£>»€ƒÁ(b)ã+(XdKŒ0=Vmz(×tÃoã0à6ië…c´¨(éó¢uz㬠½hÕ¼wÁÄÛþñ—Øÿß™‚å5iChb $ˆŽdŒöÝ2BÀ)A#ù€†ù‡Y “î h4âdÆ3_êJ§tÒW·w—½ ßÓ`™^Ÿ›½Þ€ úï^Š}åï0Øë´÷NÕéác„MSìÅXë85º¿©VüÖÀ0ŸtËñº˜á_F*:`„ŒÍücTñÇP»ÅöU n"I$ä·7œzoNÎð€¯È;¬5Â]ª5¤-Â,Î<¼’•í ,Ó|åž—)Ö|ÉF&ÛjW·0ÎS½Üi÷gktJj .ú‡'%ÜÃù(ÆGãKzUNTÌ ‚„{ ²+ÊlËõK»ÇÑÊuÈ4“—upU],iüÛFI º¢”¸5ëþ“mEkÚÄá›Zå>‰gŸîwN0¸¢p¢‚vÿ®'Ò\y®kšÉ±]ˆMp\5Æ×ÉÿžWÆŠendstream endobj 310 0 obj << /Type /Page /Contents 311 0 R /Resources 309 0 R /MediaBox [0 0 612 792] /Parent 294 0 R >> endobj 60 0 obj << /D [310 0 R /XYZ 90 720 null] >> endobj 309 0 obj << /Font << /F51 9 0 R /F61 270 0 R /F52 259 0 R /F71 6 0 R >> /ProcSet [ /PDF /Text ] >> endobj 314 0 obj << /Length 2595 /Filter /FlateDecode >> stream xÚµYYsÛ8~÷¯ÐÛP[K†¸xlÕ>d’8å)gÖ«ö¨Ù©YZ¢,f(R©8þ÷ÛÀK´“Tf+U4  ûë¯a±áŸX¤á"V*Hu/Öû‹Ðvÿ~!lË (òãêâÅ¥ i˜ŠÅj;R²Úüâ½Úe‡¥ðÚ|é ï¸ô•RžúËÒ×Z{ÿX&ÊËŽ0\dw%üP³ô%LO*ÂN'ZD* „ŽSôÁ¿ü.6à¯?]„QB/Ðy™x±¿o’à…ö»¼¸½ø{ïÑN¡?ÔH^=6PÀµÈ$¬Œf^¿}õóë3#ã0… •NãÍŒ1æ¢xlæå5œûË¥ÞÛÛ¹`ò ”ŠÅØùV»ï^„à¨ÆL¡D h·ýB_‡^3k Ù½zØktûkn\ÌÕ§.LÉo·¢[Ö¸xd§Š/.ïɨÊv?Œ"¸â%Pű&¥kŽì¦¨îy¬Ý‘7Â!vÞÔ§ãÚFNÿüù`…*TïÖ³ˆ"‘C¬€Qúr™h¯¶ÐMæ}Îö‡"þ<·œ¯e Á[Ð/‚PJFØýã¾ÞœÊ<øô»åo—×/ßÞþÖ‘aèùå§üX”õý¬H‹Ù¨1FìEW[0!”b~ÓX‹¯ÙsÜ£4©C·¢Ff7ˆÅÇ|;n ŒíÈÀ]è{—¹¹w=0æ•íÃc#å7n±%yµù\^_½¿]âÑr'ø@Å !I}‘:G"Ì‚xd&‚†Qú<Èuxfƒ\é‚0$–‰ûž¹ÓèUÎeX£Õ/ý %n6ü#Ít¿hfb‚0R3Á)ñBˆ| ¨Âù []Üky§/[[‡#·3'‹AI{‹Š1síì|r‚AîdL¤6ÔbÝŽÆÁí1!,!½SXžXÙ:³E€Î*žæhT]YT”Ä ã|8ó±!"¡Ež@ër¨’)eÑ"€Ì ¡Œ@MÆìŸÔª—ð“†#áÞÆ®X´,°å•˜]A?’œ²7L»6n}ËÍÊK¾!.¤µì`is(>]DEˆ"0Öœ|Ú5ñ&­ ‚A5ž ÒÆKÞ>n{$#8üž–.ð·æb(æhl³;«­Àãjw,Ò0N#ò£­Ê•׎÷¢ú Ž#ðS‡;ø!ôÌlzÕõ›ãº™ƒ@)¡™$=j8Ùü3[Eä»èî4p¥Ù¥F‘¬õb{ªªÇ`=·f„D,2ã5v9ú:6»»¡þÑÝ`Þ þï¿3;Œ÷€–>8¦½Á»ÀžzË" †Qa)\ˆ¢GD("ŸìÛR:ºÉp_äìçœtÉ KD©’˜ËG”¢qRÄ“š¦ÃXH‡°W# ø›»mÈ©Àjz¾ÓÙJ f'lHŒé ÁfS@eÓy0°¶ˆ4ªÏJÒÿà ÞÍ.nþ èûKÄ‘÷îÍj™* mÀÏÌ…‰îÇu wq,ˆ¯ß•Ö½gÜ ãÔPvI˜&ßAÈßÝüív…ió=ÒÈW³4²'ƒû}É!Ž )Á²pîEÉE(:лC9 Ÿn¼ÎÒ0ÌŽ®Áäð´ïkKa°§’ðñî Ì_áæ_ú}vàS…áyŽ“&A¨cÇr‚ýá+˜Ýd»dÂj¤½kËNˆ´ÞÏ Z&"L e2É4”è´Mt¨ ?渹֮êE‰uvjlgÆ=\VÂÉT›ž,CÄÆc¿FÍ“:¦Eº:—¤jûKy—:Ü(»FZF]Žˆƒ½,àò€­_g`×nBDl[6B$Ñ××\`å¸ÁcIÕ¬£gÐIºlQLºqÖÆ(ɤÀÏ?['9’‹’.{.м!äjZ2h}D—=´V9íèA:¨»¯×—v¨o”ñá˜bE½§` g§’GÞAóÍÜbÍ4lP OâŸúê Ù?öºÚ{I=Òß_;$Ö_[«£µJV§~ñ!§ÂgXŠäÛ¼m¹ðc¡Ž.Ès`ä:"_–s®i „’ÏîVI}À‹'~uÁv‹nûPÐ{š4ü*¢ãíbÏhw(:bFT˜ ï¶Þçý¨M ÷p´árÖŒÙ7kÜGw&(ö4ÿ€Œ© ¾:¡R†Žê´Î„3© {ùÐ(¶<·§(ny#=Go¡™±WaÎvœWóï„döÙï®Z2rP-„²¶[|﮹ÒC÷v–…;³ýí9ʨ£žëŒÜ!ÿW0[ uÄb¾2_S ­î =Wþáõ-|Õƒ†Ûá0Ûû:î«ÚÚý@0·{ã×ôØÂ>2tW2„ó3Ç‚u8˜2‚ƒ*<Ëï•Kì0Ƈ4üstNø„¶¥$Š»‡( ÍNŠ”›-rHµã hzÇÐìieól 6ƒ?KŒH’ÒQ˜þ哌ŕyøRFÅވ؊'ñè%¬÷Oe d…¤ô›µƒ–âÐ~ã@nð?^bd[endstream endobj 313 0 obj << /Type /Page /Contents 314 0 R /Resources 312 0 R /MediaBox [0 0 612 792] /Parent 315 0 R >> endobj 61 0 obj << /D [313 0 R /XYZ 90 720 null] >> endobj 312 0 obj << /Font << /F51 9 0 R /F52 259 0 R /F61 270 0 R /F71 6 0 R >> /ProcSet [ /PDF /Text ] >> endobj 318 0 obj << /Length 1103 /Filter /FlateDecode >> stream xÚíWKoÛF¾ûWèVò@fŸ$··¼¸è!H„ @[ 4IItdÑ%©Äù÷Ç.Eºjb7×"€Iæ<‘H;šðóÁ>áhHôB…½È¼ãç©@ýÞ_¼eÙyŽÙZÜÚÀ±M»}ÇyŽk¿BrÓõJSæ4e}Ä;ü<Ñ ™jaôÀ0&Ëk‹¶âAóÃAU’ᄦ“‰NÜîÀ¯æP}eeUDÞ'8˜Ô,&5T\ïÌeîæ1êû ð×›êv&#»¼ÅÐÛ0á1lT*„Aâ;ñÄÃŒ·ƒNô{8¶´­HÍYí NÍ·tËØ†¹3!æé‚Ž’æžGQ×O[5–òÎ Ž#2*^; ÿ Áår:ÀO0DáÏPEÀñƒ|„åoyâ‚ €zð‘hOîÛ{‚¯î w…õñ–Es–ÁçùUAúUAÎ;âNpƒ°õJdú€´.?^ÀÇ£v…oòú¿í "ì ¾¿ñ‹v•M».Nó]º«Ûó¾ æ̓A~:vrÚàãþô‹€†ÿº88É'&O—iââ‘àâÀ,=éÐÎVOCaì’Æÿ/ güÈßX -Cendstream endobj 317 0 obj << /Type /Page /Contents 318 0 R /Resources 316 0 R /MediaBox [0 0 612 792] /Parent 315 0 R >> endobj 62 0 obj << /D [317 0 R /XYZ 90 720 null] >> endobj 316 0 obj << /Font << /F51 9 0 R /F61 270 0 R /F52 259 0 R /F71 6 0 R >> /ProcSet [ /PDF /Text ] >> endobj 321 0 obj << /Length 2491 /Filter /FlateDecode >> stream xÚ­Yëoã6ÿž¿Â( œ ¬i’¢Diû+ÒîIØt±‡¶ØS,ÚV#K®$¯z{g8¤Y%ÁÅ1_Îó73\±àðO,R¾ÐaÈR¥õbs¸ànùþB¸Ñ N¬ÆGþu{±þ: ÁYÊS±¸ÝNˆÜæ?_í³ãRY®DÐ,Waêõr¥” ÞÜÞ\ÓÊ÷'u¨ÑSÇ@‹2 ¾BRMcª¥L‚®| S×YgþÃW¿ðˆ·– 㤒c©V^,2qkßuÇ×ëõù|f¥%·ï%«›Ý¼^àË„‡`üî¯Ð¸šl=ÇŽÆq2aÎ-@gŠi©C/kl êCðIó˜í ΢—xM cðþX]›MË*sb&?­÷õÁ¬óºÉе'>Ï±Š™Ô#~‰¡ ÞžU4¹³ã˜;g9mmÁ ¼Ç'+’7”šÅ!p9±mŽ^ci{/ …¤{„ð±+Ñ«LÓµÛª·´ñ€µõ=Z@7¯ÑÙˆ,î¬æÈ1Ñ[CÜî 'æK›î“ÎûÂòïiçØÔ;-;Љ®¦_« ­ã¥®¬Á@›©ÏE‡¤xÀ¯½9<øéíÕc¨QĨró €%¿_üü+_ä€;ß^p¦âT/ÎBL†*].B°ŸLü¼¼x{ñã€L=ÅÕ˜ä ‚Š(ašk9\œ¿¹zw_¾"ögX–2f‰Ô#Ë=Å—X–!g‚óG,__bØß"Ûï‰<4^;²*÷²Àê'â„ ¯8‰åß'NOñ%qB°@¥Sin¯ÞË–‰ .Ñ¿¹"Þ?.£8È—î@†ÒXh·žo ×ˆËøAn\Xʘ.™øç/\¨Ê;fÔã± ¤½iÝRQÑ’ ņfÿC*!9‹eäaõËÿµí¦®¶yÑü¹¶à¾:Ü3\™ÅöH„Ð×ÿ ‹Ùr`±Òf0Ük‹ÎØdx.òáÐÇv5(¿á @©DGLFé#X’Qô„\10Æ=Êùæû›«5{YÈv‘Rr$OD`ߣ(ÌlâD°ò¨flÜ!',ïN‘À "°÷¿·tÎÃ%L8 *<§'׃0ý滟hpÈî-úâ š˜{زê¡`BGSm=rHø*M‚3]ŽÆÂ˜KµM$–2NH Ž&Ö©à÷ 7 Y’ˆg¼h÷œÚcùR¤#µ§šÔýÔ…«UeÛŒ}Ÿ½ Ü]j¡ú›\æ‡C̘dþ¢òFèL–cð*ü¡ËšK†ÁƦEde[Ó¨F~ì­Ó ƒ¹¡Mk$›Š¤ry®Ãв°†VÇRŽV& –ÿÍØÚÑÆ¼f øÐªÉ›ìÞl‹ÒÌiCE,:öʰ"Šàk³ÚÝmþÈÇÒ —Ɉò*¬b^ík¨‘é¯ 5æ+*ã³<Ÿg•é4EG…¨$á)d°×—ˆªHàŸ .„_ð:#^›D’ˆ¡pO©p·lµ#5ÂìQD¢Þme[cÄ ð°ÚÄßd-:÷~B—´è73»VSÀ ÝÝ̃ÔËî3Àò¦4PÍ8O1‘ˆp ¾¨¥ˆGQî]L«ÉX?Ê"¶J“Ú£ Žü+4VÏRÓã®·<,‚k…u±-ìMãèe~¦Åž4»+]„!©š@‡fwhô]K;W@艴@Å£}ÿVÁ –¶¢R°é¡@û*Ì1àn;7ZD¼ë_oâõa›t%‡Á1u€0XGB[ˆÍS3zèÇ#ç Öá±Cæ½X‰Qg‡‡…íÉ9”²+s\;TÔC‹UÝMH™jÎÇ ‚tÏÜ®ï„Í´¶Ð”ãBÓE•-6é¤L#‡¨iä F s ù|ó@ó ûfhŸm  ˜{õN êÅà»x=%?«‡œVFõ{4Ò•ÛÝz¾ïzd÷Cù£ÞýÿE8ÔÀ½¨Éæ´Pò“G§Ãš²)µõ.«d%ÅZ{ ò¤‡Øfè;Çïƒî©ó/‘™«Ãendstream endobj 320 0 obj << /Type /Page /Contents 321 0 R /Resources 319 0 R /MediaBox [0 0 612 792] /Parent 315 0 R >> endobj 63 0 obj << /D [320 0 R /XYZ 90 720 null] >> endobj 322 0 obj << /D [320 0 R /XYZ 90 668.8319 null] >> endobj 319 0 obj << /Font << /F51 9 0 R /F71 6 0 R /F52 259 0 R >> /ProcSet [ /PDF /Text ] >> endobj 325 0 obj << /Length 1131 /Filter /FlateDecode >> stream xÚ•VYÛ6~ß_aä¥Ñ$Eê(Ї¦¢.‚Ä ´ʵ¹kÕ²eèXgûë;3$k£vûAähîùfFr!à/•XYÆ+]‹ÍáFòþF†S é5Ë«õÍò'#RðJTr±¾›(Yogßïì)‘lpI*Y—¤Y–1óM’j­Ùû¾>Þ{Ò/v”s¿¥È·‰½ñïn3v}ý¨’¹æ1I•È¥d²Lþ\ÿ|óãúâ Qê¹åÓ ˆ¡àJbÈKÍe¦ Å`’Ôä Ü·¼Ç…&+òxµ÷”‰«™"WÁÁ§’lëEªJ.À ²ðúAÃúö@Jð–³í)m½¿>büíˆ͈Ï"åÑ‹žëI;ÿzh½LÛÏ÷öXÿtPdl†è§ÆyÙ-r—l3ÈÞ1Q‚Õúˆ°•Ã.!! •5´‰*Ø9F1Þ¡`[bpäÈ“:ÄiY¤12ãÒŸˆÛÁùÔ뇺iðX2¯Ïyº½m £¤×(U7[³Qª½óÏaç^à\ƒ÷ž)Ø€z6>¼ú¬î hž²màZ ¶Þa<½§×áIIGó§ùØvƒ ~@æè±œ€oŒ]ĨsФ•fµõð†4÷xÇ€.‚‡ú¤=Âõ%Nƒ‚L:g‡Ài=J”\d™šâd6æ EXÙ½»«)3¡jÃK íB}éG Õ ž±Ï.ójhOþи‡ ÉOÚ"ò"ƱIºGÿ⼫7ȼ ¢¾ÅÚ}ïÖ'ŠYc*hjÖÔ4 ³€»k›†ZÛíZÄ}°‡S“ËçÒ©äB—8z ^V8ë úwï_ýðúí×ßbÒ…`§®ýÛmy©âÚdÙÿ°ªÏgÍ"«‚Ö¹?¯›f܂ߪþb9öݲi¡ï–ýÎvnIÐMûå ¿˜«,‚¤4&§ñj*U’‰_[Ìå9Ió\œÅLܪÞáM°±m㳫 %V×}ázOD¡U ³HUEÎuYé€Àë¤?ÕB«ÿèù‚ËJUS¥êó•ÚãÖ÷œ‚«\æ_Ús×e~Æ$£ÔÏo ˜(e•³ï°Í¶5m­öˆ•™H_÷àdÏ€(H Žg¼áò 'wn66ÑE‰Ós±eϵ4ï!-i»ÚÞ‚æÆqŸÓ¬’<‡ß4§+3°OÄ ­lŠé”é=V¨½¬›['1rˆºvõÉÊÇíiÊ«¼…ä©Ù›ËØ ï ”8¶C8 ;;xÓ›hºëœÿ&@¹ÇÈ–èÄÂÔwïrKùžÛ‚ÏãËO€ùõõ ¾p\"¢é0¯;¿pEª©¸6ìÕ`GœÂ‡EÚ«K5$Ãak c;~QÀr4Œ¿%be°Ð<~îþ  Þñendstream endobj 324 0 obj << /Type /Page /Contents 325 0 R /Resources 323 0 R /MediaBox [0 0 612 792] /Parent 315 0 R >> endobj 64 0 obj << /D [324 0 R /XYZ 90 720 null] >> endobj 326 0 obj << /D [324 0 R /XYZ 90 668.8319 null] >> endobj 323 0 obj << /Font << /F51 9 0 R /F71 6 0 R /F52 259 0 R >> /ProcSet [ /PDF /Text ] >> endobj 329 0 obj << /Length 722 /Filter /FlateDecode >> stream xÚ…TKsÚ0¾ó+|”–õ¶•[Ò„C§ig™i{0Ä€‡€=¶(é¿ï®$(n2ÌØbµÞý+ñ„Á'–%…”Ôª¢HÛ ‹áÍ„ÇUÙyÊÝl’O5O8£–YžÌ–Ef/?ȧuÕ¥œ¸:Í8éÓLJIÌMš)¥È·9îTÍ^Ín6¿T³´”¤~Îð‹GØÚ¤™PL”„Ûô×ìóäavB¤…ø3¦\ƒ.tA×*‚6¥¢\*íA›4ÓF>í_/¯ÐŸUÄóy†xö¸ATÿêÀ4TI&JÊ ³/;[ÃW…)ÈkåêÁ…µg¿l{xn±få°[» »î¾àÚß)htš`H» ïQÙ°Â¢Š¥æ cA"‚%öØïbåc1·†pÌ`K²#.)×,Ðm©˜"‡Ð9$pÝÄ1PLɨ™¸Ð ª—Vj0ë¯ënòÅz˶:´û~QƒT«šîj7ªzQP­¤‰hšmÈm@ÑU‹ؤªVuÀŠÊû]·Ž‘¯µ»{º´…åTI–HÜø²mw”GÚ[†ÓÄ<Ó?ó Wo1lÈO¦ÙàóëQâÌR¡$¿$~8hCó(]¡¨±ÚÆï"ýÎLyñqJ° ø° &>AèÀòé¿5':CÈw/xȤ½’¥§Ï3*y·Ÿçáo¦lÀŒ!ï6«¡_ä]ßìÜÉóüûÃíýã]»íë˜JÀÄð3¿½k§è˜YZ¼k{þzÍpqœ}i™¦¥"}íéã,ø„£ë=Ú ¹«ŽÞjüö«\ÖÀQº²z ßóZ2˜%Ͻ–e ^û³ÜoVO«Ô0O¬,.¨Â Ðî]¸i§xzûÀÐ;8{Áy¼—ƒóa¤Tÿ;º0‰¥*Í5­e_ëô¼õÛfXœìã)À> endobj 65 0 obj << /D [328 0 R /XYZ 90 720 null] >> endobj 330 0 obj << /D [328 0 R /XYZ 90 668.8319 null] >> endobj 327 0 obj << /Font << /F51 9 0 R /F71 6 0 R /F52 259 0 R >> /ProcSet [ /PDF /Text ] >> endobj 333 0 obj << /Length 2714 /Filter /FlateDecode >> stream xÚ•Y[Û¸~ϯ˜‡"±F¤HJ v÷!mv›E³6³@€njlÙVG–\I^gPô¿÷ܨ‹G3Ù"@,’‡ä9ç;WŽº‰àŸºÉ¢›$ŽÃÌ$ÉÍæø*’é‡WJ¾Ö@±ž’¼»{uûƒU7* ³(S7w»Ù!wÛ¿:ä§• úbµVA»ZÇq$oWkcLð¡îú¼ª`¹¬÷¼ô×ün•ÆAñyôaéaµÖ&Öi £Õ?î~zõþnàÇjý5Ž‘ä)Ë °œ„ZY#,»Ô„*6–XNVkë4q÷OL 1˜!ƒ0¹þˆL> [|¦ cã4ž Š2:LãÌð‘!R*<8>=v¨œ)Žxª ~)þ}.[?ÿ׫H:>z®a¸%3æf­ãP©8¦óIi «pÓÔ¿EÊÀûs ÿ<×[üÐ Lvx )ŸæÔþ†·=®@õÍ™É.¥ßP¨™óϯuùe]•좋MМÁ$(Ú¼§«éî‘y`Upäé¦å³hñà‚ •q³öâ+ßFld—²?ˆ”¢ÜÔÑòàÖûÊ«Á¤Þ|ä/Nm³G=å´zÓ”ó¶°²-{ª©E'½húÜÉ¡H}ñ ¾8ho´ª¶xKRÙ0S&¡˜aÆf¨BA_Ïз¡Km †4UÞ_–ŒD§¡‹2´>«"0“Q©.Í‚mñ»(‚UÜœŽô]ãl4Àü޽Œ¸þyýñg/+€6ïä8R’œ}î<Ú8º;4GOö¾#p‹öµLÜ‘b—„V+ðW n”²ã¼§%F.r7“ùÏl &ÒàÆI67‡m9X8[Þ£®û²A~‡®UL¤9›¨€uÑvHH*ŒBò\eÓàc#Îdñ¡]Óó^¨£ÀïâP'ÁSd޹Ð݃;¤þ ªìŒ§m™4ï—P¼€Ž<ôýéíííår ûó>lÚým_€%Ü.Ç Ø™Fñ` ìF6 SgÝÜæ4Hë\jµõ‡œÑ(üøó¯øaƒãà98G”†´q˜F¼ÜÈî±—ÃÆéœ‡ï>ýyéìj3?†l$?¬R#{m€'Ö;B„ò€²y™Ù²—š(øQüo$»Èœc«Ø¶äy ¨Ø‚}F×ìë3aÐ5»þ’·Å-\,c‘¦a–¥·ÌœAÑ8ð!S, ï­‹ðŠ# ÖŸé§R%1øê¡À,ø¹èI¡8é/ÄÂ,†K$æc×c¶Ám¿E6ºÊ ªãÀSè÷HºiÎm'§“Ù“1WèRÛ¢ãùw8õ fäæi…£Õ­#VŠ <¹Vn]ô÷Ýõ»¨P…:QfÔ¨~>ï±J&Ñ—²;ðÅo•N3¡$zZžJƒd£™àUŽT9ÿÔU(î“âq®CÍRNÃ, ÕÀ{žgyæÒ Æe²ùcÛà®K]5”„;œ§K ¥€‚Ì#þ†‚‹ºJq8ÛÕT„ 9µÊ‚väeG`ÕPùŒ+`Íùä6äÏ_µTª¡€WPv`?:’zzŒ2L»ñlð¯bÃð,A$®–c¡ŠU˜ê8}ê‡|Õï@³¹…+àô¾»¥4¹>>,fJ«À%=µ ùª¿K! i5—‰ã!„‹+U»džDS=út;Tvœ[‘Xò~¢ò[Œu©1ËU0RAA• jBRÈÂÚ¾ó‚Ûðp,‹pâ:Rת ˜‘|m®«%@mIU¬“'ÁlÂt¡ò 8þàвc 4»r¨yÃG]•|²Ÿì¹ìzZlà¬ÔOðuï#ä€Ã\Ó¥ävÎ\SQ¬jŸ—*²‰“CA7Ñ—÷›Am¸ŽyZ_ ö‡±Ê¬ò FRÓî¤äm޲^OTPësoH´+òÞ×íÃ}”ä° E¡Ookí¦îÂ¥fd­Uè¢Hc ÓÔ¨IO¢¹'áVŒ";$ªžë¯7\‹I7ä`¸%b™£å(A ¹Ä«·Ã˜GjØIa­- ž•ˆ:„1l!AÃã)è@Üðäc©GI@Õ_YI ¥I'ÝÜò$pÕ.5Nĵ=‚ðx*7¹ÔöWý•ðófb$åUùÌå·+^̪–¢ øIUr¡1š! o¡ùÛ• †b0v+]"–%ÏÎC« u•tä È£Rkí¼`¼; 0:õ½¡NÕL(ø1ÑS¿Æ ܾá%$Ü»7V}šÓ™æS¿È{!vHÏ[çÕl\Ä_Lð6¼4Tà8˜Á%jWäàr1šÊ³ç“Ý€Y6Ænk32 øÕcȨñô­1OT ¹[–«_­g’þsÑ&"|ÅðMß̮ф¤g tœLúš™#96myâç â»ãßœ:ŒU ¼ÝòŽŸ¨¥s?ážÐçÔ²ÖêñÄ^õhã‰BžzÌ©› i ðjº!“øƒGŠ00nN¢"§FJaœXT‘ÊlhãÄ׋ëõ©-vå—ï¾-}ãFï¸òýbtY˜€\õM"qð öu®#œ µÓWZØäçÎÇy [–üÃQ†ÁU¤]lL ©PÚ7xÿ§( ÖòF“ #âV=óN¾¶åà}›¾Á*g¹¨ó›˜¿G&D%l ´¤ÆN ¿P\Ë{Á‚„& cí²'†M­ׇ¢:-É–9LR¾Päå"ìKŸßq”óOˆ¿èÅ#’ÐÂ@ýû ŠÕ¥©òûJV–BèÝa*;õå˜â&wœšdn wTVcâ¬1bØ}!û¡B—,Ãjœ—ºIk·)ñî ïFS1Ëi÷ ¶ÎŽ6ÄÛŠK'¨Bº¡lʲáˆûñ ÿ’ƒÓ{y!Rc}TnøÈ…—Çá&TD·T‘LpD<8>L¯(^ÛF¦ð¥+“ ”úh$ß}˿ϾÅVÜÉF¨'T¥w¬ìèér1Ž^ Š€{﵎’zÁô[Ï)zE~®z^ûAñ•Ï”J§±€µ7‘\l¨=—\ÆÃ=ƒ@ŸÍo'W 7DŸÄMÞú00úC¤½Ã!eX÷²N¸ÃïrjI LD`´¬­oþ2¡j!(üwh¯BœYÔµ5 ð°ûõ"PÏ"fjD÷ÒýK˜Æ V5j‚©¦¤+˜&6bšØD0E¸ê}!$üš‹£Žx<{6ÂçÝŸ=ݳ3«'8$Ê0˜‰Š9•âÇqb…ÅKØò«Ý“:‰'E> endobj 66 0 obj << /D [332 0 R /XYZ 90 720 null] >> endobj 334 0 obj << /D [332 0 R /XYZ 90 668.8319 null] >> endobj 331 0 obj << /Font << /F51 9 0 R /F71 6 0 R /F52 259 0 R >> /ProcSet [ /PDF /Text ] >> endobj 337 0 obj << /Length 629 /Filter /FlateDecode >> stream xÚ…T¹ŽÛ0ìý*)`I‹—Hm$ˆ‹ ¤p±@B‘éc½– ‰¶óùy¤¼¾‚À…y ‡óæ ų~<«ŠÌHÉ*eLÖì&EZÞNxQ@ÐKÈçùd:Ó<㫊ŠgóåÉ|ñ“|Y×ûœïrÊIŸS)%±Ï9UJ‘Yn nñ@u“ C¶9p\Áó_óo“¯ó³-Äÿ$"ä^£† ®UÒXZŸT:h´9Õ¥9Õ‡Ð"9h·%rä*£Â²n óÜJÒrSB•<ÒìqNºÞÇu,ñ°ž`f Ù#¬Ã‚0Ø,\-]8º€5Ô ,Ù¦®`}µ !Ѷãu§Ä0ÎkèÞ…ƒ‰Äùg  49n¶7L¿N:¾×¡$÷Jqû%ç¡/°ñ#êÇÈÛxSãѧŒŽÎpɸ.¢3»º­Wnlm±¼ÉZ²¯± a+Й\W.œ‰²¨ ­H³ö~ÿ<žN'6t‡¾qË®_9Ö:?Ý÷Ý›kü0}¯½ûCw›&´f\)›èº>ª¢®EœE™5ºòµùPl(Nê’©B›±¼2ùu4AKêC˜!·4&Õu™_®-3Jج3Òêb؀틟qô_ÛµIw„¨iQ·»æÓapýpkÖ­" µ€V}£èîYq]ù|OˆŠ o²3 ¯$Ùƒ.· þ¢íèõ¦kãîøéo3¾€¾?G 1GC±!ÈØ€‘c;'Ä(þ2˜þ¿OÇÍ€ï‡á=à`D#ö•¾lãjhwÌv̳”êy¢`eYÞäyŒì£>Ý}wŒaZIØØË¿k¹^Åendstream endobj 336 0 obj << /Type /Page /Contents 337 0 R /Resources 335 0 R /MediaBox [0 0 612 792] /Parent 340 0 R /Annots [ 339 0 R ] >> endobj 339 0 obj << /Type /Annot /Border [0 0 0] /Rect [158.7428 627.3142 313.3775 637.3142] /Subtype /Link /A << /S /URI /URI (mailto:danmc@users.sourceforge.net) >> >> endobj 67 0 obj << /D [336 0 R /XYZ 90 720 null] >> endobj 338 0 obj << /D [336 0 R /XYZ 90 672.1793 null] >> endobj 335 0 obj << /Font << /F51 9 0 R /F71 6 0 R /F52 259 0 R >> /ProcSet [ /PDF /Text ] >> endobj 343 0 obj << /Length 510 /Filter /FlateDecode >> stream xÚ…SMoÔ0½ï¯ˆ8Ù‡8þŒãÞ‚[HÀÁlReµÙd•¸õß3c;U[*¡<ãy~óü<‡OŽV)æ´µÅñràyû|9*Q>‡|hÕg# Á™ãNíý ’¶ûI>þJ =-Yh©”"Zkò~ ý2AÕ‡Óʆô+-e#¬"RÒßí×çö©¹‘òòò¯> ú,“Â謯n4J›¨ÏÑÒÔ¤D‘ËR ºQ%P hx}A¡^ “qèIÚ¡_à‚ªqÄ/p|qiÈ}¿¥<Ìx=2c¯5mmhËùéH¥…v-d†u¾  ßÙŠ9J¼ìÁè—TBz\¿ù–6ŠDÇ”ßÏŒ–5wäKªNv§&øsHqV{Œ¶ ¤C?Šrw@(& O„a?º4×ä4¥ÕOxü1%Ý >*ß!] E/þ°æJ$3ä “ÿ3¦ã¸ƒwEÄ1t‰¬Ð LN…9÷f$ÜRòÊ<äCó">¯–q¡¢ïKågÎ0ôù"ø@èß]¨£ YÍ5òö]šöø,J§gÑÏŸ sB; ©a&]šIÁòàɃgXÝ=óî­Ù4ÌJ+3âr~“E³F7æ‰%JB¸ÞUÕ¶mlí—›W6Õz\N×°Vû¯ø–äüüendstream endobj 342 0 obj << /Type /Page /Contents 343 0 R /Resources 341 0 R /MediaBox [0 0 612 792] /Parent 340 0 R >> endobj 68 0 obj << /D [342 0 R /XYZ 90 720 null] >> endobj 344 0 obj << /D [342 0 R /XYZ 90 672.1793 null] >> endobj 341 0 obj << /Font << /F51 9 0 R /F71 6 0 R /F52 259 0 R >> /ProcSet [ /PDF /Text ] >> endobj 347 0 obj << /Length 2791 /Filter /FlateDecode >> stream xÚ•YmÛ¸þž_±ß"±*êŲû­irw.š"Ànqwh ”kɶneÉ'ÉÙn}gæRòFNï°Àš‡Ãá¼ËÜEôgî6Ñ]ž$á&Íó»ÝéM¤à§7FGKÂXNQÞ?¼ùÃw™¹3Q¸‰6æîaE䡸Gðç£=/L0”‹¥ ºÅ2I’ÀD\,Ó4 ~¨ú¡í^Ëx“gY'‹=üåÍÇbÇÿ'Fùš©œ˜ÊÃØd©2µZ§¡IÒL˜2Ñb™­âàâ¬ê™½v!Ü™à…YÀþ4LÒUÌûéÚ™ “ÄøÝ& ÓH‚žézIž¬yÂìODôÀó²ÕkQÑ›4½[ÆYEQ*´· m]¯‚áH{™è:I>yPª¦a~›P¶ø¹¬—C ,~~$øÏ÷ÛþžçYð¼ "mW`vîh¹%Âë`…FÛaóžÅÑž®Ö¶;”öí~XÐÖgþg;åó ÏʦXŒtª†/~·tW5Ih²šá¯˜FÁg!´«þ™tÐßZf‘Ü9¢AýÀ*´ Ú=~‘< þ~b°U ½ï“l-Û;Öh,÷= @wœISEÒPUë;°SMÉÚ@lgÔê±VFöÐaiTüF'l!Mc‰Dײ¨Ûº’dÙ2yÝL²jø.CÏ­è n«†ït©yçZÏÎTV¿òŠ*¡íï²JÛ@û ~ŠŸÝ•²—Ä›ÅQðp, lÁm]Ú®ÁKòmeé¯öa±N‚ò' X^/fï]íU ’Tµ©ÇäÄræãw<8Âqœã2Bb± ºî0”]xÃr“,\E&Ÿšn/èhÃòsGOB{~)w²º >Ù'YgAÕò>¿ÇÈS’Ï¡³_ѲwL×)iÇ—ÁÀî4°3r@Ñg Êe ThY×Õ¡lv µp¥íe~wá3f—½*ƒœê2?äU±ª³Q*˜x?§ÙjG+q$@kë/î$Y(÷eçßQ½0[™Ia[+z«‚µ3ËÅ3jQ0~Zâ¯S×0'‚ƒÉÎßB@pÄŠÄ ¹a!ç$998Uè$ÉÉ]Î]ka”_ù©ltI¼<£cHa'Å®cÐgLÄÝWÎÿçÊ–^æEPóiéqoäÁh|T·ª rŒh‘S,nÝA¦§*ŠR÷Y@êvÀ\dE¿¼^§­«ÁiLžÃÕ(ŸØ¥ú4gðZMÁb‹×hú p j%ò 1³ ]£#Ζ"4íöÑ2Žd$ ¯ÀôÓ”Ï œ÷p¼$¢Zœ>µ||­tŠÒÖ†ÏÕpÄh8T{Œ”âá26`-1‹{F>Å‹“†eœ£ÚÕl¤_j(¬Õß…F«$õÉ^õ3)œª— >¶0Ã' ‘>$™uÅ+dÄ`ü¬î•D#û3x|ªZÖ”ÓÔõŇ1½ s®3ÿ\B™„^ýwôîÆ¿’¼¾nÙb‰e%a/MäHúċᔔþF¢9yç£ãß”€¦1e´eÓëPÄÌž"Ók[nŸ1·à~r÷Áß0FÀ¥ÑË4΂B“ºËI3¹wð8Û·Åä0Ôi gçÔX!…xÓŽ:Ð&oÏê#˜‚<‘°2£’ãµ’ÜL/Éã›6DKÒS`bçÈEa`»¹-~xï¦ÙaÁçpêFêqš¨8-µMÉ–½ŽàÞ:Ç/Âü¸8Äx¸ëÈgk¬¹h‘›ÙlZ-ÙôœdœÅ¥ :tR!vUc$Hèi}Ž?`ún1|;eàâÜG~š ?ý69!ÅmV’žlR—ž˜`ùéé·fß-(C“¬_LrE$UY#ü¶9 ØSUW¶Ã*<"`õ„óÈ×­êàþæPž°:Æv^}tîcJàýý@Z­ììàS2Z'’°«•>7­Yùf•‘¼1Šƒ§¦EõH³Dƒî€‰Ï`#Íð­«*âÞÝžØD©êëå´…7KºK¿Ø×*ø‚µ¾:kÅÿÊÕŒ4iRÜ0™ºê‡~ª"¢.—Blç«Œ× {B™KEåCz5¾€Âñ³ótϺ3%Õ-H¼1â—e€¶«¼_õ'L¬A(rFÃV:>' WS-ÕrwŽ–ä4òÔ•æÆ'Ÿ»í­fÎëi)Aè¿ÕHâ©‘ä›ÐÄINÔ%Që‹2½Cxšµ¨Un6›D‘ßâ4Í•Ó|s³«/_€ò‡¼ï‰nx…%ü}ãFûÎ\Àä(Q(2tAÔ0b¾Óu¾Ó|YBb>$¿ŠávR'šw&dÊ/Þ¶*\»jlåÂ}ôƒ•fíe¸Éh}–£lœîT•âãÛ‹"í•IR‹îÑ’EfŠq»°k»¹ïPÓ|ãäZò¨µŠ‹|"E@ÿÚûi<Àg¿ÕØYô—ˆH¥T¥€åǵµëÜEÓägÅ2tìíE‚õHºäÙ`£>’螪Ÿ—ÈïÔjìB:ÊÖØÔšZú»,4žñ›»41w}˜É®;Iì#ÅiµÝiÞ~+µ|/ë®À‰Ù |Cêì5á.:ĪÒ”èÀƒ¹g­ðDL¶¨U»xuëïø~RoòVm9\ûmŸºñéRò¿¸1?7y/ë²ð×b^¸þ |¨.·ÿFÇãU—qéÁ&²‹_œÌ¥Ñ”ä·nšéCµ@´Íœ›3É*Œ7¹ós•øŸÙ^U…Ñ&Êqiµ§9ï}X(0è5–OÊNÊ»Äø“+S“õhŠêÕ2_…Ézßè!›È·|:IZvްAÂQ¢"ù3@§Vz=xc÷/òº(ŒX¥\§‘dë<IJQ*Uãðp¶=G·4Y÷ÕØàÁé¾Ä-RO0xûÖç·4»nìG£—eøÚŸEƒJºÕ“,å‡ ò½ï4S.iPÛÞ5Zh¶wBxƼ@Ý8ß…Š\"¥úI3ç®ÚZEKŽQ|{½ë˜\7õß'üõÄÙe%qi©ZSaÎtœÆ¢¨qÍçBuÏvÂ!ý¯ :9ü@À>0ÖÒÚ›oJÂuØ¥Až÷Zñ9¥é®Á¡·J+‰õ’o ñ©ºÌ)úÚõÈÑ´œÔ²´¤Ù¹û ]W×Lµº»ÒΨֽF?Lê±`ŸSþøÁ©]½R~^Ú^qUW¾„Ó¾­¬¶'Ù8'Ù·Òt™ûúKŽ˜kA•ÒÖ¡¬B¾å˜lò-‡€öŒˆ!ÿ+qé %â[iyRF^|ý¸ ”¢‹> endobj 95 0 obj << /D [346 0 R /XYZ 90 720 null] >> endobj 348 0 obj << /D [346 0 R /XYZ 90 665.0578 null] >> endobj 345 0 obj << /Font << /F51 9 0 R /F71 6 0 R /F52 259 0 R >> /ProcSet [ /PDF /Text ] >> endobj 351 0 obj << /Length 2985 /Filter /FlateDecode >> stream xÚµZ[Û6~Ÿ_áÝ—Ê@¤!%ê–·d“I¦HŠlã´Vc˶vlËÕ%Éüû=7Ò’G“¤Û˜IžëÇ£Ñ3z–«YEAnÒt¶Ü_(¾»ÐÒóa…?\ò|qqyë™VA®r=[¬GD«_½m‹ã\{]9÷µ×Ìý(Š<­žÎ}cŒ÷ºj»º¹ŸûažÆ±šùï‹/^.ÜŽq~'\ò©˜Š\ SIf™˜˜Ò ¹ ýê¹'‘÷až¹l«Ûp›Æž ð!GÖΫ ìjf~Yj¢ý3ÑØÁ™©S´Ô¬€V–y5ÒÌr/T*ôq\+_åO@*òº-¼Tµ°"WÞ§y˜ÁËü@3%÷SÚ4ðØâë“C ÷·ð³«–¼ª±ûïJâÇê5¯~S,æYä•7ÄÁ[XyGLtè½½ç͉{Ëñ†ê…0óí±AÂ:V¬ç¾­°d«u 2˱“x4Ȭ–ŊLjhu xuÅk°Ûm‹Žg-—øîÿöŽGQ–Ρ–¥·`@™W–Vi0Ô•mç{6Üöm)#ûy˜zýżµd /ë»mÙO÷8^v^ýò#M®FÇ ímë~³ÅGãU“.ëæ®u©Wîvü$‚¥þžXFsˆbR¾V>UD–WaPíMM‡_¡,e¿ëöÜ!Á÷¸ªdZ5‘¢“1i´Saäõ°Dæîv÷|46Ôàjêìµ5Kvl•ðÉ âe§@Ÿ5·=!tP&4Aš”‡kn¶¤Ye5 >nW-«cÑ•«€%Cf ³›ºØ Õ³í–õnW.­‡ÀÀÚrZ®ÐO >&“©±ÏzlÌ Ãäom7@BX—Ÿ`Mz«™Ï­2 ‘‘‡Æ;¢øoQÌäš0ClÕÎ/p~ì*r4x¡`ySŸ—¢UI\Úqß½ÂcìOð,g!ò¨SKúl™82½‹.ëæV”‚‚”åàSJ?bl¨öFmŒåÕžF2Ü‹¢@Ú€Ãæ8É0 ´‰ÍÃh~[4¦_ý­1y±E ¶¡»7·=‡-죮áé3?Y1’jBAµÄhÊVÄ#<£9žC,‘1tœ…XN²6¨× wXŠU3 QðsØ”ÂÚØ"qjƒ¦ŽâÍÈЫûöñ˜yû6² ŸÛ%aÍ–cC§¢j܉ƒ‘<n‰„S,ê—-Q_4ü±àA˜fd%`¿SrõEX^°ÏÐè•w[m¸s Mü“üàè%~ŒpˆW?ýÂ+÷Å1ÆÃÛSÀƒ9²¶–gÎsg:Àû´8—âý8N¼÷)§sI^u[¦pB2©ž¶Â”àÈ„˜'Àɬ¹ ( dwóýbêÎPwšÈ[¿È›RAªÂl,*è¼]îP}‘“ ebà3dáù`j`°pÍ˪õ˜ ¼ÒÛdeÕƒ6I†™ñ^A—wŒ–‡3¨Ž´·.–B·«¹D¤ƱÀ(Åi:9¦±~0W :…$ÓXp,ÛãDï²Ì,(çI—w¡ßÚDY÷»Ó¨MÜaNv&À„<⌣NǼ“ö ÜAÀ–=›ÞÄ1Z°Ä`QVÜ8fÅý#‹è³+ó5 ÷æûÌRd –)šˆ)–á3˜;Ýf`²X¹˜¿:…Ì1DðC$T¿€¢¯ MAý9Œ*åq«Ý°¿«ž-8 an©ÜÅvÅs„À°3@ ÿ€ßØ$ÞëZ2Þ­f‡W>¼æà(BêÜò;ÌÄrÄíWe# <ŠŸÑ-¡·9¶£v¸l!}È]Õ$!rl]ÇÉ4lòæYhKʪѓNÎãNõø°/V2ŒÖcBN‘à ÔŒ„s6<\éù€GA¦ o9PÚ»,ЮV•Ò:Ï õ[‹•}lÊU-Qn˜Ôÿväô7=º\Žuí®„Ø_Úà«õž1 ±–S©Hƒ0ã,Lemן^^nŠöØÁ]ÙueS6A¹ê/W«#’à4À¡ŒPá\»s‰“Árד ®¨~yÏïÙ £0 TäFŠbŽ»ŽRÂA}ºiaÿ—÷/Ïë?:WAdÙ5âÜdXàùãâ×ßÕlu¡f?^‹IžÎ>ae(#“ÏöQ¦:åywñþâß§r‘£èIN²t‰ÎÃÓÖx†h®ß½¸šc¢"¾?Î  œ©¤ë{jaäCÝ„A”æZ¤úù$Qbñ{ñ¦)ö¼)E츽«6áõs¶‡¯9NÝ\,B ÉAU&«ê?“ªHø €íI« ¡›å²êvtaW[SñbÏ\–àþäÞ)dX[˜€Øß<{ts$. *C¸R¬¿Å/ÉnɰQ þl’ïáü¶\S1:ï`òÅ•ƒF8hìý•ºè~g™ÔOMŒ^H8 w£ãKÎß ?áo½ŠÓ|.ã8ÿËþæ(úC’þåIE`nÝ,_¿Wož¡ /oø`ÖáÜ͇kfqf7a@Fƒ4RñYr\­w þÏ“˜Cü3zÂÑŽÈÙ^ÄqTê‹c[¶7€˜da8:iÜ:‰“ÅßäYÙ×= M¡jJ—çwbÌkq·AâX· ;‚t‘X2Íi«MÄ*ÌÿÏ;­a—ç:W«HL0I)Úá­ŸÆG)ÇÊØ&i¦·…tiû]G1]ð±u@Õpó³»Äذ¨àfËׯl<Ä+Œ×î‹ Ýö›v š2†pt¡ûØœŠìjð^ÌJJ‰Tf£ÚT'¦Å5P€LpŠÊþ­]#H9È-תñô¯Wí‰8Þüvß¿†ñ…~«±èNq ¦§*h`UìotïÄ%\¸ßQõáh±k„xϕƖp]©^Ó;9­öÎ÷¦Â´ ¼V]ã&÷×?¿çq’'vn®ì‚WvÁ„ҷŰj‚•áj,â·XiD;þ¤ÆÍ£ ÛÇÒ/´riü#~8ˆcï¿®LÎÓî‹Â’±t[!TÃ9*Ę 8a=È:rp @N8#@N9wXŠþäTîŽÂ¤]G7ºW×W¬Ed›´èøÏòo@ÖQGþůñot*ÌÎø¿¹º~uâlV¨[º;èV©dÚ¡5R€›¸nÇ e˜ç§*:ô«ÉúÁÙÔ¾FI×ßß=’wU¦l¢#3vu§œ+-Ø>·—³[‡p˜r±4®l†yÆÂÏH °†?Ê”™A,AßžÖÃïÖøz1Ü#«Û8R\6í‘Ï'“øpPª³3œý1`݃¥°¦bÃî„SC0dß^½¥ Ì* ¾ø•ǨÕSeLDÕœ%ˆj?‚gšTƒ¹™/UhÌ7UhÿŠåS%àÏÂ`è>rÏŠÁ£’Ä‚·Ní)8¯¬x½xû ÆPùômnfá—ˆC7É“ôdĶ*‚e­A(¨'ù¸„ÛjüG윾[ÀéÆŸœpÚ®§Â U¸ôZ¦ºo¾N€Å<9¿cIER…ý‚«™b$ô-œ_’ÚK.ÕU]e«Ng…”Á?u Ëßò­Dê)váß]VAükË*н°•æ7r(‚ZôµK\øß)/«ñnë_bÌ7!Û ¹Œ%K3Üšg<¼/P§÷S÷z`BúB·~6endstream endobj 350 0 obj << /Type /Page /Contents 351 0 R /Resources 349 0 R /MediaBox [0 0 612 792] /Parent 340 0 R >> endobj 96 0 obj << /D [350 0 R /XYZ 90 720 null] >> endobj 349 0 obj << /Font << /F51 9 0 R /F71 6 0 R /F60 16 0 R /F52 259 0 R >> /ProcSet [ /PDF /Text ] >> endobj 354 0 obj << /Length 2627 /Filter /FlateDecode >> stream xÚíÙnÜÈñ]_1@^8À’nöÁcßÖ±åõf½VÖgõ>´g¨Fœá„äXR‚ü{êh6I‰>`K@šîêêêêêº/üÅ‹\,R¥¢\§éb½?|u»Qáåéêìɹ‰±ˆr‘Ç‹Õå„Èjó{ðç=.ã +–a4ËP)Äâûe¨µ~,Û®nn—¡ÌSci–¬~:{¾ò')?Ç¢Üg*¦2X5r‘d:Š•6ÄÙ;§xÞÝÄ2JŒâˆt^Þ÷Äüx6"°üóþð-ŽãàzW4ß´|ß7Œu½”i`[^;ÀZÝñ¸ñéÀH-R¯÷EWîé ¶§ÚŸìðÊŽ…ãgÊXW;Î@œiàøiNxj´ Ó< V»²ÅÃÝÂXE±üFGä¦~_{|´»z)3d>ó'à»á•<¼.»Úz(Ï>ø=M[ÖxvË4ëKFøÙ®–™ Šß"–ýô¡B'ü0N"•™äËê‡ÍDÒÐCÁÏÅk€¿YÝÕ¬8Ë"aT¶HŒŽLžITžýþ‡Xl@Í~:‘Nòtq:I¥óÅþLE2•Y?¯ÎÞœýuPDO1“œ1‘8#%3xúò)2¿zþÛ]Vá°(3yþp¬zŠŸcUª F&SV|ýú/,ÜK“¶)AÄô (.Îרú;FkAkP/ÖxC\„'ÕEËè–ÐK4õ¶±{ž“:ÃÞAØÍàã^Žœ ª4hN%õTµ‘¸ÐÁÓþà÷Nûì­#1)[·%«1MMpj‹Æ ;g“8¶dëX%àÞòNb~K§ù€Üt ²÷‹zº]°¹>ØŠ¡|{’Òš@Û³|Ø2 º^Éî ˜_ÎÙô¦h˦Ø8+KáUU$àYÉÊd%B€ß”i”eŠÍ,H7Òôß,C“¨àí2׃9;_¤RÄNä¬Yjp¶• q&ü–¤Î.!T2‡ýý`'cÉI°W¤Óª~`[ï€`í†MR …÷À@¢àí ^ñRÛJT2RD¤sÀs:&êiñ¶,ì'–ÜGÙ|–jÄcUhxgןsô¬†NýÜ­Çoð¡¬Oƒt„œ ÀÚ¦ø~Î º`…>0QqöÕÁJs°Òñ¬4†•rœìxJŠW nä”;Ãr4èΈz¨¯ï{R%ò(—i¾0:„þ¾Õ=yŠá˜äŒ{R mÐ…t8úÓžT™$J•~@NÁÏ2šˆHˆ$›2êü(ÈxW“—«¯XÒ—÷<±¤À>¡­ª[Þ°©ÉÅlYù¤Î"-’äŽï#¿E—±c쎹ϚúÈ){hR™¥AxÁ° y'ù+É,ónÇ›âÒâݪŽŸ!Óo_^¼¹¯g"ŠÁi™8t–e fL0Sœ{<¡"•êl8™ŒíçÓo8‚ ës¿åé5Îð¦õh^öaÇÀÎ-^‘ö®]f 8–mŽƒçH–¶eÑ¡ð-Äv@U¤©¾£”våy/Õžä=áÆ&¨ÐÂ)õéPO1“œK‡!ëáè©x‰ÿ5‡OáÂ'1!ÆEŽºbAÆeW0t]0lQÉÛ±û…].5<Û¸rà´÷:¡_B”!âYÀ½e¢×»ÂQãë6Nû§”ÙCñ¦õg ^‰ÇÊéØŽ] §¥1¨KxIZÒMè´‰’•â°õ%ÈCy²i’«b*ôøn,ÇN[½lÌ Ä2nU¶HèáØà­¥ýÁù bG_5Á²‡ÍÝÅaK‚у8’#2‡*zÆúþÉÐý™©æµ‹èåNšô-KÔ“!e„ßí\7¦t•†+[]ö@oãº2#Û}܆Œ‘A{:úl¦nœ»0Ê{n{{õ•/_î-×i¯õmI*vÅD¹ë¥zQ;Ûêxñ§‹ç°ãcP½çX¹øåP úFyZ¸ òOBpÌͼ ²—jÂu_Þõ·îUî›ó”æéýÒ<ù¢Ò\}´4WùgksõÉÚ¼øTQnB™ÿoå*„ª<ýúrÌ-äØ;,nöU9L‡›0θýsÝ,ƒU#•ŒDÙWd®LôÍ`î$àfPôµo·àlÔÒæúß8 'Ù5kRïõ>G¸éOoºá±o‰ÃxgFˆ<FU®Ën6‰3Y'¢ÏâÞA 1°£ÒR‡´Æ²`ŽVå˜Ï2Ö¿ÿ3ûªI$ó¬ÇY³ßÞ[Š´-sLOêîƒOhAx OO½ÑÌ®’ÈHOú‹nr ºä¶à e™Ei–柾äÂF÷ꊙZš°Ž†ƒJsÐi}'kh Ÿá±õü ·å2Iö¨q_«dôåACúMž|é§;|L)i<ìñCqc÷GßilŸ0榤Ž7](LÝòEJ÷{5­KljXpYÀÀŽÖ•ík~D¯3|欨½å"¢ØSz'‡^BÙgëJÆ\ŒÁ)‚ŒG†ŒàÖÕ}€¢vh÷EÜNZ¹<Ò÷&ÐЫ ƒÜµn˜ e`Usn ;:;N6‡n#ñÍ~‡•õÍë›pîÒû+÷m oH~¦rž|úCöU2X§ƒO1Ü—Åõíöºt=}´Ç§=+Jì®Êæ:‘ Ž_Ù)O¿(ëo Çú+ñ c ýÿpüñ¼Õh¦\uÉvíÔªÚR¿ÔíQÓddÇÎùq­¢\å}A¼Áâd®"†0‚R™VÄ“«¬›Âvlª£ÜèÑG<2Ýn$|NJ¼Ã@`ÿ%×V•û<Ê \M8rÆð´ó"Ë@ Tž<ˆÌ>ÿ„CŠ~è]‚rß9n$5R·Ž÷¾A„YÄþñ«¥¿O>ö'f¦àÐ ¢»Ø{ÌTöAËU‡¸÷*#Xè¶üå&TÅâàÆ}šuÇm(…Ag§ºÅ`š¸O³°~ñ €ç<.-KÓ-þàO'Õs¾¾8¬í±=a§Åùø ЍmG—^“6YÊØ—ü/Õl+Mendstream endobj 353 0 obj << /Type /Page /Contents 354 0 R /Resources 352 0 R /MediaBox [0 0 612 792] /Parent 340 0 R >> endobj 97 0 obj << /D [353 0 R /XYZ 90 720 null] >> endobj 352 0 obj << /Font << /F51 9 0 R /F60 16 0 R /F71 6 0 R /F52 259 0 R >> /ProcSet [ /PDF /Text ] >> endobj 357 0 obj << /Length 2493 /Filter /FlateDecode >> stream xÚÍZmoܸþž_áoÕKR%õ›“KzWäî‚»Í]€^Ê+Ù¢•¶z‰íßy!¹Òžìî¹1PðJ䜟y†ŠºðO]äò""‘Çiz±Û¿’¶ùó+eŸBç"¯·¯þò.QJŠ\æêb{½˜d[þ#xs[6*«M¨‚~FQ(ù×MÇqðm=Œ]ÿ° už&I ÍæŸÛ¿¿z»õ+&Zÿ7Pä÷J¹P*ƒÞD_˜,*ŠÒì7©R\ïÔ¥…I˜…~½åI÷–uŸà}À÷Ún<€YPB Lšcuÿgî(;þm¡«ñ9v}U ;ðù_V½P MD'©UA”_ê5=µ†Ç,³Râ…`ý¸q*¼H1X-‹~ä§îšGkJ•ÕuÆ5Vf,ú›j¼òÒ¡VJ(™'¡2"N>ß¡—eéÔ+!"ø£ƒ÷—?|ó3t½¹üð[Tðe“˜ èÑÑÅUSqãŽDµëÝF§ðÄ­óm†^FÛ[£K^§ÀõKîh ܘrØ¡p»˜‹áFâÂ7¿W*¥PnÐ\0,T‘P‰äˆGIˆ†®q‘²îCëëAu¾¿/>o`þ OM~ÜB)ïÙkÔ|ÂÔyÆ1yÃâØÓõü\ÝsÜvhÍX£+¬Ô=†‘}ÆIûW¼«[ô­ÚÙ)Ú]q&4µݦâšp@7Œä€]_ð˜+ëæ•ÈÒL(ÆÖÒð=‡buÖ¼zñ…ÿÉZw¬`³]À¯,—H!LOV[_L<“ÚIIA$dH€-a+Á©BÇIF¢JR Äô7Û„‰‰‚_6yÌ;ÕuçÐ%M%ð%Y  a¡–`óó!Ìè`j.PJ(Ì1„LL±2ßÒ€_6xÿ’e¯]ß-îí¸o¸¹›F˜à@õRE!ÓqoK¨‡£)ðvvµðŒÑ7ážµ.iÚkþ}_lI‰Obí¬ýZã²·¸¬ fQx¯AIÓ=¾4N³ü8` +ò`ý㊊%¬r¾#eOîŠi°[$õÌ5е÷'•±š|ú°£ÙÌÙ1†¶Õ¤AêŠ4.‹éþñ¤û¤€> c™ X$Yún-UÜTmÕƒAöØ\¡úü¼Üˆ¯gïêûYBˆ²B”™àj²ÑÏõ-`_e)eák–ñ.„æ×õ¼°Â8â‹P€&Æ"l˜ù‡Ý¡½”.áeßù¬^£9Æ#âż4®›k€œ¦ÇåZ–+n ¢ k¡|åÔŠÜ©°ãe¼~’†%z}%êb`"Êx< /,Væ7J˜Ü©sfSi\ÚY[!Ƥ.`ñ0݇ûÏkóZëX;~“‰t;Ž+, t*n¾[R´³i:ÊfÃ*÷Ò1Xœ¦Xâ°  :w€8"ËNÒ“w¡e`–~K>àèîÀ”ÇqĵÅàØ£3êOÈ\M2ˆ-ö4–}öy‡É—"á–ás?'󣦈ÁîÜä_Ó|·?ô´+N=RÆNw iA|ͧ h÷Æ/!™ÓÚÛqd(:È[8`Ï1åÙWZÇóTd©gïgb˜®Êºëá–%ˆìzI÷ÝÓž`Œ˜ÄvŽé÷ÕÎuÕ˜{rª›ò„¥žP(¦Ÿà4ùYœÆ|UNƒIƒì+¬ýtJÆÂ6W}ßÙãQ·¼ þ¤!rë1¨è†ãfEíÐEAh|EÝUHÓ8%Þ;ÀŽ® ¨*8 #y97×§Fo#ÉJœe RtžÅ¹ˆ“XYIkbÊÁ:êî¶²k½vðÕ‘NêGïÔG}Gà=ó„…Q®‚O´rÍx[¨êöû¢µ²m±÷¨rä5hömd– ßðûœ¾!@œtè•ÛÛÚNg‰dî!œ9dßôixÄß~øÈsíggjmE¢)(À:Â5«¬ð2„€‘T·³ˆú ÒÀ*¤| þ•sêÙ-¢‡H:ýª8töFÃD‰|VXc»rÕÓ²( È-ùA{m‚ŸéXsæÆù¬žˆÃó%ïRW·®†RÁO<¥ræïE:äÒkM –Ü[¸¾ª©÷õêîµtÕñà.F±—%£ÈÁW©¢Re‘'£·UsX›;Ê…ŒrÏùò#&Ÿá¯/¶Ön‘ʼn9ýÅy”¬£%™ÐZ[ðR²ÏÃLÑx«Òj„¿âçµ¹¸çªæxÂç}×WÌ2UŸ›Sšy¬–*<åZßái5ÆÞU< Lá:;ÄImR„ð~àÇÂÒ@jö îˆƯºSÃ6gçdŸL¤ZfëþÄ%:\Ž  ^ȹÚ823ˆW›¥¡JIyâ¬áÁÞíÑUqBY`‚“ÈÍ >·¬Šª¦#·TcëªÕŽ|\ /z^¢,³ä&—A´®n ÉX³œsZ-y´š§Î ziâüŠñ½ þÞmˆ„BÏgÖëÎ_Ô@oÁm¾¶ [:h÷[Œ/GÞ:«AðÌp7•å–ÝŽƒ‡T ­–ûË, ‘LK¢Ä±ÁDñ^½…៾‡ÓÿøqûÞ>nYŽÏé—š²z»wjä¤ôÿîŽç$/@§ËÁ4¸á¾õ›Œ¹F=§ÉD[†iï+VÀù†‹ìc*ã“È­VCÖyö4r#`4ÝÞ‡ëó2±:7gÿÁêyP";æ™ÿ‘2{RæË4ºÀCâvhÂi&4¦ ²]ód‘ÈùüY•EœÒ¥þ¸Êfá/\ÜüXq‘ ¥ÔY—7JHéËÓ+@qÑW¼îÀ°Yq2z§u¯3‹”Ð&r7U¢ƒÂöŒëQšùô"¡tRXÝ §ÀGÉM×|›šÇBgi¾<™e5Vý¾nç —'ßÅ`wróúûBâÐ¥›Ž••ÿ¼4¸i1ŠzYtüÐhwí˜ß¡ÌóÙÄ„•Þ²z!T…ïòW¨#ƒA§£ôxÛtÇïÄmèétk°m^èÀkSøü|Ï-üQWàÌt nË…¤ëµØˆ §·Fnn1{D DZ¹F~ÂÅ.R·²zö̰f×Zåê½ï š'¦ø};Ê]xÃNí*õ…Ü—j'öÔ'Ü4™1Ï/¿ñKª È#Kò×Pµ»¼´<··ºÏO\X¨XŠãÅØ·ÿûÀY ã´endstream endobj 356 0 obj << /Type /Page /Contents 357 0 R /Resources 355 0 R /MediaBox [0 0 612 792] /Parent 340 0 R >> endobj 98 0 obj << /D [356 0 R /XYZ 90 720 null] >> endobj 355 0 obj << /Font << /F51 9 0 R /F60 16 0 R /F52 259 0 R /F71 6 0 R >> /ProcSet [ /PDF /Text ] >> endobj 360 0 obj << /Length 1745 /Filter /FlateDecode >> stream xÚÅÉnÛFô®¯Ð-$P²ä ‡Kovc§²µQI#‰–S¢BR±ý÷}Ë EÊJíÔ2 â,oÞ¼}™pÀ/gÁ8‘ÒÏ¢$ÏV£À,_B3òÂ냜NF¿ž«p~dáxr5@2™v~_ê:mîz¡S»ž”Ò ƒß\/Š"ç¢i«úÎõD–(åˆÄý:y=:›t7*!¢ Aî¢RØUb§‘ÊHe_‚îÛç ~¬ G ‹Õ¦®\‘:ßñ˜ 0³ŽÌx…|ékÚŒQ¹Ûbž›¶Ù--N]M·ÐàF»fP˜6¾ë);kÛèeVÌp”ºæ¢åºá‹æ‘.9.ÞàBáµt¤]º¦îl°ë…ÒUÀjÛ Õ¢Ö+TYä ÇšäP Ù ^Å‹ àZ²vó5B´¬äµ^å ƒ} T°²—à/ ±O‡]næ€ó–„¨B8æ³â†ZöŒæ¼0-gOÒ2P­‘ѹ¹ï¾…ù¦¿ÊжÓdÛX•±Îaó %YïN01b@L–ù*‰ 5¥nó[ou}ˆì(ó#À†DR£’7­IàÒžD"’Àe."b?Í  <èGô⿌¥óÉÍ"'¯‰ä¥rÎÏIÞ¸—'??ã^'óÎvI¦Âéä·Ù@XH@rÆž®¬ yÝÄ“Ðñø0Ð ë©3Û®h L1cSŒœ—¨ÕOèã~„‘Aâ eã©(„|}þŒçn^?гd|ƒ±Ç W#é‹D¤v^Ž>Žþܤ£×Gy TJ+A«ƒC‘œ¿9Ar_}dnûöfùxyþvŸH(_:Ƈ؈Dê'‰?bãGÞ*Eàép×rÓªÚŽÜÅeÐyfͼºb d5ž$ça£Ù7BÚj–|¢Xó·©V>ɸguAÉ&GŽIA«AXb•dK]ØŠV&á«ñ£œÓ‹Ó îžØå¾Å•úA’BŽM@ÑQøt‹é0z}”,FÄ¡/D¨>{÷‰©ÿîB*ÔÖô´Ì™œ­yŸÃ. æ;—çÌ£Û¢Z“ÁyÈœ J³ÃÙ7_´»Ó$,:{çQôBˆ° fÁA:$Ë*Ö‹Çè8zJø{{6qSéœ`¬z¾3aóm¶½xxt[;/n÷\I›\¼µÉ^rA±´pÆ):7#ýÈS»0%fòËû õÃKŸ¿Ñ €ð—æâv[£é•Í´Å*?2ó÷•°(+ºµÑX›[ôó ™[EµÙÿ¦®¤ƒ…WïþæÁ œ£•y­±ð0Ò¬¶-2°mlÀ¶»;ºjHÏZ\†b”¦dM«K¨kp\ÓÙÔT0ßš(KþN\í¡[±ƒ2Êcë¾Ë$}™Ït?sÜïÏ\p¾¥Ýß6ƒ¼])˜sqoýbP ZÞ–ä ‹#3sÖ+PóŸ*QûžÉ:Úâ0õ±IšÚÞfÇ~îµ2ÀÆÇbzù‘›X’8Iv½ÑšC8ïÝ"›»FfPÕ/Š+ë5hÝ›mÏß÷ËëЃ‡«kùøêšÏ³Æ~ThÙ©ñ`ƒ’ “ø ã¬ÌA`î•fÛ“V׋܇›enn  A†ë§·¢’aüë°Ðì» ¤=,uAÐÁÃòŽŸ·§é{Ï”2'‚¯‹ÖÈå@¢ÜèÆ®kŠ#½ÈØ÷Œ&‹ÉhàÓ Œ‡AmXÈÈîç0hžœÝ/=ãÄObè½h5MÕÓ+OƒÐëcÓí‚@eÆ‚ßöë¨î9 v.1(›4D[«é vIhðÅÒ싯!y˜r£¼ãEÖ 7v[Ûèå†0s7dÁþã ïP¦äz~è=̶|ù“’zlXzÎ4ÉuÉu„ÓbáÊ|Û’Íãå€gËE]˜œ‰ËµE&kÖL‡¼a‡oœ‰L‰E]ç]\,[CAc¯×­1æ»r›vö•ÓO4szX¿°uiä|ÃÂ×”:Æ+ªÚøQ·XRÝù¼oŠh~Qò¬Ú®9ù%|» ‚Ýûí  eûÆát÷ÖžÙá$=u¬Q¥ÁÜ¿…Ì_7fFö g4LudÏ¡¦uW vËCÊh 1åöM–ÿ&±Œ1üdù²Ûendstream endobj 359 0 obj << /Type /Page /Contents 360 0 R /Resources 358 0 R /MediaBox [0 0 612 792] /Parent 361 0 R >> endobj 99 0 obj << /D [359 0 R /XYZ 90 720 null] >> endobj 358 0 obj << /Font << /F51 9 0 R /F60 16 0 R /F52 259 0 R /F71 6 0 R >> /ProcSet [ /PDF /Text ] >> endobj 364 0 obj << /Length 1324 /Filter /FlateDecode >> stream xÚí™Kk#G€ïþs”êôûKy‘ä‘KA¬ä¬ÉÚYdáÍÏOæUÓÝU­/‹­Á¹¦jTß7ý˜ ?¢ ¼qJ± kÞÞßðþãnDÿ×&Fl`È7Û›¯~0¢œD³½%ÙîÿXm×^­vÇ¿§õF)µúéa¿«Ãz#Vÿ­ÿÜþÜh)WÇ m¼ôí§7ßoǪFÊÚ}µ!ù¹xcŽIatcÖk&”6ý…éÆœnolº«îbÍ”¶²½8~oÍ™ãN¯ý¶‹Q¢ñ,X«ûx‘AŸCÞ¾?ìú0¤a\9Ñ[+:Aü’õÏqù*ÛþJèË ™–Q+=óÁùodsþ7P`ŒÛÀÀ³¶?K×bPyUǸôvVµ Þ—W í3!0åcl[ñ»ºAû»ÇSI Π׋@µË1L¼ ²ê Ä=£h`2Ò£¬êL‘V#§ãxÙ®û§»‚"°àĢȅ—£¦ ®š S 8ÂŒ6%­š8:'ÞwóÝõçÝéþý2â<ÿˆ£8ã8 ðhˆªx’Ñ¥Usx4 ³è—ºEö·Ë˜ô¹Æ$ímÄÆmÕ%ˆ»4FÑ.Ád¤KYÕtöÒÎ0iÚ­BgÊfÜÝ––9Z1aÃuë‚J04±*$$€L4.HFKVÍ$°šéà:ë>ïNËFéù6Jcw«v€@‹"@2ÚŽ´jf‡QÌ)+&;ÐAÂÄTBë«qE>´¬ŠÈ!b@ÉhäiÕ ¹–quп˜9#ÿëÍÃîþðu‰¹oßò¨×Ï…=4« °aï $£a§U3ØJ2)TÆ}ÊãšBD…^*q”c߇*Æ)Ž šJ@œRÑ “’B)˜6¢^KËý ü2{Úå¨*C¿«®€@Bˆ˜ÒA2Z—´jæ‹à,.æ;[Ðç\yf•]”¡DèYÕ` #$˜˜Sü˜ˆ`^o†_ Ýîüucã–NKׯëk£¾“ÌhûºæùôdK8¦‚TSkÊ`Ǹ ÌÐæéŠ³A{Xó`çiY­ù{¡‰«ˆ[õ »÷Q¿"ï‡ Êt{ˆãiy?ôÜ;}{È$µU“` nÒUœ)ZM`̤¬b’q‚Ië;“~«›ôøîß›§ÝKHWLüCÉ \„+CTqJ9»ò ®¤µ0WdˆêΕßë®<Ý>.gϵ Çq[sC phˆÂyP‡ÒZåIý°nôƒxépÝ/š&>C˪¸A (.T`wZ«Œ[‡ÑêâÆß;f…|é+P åØŽJˆ£œu·ˆæÁPfµ”>ŽìA$ËGŽJ3ÁÕ2¶_"CßЪ S¡ SÃAT„¤âSÌH! èãlãvÆó×üâ¥;´©Š|a×Ë€A”pZ A±q=ÖñyÚzÆ…z•ŒQ¸CƒªpA ö»<Žƒ<(Ü´×HfœÓ¸èc ‹Ö¼ Ä(¸áËWÁ@ìeȃ‚Kk!à´Œs+ØZâÍ8¾LÀŸð0}­: ' ¦òH ò N¤µ'T\/+倸ÁýùW_Ý!îDfhV4$@ÃÞ—Aƒ<(è´Z &¬ð41#_ïªkhS1$î—ÇwEœÖBO‡C3Àø¬ãy˜QxÔA@‡´¥©pl…3¶ÿ+ ’endstream endobj 363 0 obj << /Type /Page /Contents 364 0 R /Resources 362 0 R /MediaBox [0 0 612 792] /Parent 361 0 R /Annots [ 372 0 R 376 0 R 377 0 R 378 0 R 379 0 R 380 0 R 381 0 R 382 0 R 383 0 R 384 0 R 385 0 R 386 0 R 387 0 R 388 0 R 389 0 R 390 0 R 391 0 R 392 0 R 393 0 R 394 0 R 395 0 R 396 0 R 397 0 R 398 0 R 399 0 R 400 0 R ] >> endobj 372 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 628.8978 297.0286 634.6761] /Subtype /Link /A << /S /GoTo /D (3) >> >> endobj 376 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 584.8592 297.0286 590.6375] /Subtype /Link /A << /S /GoTo /D (3) >> >> endobj 377 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 574.0977 297.0286 579.876] /Subtype /Link /A << /S /GoTo /D (3) >> >> endobj 378 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 530.0592 297.0286 535.8375] /Subtype /Link /A << /S /GoTo /D (3) >> >> endobj 379 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 484.0281 297.0286 491.7989] /Subtype /Link /A << /S /GoTo /D (3) >> >> endobj 380 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 473.2666 297.0286 481.0374] /Subtype /Link /A << /S /GoTo /D (4) >> >> endobj 381 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 462.505 297.0286 470.2759] /Subtype /Link /A << /S /GoTo /D (3) >> >> endobj 382 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 451.7435 297.0286 459.5144] /Subtype /Link /A << /S /GoTo /D (4) >> >> endobj 383 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 440.982 297.0286 448.7529] /Subtype /Link /A << /S /GoTo /D (5) >> >> endobj 384 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 430.2205 297.0286 437.9913] /Subtype /Link /A << /S /GoTo /D (5) >> >> endobj 385 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 419.459 297.0286 427.2298] /Subtype /Link /A << /S /GoTo /D (3) >> >> endobj 386 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 408.6975 297.0286 416.4683] /Subtype /Link /A << /S /GoTo /D (4) >> >> endobj 387 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 641.4346 522 649.2055] /Subtype /Link /A << /S /GoTo /D (5) >> >> endobj 388 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 599.2566 522 605.0349] /Subtype /Link /A << /S /GoTo /D (3) >> >> endobj 389 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 557.3326 522 563.1109] /Subtype /Link /A << /S /GoTo /D (4) >> >> endobj 390 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 515.4086 522 521.1869] /Subtype /Link /A << /S /GoTo /D (4) >> >> endobj 391 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 504.0629 522 510.7151] /Subtype /Link /A << /S /GoTo /D (5) >> >> endobj 392 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 493.5911 522 500.2432] /Subtype /Link /A << /S /GoTo /D (5) >> >> endobj 393 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 482.0005 522 489.7713] /Subtype /Link /A << /S /GoTo /D (4) >> >> endobj 394 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 471.5286 522 479.2995] /Subtype /Link /A << /S /GoTo /D (4) >> >> endobj 395 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 461.0568 522 468.8276] /Subtype /Link /A << /S /GoTo /D (5) >> >> endobj 396 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 450.5849 522 458.3558] /Subtype /Link /A << /S /GoTo /D (5) >> >> endobj 397 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 440.113 522 447.8839] /Subtype /Link /A << /S /GoTo /D (4) >> >> endobj 398 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 429.6412 522 437.412] /Subtype /Link /A << /S /GoTo /D (4) >> >> endobj 399 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 419.1693 522 426.9402] /Subtype /Link /A << /S /GoTo /D (5) >> >> endobj 400 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 408.6975 522 416.4683] /Subtype /Link /A << /S /GoTo /D (5) >> >> endobj 100 0 obj << /D [363 0 R /XYZ 90 720 null] >> endobj 365 0 obj << /D [363 0 R /XYZ 90 668.8319 null] >> endobj 362 0 obj << /Font << /F51 9 0 R /F71 6 0 R /F31 368 0 R /F38 371 0 R /F2 375 0 R >> /ProcSet [ /PDF /Text ] >> endobj 403 0 obj << /Length 2835 /Filter /FlateDecode >> stream xÚíËo¹‡ïþ+t”bšoò(K#yvõHÅØ 06Ù,ä±@NùóÞiöü†dWk‰5=x%—«Fõ}M²Ùɳ!ý'ÏâpæµÑxö缦oÿíœþï"E\`ȇí»ßÝXy&‡(϶?%Ùþô‡ó—÷AŸÿø¯÷òü¯?þéï鿼¿ÐÚœ¯ÿùÓþ yþïô¥†p®âû?n¿{·ÚέR½Ï4†Ôʧå…’ÖLÊ#¤6vúPѤŸÈÛñM'}ˆ}#´qjÌ~pí…¶1î|ØÇhyDtÎL!éD¥§õ‡íêÓ NEaý0~þ1L¤’^2¨~ÈãŸÿ/ÊðUT¨!ž9-E°ÃŽn¢²ûk0`Ž»ÀÀê¨ïeº±ÿ®®êÅ ‚;ªÚðnŽ««i1º§¢óàÅçÕÃKà EÒœš$øÜ¸.xdÀ#<$ãÁ—U+ðCLÃ’ þæîòö¹Þ†qÓo= ;7« ØØ{OÆd<ì²j ÛÆôeûùéê¹}”{ëâÉåeïƒAjuèA<Ç]``M¼J7vUj9fc‘We×#s„qÑìJ^õWw«Ë‡Ï7ë»Us0B…Oo˜ Z-¬±¶/2B䨆²ñB”e«1À(a£ÜW¼z|xY=m uZ‹zYþŠ%ÀÜÑÞ¬€ô¬pˆž0oDYµ"¤ƒWrWñº?D\¿¬7×7÷‹5_bI€¤ ªk ÒÖÌQ¼5˜Œµ¦ªZŽ#&8!Ój NÒ¤a¤1'»˜˜å–u‘C ƒ 0È!¼¬Z!÷V(3è#äÔɂӄá-Ÿ,˜s›º˜!ÁŒ]g0C2sYµÂìÆEž;Æ|wùpý|u¹Y‘Àå¸Å–Î5ÿ¿ˆ“òÙ… $ì ’ñʪ¤´ÎÓZ™R ‰²bÐ~™Ž_oGîn×dì@XŒŒ·£¬ZÙ‘Ö|Ú°ƒÚÍÓBžÐiþë$ÈMìJŒÈ„‘’ñ”U+ ´L• J@îì-+´=£Ü².rd#9$ã‘—U+äjÆ÷'î…O2}ðIlùÇîbƒ@v‘ÁÉxleÕê \‡ ‚Òûåê¾ú´}ºü|½~Þ.{·äVöZ„Mw«é­º9ª³U‡ÙX-ª²µiˆWvÚ˜¹ékq³¾U׫֯˜i?¤é$øð­ZA‚Ì}è‚„@$¶•¹hƒÙxeÙ ä`Ç™è$³Ñ¢­ oñÐ&çþtC Û͆l<à²l XÅ´àÞ} €7×7§v¤Î}èÄ@äQ[˜Y•­@-¬œÎìþå—Ïw·Oë‡k’£w"Zó­¬$ÎÜ.Ndpbs¥¥qB6gY¶Zq)+Epv?ißöW\·/ÍPatX¶Ý¾ÎVJ§cÆÈþN-Ò'wsÔÈ&ÐNA2Þ©²j5D(+bðfò…tN/+tV…ÜÊ® Ȩ€d ¯BYµRAŽòzV¡¿73^’3V¿•yî|nD$2 ±¯ HHƃ,«V #?íÜþpu¹]®¾|½«/sw»v@ cÂbì€d¼eÕÒµjº©ëö‡õ¦%Ç ì`9~ë–ïÜãž#H;r„Œv“±ŽTU«•¦tJ¸Áí ~ì/4?®^V—Ë óõi¼pAɾ@È”£:A2^ ²j5Ȥu§ÏÛ‹;;–K¼¯— 7±+2 FHÆKPV­$H‡¿÷%X.ñvç–u‘C ƒ 0È!¼¬ZMѤ™eÿ€Ðº?o¬ï/oWË3~_aÆðQ¨ñææž8G{“ƒxm kMYòX= á¥9sÆríßòØqá²_,·¹U«æeËÞ=m¬ôB§Ãp÷¦3‘pæ¸ ¬Ä©Ó5Í5Æ<ÔÓÈU-ʘaNêýKwœ1û µ»Kâ‰âe™úÛì±Á ‚íÚƒ´=siæ¡ì©j)1Ëc}Zsh§f,KÔ× ›ØI[ÈC PÖ"¯MOw<îù/«Óí©c]؇8†5´¿ú…$]"@[%´–á@Z}ÜÞß-¯èòÎë‡@†8rh¾ªóÌËZt#…òÑЉ1Þ1H­Oà6•Ü .\dàb¿Ûp! ·¬EÀÕƒPÊë.ycƒ÷Äß^hnJ(2@±Çm ‡ZÖ"€Ê(¤·€>mo–ÅØëÈMì ŒÈ¤-ä!(k !§©x,5ZŸÚÓ›&¹M]ÄÈ Æ®·CqY«x|h{ðƒ+“c¶Ö¸·™Â:·¦‡i¬GnbÅ<Öª5¸´vÊçQ» 󼮯å"N%|0îÐPJ†)î2”éÚwúïl€D¤ e1†tÀî]a6NhÏLr—ºˆ!AŒM'C"qYŒ@œ¦ß(ñx¿^?-¯ébhO ëÂ>Ä1¬¡ûõs^;Ô‡4$é¢:i'=^^ÈÆ“Î뢆@†5 `C"’vYŒÀνÃ÷»ïw›§Ö½ãv ].”|á>êÜéîr™å‚k/÷ iIY‹°$Ð{›·^6Oä쾜©3ä&v€@FdÒò”µˆ«®:a£Ùï Ü÷¯ºÞ_~¿ºz|¸!Ÿ*XÆÎ´0.ô7á1veŽj¾ÃwóP®TµÚƒ…N'ñF:;{p{·Ü¯ñe6äŽvm€@ÆÔ90iCY‹°ÁI¡ÑhÃò†¶qnS12ˆ±ëmćD\Ö"ÛAh9Ýh<"^_Zø/²!w´k26  ¶ ‡´¡¬EØ £P6´a9àkĹM]ÄÈ Æ®·CqY‹@¬‚Pƒßo5ßoŸ—g;¦¹»]3 1aµÍ€<¤e-ÂŒTUÚé^ÝÜýU'ùÞöy£gîUoßé}££ÖË¡ ‘ ËbèÁ³¹ÐÛ߯¯V èèÜ«.hd@cëëwPì@C"tY¬ ZÅ4ŽÛ!@SÿV¨ñS¿n¢4÷­ièGÚÐ1½*F@Ogú1€N]X AÏ}ëB‡@:b  C"zYŒØãSV¥Ï0½òñ¡¿Ç÷py¿j?G®}\®ú¿ú±Ò^úòâw¦ ö{§vêÒæ•(qÒTµ_b>öâzÜ~\µ®4©”OªÅœ_¯ŒŒR8ïûK ¤¥™£èk˜ˆÒ¦*Fx#Ý œ™î ßôœÍõ õ4—ÂJé–+OMKÒ4m¹ýãÙd,ÉQô™&"-)‹µ×"R/¼›gÎP¿Öådo.š»ÔE bl:‘ˆËbb¥…‘arË0MI㯗{Ó·ˆf ScºPq Sè2ô†$ZT"€¦š:ïFnÈG¶—W@÷È­ì:ŒH†°‘”Å)tÞ{ÜmM¿Ïõããã÷§ò.ÒCïs7º(!A‰Í%PB"eY¬2BÙ¼{Vi˜^nøþ’ã:÷³çÄÑ* œ¶ †¡¬Ôöß²÷`¹Õ»‚Ë¿—å—{/K•Œ†Û|'Ë`U%qendstream endobj 402 0 obj << /Type /Page /Contents 403 0 R /Resources 401 0 R /MediaBox [0 0 612 792] /Parent 361 0 R /Annots [ 405 0 R 406 0 R 407 0 R 408 0 R 409 0 R 410 0 R 411 0 R 412 0 R 413 0 R 414 0 R 415 0 R 416 0 R 417 0 R 418 0 R 419 0 R 420 0 R 421 0 R 422 0 R 423 0 R 424 0 R 425 0 R 426 0 R 427 0 R 428 0 R 429 0 R 430 0 R 431 0 R 432 0 R 433 0 R 434 0 R 435 0 R 436 0 R 437 0 R 438 0 R 439 0 R 440 0 R 441 0 R 442 0 R 443 0 R 444 0 R 445 0 R 446 0 R 447 0 R 448 0 R 449 0 R 450 0 R 451 0 R 452 0 R 453 0 R 454 0 R 455 0 R 456 0 R 457 0 R 458 0 R 459 0 R 460 0 R 461 0 R 462 0 R 463 0 R 464 0 R 465 0 R 466 0 R 467 0 R 468 0 R ] >> endobj 405 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 631.8507 297.0286 637.629] /Subtype /Link /A << /S /GoTo /D (6) >> >> endobj 406 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 620.0229 297.0286 626.675] /Subtype /Link /A << /S /GoTo /D (6) >> >> endobj 407 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 609.069 297.0286 615.7211] /Subtype /Link /A << /S /GoTo /D (7) >> >> endobj 408 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 598.9888 297.0286 604.7671] /Subtype /Link /A << /S /GoTo /D (13) >> >> endobj 409 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 552.6717 297.0286 559.3238] /Subtype /Link /A << /S /GoTo /D (14) >> >> endobj 410 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 542.5915 297.0286 548.3698] /Subtype /Link /A << /S /GoTo /D (7) >> >> endobj 411 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 497.1482 297.0286 502.9265] /Subtype /Link /A << /S /GoTo /D (7) >> >> endobj 412 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 485.3204 297.0286 491.9725] /Subtype /Link /A << /S /GoTo /D (7) >> >> endobj 413 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 474.3665 297.0286 481.0186] /Subtype /Link /A << /S /GoTo /D (7) >> >> endobj 414 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 463.4125 297.0286 470.0646] /Subtype /Link /A << /S /GoTo /D (7) >> >> endobj 415 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 453.3324 297.0286 459.1107] /Subtype /Link /A << /S /GoTo /D (7) >> >> endobj 416 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 441.5046 297.0286 448.1567] /Subtype /Link /A << /S /GoTo /D (7) >> >> endobj 417 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 430.5506 297.0286 437.2028] /Subtype /Link /A << /S /GoTo /D (7) >> >> endobj 418 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 419.5967 297.0286 426.2488] /Subtype /Link /A << /S /GoTo /D (7) >> >> endobj 419 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 373.0256 297.0286 379.6777] /Subtype /Link /A << /S /GoTo /D (14) >> >> endobj 420 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 327.3282 297.0286 333.1066] /Subtype /Link /A << /S /GoTo /D (12) >> >> endobj 421 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 315.5005 297.0286 322.1526] /Subtype /Link /A << /S /GoTo /D (13) >> >> endobj 422 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 304.5465 297.0286 311.1987] /Subtype /Link /A << /S /GoTo /D (13) >> >> endobj 423 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 293.5926 297.0286 300.2447] /Subtype /Link /A << /S /GoTo /D (13) >> >> endobj 424 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 282.6386 297.0286 289.2907] /Subtype /Link /A << /S /GoTo /D (15) >> >> endobj 425 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 236.9413 297.0286 242.7196] /Subtype /Link /A << /S /GoTo /D (8) >> >> endobj 426 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 225.1136 297.0286 231.7657] /Subtype /Link /A << /S /GoTo /D (8) >> >> endobj 427 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 214.1596 297.0286 220.8117] /Subtype /Link /A << /S /GoTo /D (8) >> >> endobj 428 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 204.0794 297.0286 209.8578] /Subtype /Link /A << /S /GoTo /D (8) >> >> endobj 429 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 193.1255 297.0286 198.9038] /Subtype /Link /A << /S /GoTo /D (8) >> >> endobj 430 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 147.6821 297.0286 153.4605] /Subtype /Link /A << /S /GoTo /D (8) >> >> endobj 431 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 135.8544 297.0286 142.5065] /Subtype /Link /A << /S /GoTo /D (8) >> >> endobj 432 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 124.9004 297.0286 131.5525] /Subtype /Link /A << /S /GoTo /D (8) >> >> endobj 433 0 obj << /Type /Annot /Border [0 0 0] /Rect [292.4209 79.2031 297.0286 84.9814] /Subtype /Link /A << /S /GoTo /D (8) >> >> endobj 434 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 631.6492 522 637.4275] /Subtype /Link /A << /S /GoTo /D (8) >> >> endobj 435 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 585.4885 522 591.2668] /Subtype /Link /A << /S /GoTo /D (8) >> >> endobj 436 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 573.5624 522 580.2146] /Subtype /Link /A << /S /GoTo /D (8) >> >> endobj 437 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 562.5102 522 569.1623] /Subtype /Link /A << /S /GoTo /D (8) >> >> endobj 438 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 552.3318 522 558.1101] /Subtype /Link /A << /S /GoTo /D (9) >> >> endobj 439 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 540.4058 522 547.0579] /Subtype /Link /A << /S /GoTo /D (9) >> >> endobj 440 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 529.3535 522 536.0056] /Subtype /Link /A << /S /GoTo /D (9) >> >> endobj 441 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 519.1751 522 524.9534] /Subtype /Link /A << /S /GoTo /D (9) >> >> endobj 442 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 507.2491 522 513.9012] /Subtype /Link /A << /S /GoTo /D (9) >> >> endobj 443 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 496.1968 522 502.849] /Subtype /Link /A << /S /GoTo /D (9) >> >> endobj 444 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 486.0184 522 491.7967] /Subtype /Link /A << /S /GoTo /D (12) >> >> endobj 445 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 474.0924 522 480.7445] /Subtype /Link /A << /S /GoTo /D (12) >> >> endobj 446 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 463.914 522 469.6923] /Subtype /Link /A << /S /GoTo /D (14) >> >> endobj 447 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 452.8617 522 458.6401] /Subtype /Link /A << /S /GoTo /D (14) >> >> endobj 448 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 441.8095 522 447.5878] /Subtype /Link /A << /S /GoTo /D (9) >> >> endobj 449 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 429.8835 522 436.5356] /Subtype /Link /A << /S /GoTo /D (9) >> >> endobj 450 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 383.4688 522 389.2471] /Subtype /Link /A << /S /GoTo /D (6) >> >> endobj 451 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 372.4165 522 378.1949] /Subtype /Link /A << /S /GoTo /D (9) >> >> endobj 452 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 360.4905 522 367.1426] /Subtype /Link /A << /S /GoTo /D (9) >> >> endobj 453 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 350.3121 522 356.0904] /Subtype /Link /A << /S /GoTo /D (9) >> >> endobj 454 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 338.3861 522 345.0382] /Subtype /Link /A << /S /GoTo /D (9) >> >> endobj 455 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 328.2076 522 333.9859] /Subtype /Link /A << /S /GoTo /D (9) >> >> endobj 456 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 316.2816 522 322.9337] /Subtype /Link /A << /S /GoTo /D (10) >> >> endobj 457 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 305.2294 522 311.8815] /Subtype /Link /A << /S /GoTo /D (15) >> >> endobj 458 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 295.0509 522 300.8293] /Subtype /Link /A << /S /GoTo /D (15) >> >> endobj 459 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 283.9987 522 289.777] /Subtype /Link /A << /S /GoTo /D (15) >> >> endobj 460 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 237.838 522 243.6163] /Subtype /Link /A << /S /GoTo /D (13) >> >> endobj 461 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 191.6772 522 197.4555] /Subtype /Link /A << /S /GoTo /D (14) >> >> endobj 462 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 145.5165 522 151.2948] /Subtype /Link /A << /S /GoTo /D (10) >> >> endobj 463 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 133.5905 522 140.2426] /Subtype /Link /A << /S /GoTo /D (10) >> >> endobj 464 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 122.5382 522 129.1903] /Subtype /Link /A << /S /GoTo /D (10) >> >> endobj 465 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 112.3598 522 118.1381] /Subtype /Link /A << /S /GoTo /D (10) >> >> endobj 466 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 100.4338 522 107.0859] /Subtype /Link /A << /S /GoTo /D (10) >> >> endobj 467 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 90.2553 522 96.0337] /Subtype /Link /A << /S /GoTo /D (10) >> >> endobj 468 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 78.3293 522 84.9814] /Subtype /Link /A << /S /GoTo /D (10) >> >> endobj 101 0 obj << /D [402 0 R /XYZ 90 720 null] >> endobj 404 0 obj << /D [402 0 R /XYZ 90 672.1793 null] >> endobj 401 0 obj << /Font << /F51 9 0 R /F71 6 0 R /F31 368 0 R /F38 371 0 R /F2 375 0 R >> /ProcSet [ /PDF /Text ] >> endobj 471 0 obj << /Length 1256 /Filter /FlateDecode >> stream xÚíšMo7†ïþ:Ê1Ëoò¨Z’£Öv KQ …‘6-PôãÐS~Iy¹š%9C§h‘ÀZë ¿šÙçÝ!—ŸuáÁg¾›Y)™WÖÎ~úã¢ë?þí‚÷¯A±€’oöo6šÏxÇ|çùlÿË(ÈþÓ÷óÃ¥“ó]òù¯ü=<ý|¹RÍ·~z~Ãç‡O„èÜ\v—?쿽XZˆÖ1EIyP6”bRÑ”qŠq©ôñ ö1Ï›ä3Ǽ1*j©…o8Çå³dùЋqÍœ2&ˆ£†…£·œxmÉÿñõ/”|=Ã(œe¡°bfŒgB‡S tü7`9èPx*…2\¤Á ÷oY'œ¥­XhЕiG‰6ÒŽõùöëGq¿¼^Wl"Óœëó¶ êç60Èþ'ý!Í~œ° ¯,“θû§õÝ¡Â?DrB¸WÌ…›ªÔÄ „`Xt 1ˆFCÎÓ˜¥aJK;Ƽ¹Y^ï* M8Îð÷ª@£hSešh@ Í9ŽD£Ñæi ´B3-:Ðî®jLãTºiŒ'½JÙô^€d¸Â½¢Ñ^ÈÓ^s=íl?×»Þn*F“ÖOFø|w¤â6Ý„„; +.pw€h´;ò´…;:ÉŒV|pÇÓú~7 ‘EªL-ha¡)´ 6O›£Õ^0+YŒªòÌjãÏæêLj§‚µ€ÎVŸÀ b‘´óœlÇ™uÖh߯6ÓuA¤Ê4±!Áš ¢Ñdó´ZÛ1§•Ю¶»éVü3]ŠØt.€L¸Á]¢Ñ.ÈÓ.ОyÁÕàlN?¹€pA*bÓ@H¸2áwˆF» O[,îjá#ßçqå}{q÷ýný´:lÃ`p[[½QL8#?jˆP+#ü  $ ‘T;}6Dž¶h qÞ°ß®ëem’§™ÒŸ[_@Á§º5Á!b Àƒh4ø<í¼ ¶ð6ô‰Ñ^OijŒ+yo÷·7ç9íÓ<Ì“]G‡ÊÔº€ËpuÀqkÂvïŠdVï휰†þ}$‹®ÀûóY?1IUj"B1,:‚BçÉÄF2îäi”&6ÙÎqªR1ˆaÑÄ Š8O† Ö!m×ß*ÄO·ËïÖWïîjK°!¤r<'Æ–I/ä©Lã^·€Â ã<\¬£©"qPÄy®ñLüÄXH¦Ó:Ï™Ç_lô›·‡íúChæÓfÌ¿kÓá—t| $ÚARíB½’'«·í=ãºo>½ð:ɤ֯r_ƒ;Ô§ q¸£r×áÂ@Ü"×9flßuÜ›åÝjwµ¼ÇwÕ9ï˜3š%œQ4éìšh€@‹… P4y2¤GÇU­úýØîÑ«ÃvÚ$ý/l¥™ö/èÚPH¸'©÷€@¨{òdÈ…-5ã¢o#ÑÓ6Z wªX7¸!7„âΓ!¸…bFõ­éˆ»ÝĽf]ü¡Õ×E–κ‰  d°ˆ2E–'C…áôúÞ½Ù^“ûcfÚ©: ±é $™ðê] „: O†8®¾F{c“ê WĨñ2á€êbø?,5»€endstream endobj 470 0 obj << /Type /Page /Contents 471 0 R /Resources 469 0 R /MediaBox [0 0 612 792] /Parent 361 0 R /Annots [ 473 0 R 474 0 R 475 0 R 476 0 R 477 0 R 478 0 R 479 0 R 480 0 R 481 0 R 482 0 R 483 0 R 484 0 R 485 0 R 486 0 R 487 0 R 488 0 R 489 0 R 490 0 R 491 0 R 492 0 R 493 0 R 494 0 R 495 0 R 496 0 R 497 0 R ] >> endobj 473 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 669.2532 297.0286 675.0315] /Subtype /Link /A << /S /GoTo /D (10) >> >> endobj 474 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 658.32 297.0286 664.0983] /Subtype /Link /A << /S /GoTo /D (10) >> >> endobj 475 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 646.513 297.0286 653.1652] /Subtype /Link /A << /S /GoTo /D (10) >> >> endobj 476 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 635.5799 297.0286 642.232] /Subtype /Link /A << /S /GoTo /D (11) >> >> endobj 477 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 625.5205 297.0286 631.2988] /Subtype /Link /A << /S /GoTo /D (14) >> >> endobj 478 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 614.5873 297.0286 620.3656] /Subtype /Link /A << /S /GoTo /D (12) >> >> endobj 479 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 602.7803 297.0286 609.4325] /Subtype /Link /A << /S /GoTo /D (12) >> >> endobj 480 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 591.8472 297.0286 598.4993] /Subtype /Link /A << /S /GoTo /D (12) >> >> endobj 481 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 580.914 297.0286 587.5661] /Subtype /Link /A << /S /GoTo /D (12) >> >> endobj 482 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 570.8546 297.0286 576.6329] /Subtype /Link /A << /S /GoTo /D (16) >> >> endobj 483 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 559.9214 297.0286 565.6998] /Subtype /Link /A << /S /GoTo /D (15) >> >> endobj 484 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 513.756 297.0286 520.4081] /Subtype /Link /A << /S /GoTo /D (11) >> >> endobj 485 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 502.8228 297.0286 509.475] /Subtype /Link /A << /S /GoTo /D (11) >> >> endobj 486 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 683.2607 522 689.9128] /Subtype /Link /A << /S /GoTo /D (11) >> >> endobj 487 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 672.7851 522 679.4372] /Subtype /Link /A << /S /GoTo /D (11) >> >> endobj 488 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 662.3095 522 668.9617] /Subtype /Link /A << /S /GoTo /D (11) >> >> endobj 489 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 651.834 522 658.4861] /Subtype /Link /A << /S /GoTo /D (6) >> >> endobj 490 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 609.6289 522 615.4072] /Subtype /Link /A << /S /GoTo /D (11) >> >> endobj 491 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 598.2795 522 604.9317] /Subtype /Link /A << /S /GoTo /D (11) >> >> endobj 492 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 587.804 522 594.4561] /Subtype /Link /A << /S /GoTo /D (11) >> >> endobj 493 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 545.5989 522 551.3772] /Subtype /Link /A << /S /GoTo /D (11) >> >> endobj 494 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 534.2495 522 540.9017] /Subtype /Link /A << /S /GoTo /D (11) >> >> endobj 495 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 523.774 522 530.4261] /Subtype /Link /A << /S /GoTo /D (11) >> >> endobj 496 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 514.1722 522 519.9505] /Subtype /Link /A << /S /GoTo /D (16) >> >> endobj 497 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 503.6966 522 509.475] /Subtype /Link /A << /S /GoTo /D (16) >> >> endobj 472 0 obj << /D [470 0 R /XYZ 90 720 null] >> endobj 469 0 obj << /Font << /F51 9 0 R /F71 6 0 R /F31 368 0 R /F38 371 0 R /F2 375 0 R >> /ProcSet [ /PDF /Text ] >> endobj 500 0 obj << /Length 1032 /Filter /FlateDecode >> stream xÚÝW]oÛ6}ϯУ T,¿I=.XjtXöÐ8Ø€¶j¬F¥Uœ5û÷»$%™IqÁš yp,ÞCòÝR`ø#E Ū¹RÅÍÝßž‘á¿ •9ßœ½~#HA0ªqMŠÍç“ ›íûrÝvmßìWc¬|ÛmW¤lW)Ÿà 唕Œ¬>n~9»ØL4‚ÒÜF $܉‚(D‰àÃN¤æˆ0.†Þq7J˜Ý´O†Ü­äˆqIÍJ8%Sˆ‰º¶ rZhTKÉrÆ™E4ûCÛwÍa÷çŠê²}€øœ•‡{óIË_ o³YiY¶T—·.Ó^<‚%ÒJhlâ!X¡ÈÂÍCžaùLªÒ„ÑB2Š4ÇÌ\<\œýÙgÂU>Ð*äßaÎÒ€¶VS-Oh#ž˜p!í©¼Æ˜#-µ”çY}ϯ~v’Þ5·VáWî«“»x_¥»v²Ø˜Ü”!¹ú7äžß¦RH(V¢†—–â:%∫|`(bΈ„Ö¡ˆh"OXcޏ kΰ¾J6wÖɰÖy8{Vž4lî°“aiÁ®BcÄy-¯×Wƒÿúöë ”÷ýòêÎæ·/¿)‚8Öäee—çÎJÓ%eEö€ "ûwNIZd/Ú²ÈsÚ +  åE6+]TwÕ|?ØáÓã—™/Àýá!âØ‹Ö`¸ÿ¨#’` FuÞpÁ#*ç/ڲ洡 ¸Ê´Îz`=UÛdD«“õÈ}çp}ûÍ|}Üõ¶Úƪ‘ˆ+ª~´9R"óš"ID>›ûÀ´ÈÊŠœÎæ~´E‘iAbnª—©þÿTÀ±½ÚÚZL̵>0ÝZœÜWºµðƒ-¶ˬA¸åÖ"wÖ£—Yçá2­Eî°G3ÎiO3ƒÿkEx!¹DJqWîÞÆóŽ€Ì4¼'»îfoóÈv4ëåàɘð}ëž=È_Ý JÑ¡yrÏ>ß÷ÑœCAlÊ_ô$`ºd5e0‰3uJô WùÀ@ô0\ÔàfÖõã¤Æá€+¡´0ÞÐÌU˜Ë¬Ò³‘gk« ˆÌÆI¾o»›qäým`fÅw#»E´Cíq㬻vè¦ÛºLb‹xBa¸ØhÜókÂà .4d ªRÓé„«|`(N..VˆÌHc °ç,X4õxU”æ2{З! ÂÅSñXî””FÈR6äÆýÄ™ì]ֆﬓ¾ZÁ¸³ë†V÷üüdu|½üŸ£pðâk&ó68â\0€â¯5Á1LÒ3¦„8d"…±#û=kïnØÙÞ4ýö™ŠN kþ¸¹8¥h¦©8JºØT„áÒov¼ŸøIчIendstream endobj 499 0 obj << /Type /Page /Contents 500 0 R /Resources 498 0 R /MediaBox [0 0 612 792] /Parent 361 0 R /Annots [ 502 0 R 503 0 R 504 0 R 505 0 R 506 0 R 507 0 R 508 0 R 509 0 R 510 0 R 511 0 R 512 0 R 513 0 R 514 0 R ] >> endobj 502 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 632.8403 297.0286 639.067] /Subtype /Link /A << /S /GoTo /D (22) >> >> endobj 503 0 obj << /Type /Annot /Border [0 0 0] /Rect [277.5739 589.1774 282.1816 597.1475] /Subtype /Link /A << /S /GoTo /D (1) >> >> endobj 504 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 589.1774 297.0286 597.1475] /Subtype /Link /A << /S /GoTo /D (14) >> >> endobj 505 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 578.7062 297.0286 586.5766] /Subtype /Link /A << /S /GoTo /D (21) >> >> endobj 506 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 534.7893 297.0286 542.7594] /Subtype /Link /A << /S /GoTo /D (21) >> >> endobj 507 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 490.8725 297.0286 498.8426] /Subtype /Link /A << /S /GoTo /D (24) >> >> endobj 508 0 obj << /Type /Annot /Border [0 0 0] /Rect [277.5739 480.4012 282.1816 488.3714] /Subtype /Link /A << /S /GoTo /D (1) >> >> endobj 509 0 obj << /Type /Annot /Border [0 0 0] /Rect [287.8132 480.4012 297.0286 488.3714] /Subtype /Link /A << /S /GoTo /D (14) >> >> endobj 510 0 obj << /Type /Annot /Border [0 0 0] /Rect [517.3923 629.4752 522 637.4453] /Subtype /Link /A << /S /GoTo /D (1) >> >> endobj 511 0 obj << /Type /Annot /Border [0 0 0] /Rect [502.5453 579.7839 507.153 587.754] /Subtype /Link /A << /S /GoTo /D (1) >> >> endobj 512 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 579.7839 522 587.754] /Subtype /Link /A << /S /GoTo /D (14) >> >> endobj 513 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 530.0926 522 537.963] /Subtype /Link /A << /S /GoTo /D (21) >> >> endobj 514 0 obj << /Type /Annot /Border [0 0 0] /Rect [512.7846 480.4012 522 488.3714] /Subtype /Link /A << /S /GoTo /D (14) >> >> endobj 102 0 obj << /D [499 0 R /XYZ 90 720 null] >> endobj 501 0 obj << /D [499 0 R /XYZ 90 672.1793 null] >> endobj 498 0 obj << /Font << /F51 9 0 R /F71 6 0 R /F2 375 0 R /F38 371 0 R >> /ProcSet [ /PDF /Text ] >> endobj 374 0 obj << /Length1 1466 /Length2 9127 /Length3 532 /Length 9993 /Filter /FlateDecode >> stream xÚíµUX\ÝÒ¨‹{pׯÝÝÝÝ‚4 q‡àÁ‚»K‚C‚ Ü‚»»íþÖ:ÿJÎÚ—ç\ígwßô[£fÕ;jÌ9›š\M“YÜd”9º1³³° $•5øì,lHÔÔ’.@37[£”™PÀÎÏÏw·p°Øy8ù¸ù‘¨’ 'o[k7$ý?I¼q ‹­…™#@ÙÌÍè®aafÐYØݼYâöö®ph].@K$vv€¥­…ÀhmëˆÄú¼£Àûï°¥»Óÿ,y]\ÁR:°$=¬h r´÷X­XU@à^@°ÉÿRÿ]\ÆÝÞ^ÅÌáŸòàýo«f¶öÞÿÏ:ÈÁÉÝ èPY]ÿ;Uøo5e ¥­»Ã¯Ê»™ÙÛZˆ;ZÛlÿÙºÊØz-ÕlÝ,lVfö®ÀÅŽ–ÿ-Û¿XÕ4tô´ÿušÿZR3³utÓòvúOÑrÿÅì<[/€! ;8üýŸ_ÆÿÕJÚÑdi뾸yf..fÞHàûLÜ_v€­£%Ð ôû²²8‚ÜÀ—À#ñX\þ9Lðy³Zý+öoä£í‹ Àjrp0ûá°Úx;Ùÿ„ø¬>@П?€äüs³XÝ<ÿ¬sƒ{ºÙ¸ÿÊø§-ÈÝåO€ó¿2À&®à‘ü‡Á®@¿4ÀÛgý÷þ' `u´ýK„œ"ñ‡ÀÞR,-ýâ+Êþ!ðuJ\Vù«¨ü‡øÀÑøCà]hþ!ð´þxÚ\Eï?~LXÿŒœ¼fþ‡Àž΋ <[Ë¿ì ü ÿ™ë_ö±þ Á ¶!¸ë‡¿ÜÖþ/÷uøƒìྎ!¸/è/÷uú Á}ÿBð \þÂŽò/Ûí/[¹ÿ…`+¿låù×Ý ¶òú ÁVÞÿÂÿýñ”yù2sò˜9À÷'x4<^n6ÿÿW¢…»‹ ÐÑí_o>ðCþ?le ~%^@ ¤Å9…`¨]ZsxE€tÑD%,¤„õ·•†ÓÈ! ‰ö¥ÃŠÎ kõzU™X¨»°»džÏD®Ñí~ê£2gAΠ鳯»ïw3}Zˆô.3•½wœ(îBŽÐÚšg®¹!U§ÖF*Rô‹ûsΨÑIiíÁ¯Ctz4vg…òðêÉdÚkG„ÕÓp’k §;WDrE¬z¢§$Á¬Ž‡ØE |g\¾µ»c>!ä'¿Ýá|°h'ãÔøÍ€­±'z\^ŽV÷Ö7X#–°ÖtìÂ.!h ˇäb…×äøJ›NžãIG*{œ1µ´ë‘¿Pó¯•n›r2šÚ+,”°'¾6{ëµ¾Lï¼Lc·¾×Æ™§?ôQþ¨ p åðbÿ€nw˜Ö8§ˆŽÅ%Ãc¦V%¶E&"_›å€†Õ<Ôa&Z'‘,0é[>¬®oLÙØ¸wÀ›â³Wˆ_¢ö&À !²hç9¢f}ÃãÔ7Ø8|ŸüÎë“ ‡|ÁPÐD=šW&þ K2«ÀÑ9ª]n³j‘)étÏÁ4r™ÕSF9"†ó¬P´ïzˆ½†ÅÇT1þ.î x^uò’iÙ&ªìJÊBœ‰EñéZ—É©—((ÕŠ¡È([/óQ1 þU†·Ûù]òþ*†¯Š¯lhr i)hY´tž¯²Nþ©žâ CF6¹”ñÞGò…æÊ>ÛÁ`3‘Ò¦cÙ:\ø¤#炯˺çÞ‡c‚œª >Åõ§ê}¦øqrÞ­ò¦å»‘¤àM»¼M9É„dþ¦½~C蘫6yQÁHâÓÜO-˜#¿Ù3¾æ0‰èòÒ:AjØ[õšù~Æž» ÃHF&IëöÂ4$zÉJ âü%ÈóE†&¤8¼yÐB¶‡n¹+õ€”Å]—rmâ¢å 8»ø<⟨Ë7òŠqÔo+éýÁEÓ}ðýFôò<‘3ìlÉw£F8t¥&;%.ÄA>*ˆGê6jLìDU7œØJÅ’¦}có¼¹’) £¤†aYëªÛf7xºÙïÌ/f.ç$ ˜«,˜Q«—ßã«Ûßâ"+»(m”ýå¾e']Ä./r1Å€Äû4†â÷©%¾¢9´i³wé‘5‡ÄaìÖï´þ~«‰eÛS³°ó èÖ€ ‹¬ª~”øX‚^m̈ž VÞg˜ém¥Ô#î§X6X%Û¢ßÕ'‚—¬©KGÜ´"5,ú 8v‡œ³À}Ñ uv’ä†W2ÚsEpÜaÞ–Á±o,T°Æ¸‘`²w}o¶‡.ßÒÓÆ÷†gãÑ8hw¸îŸÏoiZ2 ç})ŠŸÎ§Z 6ÿÕ`RV™’r5Ö0ª6€,º3*Öõl1¦mÜ)9ãpSï39B=E5q)ö–}x®{ÿ[Œ­²ò[» ‰ÜÀòZ‹–…@s‘cvLøeiÃàI^®F¼uA>D]¶€û ™Ac!èz¹ÊóˆŠì‹„t«­ÊÍoßDjnñŒÏC÷õ,?¨‘îîçïÚÖŒ2.NG‰´##úüd2SƒNH V 0ëÎhºÂ!“{Ž*L?Z¤È)Ì-äʇrE¶sÀ.åaˆÃ•õjÕÚ4mê*ú•”ˆ~\,:å›v| Q+m¦vË–}-ôLôñRèn¢:’¤K29‘òm()yž¦ìÚQAËl×;ÿÄN<òS ÖéçSÈ×6Ó ›€P³@RâÆj/¸3\ï£/Ø­Îj)™¢]ìùv2øa—]ϧ v5}þÇirnž¿ºŽ·(\œTB`QslFx˜£bcêl‹cFA6­‡ñŽ'Y/Î4°@µü·Ï·„°ñ#3sý$üAxI·uËX}í5¼Ì·n¥kñû«J88rδÞàº\ÙÓ;­[C;bi!*+¼ü‹§Ýª"%ì‚›þÄç¹$•¢sAç§å$˜>¤é—oîò ëÀ>­vÒ‰ëÜâ, ¦Ê¢ãæG 5”V~ïûðù6r)@蓮F&˜áÜ×q ¤Åv+Ï¡¥Ë€—vtéî$d7ž"rËå¯Pí ²¢â²Eš‘ûæ<@Øïɉôá1 j/ ƒè™°€Äñáñ¯™¡i/ã`œÐszÇÔmG~ÁÞ-ƒ ?h¥–QÇô>ä§ô¹,ý>ަîQÂÁÕ\ktIv蟊‹z‘·6ˆÈöʼ5Ù+°é$m|E:ëSm„öÙ=ó¯Ž$]BGh 2z,ݶ¼2âgbÐóì¢Ý[Ÿ¬ŽhÌ.üÎüû5•™™>mß’g7§¥dHíá“HÁeðQ1V3ׯ¾z{O:5 açÉÂsê¬Õ|ö•Ú(ÜVH}“ÿR;çî®l¨‹¿Ü©/ðP O1–’¢~¬_x)w|ßþÐ˶ܔ#Éíú¸%îmîn¯^kÄú@܆$ŸŸ-}«NÀ#1ð‰”ø½p'£0 ‘sÔ× àÄß‹T› ²É¦¦¸(44еû4'o¡{¡ll{£ÕCųºà¼µŸÄ®^€ubÌ<ƒ©ºtŸãÍ­˜Å±ƒ÷mòdæ}ðÓQ¹(v9OØU%W@L–\Se‚xϬ²ŠÉa¹“ò£Œâé{BžiUcx}Ü2ó®l(Ìóúº}…â›A6¼®f€ËŸ ==× ¨ œjO˜;ßof,[p²ªá®kV>ͨW ^ÜÏy:QÕÕ÷Ldóá>nçÈP[/ñN©,!Þ"G„ èm²Äµ5‡,Ÿ«ìSeÓÆ}Õ€(IY,ã|'R'YóƒNVç&àé‹âL/’Ùàܶ–¨b_ë4·zòCñA –í‚‘èäÚˆ‹ˆè0zR6¹ŠC‰Ï å8dˆGTÒÙo­E†ûw3Ù¼7éFgdGÙãP@e— C•¤¶„‰‰‰õ•¯]•ˆ!ÌGû A¯}m\k¿ÄÇd¢é°'Z ðÏA_µh}x3‘˜¼N íÝåù‡õº:&4„/(d n½‡<]M¢(SäJ٬͙ª÷Ú6—b\ßåÿ˜|>a娣¥µX~SúèøÂåÚÓàå^‘¯\] l#Ÿí[LåL.²_”Ì‹‡0T|º=¾Úý{g½¥IR>3;šlÑý‰Ø9çh(}X%dú´PÀ\‚¢ÍbJê„é8Ì´§Uy“±P%õþÔÄ÷ÔØ~ŒF|Yõ†ø{Z'6byo(ø-av†Yr£dE-YÄp,9M¶o£} ŠYßÛÑ}‰3N…õéöãmî& šñyeüÌhÔB³ßCa¸Ê‰èx°«S?¡ÚñÉÅÒ­‡>wÓq¯ŒXl…S†ú¤­4™±„y°?ÉÞÎÔÅ‘†$uf˜ZxâFwcs¢Bky·Â£žq™Vçµ\¢U.£j—¬s“¼,a#›Rñ„/¶TJW.îm9´œWj‘VS’ö³'lrI°t;²´ԾƷt¶ø¬’Îäˆ*åßìHl³>¦èJŽï¯¤ZÑÔMÅeÄN8ÂHêšLW9"E—ßꜻvaò6%Ö™Y!¾ã ùY•Ô¢ž¯jØ"mê0:fªšŸ‘uaþ˜¯3d„¶ïÅrœ@}lyDI¹ <`Pƒy¬'¿ÏÇÔ•7(Èe ÏáÚ”÷³ce°JÊw·pØhõ™R†%¸%cÇKµMÿ*Ã×Ó?ß"‚ƒ©†ðÛTZ\»ßtdìyôÚ.ÇÓj š’l:â&W¸†)6%°‘nCZéeíC»^ÃþA=:ì” «óJ´ÁM¯ïöæ%L}™Ž IÃõ4e쵯ýîÌãé'ÊøÃØ«’uÍÏçŒôSŸ¹_¯É©ÎÞ'RÓ‹”¢í¥ÑP¸ìt¾ï§.±ñžUùŠçg‹¶Ãâ[¸‰ÏÙÿ  Ý5ܼ}\Ò¨Ú%‹z«^m(ÂeÊX’ˆÍÂàC“Ÿ´ÎÎÛ7ìÅRCò§pÂYP`/…zHóL!”EœÙÍGòbç¹ì›£î) -åx´ò‹"À4=bH ±e‘#¯¼B¯Ï^ Ù1]ˆºD‡<½ç4ˆœgPÖ©E>>'_ðze{öŠœ¾%ä¶ÞËö™cÕ8<ñA‘oh¥ñÏ;®‰­k()‹œ| Šª¢ãè˜ÆþìêT§ ÕêĬ³¾e‡kÂM¼úÉŽx-Î0f×Ì=P¼=–åAMLà»ÌéÃÂx©Wµ‹ùs¼NïÍ÷ïüiÖ¡[½vÆË0©á—ûZjÖµš™Eá•%Ì× &ôìö"ffr×J³=)DÊ8§^0-Ó©šÛ!Ðo(î–æŸPQ‰ ‘dÓ—¡(’7_õÙžºzqsWn®f¾’yFþV¥×WêMwUÙ(¥“£ÑÉ€yÒ=©‹¼…8ñ5XyÛ¶¶yOz¥fÁ=ÊÀãŒêÁc(‰+bÉâ³æ½bì<R²‰RÒ´nu°SפF^DÁxž”Êü¢ŸEý[]…éK2ß^0–qiÇ«³HÂRRUìŠíùoI‘ÆŸ)‘¥»­RSÄ'0{&]h³~5RÁó]›¿Ä¿×É©`¼±÷î¿*”0²šD*/vj>N<ðô›gï¶&'¼–¸­Ž¹Ö\H*„ª¨zv7wNø6'ÐYæëÖàVéå¿ 8±Ú8¬šÊ.e†x#Á(Œ»Ÿ97âשBâ-a5ÛF¨öŒvVhNMðV\ã8°6O}ÕR úØ„}w›Ÿú˜1ã+I Ë ¹é)hó£6ZZiÒ?‘ѯֻý¥Œxcw("ð(ÙŒOÀË'áþdu•nŸG-»µNÛdgCm[õŒº§Ñð¬"¯¶zÖ'ÕÜóQbëIJr´3‡ÅéFÜ?:>-Ò©ëK|pÎPÄòWší¯DÆ;Й¿Õ_”+ee‹ØÈYàq‹Â¥Ÿ´‰LF¡´vôg+Mý£í‚TEV=øÌìCäW=éò rÄE¤ùs½U4Ú]€À^ŒR¿?v*õTô´³+J‚ 4[©ÿÒxp#”Ú´PF½åï$—nCVF¸WúOÇÈwG$ ˜Gi !‰18X’$_/Šg¬u3æ²< '®5/¶æµaçTx½š ãõy<sÄáHã¼A›~¤ßì3L1‡MhÛ9¸ì¾oq§”áoK«CäxI« IѶ#cÊŒJ%ÿ LÚÌ^) â3_⦞Bz¡/úiU%rÛ(®“¼(½Is..´*¡S˹à£ðQyÔ‰/܃½Âoå§"ÝúT#îÛ, ¤øÐiÑY\CÌÌÉfs…ùÏåÏ;4®ó¦»„z·…È?%ŒO ÄÃxÆ žƒ§3šsZ˜l›sà³ûÆ–å®  ¹»ìí†hEÚ Fƒ'!–ÖÅ‹“5°(ƒ~¹@‘j™ËQMy^Lv6¤@b—…i}~ñ±ÿ$Q^c=MÚª‚ºOàƒã xÖJá`䜬¿>mòyà=PȬ¬’&‰#zÇ#Es¯/¨ò´ð;±v3"²(-ÌLs!ÞýÍׯî$‚è÷»ÉÀÆãE¢a@Á¯¡ù®=ö´Yø18!Tä×¢·†bžíÞZÁH~CFÿ/Ã)ÝÏIBŽcqè¯ñ.Y£ŠÛ”·³«DƾωæÎc»}m6Dû,(ܱÔUô” °£éYvLÈ_å6Û;¢ Cà×1cp”Ãécža`0nܘñ×Tˆm-Ý,;}äô‘ÄÊ8… G/)S!pçÅ~9_Þ“qJ±Ø$Ö—¤<Ëã±{Ý~‚ÿòšý¨/ÝI§Ã"2³b_”ÂP…™š~ùiêœXàÆÒ 7ôd(Ìtıƒsž1·{ ø.çæÐg:9Ã&zcŸ%°· 1ãLUYuÑχyŸ¹²Æp^V=ÖO‚Å!Íüéßnè¼PEµÓÒöç¡Í[‹àn y’Âì_M¶Y©ü~pŒaò" ­„f5œÝ0‰†#ŠY~yuc‚î–És4§hŠœÌ ìQxSt1ÒôX•ú†ÔŸ€1þósìñ#•1’=)‘AþQp¨Š7±Žp»Su¦û¸–£æÊæ…M°Óþå¦%ïôXa[;×{Ði}vQußÞç]]Ùð•5eIF|Ýj¯¥ YDÌç ï×x­\ZCvGnË ,÷ð7Æg¡’Äéõu:SŒ¥Nšh_bâ×D'élÛ!=˜³¦Š¥°Žçž>í}»¤\”ÛO¿]Ä[;æÞÎÍÒ¹áøž”H£Ûå·]W2¿Œ§oïiU£)fUÄp23~•\}YKVà_?ñp¦ÙØw±Å÷K«%þÌ‹pµj¸á)ü¾ 4¡ï[ I\ø›}xí‰TG+{éRLúC½múŠ`ªWÂ*|èÏ#L‰.K°wj†ç©J.¹…C×p:ªßº6¶Ê9ãgäá¬Ý Û¨½ &ü]ï3ßF?Åä"Óð›Wk!|¥‚xe²eÚÇ %|Ï%N¢f}b"b—ƒ BýÁcì}ÏJˆ£Ô1®"Õ9›5(6È“OÌÈïËyöûØþæP|ÌõNtiM2Vá—‡¬VVR3eH˜Èå–}k ¡¨Ñ½jñ;•¸eŠPC êyCBË´®öÐ Eª”U”š 7s¥£j±Ùv²)±øqÕœFèÍ#¯Ý—Á ¶)¤°ô²níƒ?|^÷GÿEB >Yò@P·þ,)£Þ–ä“]Þ ÿÓj(êÒ¥•–69Lºl¤[RP€Ñ… ïPÂáæ¦¶­ È÷n’ý‚äämï‹oë6ÇÇ9º~3Ù›qžâĽ0ùü}Ï…œtøå(Ǩ¿ï® ,>ÉøT;!™˜ø–Çca)Ÿ0hGä{. ÉrçV ¥àVÃV‹gý¨¿—ÈákK» ÞV€-B£:X<€ú\­êƒ÷Åk5ÖAÅÈ´ï·S-¦þuÝXQâu,øs£´v1ÑuøZ: ¤£¹ù+pzÁ­U2¿Ñí}‚žÄ@gQïÈ3:¦–ˆÛÐS`´à1]MÙa}‰k F:~IÚ| 470ßÖâQ¨›¬®ÍJËÑ-¢`ÆÜ¹ØÌ+„ú›ÃDØd;0r¡ 2ñŠGY Š¿Q8ZøÓ•LÄ ×$•¹/>Ä­•ˆ4Yr¨„sað h¨¥ŠÑ>Mš™Ò(Ë4ñ+ە霒':ÝÕtUW˜ö!„Š)g…ŸÙ²^ ßQ!£Þßu›Wi§UZ´À’ÝÕ‹‘È"?|±øl”l:*àr4ðe~ê2ü'Kç&£1 ÷Êý-pvÀeXŠ<íWb¦‚À¡ñ¤vÿªƒ¬M4Û{‘3Þ´…ëwÁŸ/ ¦‘ˆ{¨)®xè±qCÓ/èZ¨ÂE»²ØÉØX¹›–hq¬Ò—Ôɲœeì'¦åtD³Æyåi¢0†_u£‹Ékª+eùça|ž¨ô°©©Üú:Âð[+¶‰æ"ýÌ­å ·•^CM–7†á:¼OU—€˜¢A¤_³çð ØO ÓÜ9‘dU>¸÷U„ìäN-$tñt(]ƒ0n¸p†¾4!.BZ¾É*°#‚<"§6ÕcCÅ4—ut•çô&GÑEë=ÒE9%Óµ²Ì,G¾’tÜùÍ®H §SÌí‡HçüAíj]á¡“C<üúµD#:Bjí¹ÁÄWÓgG÷ª×;u¥ßqìŨ˜TËž=Æq¹~K&— °$ˆŒ%äúŠW®§¸˜…duC—¾x ÚÁy¤9š¡E_ñùY ÙËMÚí²»ÍÃx^ùž*ÂJÅ'¢hLxÈ"ËÚ)I÷!ÀN.¬ãóòeÅ®XUz}¬*ÿV ó† ñI+±ÞžÆS¿ú׬Y¢°SÎ=ÂëÙ÷Ãs¿–€|º<‚®¬2‹´T:Ævh€K)‚€¼á£®zi çWÊ 9Ënì]Ç7Nï硌D1|â}’ñN}NH= 讂Õê $à¾GÜLæø¹ ÉSíît´¹ »$ÝïË#cöàìÒ×$aíi‰ú|—¦ßg»Ûë…ª%UêÇR©§ãƒ ±b?j^Ñ:ÁLqjܱ;ƾ´ ̘YÒ\UÒ/zú~ÌÇ’G=¯“¡ †°ëÝ×’3dR¶·?¥¡^Àe¿ëÀ“èï܆òa&ö˜¯S4O‘wgöÙ¨ÞC÷sXÒÿB; Û‘ýè8xú@Úøår±%D|ΜrÛåfb3ìèBžÓé‹vƳ‰jép¡_×ô@¢½âµØtmR\PäEŽhš7VÉî<ºƒÇæ|£}°þ¼j—ªçé>\²œP?Á٥Ϊ+¡:ÑÒëè[س&yååBœör žö”ÚBpnÊUÚÆuÌtùTŸà×Ú+ïî^ÇÐ;3³uX‹S–PШ{äDë¯4Ÿ r.ÖoØÖì2r><Ât¼ƒ |á‘ês¼¦8œ”S€ê7¢6£t5,#×ñȼ™åŽÉ0.ËqPàzª†¢nSžÖÇ<¨é÷7å#I[²íÓÖm!V^yNW¹Œ²TmÆ©ïêÍPÏÇË¥3¤P@ó5wòWŸdzB+±â ÉQ›†ž«ã!"”êFSq˜T}š~ %LÛÐÍ‚F£P›#[µ©¹Ö+sd’S‡i1Þø FàŒÁáö ¤wPòˆ&c [û«•@˜5Žô<P‡Kn’üÃRâ•U©Š0të;—‹R8Z.+.gÝâ¾´¾:wÚî1y¶ôºß–Ŭ‡.ürR#toZÊZ…vkø.-ÝCdÔ˜¥Te§ºª´ë— “x«w*1/lÎ ®ä6‰÷× Þ:7z dc—a«®L=^ð¹STi—KÖ»ŽXãoÔuv “Ý_N£|½›Ï'Y6 m:—Þ¶8çd%UD]Nó‚‹îXJEå ¸¶YD×füU)~ïÆúÜ;BÐyöݺ3çßZxŠõFû =Fo'm8Œ¾™Ê C’äC0ÉÁe–|ÅHõE$”˜¥˜;XÄS¯8I¸]ð_Œ!² vöä÷Ǭ|‚yZÁ)X'tê·ÞWªÊê{Czw\''f­~:28èWmñ&ÐZ:…œ½ÿ#7w±Ýø b>€†º8´zã«‘¸¶¨0‡÷þ7f­Øg­bãÆýÅ7±k¬ŽR+@,ˆ6ñút £.j{ë4ù‡Kž çáx3,C&ƒî‚¯Øõ½®FxU.Ú’ÑÁØÁSì·hˆŒÏŸHEÑÓqjŽ Ó®”#Ÿ‰’ŸTÂ6Pøƒjò¿Ÿõ*G¾Ü’ªc›!’¾f> _·Ë»3ÏЪ¬U1¸GÉ~ lPõ±`"õéÕÛ¸{¯:×ÏŒ±v†1 bÁ#Š®qߦ©‡…,Ñ׬‘î¶OöÀ‰P`¬ÝChp†L¨Ü ³’–:À9há…‹HG&…¢ÙE‹!Û:D° ™å;hkÓ–U×ÐákS\‰Ö‹!â]3ÆkÞSPÞ¢mRÿ”ö‹äËÓyÔ€A/‰I¦ß'Àbê€P:úò ¯‹r‚¬CÔEß*¿´€®aæ` êö4À¹EqÖáͯ¾áÿD ¤%½÷¿qG8d’Eþp£@¥á¨:Ii”*‰¥Ìé]\hrÊ×_úSïúÅŒVvyv!§LÇÌ>’H˜¢ÀRµ)þ=¾4äÜó‘â•¶õÙd¸!zUÓ%9¦q1A¯HNé{*™ÄôÌ*—å¡èùw$~Ÿ¤ÉÔ1ÛùÃïáVñÜ¢juìå±_‰¡zÅbÑäñ0' Ü·<ïý½µ{ÚÓ¡.œæjIˆ•<®>j‘žÿªgÊ}‰RêWL~æã‰Ú žúÖ\”ûé ˤ:qñÑç÷åÂè™ †ñ­¹AQtnçæÞ„¼ 7Ç KïÎÁèûºG"Ìý Ž»w0ZáâÄKúœiî!g[R¸iÅÅ(±uHÀ3ÔuÑßJÕGds°eº¤*ûÃù…¦s&µÀKýÐ]úî‘´‘Éôú†!²ëFïK(­2ìÍpÓè>ÄÔª†ÝoÎ*=üú~.þq\d¡Ò|!ŸQSëTù˜ÉëZ"G†pã¥ÏCÞY(Ÿ|œþ:ÜY½TÔ…rÔ²"仇‹È:äm¤È{|¼©%k–$hlâï0 ¾&çK¸ £¥òRïtÇÑòg4Ù€côeîuøy…>6wv‹áeáÉŸÉËa±ÊÆ*¬­ÃÒÜŒ°ƒâvpèɲ.¿@z/ñNüƒç§ÉkbOïtÙ“(ñœoÕ¹=ÙFyö&Çõ¸”z× è¿žZ€3Y>–Ø1é[«E‡5Õ€½~iS¢VÛÓ…ÀŒÕŒ°!'ÁWÑëe-˜Á‘Ž¦Ý“ö"Ê@PpU"ÿ5Bù×#¯ŸÚÀÂÒ‰Td-‰|Ë©núó‡î9.íe„B²6= ’Ü"ÌíRM¿¾çz[åÿ¤¹þ™Vaïr÷€¦mKT`¥ü=Å Sáªà]Ø ß¢íÖg¢Ñät­·=ê&}éÐJ:ÏAAsž©Qvöâ­vÕd=Þ¤„ü9;Wdžnü€s;WRh}éÒ¹åÌÔáFƒÚE,¿Oå͇.K`jÉ\ü@±^P¶ëM—X2Õ¶Ië±9|ón);…ÿ½§`gtD¢LWo{Ôôç‘<ˆ4>jtˆ‹»)*M‰g(ãåz> endobj 373 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 /FontName /PRVYJT+CMR9 /ItalicAngle 0 /StemV 74 /XHeight 431 /FontBBox [-39 -250 1036 750] /Flags 4 /CharSet (/ff/fi/comma/hyphen/zero/one/two/three/four/five/six/seven/eight/nine/B/D/E/G/L/M/N/R/S/T/U/X/a/b/c/d/e/f/g/i/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y) /FontFile 374 0 R >> endobj 516 0 obj [600 571 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 285 343 0 0 514 514 514 514 514 514 514 514 514 514 0 0 0 0 0 0 0 0 728 0 785 699 0 806 0 0 0 0 642 942 771 0 0 0 756 571 742 771 0 0 771 0 0 0 0 0 0 0 0 514 571 457 571 457 314 514 0 285 0 542 285 856 571 514 571 542 402 405 400 571 542 742 542 542 ] endobj 515 0 obj << /Type /Encoding /Differences [ 0 /.notdef 11/ff/fi 13/.notdef 44/comma/hyphen 46/.notdef 48/zero/one/two/three/four/five/six/seven/eight/nine 58/.notdef 66/B 67/.notdef 68/D/E 70/.notdef 71/G 72/.notdef 76/L/M/N 79/.notdef 82/R/S/T/U 86/.notdef 88/X 89/.notdef 97/a/b/c/d/e/f/g 104/.notdef 105/i 106/.notdef 107/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y 122/.notdef] >> endobj 370 0 obj << /Length1 746 /Length2 987 /Length3 532 /Length 1532 /Filter /FlateDecode >> stream xÚí’{XLiÇ%Žu‰\’Í›d‹š™3Í4•KFEÑMÅiÎ;ãÔ™9³§3™Ù„hBÙ6·ÚhK¢‹K»b+•¢\ò6-êÁh×em%tAŠ=e=žÍŸ»í³çýçü~¿ïû}?çû+ ?‰§Bá|JÉØ¡Ô¸zx:”ÃC¬¬\iˆ1¥tÃè P''ˆÕr€:>êÌstæ‰+àJ©´4!_ÃkW›^‘ˆ&¤˜xc̨`=¤ $””€Œ–Ä$ ü{wDéHˆs8!e@(”J„Û ä©”Q@ô¾«UF‘Ž`¡€5 iXDœR’Z€CÂõ¡Ø³ Kòo@õ7Ÿ¯&ILÑkßÒ'cLAÚ¿”B¥f ¼)ÒÊþÒ@øžÍâ„ZÑêÉ`$!+å$v¨€Ã¼ïó ÄýFºÈ02öõ¡ïO†×ÇÁõ ð \ä>ãý¥öÍü0BÉhUð>ŠûjôcÍFD°‚ÇáñPVÈ®oÁýÎrWJ)œPÊ_è0šÆ´µâ … „‡5,0—£¤v `ƒ‰2ŠFzïTà¸*öb(¼·|úóæQš(;{!°ã YcTàDB^ôß„R5MC%Ó÷£°i|¨e „(EêoRÒ™±a)…qyëݳ®6´‰˜”š{¥\w2u&§éÞÌÑutѵhþÂXgF•ܲè— ï›Š×]Œ’pu·/7±ÉÜ+1j•6­ Xq¡r¤âûmë'?PÍhm°ìÐG–þàõ0m‰7È»u³§m}ø†šûõþÃ-&#Á¥^{àÒßõI—»šPYTý¡êñ+÷vŒy[oZy·6üÎðT§„ ïA¿¤ÎîʳÑÈkt_øäúeéNïNè£Þºtú`ëÃÎøíÇý‰¤Ÿ…_?ª}YYÛ›ì³àDº|tÓ¶!YÓBV™»t}9ÕÃÄ-Ã<ÕùÈ<[—/ô¹u±/šn¨«ÈÊÍOß3‹¬“ÛŽì0Wå™2iŸÉüô^!ã=-ðÓeú)«÷29©«³eìÎèž¾‘Y¦Ó:¾âÓ=o®x¸w™–&φOuü€LI“þ…oö Ë`³ßÖ >¾+¾hPW8Þ-Û’ùÎ-äð¸ÆmAå{Ÿ²0]¢žã¦7fµ~±£Vfº6 ñÜèÛÝâòGHAÕCNã õTóÌÏw¤x5„:4ÅŽ¬óVÜóÞÇ—UÚw#á¶°,÷rLš‘`ã›Û3Öµ:3o¸]5“¶¿yQ=­}t£r˜áÌ*.Ȥ'JÅ;©)M¸Pæ$V•ì1I°IÞþyUþ«d±éÜç‰ãƒ…ÄËëAÖ:3Ê/rU™ðöŽYWüSiÒÙÓÁœ õýüòM†Fm•ñƒyÌ€o| l}m¿<úÒ%gN¹ë3“ÒÀ c‹I£‚ôqÑbas‘÷¥1ô3*·UT5±­Ë#¢‰‡IÁfD²öHþPƒäã*ˆ-1‘©ö.š ÇàÊDkûÂùœØuÄ(íãçwŠoN¬7p+°xH²özzyà·'.uf?:ÆåÛöœÏµ4éAK…¸GЃI cj§¼ È!9y=´6l]ÚÙÎÊîšqOVî_6í`sWCتâYâœ1æþ%PwWqK7ööK~t7µÛàÕÎ]7ž´¯2ðœËæÂ¹È0Ëì|ÑÖ·dþ¦ÆLƒ’æ„Ö{o}m¸¡!«¸Žq¯Š-*c»ü¥&e¥Ë¿š;tbTÅú73³–oߦªßóvy¨Íõ]qj‹å[=/Mݼp@3Y×ãü.%Û¤ƒP¯ ^åñälÞU 7ÿ¸O9¨êÚrí¾~κâ|õnY¢ŸÖï³·+ËrS·O>eë®5Û¿BÛÆoŠïøñÕâ⢧"Ι8³¡gŒjÚ]6]/ºQk¦Ïi7¶m(÷ÝÉ9Ú]T\ÐáW84ð1ï>Èÿÿ ) 1š¡Žü yÙK|endstream endobj 371 0 obj << /Type /Font /Subtype /Type1 /Encoding 517 0 R /FirstChar 46 /LastChar 46 /Widths 518 0 R /BaseFont /OTLWKE+CMTI9 /FontDescriptor 369 0 R >> endobj 369 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 /FontName /OTLWKE+CMTI9 /ItalicAngle -14.04 /StemV 70 /XHeight 431 /FontBBox [-35 -250 1148 750] /Flags 4 /CharSet (/period) /FontFile 370 0 R >> endobj 518 0 obj [315 ] endobj 517 0 obj << /Type /Encoding /Differences [ 0 /.notdef 46/period 47/.notdef] >> endobj 367 0 obj << /Length1 1403 /Length2 7404 /Length3 532 /Length 8235 /Filter /FlateDecode >> stream xÚí˜eX”]×÷I)¥%”Rš¡»ér†)I¥»Kº”¥E$¥¥CºCR:ž¹®û½/|ïçãû~zŽçœ/çoíµ×ÿ®½÷9s –.§Œ5ܬ‡¹ròpñˆäÔõôD<\@\&&9äj‡Éƒ\Á¢€Œ›-€àåååÇeÈÁ¼ö¶v®9Ö¿’„2P0ÂÞ ¨ƒ\íÀPd +  ·²»zqd €Î_3\:`0ÂlÍ…Ëð¶·rX‚mía¸ÜRÙÀBÿ [»9ý{ÈŒpAš° M²­á0ˆÀlƒË­Gj‘Nþ˜úÏâŠnˆúWù¿šô߆AP{ˆ×ÿI€CÜ\Á€:ÜŒ€ýgª!ø_ÞÔÁÖönÐÿUqAì­d`¶0ø¯½‹¢½'ØZËÞÕÊàŠpÿìÿÓ²m;à–U2T“W`ÿ×rþ=¦²‡¹êy9ýSô¯ä¿™çž‘ÍAØ{L\@ 2ùù÷ÝËÿÐR€YÁ­íaÈý ! /\äÆ@’À‡`³{ÀžH¿Ü\0¸+r Ù_€ û×jò ¸í¼œìÀ°¿â‡€nWø?,ˆdØÅå>À à¶ýkS";ûO YGæž‘~OBn¹{pËß“€[áBJ)Þ€[鞪Ê÷ÄàV¹'~·ê=!½<¿'¤µ{BzQ¿'¤{BzÑü‡„‘^´î ©®sOHuÝ{BªëÝR]ÿžê÷„T7¼'¤ºÑ?$‚Ô3¹'d7äâ!\¬àð}YtOHÃVÿYÁúD¶ü"ŸÀæDš¶û‘zö ÒäD Aï‘)û‘Bð?)äô"… RÈåDöÇõDêºÿH]¿ñ¿0YY¸§§ €“— ÀÏ‹ÜJ¾ÿW𕆹þýæBÒ³=òDƒÁž`+Üé ¸•X°CʧÐR?…üá2L6TYÛϱµm£-xASq¨¢ïÏÙækŒ.ËÓIð×1×i=®Ÿº¼m~¥= ¸è›:~»în±žîÝðÔè(]Ýk͉þ,h‡ éÓØÉ®ªæù¾ÒDã‚άƒ®<-y½ ¬9:”¯¦î¿f )¦CôÃBj˜ùètSKÃùÃ~z&Æcü òsîgŸ=„7»_æcç&Üš£\X=ˆxÍ+›=õyÈA",“†•gÐü%E—‘ÀøÀg»Ž™,ç®/è#s«ß=ò?d]#­Àa³QVþüœj·‰óÅb8ÎÑöEz:À!srÑ)‹’¸…j’µÝ"ŒÕdâ ²“•H$À‹‰—eòãäIöU"ãt(ˆ¤>û6ó­3ŸtòiˆÍì»ö‰=ÁÏä¸ÚÕÛ<êÆm—upc-™‚NÿýObcÕªé›ð\zÙÙÍÅOϯ‰Ü¹±‚È®#âá#N&r¤¿×æ?°¥JGˆY[>ZqaSÅŸöãï~ùžr»¥+™ì‘vó—ê…(Ö"Ñ ”ÙÙl>†¾×Ã|n©õRšì¥¯~SBÕ©vifߨ¬)·MMìååI&¼’Û~Ê˽.S®ìAp(6æVÌìGÊn ñDƒ²3¤†-5K1¬uÁu³5zUº‘í Ëö'‘ âŒÖŸúÖ]IŠt±bÁMßÏÓ;+k ¬•ïZZ>›ƒbÌÕt’I&(Œ±T±ÙBž±‘¾J†³‡Ô=ÅÛ4'úùÊæf‚b¨/裾`A­^ðTñüi° I»w~†‘£kƒG9ÁhÛó¼Ë›ÖNžmbBA­8[ª•èóθo¾ýh†(²†&YŒLœ0Ô !Ýu¿Âï_[5L~4bøn§Š1”äiÓVE ‰Ù¯aAV¨BõfÍmeõMŽmOQr—*šèò{ó$f—Þ’ø r©ó%)×UŒ÷ŒK2†/ïJ9#_1ŠÈ,Koìa3Ýο¬JËÒ›îüë/;Öc©Na*ŸçVÞ“¹¦ö Õïì:Ì-Ï{bdÔÌó31ݸ.rƒh…ô8—9†*^gÛ+V*Håë6«-Ç‹(’õc^"®]úÀ™cÜ™b—Â’+¸ñ8Þ_Åð©rêÓçh:À’ZG£ézÀeŽL–ÑáSDq\BÙ5±ßøéw–áÓ ¶Q_ÆM½““â²½–!Š0_~… K ªZÐ22p.Ú9î^¹f0Èq¦kÝ ¼«4ÑÁjªÍÒÔ¦{&V¬r[n2’cí{”(Ñf±FÒ›çýl'Ÿ#$Ï©C0ŒµæÄ±Lkó“i~$%)`²Î<œëN °wÂF†M 8­i¤|f]Ç’7ÞøR˜û¤&ÃØâ…Xo°kOøÔ8»T¦‹¬ðœâ5Ìü–áv;Ín3“ò@ÝeŒé‰}Iš=õà›´ÇÒ?š§*¾Çyë9¿^0ßbKcT”‘ý¼ˆúR©°ÂŠ‹Ý¸:lqFOK¾<2&|›$‰.¨o»¼n·‰ŠBá:†Cãq5wëŸä&x!©(ŽýÈ‚Ò k” †iK‡kxIü«Z$B¬–m¼ìøpôŠK‡•™Z%!ï¢aCA{ûÐNîÇõe3å㓈8yÙç­‰&¤›Ù¿nÍóF2ê8)™É•Å¥ƒÖÊ;#¾@ƒŠ¯Ó–À… IYÏÎë4UÌ]L©·®¬ìÝ~ÚÝ÷ÆËK—«'1¦Þ4Äã~ñ ¢"Ikr6½Ï6 7Ic  ÝTX¶VOôc=] MâK”À™iÎù» Ÿ|’ô‹Ö£ØÌ¥™Î]hó‡' ¸„Ý=L™I©ÖÔ£¨ºÓÄø®L/#Ý÷änºÓn;YÈú¾u(òQŽýÌݪ »Åá³Òèâ‘°†ùý—,.»‰®¯-§'¡Pÿƒ,Ëiªê·ÔI†Z2¡kúûµ€„—@‘äƒQC”—goê…Û2P¸б&ˆí×…ä  Jó2ë1äŠ\ß0[×­æç®Eßm&ÈS8,é!8´H†íð¤d~ÆŽ]Ä+  lÖÖÌŽäîÈ ëh“Ú0$®|bÎhQIë£õÿbóTÁPa¨cöeý:¦9'9úÃ`ÔjyªWúmýDtÛ ^—=cæ|…Wóáù'Ì»¨¤Ÿe|¨ãS9?à´Ž:Pe9£SÊC‰l}Ï1›Ê¨äCŽgT&IêdýŒ”‰ ëAV_ŒŽO4Šþ*_.coý °!:…^"”ó,(Áàµvš"ßùÏ+©€P;(Á¸:m}v8¥RWA©C>Ó4 „•¶ìHŠ{Û¬)ô(äÚ¥fžL]’NinjÒ¢­X¬È•P`ÎïªF„ýêìÒ9P£‰Ž%8T7S3,¨+×mÂÆý$|{ŒUL´æÈNGŸ;HËHÐëõàòÇæR2qÔy¹Áš'á@ñòê¼W‚½F\æ86C#¤{ío°Ë{:œ÷ÐL èèJÁ=ˆHH+ÃY“¨2õ¾Jçž5¦NBÃüh]š¨d`~HuРOviWÝ#ÅåETˆhźUT˧ ÀÌãº^†çt—ÅCÇTËÙÙ Éã9„Šy&)ñS5ø¢5ðŒJ¿NоÉãdAÎy ÛnÙG{: ¼“"j‡¾£0ìv¾2Vu· :sýÔR­ïÊz*9ßG褞Ë)µ'gy׋^dË ß,ižvE‘=\‡™-ËÜ ƒ±¨8åöéT??ŽÞÊ^ $û:!°%“ÊÚ,Žà’’·%Ñ?} 5'žk0õ&ÊÙ!ú°úùçnkð=`†dN.¾¹o9IÑÁȼd‚˜KG}a_ çZJ!›C ­£l5&ï½?  <–ZPgÉÒ.™ú Z£—JÝ\ŽV,î$±­_|VÖ”æÓ)jß4{CKêzâsYY`2u£*¦†_#ZéÞ…+Œz³Kê“u£Í¡:‹ØúÆæ#/ƒ7Êù€fuS„Ÿ·Técà’áY ˜HÅ#èo®Bã>-Öx÷³<ÇôØÓñTŽ ·è,ˆŽÏ+~òªö9*ÓeUöé®’nÑ\B.@pmqaâªAu˜ ŸÂõŠÖ±W?̓"Ö¦#²´2=z–ï%ç´7üc>ïÈ;rߖ㣠׾Ç-5¨ötNÌã½?3\ÃÚIT°BzpTÃJõ™ã-õ‹1e¬KÁ;¼Ì¡n<[…)œCÿ°*¦SyºõóO{Šìç·Ãø´0£Ç¹™Þ¥&Ï£rR1’Æ+z¿Ž“ñ› LÉ" ·‡ˆë×ç=mU‚æFªÛS‘>ÔMÓ½Ãe«aŽœ ¦þßc<Y‚ŸêŒx™­ýÖŒaíÍËRézVc°õƒL•l”„ÝÏ>Pø.C ‘zõés››KskI&¿Œìé*zh_ùÚ;ÆÓÜã©ì°© ³|û/Ó,bBËÙÖ-€oÁ–öÙ"[@ô?¼ˆ£hÑZWÙòâ:ùì_Aw¸îÚvÃ*µˆ „ü©÷%«r2 3#ÃâX{¥ý†“­çZË8{­ ‰º!uШ¬¥ÒPôV#_·“S¼`?JׄjnU0bG|½-2z¸= †Ù0›#pÆÇÕgñɹ ¿Í'i`×"®Èïd/–Û‰déŠåŽ_÷bÚZS·ËÒX× þíŸM5ìŠõ)×QËL“3¼âÓn/ÎeNm±Û k÷ÒÌW¯z,ŒÔºl‰€¸”¶¢hsŽéÑ›¥#>Ô8‰†ÄÓ¾¦û‹Kl„ËôÓ}±¾ =„¢QüßbZ½U˜,K]÷Þgr¨äúâE_ÓWŽ©{ŽNÏÙ¦µu±?ðÌRž…ªŸ6¹è’ÎI§NM‚!ÌdÌ­?feË|æ[#:뮸[Q½E×I9IyŒÇè¼ô=Ÿ•ù}ÑËÌžyîò,ËEw•ɵJ·³q(R÷YªsJn÷åŽWdIŽsw_HÜÚ3·‘+¾Bªþ Ox»Üÿõû•m¥ü“¹ÿ¹ÍKŒe5#GUݧµÜ1ç>_çqã‹·™†¿Óóò™yé0™Q–X>ìvÄtšb4a†³ê{ÑñkAޏ‹‹m1”™Ti”HýdtzfÄ/>Vn\(Ÿ¥àUÅCA‰ØGG‘Êuߤ€|лÙMÌä—r“-“œÏž™IÚ¸ˆ·Ÿys¾¤Eeá¦XvQeÜ>-ê§>Çd©j¶sAC©½3„œÊàV6ãoUŽ3³4Ve# ¦%ÐdµT$ň”­¦Æäô,Zn¿ôÝä%;=Öà§·K“&ÉßÃN­ñ¬«H~+â•¢d‚“±0|“gÐ0kËÎ׬ËɦzeÁÚðÎw&À¯ÉàšÐÛ°ýsÏ&±SþΤ¶Ò€ ®xö3Q]ç±É´»oW©Lq¿)ëØ¼ƒ[’£).³c<m&j)…ÕD,£¦…Ãa)z¿ ßÕübêl€‰6 ïgZ^gÛy7ÈÙ´É-Ëœ”Ô°%¼K)º™—N躹bÀˆ ©€§Wª×µ4¸\ì¡vÜ0®µŒ8±XQÔ·äÍo­|°áó¥,íAþö§§áä‚°·Øá+#p*‹÷¯ž½i¦¡– œM¦ù›YF5HF~»}·üæÆò°Œ¿\3ÄF;ÍíylaÒW.4¶úú__ˆ!BÕO`*P'¡R: Wâ౬ðíÅ?¸ÙÔˆú›Ž‘ôßpñÐOøØºùøCÎJõF°L¿Ã)å”V¿LߟŢŸæ!oûh]ü^|!f™?©4 Õ¬”דúÂJ¦vVqWDîìO;˜{êüÁEc0«^<º‹äaW :[…îE¸ 'Þ‘·]+ºkÅÔÐ8̪¥ï@’ãP§‰ì¨ÔH>Šª£Ç<0Ä63©ÅÎ<á´–h>ÅŒßzw9Ø›¼"þ% èË@$ˆíqåtœšG`R‹óJV-­Ãû¦ÔBYŒýð+“çÍk`ÿŠ´ëènÚõ† z[ƒôŒ8ÅßM£­ÑqªÃ±×wù ¢{FÃóÈi7¤hØ;´ªìÔ1F€êù{håN1ƒ˜f“ݾÕóCX'#ÄÃGhàm]/ØSµ±„i½5ì³ c ‘´y®zÃr„U9ùúæ¿ÊÑ›aâÀ·í1Ì,êµØRŠ»-¸¿{ƒ´ÀY!^JŸƒ™uý”bê€ü¤Í„Û„4˜:Žõ¤îßçÇ®¶TH®è_…Cø%,ð$Kûh1+§¶;u2$zϒȾ?…E)#$Ñl¶¸ÇH"µ™9· ªŽGª7ØÕïZLÙ'²˜ èý6PR)vÓÔ™FŸW±\ûÜ0z¢€4"Hñ0¹¾®äØ=cÀ.\hƺØ6Súz’¶0J£2nybêÆ­üp(ï–fh5ÅÅÀǹq§»MÅ8¹Hz^Öô8ÂWþÁ^–8I]ãÚó÷ŸOèDka\|«¡ÔõëåúÔ'›áLûD›}œè*Ö‹“PþheªÛ¤9Pž>¢Œ_Ê™¬ ` 1Y¶z͋Ҍ™$qõ’ ½ó ݞ»C]“ö¨ÛGeÊþ ;‡ƒq+¦hˆì2B•3¤:¡¥„¯¥Œ(ÀbÖÇ÷\™×ªÄÊzÈG<úÓÜ÷JP’ÀýPB¼ÃIEÝA …m—½n3×:Y>.±¨Öjz—hzGíþ@| ÿ²`d¨Çƒ²òé[rßÛÀèKËc©=œÈÉ&K¡ã(r9PíÉ~Hç9ü™ó®ˆ2Æy5{˜l¿.Ò'ÊnM©Ÿ/©z0ï¢?í\`fãÆtGßÄ‘WÌK…ú“ö ÚŸ\ˆÑoÊ6Ò§Žï&Ræ`Ï•“ùR½AÅæ³.èÇŸJubKÂz‘ì¹äÎí³mt‹·É.m6¤ŸéA„–¯¡’£Cñsæ 0Wª@&§‹Q¸ºVÚ¤»ˆmeì½WõÊøu×µ\çû蕃úçPàÿã…û¿þG°‚€AW8„pÄý/¿D{«endstream endobj 368 0 obj << /Type /Font /Subtype /Type1 /Encoding 519 0 R /FirstChar 45 /LastChar 119 /Widths 520 0 R /BaseFont /BGWLDE+CMTT9 /FontDescriptor 366 0 R >> endobj 366 0 obj << /Ascent 611 /CapHeight 611 /Descent -222 /FontName /BGWLDE+CMTT9 /ItalicAngle 0 /StemV 74 /XHeight 431 /FontBBox [-6 -233 542 698] /Flags 4 /CharSet (/hyphen/two/less/greater/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/R/S/T/U/V/W/X/Z/underscore/a/c/d/e/f/h/i/l/m/n/o/p/r/s/t/v/w) /FontFile 367 0 R >> endobj 520 0 obj [525 0 0 0 0 525 0 0 0 0 0 0 0 0 0 525 0 525 0 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 525 525 525 525 525 525 525 0 525 0 0 0 0 525 0 525 0 525 525 525 525 0 525 525 0 0 525 525 525 525 525 0 525 525 525 0 525 525 ] endobj 519 0 obj << /Type /Encoding /Differences [ 0 /.notdef 45/hyphen 46/.notdef 50/two 51/.notdef 60/less 61/.notdef 62/greater 63/.notdef 65/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P 81/.notdef 82/R/S/T/U/V/W/X 89/.notdef 90/Z 91/.notdef 95/underscore 96/.notdef 97/a 98/.notdef 99/c/d/e/f 103/.notdef 104/h/i 106/.notdef 108/l/m/n/o/p 113/.notdef 114/r/s/t 117/.notdef 118/v/w 120/.notdef] >> endobj 269 0 obj << /Length1 1352 /Length2 8518 /Length3 532 /Length 9321 /Filter /FlateDecode >> stream xÚí–UX\붦 îÁ…kpNp î®…CáîîîÜ wwww‚‚»¥k­}ÎÎê}.»¯ú骺˜ï?Çß[cοž¢$UPþ(d2Šƒl>²0²ðDd…5X˜,ŒÌ̈””"@C' ­¨¡ÀÂÍÍ ÀvfNDJ€ÈÎÝÁÂÌÜ @#BûWÑ'€ ÐÁÂØÐ kèd´÷06´(ƒŒ-€NîŒ!kk€Ò_W8”€Ž@  #" ÀÄÂØ `4³°EdúËIÊÖøô¯eg»ÿ>åtpKhþÖ¤€%M@¶Öî )"“œ»üßÐúÏæâÎÖÖr†6µÿ{Rÿ㼡…µûU€l윀Y ÐÁö?KÕÿ’Yÿ)'Ck c![3k €ù_KŽân@ 'cs€©¡µ#ðïu ­É*€÷·Ó 5Ueúÿº§ŸT0´°uRq·ûwÛ¿ªÿf–? žŽƒ…@›<^p!øýßGºÿ&fk 2±°5°rp  ÝÁO˜8ž, [ è6fb´9/€Gâ 09 þuCÙ9Læîvæ@Û¿Öÿ^â`09¹‚þÍœà¡?Ä `þCŸL"ˆ À$ú‡¸Lbÿ¦Oà®âˆÀ$ñ‡XL’ˆ À$õ‡ØLÒì"ó‡À._þØEö]äþØEþßÄvQøCàt¥?NWþCàt•?NWýCàtµ?NWÿCàt78Oë+ ÿØÌøßÄ .5ù‚çü‚UMÿ`;ó XÏâv°þ‚ƒlþ øyd²ý‚ƒ@ÿ@pÝ?äð9þÁƒpú‚s]þà\׿ñîaa›çG6ð·üÈ ~ìÀØÜìœÞÿ[¥±³ƒÐÖéïß ðfûo6µoM Ð hŒ¸²2æ ²Lm )ó+˜.‡¡{'lÖ'W×=׸ÿκxTÆžn³Vã©" õæ€Äõ…Ð1¢ÝKqBüÜß>.máíÀÅà ã…Pã*CÖ}ߎì>ð­­qþæ”ãüìæXY’fáÀ׋Á“<Q•C¸uRˆm—úžÌ ÎOâÖª¡ÁµTl¤Jèiöeaì¡®èI ÐS>–¡ðÍôk— vģøÜÄ7}ˆGcØÈHG‚°%'$”Õ_„‚Þ-[õŸ>rsô†ìf~Ëi,k˜”eª"ìÞ×Ú¦qsm¹Ó!ßm­'~ÚÝ© äë6 ˆ[æR{\è|ÃûX½›žze2ß¡ú$ GeÔ`¦ p¿MÄÿV’®t0ªR@mŽ­ŸPݵ¸;âfÐÄ…ÝÙÜ,uô²îií5›y?ËKކ{«¹ ,7÷¨´YÛcµ—sÏz’ZÎË£¹fŒ¤¡h÷º<›ü¬ÜŸƒxj‘áÜL Á˜“`Sw'Âì‡ÃH!u™2-fä9‡¶‰Ž ݬæ;ß’oTLGC ™qB¸$uå7w݂ުµ(èö(6…Æï@C½àÏg‰Ì A¬“£i<ú¸F$²àÙJpEˆeî¾ï€\A2úzìÊL¡ÕB¦—¥Zà#§YE—ÍÙÈž“ßYs{#" w>¤'˜Æ|¯çê¤2ý¦ÅõñŠ–n*gTM'ÐK:ýôÓçeÇ©sFŠHÑQ,ñÄ’MÙi zÙ.Üþ‰Óâ„~TÑ×Î{ht ¼veuí+j–Ã{{wöJ{­>^]N÷¦ ‘Ïâ|ˆË¨3wjT5rlS«¶µºý¢OFÑÜ.ÆkYŽ'<4Fü÷½ªNKŸ¹´øÑá-Oâ¤Ù6\Vú»|>=bø|õŸ;_Å\踀uR(-âÖìVX„÷%9xÖ „½UÚW¤.É’>òŒéçË M`övæ÷êi›Có—¸ìe–Å·ºvÓWz¾—’µù-È a¢ŸoL&ÔiÕi …4Ç »µ;oŽ0GõPÝü8Bùa Ažh–ÌsVµÁ‡É:¯!Pb—6Ét]LÞÔkáDéNÁÙõ‰XíÔ;°ÞFŽF&_Šúм  °^™J¿†*àÿàc"RŽ ¶ð©ëp V‘š¸|ë˜x{‰ôœ•¾ù Šos÷ÌD³Æž.Q/©ÈçÈØr­MsÒËÂf¬ØóQVA9½Îád›Ú[›é!:儾ºMi|%&(ÖËBš3âà­+áIvþT¾ú6ÑÚ?›l½œžêÛçÅÌÎÙì€çÅÏh~öÉšŸ?íL›_<½ªG–j2x·‹mk@;J¹ûQ†[?9¾·€Ø@xm¢s\ÓO¾ÖQë[ƒgÝÉã§F„|~¤pÝôH9#ÍÒ§Ðôù,f 1i\Îs%'¥n†žùÄø\ý5ÀIlƒ|ÿc¥ûÄÜr’g©´õ)HIŸ'OèÀpXJ…ŸÌ²lÔP‰´<Ž_±óÂ[Ü¿?í¿$£:ažGå¦Ij[ÝÜ’ŒºÞ½8)nyjðI%êa$c ­|1÷ƒðºÒWÝÅ>®†ö]LA;YŠãÉÍOä ýµ©ïf»™Ðùç Ï ‚É4u€¡±Êäš‹Ï=Á˜†hÃJÕ>8óµòw´óêÜ®©[ÌÆéþêžh5©÷—+éŸ%çv° 9б ‘PÕÍŸÃÇøZ_š"aß±7¿¤fCÓwn·×e|¾#kô½ì"§DÆ?­$-s&9‚FéTç蟗}Üj·n£†×È)ÿ…5më1âÁeË‚ãYæ`‰Í|ºÊ°Z»Ö›\¡›–k*º ·tÞ¸0"~Xù5=LhZú³ŒLÛ’ŒŸñÁCù7úe,ùì›ÔìïØÍÄœît„3Kªúk×B±;$½{òxÅÙ{VfÈói¼óf-8œ8À=m®R9öÿolaU\í{¥øs[§ðŒº²eŠIu$ÑTüjfJO»V ÌÜê~Æßr]jóüž€²ñ%6Ãñdº`­»h¨HÞº£b·u#Cåb¬PÞžÞçÐ"˜Ä~×0²öòc%üçZ ´GD©Ê~´6䔤¤/íb̨Ojqà—ž–s­ì 7 u,ü/ÎÓ鞃ܕN+uã ›½#n/öÎï}ɧ´ìé„*°`nȪÞãaÜò à;h%º¯r'òw?„²oÂó 5n‘¬5  ã Æc7ù8¼fí/ZÛ`ÒíôŸ©ú“—¹Ö\mó½+;ä—kò‚mĘeøQU&mX^Ò„oütÔt{¾däRÄëN£1è*Í{®\eé­¢þÞQåNƒÎä·ò½s¥“üUÂÒ¡ŽÔ׋ª<쯭o(‰}#)z™—ÌUÈošŽS#5£&m»MÀLŸÄÄ©õÒÊõ´ÃBÚÕ Tì7VhšVÔ´T>5Ög†äˆfÅ䞯´=¹´%3¸„83ÍëÂbwvˆ$kø.yÉŸFƒY¡ù¾†=ä}2,¨`™Á%ñ¬Š‘—X¯g›†4²%ý|•! ð#b®„xüŒÄ¶Yº›u‚lPmfƒŸ=%àŠvroQÉg‘ú1òü0Y ¤P)ÞnIʈ†a ƒ¼†$ØJbK&v:’ý p#ºŽ’F˜M}±P&óß„$òA 7¿ p‚Zü%턺/á?ä7Ö’¹‰0Ò䫹~ ‚ɘ,SZød;«Ç¹êæm–D'ë¿ójëÛ©ÕdSåjŽ+¥»)©ÔaDñ2¤ Óé·r, £õ±êkIX7 0:|§¡º”i­ð^–â“Lr Ývâ8õwoü^{ìöÑ=ßÁžøø«¢©éCÉ]X?`be7ÇwŸùïëpþño°§£–u>ØæÁ„çG;c¤¤¥¨ÒÉÑó¿UC›°ËÞ¥Ù{ú½«?Øíú8ûé¨|ýÜSØ •nÜÄHUÃ4Eê/Þ“ÆÚB7Bn<øßX9á–\Ï䨠È\SDæçÓö=<‘€…ž{[fmWÑžáω>É„sx‰“íb˜þ=ôÙxÐûxÞq“šÓR•@÷²t Üü¼‘š5U<”­]·2 r.³/_!¡Š’_=­¡9¿xhRaòú--òFòq_ér0Þ³èKΛ]òŠI3íR"ÝL|Rs2•àªÙÛÅÒ‰ÚiË3Yïduê.oZï–io¸\€®ô«2þ®ü:ªö[ UÑmîsWiHD¥b;qà íèE5?é{‡Ñ˜«6!öûšÑƒ¸WÿŸ.µoqú{…½\ÕOHê=ÑJ¿ˆbîÒ› 9ñ\(§ÛÂÏQ[ÆC:Õ zÐb¼.¦b›1™Õ½th6‘_ÐáSMp-¡pOÍækš^íÕäò%ì®<ƒEO9/ëd–Æ69ÈDÓÞ %Jž¾øæPpª7!{‡+kBmÕ¥_NG ‡ü ²0Õ»2yâz>2Âð¼[v…¼óA°Ö—)L%ƒš_­TH± eß<ÁÊÎ’/½Cã_î´ÎŸb4üÕæ+Ìa…KÍÂyAàT4‡*$‰²Ÿ~¥Ä"É t‡ðö×À'1,M5|ªê.J6=¦ìÑB¯Át±êtÓÄû9çÖƒÇå)TkÓ”hÀ„ÏÏìÂ’©º¡ib¨|*žB¤süÏÂÛ0M˜úbù©žÑd×0û +¿Q0â͸;ƒC¿§¨#Õ[ª”IL`ïM›5=û¦Y\j›Æ’…“YNõë™`ßö….A‹ª|õ¶™lù ƒw³jÐÕ+4úò)3—#fÈœ ÀY·!.;èH>Wu‹)] ÝüÝ2V7GtÏdxóAF ·aýK ,2ѰƒkìØå0…†%Ô;ÊÒkfß-wŒDŒùWß‚Ãdv·§T½X9Íòü¨üV'{h"¶~·DB¬oóíWWã p”~Áî³ßN⣎HÎß7pxIêš5ËqKûŸûê(¼‰/Ù^Ð0ñ¸xË^š16ÜÜ —ç:IçïlSÝŸ‘—Ê¢O1+6y7óC.<ºAŠk¬[púÜÞU¡C³µnt $ìEŒø×»€”ÏŸKÆ×¥wu¡{${9}EDê©Ç òwNâ@ë»ÌÜ=ÕÌB²IÈ‹ƒRH{Vå¬S-8•öQyXýÅ›_öÈÃDˆÝ©ß $c"Ï}è(‡7ˆÙX±¯^bÇT¡7ŽdÊh‘ñ‚Tó4 ­¦•«¹Ì¤¾–…M}³l5³ÝÊm‚Cz®¶×¯ÓŠ,éK xʉ Z_;s²ß¦°5–BW’ÙÜ ôOÿllß}ÚïÁ_™»ýt I¬Üâz+A×éÌAW;_p`uÈŒ‚õS0bLZÒ\U™/\–'{„c´1k!ªGË­æ9ûµxÅß!T¨SJqÎu`‹ý}?V&ž7LtÕr*õË©«uŽG'óòCVä‡8ž Áš‡dæŠÓé Ð1=w$ÕHkÑ¥or-UÚãÌï„Â)ŒFù&w<öÚâxsá[*É@?hÕ3ÜCn"ôëhj!sgd¹cò±ü[¨¤ÁHÅè1´^oNSÒç+U ÿ‡dh\ËuÄÀXÇ„ZJó?½Ãy?x¾Ñf1·Æ>ü. Öàs®°Á”'ÞhûÇŠ¡Ú¤‹=A5Øv/”(‹ê”TYgüt·ŠRƒ’ü™égÏ.禜v¥« cà¥ÒÛã›äÛñ½EÁÓ¦TmzoÖ&ϘLu>Q¨ÇyVŠ=NšÓ=D¹!•²½á9wÉy–ÅïÂ_¨¯‹›á óM³¢° ÙTúä[º;upëì÷$¤Ñîê[æ1£4¥;JBPÕú ÄEÄÇyC4ÓÖ6FôTTéÐ’@šPüçÅšcî}[€*Gt¨×¸u – mÕJS‘\ñ@ ޹kž,7©äÛTT˜7,¦[ºhV3n§?š¶ëR>ºÁ#ê‘E¤F›2<ô¦«t[ Lt§šáû¹”ë°–mo‹ã¬gÎûµö}õL{ Î öË{4¶†Î2ÆÒ°×B‘/•hPXëwK6ñ•¬ÜÁF?béNª9RÃÛâ\Kvœe‰~b©gyË)ŸeL?ÿ”—²S? ?þjõ}Gî æ˜DèÕ¡ ®ŠÑ’sþG>ñZ=ŸèPéÜwÑ1àÙdqvK["EY•áÇ ##æñ–Ò +Úœ£‡¸Cr–iÌX:‚µµµøèù9/ûÔ‚)dm7¶™J OúNE/;ÛĸôN©CÌ"†$áõÒ;P q|ERÚ‘?hĶMo!m5ï“$£;<— V©VH«?¥i.3}’”o÷̤ HêH,L©é wöwcH—>…k¦Ãìh0‚ö9ï¶’’ÍžÿmÌ\ï²×^Ž|µ¥xŽÞo­+ê¥5ƒôwqñ¨æ\-\ç³é wá³L–ëc ÔÑ*¢›ŒÛR®+Z[p†li Â4¶>áÖFJÃ'bTÅk¾‰p$ÙÓ®ûˆÅô8«'äôÙª ƒ¾LèÞÜY@e’)NµJyYÙÇ=C“0L6‡_g=ˆa6ù4tL†¢,Ðþ” aÏн­· 7ŠGŠß÷ûÞ÷VÝPsUõµq%r¤î~oæÇ›¶:H —Í)¬Evì~—йaËÁc A «Ÿ¾A‘LFá c*š"è_ÆÞK Ÿ|.ï”Ç™FÒh«è‚¢ôÌ‘â/ëâæ;âŒWšØvçÔžWâ“cóÁ² Ïäë3‚]Æü™è'½P&[íC¬®”Üš÷ÛO¾<]ËÞDG‹ÁªãwA¢{ë†&lØÕ×÷ö©cýZ&I$M8£f á¼ÚDÓ<”ô޽(›ÒõK ½#]æ1pÇèŸgÒín{eïû ©ùˆÝÜ=°8­N§ú) ˜ûÈ–la¸÷œ·Ð¨&0á\^‹Å7¿n 4£ÅŸ²OòÌ P'ÖFd®÷>vãõÍ Þ÷Â:†(jÂàj(W0£ÿ@ñ̵X÷‰N 1å;Ò'èÀÕÿ¡z?–ò{Riܸ}–Ðúé2¥g|~ÇÅ õ}2×Ý,N)ú/Äju´éùWF’V$Í ‹Sþ ê²¼ïÅ9›/îz4Å[EæU"ïÈŠgæO#½R«]'¿´ Y¯”f‡g ¾Laä©?JO:0¢ï™©¤o*\ ,xÑ%‹À¹‘5@køìPï.ù@ „˜âZRx*{/'´Ë‰&ן{²¸fÀ|gyî\y;žÝ×]†5?E¨ÐUØå”»rKŒ†#‡ã±çþÕHˆÙX%ÈS®-¬»/ìÝIÓ7ý^g6£ÖÙƒMx¶ DÖ}|¦¯®û),P0úbÃëÊr0¹<”ŠÉ¸²»ìV¾Ô¡zCÔA:ob×ê‰aGÜ`»}öŽõ!ºI‡S—9ó×Iì1Ç”1)“#GU_°³8¸Ü¡ÓÏkÜèÎ õR´¬JÔ…ƒŽèÕ–¢)@ýpिfPö\åê/iVÒuEÒ_¨1SÎTZ8 ßüÈs2Ñcàœ%½/¹Nà^¢F¸œsö¦æ¡wtòn6"H TÞ7ì”e&ÔŽý¤i.´º¨h© ù"t%ouãóoò)<–¨o,tÖËzneO& оÍühò»]W›„—7ñ…;çú[»LË7ÉkTké]õèÌòcšM±M»Ï¿˜1ƒÃúe¾0ÉUÞØ;½zEéð#À«"Œ~ ®štû½išw9ÏóÞyºÓƹÄÛŸ-¤òxu€ ÝÙ÷¡kŒÏÂä 6yŒ~,û)úIí„÷h¾[?ûý{ØpzQå#Nf“•|‚‘ïSäá‚‹q°ánwqxéüÄIÏ¥ ÓmÀõ\ÞÛòë½ò+†TŠÜù_‰íÊv¥³™^ÈË«µA?™Q-ò›|&f"¸ 1Ϙê@ p0U›yÕß5©å,3„ö(:о \¿›…í?»Uö¬6­?TõOP¢tmùPÒx>СiäM“Ÿ¸Þ hçð`Aö+êrñ>ÄííÞS>šA)K!#¥GE®á½õàªh#1w!Ö P¡"ΫÜ÷`ér$Ĉ2GÛÉÎbb»Á8òäam¼I)Ôe>Ça~p%¨њ$]·Döq÷><Üî ‡ãþ—ƒX{v¾Á^Wµ6} Ë\AêRë{¿Ýßô§Å9}0ÁŠC>´$^ëkFI“¥í¿í÷½¶ä>Ü•]:ۺخµj±ZŠ+z ³yÀû«i/$ßé5þÐti¯NpÌÆ!j]Z9À#жgQcG.é¦GÓØI zLkím–>`Ý¿fÈ¥ß߬ ÊimvCo9“cð,ç’Dª½°‡“ëTÇPúC™Æ**.7 œp>ZSÞ6Šæô*SA³Bs.õ{”á†8r\e™3©—óiߪå[¹Â j&Užnlò`ê¦ûf#jé ®ip¼'B% ¦è˜Ð~Š¥j•Ö%ËD¬Ä­Èî(ë!ßT;ÜÜŽ¨U“rJ&½hj4Ý?¢,>3¥í `äÒ8ÊTôßd¹¥ ¿‹P¯¸|Ïá.¥GÚñ>®ìÛÆj%v”p߀ Û`>pkšøu¡“«Òþ˜n²Š$W¾Yx¼œ+fÑÉ-™Vå$Ñ:æI&„›´–¯òãÑ6vÿîf½¨u¸ZgÇ퉋¡DFw½¶Ù;Û+0fÉŸÁ'0ÇXÓ(Š”Àg'z Âse&póhêàÌÄöÃ÷ðV¼Æà`¸¾$e¬î£ô¨q“WÌàÀŽéM½<]™¶¦kÊÉ,= v_&qöùŠs¾“ݹÃBOeι‚Èý, ÓšàÝVe¨¨•ôá1þ‹8©™­à'sfh>Óѭİ1…>ó6ÜÜ•„†\oK¡Vâ³# BŽ“À‹¥+›»jÙ"ž¢¨a¬•Àz1­ò”Œ;32žÛ¢w1²ëúÑãÜ”µH#Û w€(œ7nÚú*NƒkWAq®àÄ\N;¿¯÷<å\¥…(eoÔJ ¶‰ù»hØû㣲æ–e¾RÂíÄ3ø2ØŒÙCM¸M-Ø|®® Ž#Š(¦•׺„X>Ä«â)Äò¹$nÙBʆ=Û›JkTX9´{h x/ú·°Èkª§ŽqÍ·“uÅæt*i:¾>N*ºã\ø Ö3À‡ÒðÑÞ¸3iNKx‹0žEj0¯O›*b6mΊ…ªÈUŒ¦+Š1å×-…*†"8³«“›Å€¶OóMõÜz©½o°EöµŽ\Z´­ÈÜnJLnaˆ·®þ46(%ƒfS “?˜f œ Ó÷”XÃ0U¿šEʘ Ô(;pjô~x4Ed]ìæ´¨Œñ%­Ež‰BïÄÖ4’=¿Õ×uÜ]8 ™ù<ì­)”D!° iKRЦüDÀq—–aÏSŸ©æÓ@×~Y5zhÔ]ªúžö‹[P¶þ¼ÁYïm-õO†¼Öº ÖúL»…' Ý­žÑ.ÑÁákáHQÛønÿÑø"µÒ&÷`v <ÂPÚϲ~5ÓŠ6 %F*ŒáÙ=’°¾ÜTÌ&pN^û 0|ä ÓRäʯ<4ö[*ƦrܽF:㛪Éî nJwî¾zu$|.>Õ I~5¢ºGé ºc¢t6†½‚egr —è'£À¯I¾~Ý€µÕ(Z2)}Ä0O`ÒÂ+Œ£øÔ9²Ñå‹IÐlaø3.ÙõÛ€IVz>YO„šù釄9Å<ôïû¿Ê-#\#‡¯èßÔ¸ÜJPS»¸<ŽÎGyý—°Hs)•;æk»j…Õ–Kç,ãÒç¼Y”å¹Iâ<ç÷ˆ®>¿¤’FØ»óÑí{ÂkTE³d áZ‘´Yrj:,ª3ÐÚÊ  Í’°)èÙÍÍJvHp¶Þ‰,H±YzlÃ2d‚<úÍ fNññ†µFáß!z=SŽY\ë?/37µßY…И7,B¹Yfþ?|!þÿÿO40¶:8l ¬ÿƯ>endstream endobj 270 0 obj << /Type /Font /Subtype /Type1 /Encoding 521 0 R /FirstChar 45 /LastChar 119 /Widths 522 0 R /BaseFont /LXVUSC+CMBX10 /FontDescriptor 268 0 R >> endobj 268 0 obj << /Ascent 694 /CapHeight 686 /Descent -194 /FontName /LXVUSC+CMBX10 /ItalicAngle 0 /StemV 114 /XHeight 444 /FontBBox [-301 -250 1164 946] /Flags 4 /CharSet (/hyphen/two/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/R/S/T/U/V/W/X/Z/a/c/d/e/f/h/i/l/m/n/o/p/r/s/t/v/w) /FontFile 269 0 R >> endobj 522 0 obj [383 0 0 0 0 575 0 0 0 0 0 0 0 0 0 0 0 0 0 0 869 818 831 882 756 724 904 900 436 594 901 692 1092 900 864 786 0 862 639 800 885 869 1189 869 0 703 0 0 0 0 0 0 559 0 511 639 527 351 0 639 319 0 0 319 958 639 575 639 0 474 454 447 0 607 831 ] endobj 521 0 obj << /Type /Encoding /Differences [ 0 /.notdef 45/hyphen 46/.notdef 50/two 51/.notdef 65/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P 81/.notdef 82/R/S/T/U/V/W/X 89/.notdef 90/Z 91/.notdef 97/a 98/.notdef 99/c/d/e/f 103/.notdef 104/h/i 106/.notdef 108/l/m/n/o/p 113/.notdef 114/r/s/t 117/.notdef 118/v/w 120/.notdef] >> endobj 258 0 obj << /Length1 1917 /Length2 12177 /Length3 532 /Length 13263 /Filter /FlateDecode >> stream xÚíµUX]Ͷh‹»׉wwwBpA&îî‚»îîîÜÝ!¸k3ÿµö^dïóxïÓý.ð@ëU£÷V½jÔ $ý¬Â blk”´µqb`adáˆ)¨ª²0X™™E()Å€Næ¶6âN@^ +@ÄÎÀÊ `aæegý!PÄlíÜÌMÍœÔb4ÿLâˆXÌ l Nf@kP#+€Š­‘9ÐÉ bePþç G€2Ðèà4fD`a›9 ¦æ6Lÿ8ÉØ˜Ø¸þ6v¶ûï! ƒ#H @ý/MHÒØÖÆÊ` 4A`úd ª¹ü¿¡õ¿“K:[Y}2°þ'ý¿:õX›[¹ÿ× [k;g' @ÁÖè`ó¿§jÿ-§46w¶þߣ2NVæF"6¦V@ó¿C排æn@ãÏæNFf'gà¿Â@ãÿíêÜ¿ ˜ÄÕ”?ËÊÐýצþk𳹓ª»Ý²þ3û_ÌòΠö8˜»t˜AýeMýþ÷zÿ«˜„‘­±¹)€•ƒ`àà`àŽ:> âx²ÌmŒn H˜‰ÑÆÖ ôÔo€‰­Â?;ÊÆ` [XÿÿwˆÀdïlë46´zr˜Œm­¬ þbg0Ù8m¬€&NïQ–ÿŠþ{ëÿf08‚6ÃÜÑò=*ngåìøà0™¹Û™mÞC Âv ÇlßC\&G+G³÷7€Éè`ûà0ÙÚÿà W'×÷q¥“™ð¯ A[ç÷åÚÉükàU1²µ²}—㥵:¾/€”hïlðÞ8NP^ÓÞbà{jN¶: tüçÍ~‚Únð^ŒÔ ‘wɈ¾¨bïÒ'ÐÊ%þC\ AÉwÙI½ÈLú@N2ïª.÷N êò类ðN êŸÞ T]ñ?Ä ªþù@õ”ß TOå@‹W}'PuµwUW'P=Íÿè>d240²üŸÇô¼3èä;8Ù:¼o1èb2x'P"Ãw‰ý‡X˜AæÆá?ÛúþsVþBÐRLÿBÐZÌþBŒù_ZÅ_r²ü ARV!ÈêýÅdÝ!L6!ÈÊö/YÙý… ‡¿¤áø‚4œþB†ó_Òpù A®ïÈ Òpû Aî!HÃã/5ÇÐÁÀø?n VŽÿ ÿÏk‚ôeÝFææNæVÆÿnùÿ}¹ŠŠÚºy2°XÙ8@—tИ½ÿÇ4#gÐäô¯è‚þo61Ýæ@ ÐaiÞÖˆï»ErCP±Dîd 4-¸¨içڮ™vÄ€ÅXp«‚9{ÚõͧÒÔ(ûÐû$®ÏŽam^Jc’çþö1?æ^÷]¾î§z4h^¥*¸ïÙ‘Ý£¶6ÌÞœp€+N¯'håõg\ g¦W=€]%ëÖq©ëNûÎÉ¥)™j¥XCÅFªŒöþ8„=xÍ-!jm"ÀÇ"®‰nåÒ¶Íã)îgü«>Ø£Lø7VÑÌÅÆ àT<î5]qÓǵ=|XmA'¥aZEwJEøl‹ÍRëýrçä–JKu·;Øìó6¼!íÞÁ <5ì$£Æ)l©$²2Ô1¯Dc™š¥#dy€t 3k¡Ä N‚Pšâ).@;/ùcQºÇ‘Üxq=ZC NÒd‡ù·FÀ(ÿf}ÙšDü•x÷§m/Ù>ò¸Bð6QWŒJ¶›Î£X¸7ô‰dL…ù»œ¾îÝkêìcÊ]Ê?ÄØ]>Ô¿82îHD-½EŽ,¾¯}Tİ,9„ÛbàΚ¢%ýmžâžéKQœ ŘRá o ߌ^2-˼dƒ•Oä€ð‡mz³,²; ÷Ûá ØÂN±mŠ[—û’’Xìž{¯âã3¹û(z±NG1þ6*;¿1 ƒ˜nÒÈêùârÏœµÉ…u ·5ÙèÑ…àáQOôG›®%Zßf·n7è&Yï?ù¶ó•AvÇœŠàëÑ#*Þf½?Y0b58ÇKKÂó»Ê(©ÌõdÚCIJÏ›§"ìœÖ…’‘eb²¥ ,q8Ê./{`v£ÏÊÎ æêhìMÖ?#JãvYÉV¢žçfP°[˜‹Üy7Ûº¶ ˆj³Ÿyp p($üKôðœHò_m#:¿R"üú(!× —<"“oâ¬|*÷Å}+è«‹"Ö— ‹Ì§,—À«[Ÿ!mWåàZ€ùú' ŒƒI6i|•;ºBUz{RGÈæ êÅæ>µ¤â::¶ƒ%²Yn{¶€ã0Ù˯¹UC×\iy\tÛG2%-Îgýk[‹fÒü¤1üJ›‰Tù'ù±2–:lQ"¸ -;CŸïŒtt|¥éaàãÚ7Áûhé•#¾rc|ï¸Gîb_^êΪñ®Mi¯Ø¨h¹5½\"<½‰É® ¤øûºæ{7Wd`"ŽÃŸrgG¿à°:AÍq()¶Çvö‹7öo®ÎÏO÷íLCgö™I"³·™Ƶ¦7ã±& zåá¾ÔÌð‹‚ünMÐà7„;yeãDMá(ÔyПcO­Pù uG†sFrÂ{Êðë\ÁÒ‚Õ¨¢9óžzüXº{šhH¥Òí¤›ÈÕK­èÁz†vÇ6ŸÎWOYŸkiåwª7Òê¦×Kø–ÒÜõ$JGwkö7²šä¾‰²”Ã`Æro©¥ù%¹V²T‡"3ŽÍ2RùA1²! »ÆÃÙÓ‘—Ò=ñ»èl‡9Íø¼òáS¬Â·L§Z"¶)é OƒP ŒBBb÷†*BÄE›f…Ñæ.6Ô|—A¿á5Ù"OHÚgÅ­vòùR;?៛2¬»p+¨{_ƒ•ùÀ깜Rµ¦?ÊþΤjÙ¹ ›€E¿þ.Wz!_hz„µç”¾>:zÈcq…Ä[v+ÿ G®_T¿÷#ÁÙ±šJaŒiBG%JãI‚ÑÑüÞþuØiyªÉ‰´Ú,Ä àaðá%Ì´þ¦\”f,ðl¦FÚ~ [éêmE¾|püíè- 3|Xí(ÝçW[2:g¶{ü9ðß]Mßß”`Ÿôq¹–¾RfÄ‚çdN’q½ô@m¡«ÈZ“ßÜô'N&r»Eò=DÌËfÆ)ŽoúnÄ<‘•ðæ4 ^ÈlhäCX³œc¶Oß–é3ÖgávÕ'Õ\ÁðþÓd€[kòî×þ¥µè•uŸ¾ŸÇo#" Çô›m€‰–5ÆmKn(mèÂäÓÆœ4óô,—Ù°Mžß5³t®?L,=|ï™õaYÇäD ¢_BÈÌDZdzããÑÀµUs=Í÷ëÒCS4&“<ùD¯’ˆuj5ûzºéˆYqÐj`Ã?{šÔ/¯ÖD‚-·Ê›Á`0ù„sxþ|ðµËÜ…"·JP)uÆŒb–4@Å€kÜIözy›WA2·æûKЪŒØY \¬£ùŸ_º¤¯‡û E&Ñ/…3ÔDŽŠ–P]rç†@'> 7ÚOólÍß¾Fiñò—cº×27x¹W¥"–EMAdkÛÐ}²‡¦…PW8%Knó;Ã/–hY¸Òξq˜ìºÀ…¡µ$£À0ÜÇcßÂE´±ÀLÌ’2LjÚÇ ñš»I,Ë\ɶÈ#JÔé_Eü¦=òÁ46¸Žå×ɈXÅ MFž;öÝòÅ<)ñÜ} ýb5ŠÑ`+CỚŸ G…S³)½#b{‚ñÕ‡†–†vlëòe‘ÚŒ¬óöÓøãÊ`ý†gwm:þ|ê>r|ò ‚ô9¨%ó´Æ_;ƒ»«êU#ú_¦of°Âž3%(:³YİÍÃ.3~”‹“÷I ʦAÔ—I RŸ²Tà¤wñL‹ÿÈN¡Àd å/Fþà–HŠõ}Û`N§Âä¨]&u?qÀ/çLON‚êÍh-,^i뽃ãcrº*”+uŽ‹<}Ô ð ¶;<½m~~Ÿ]F6SQ†jékÛé¾ëúÁibp§²ýaONü 1®9¾ezIª…þ”¥,3¼-‘ÅOç×J$ÉŒf#`ì£1Í:Ö·A“ÒYJâv©àÅž…¿ñ\¿•#Â’o›æíì¢ckz(8Ph„ÄNú %4W¸%äAÎ7<Ÿ›[Ã0¡Ö3p4uo0±@^è³3±»D‰m”ÚÒÏêuËLc±í_ÞE¡Âf©’“ñRò£°å(Í Axem. ÜcŽýT¼8u]jwÎÔ£#?Яm»|?\\¬‚КÉw²c«u@¯ýŒ_†ö<ƒÛŒ(žfùpì c¡òð¼ŠàÀœºZÓb„âûhbÄâ‹bJ¨FÌE‚nÔŸ´þÍP­ð8Kàµ@ñq•ØaêŸDT>vWY™^6*q¾ZÃ7Zó& j] /1di–Zä¦Eêüƒ›æ, –6…ùªèiýO+è;U ƒ"ŸR$nˆ²ð«MÃÍŠì¹o~¸á<]‡£X^ˆ(D²&hŒ"ö…?iFxù0Ÿ2òBê4d±Ž5éjý+µõZÆ÷•ž"_€„$íÁ×ïfŒB~µd¶O1Éþ;¾;uÉž4ݨ?‘ÙÑ W‘«)U}!›œ²×Üá”hé·%ÙÞÐÆaY5[:ÏSCº7[öôQDV¡ãí SºÎ7Ï¿{{VçK·Î\ð¨-s{r¬ëÊ ³×¹d=˜›cÐDÏjÝ‹B«:ñ“Üà ˜7†lV‹3S+[!ïÃUŽªàN„£­PZð–‹Ut‡ü¥.‚Â5\†À+“Óâw»"†)€ù‚)Æ­Þ0i« •s^ ­úùHH¥ì„akÁ[‰ 0üyó{å¬hŽ™úQKr ©¤JØì(UŸˆË䯲´c9x£ŠVžð)ãg>pJÒ#ZŒs„¦ä-4šeY›Š &œßgXðÒ’÷ž4›6¤3i1r¨ÃÑ\*­&ò»?iÏDe›¥?­ªµ9VSÜWdŽŽ¢$¢Q‡ÀkU ætf›öÅPg8£Ð¼F}‹¡’€(½fé§7>nS:~Ão¢‘Òç=)YOvƒ= ùA˜š”’¤‘¦9Ï£ÇçÏñÑ‹€È'ݱxÙdJ¼ ª[89Ëâ‰Aäx²)§¨3¼O÷ìŽà÷æ'ÚM ÿSüüXóçσëã/è·´)R¸"…¥м'î Fä ÔSŸçTÔ­N8Q÷»Ì4tÇ-¸…S$çb…1QI¼e¢V"“X.Î1~еœWä5õŽñ>’ÄðSÆ’ni<ÿé$»D®]²)U9Øá¶ ’šó´>éOï!Ÿƒÿ®†ŒÐ­Çꉈ»—Éò:Äã-`òó\,#'ül²:Ÿ ý¢ÄBXV#ST^“sé+o3™•dé„uœQUã6ðúi0‚QÓ(lÈ…hºd\ìÅ€`Ù(D‡ÙÍ¥I„Z^Q)‹’ÑbUFÛÅËà6\².é%ºëd¤rœ—¹ú˜¡¦ õ'xôZ=æY îÓ;%¼Uüd?‡>/wÛ1ôå8–¡C¸Å™I-abv—¹FÆÚwzâäÞüuFE¯1ˆxV[”¯<à7 Ø÷”ƒ;› ò¼¿ÁË ëè”0Š]œ/øôö·3í'*3#iFÜ?ÝÀåi ï{.!…Ãæ¯¿A•êG·$ƒyr x?ÿ×x\ô†tåîƒ5ÒtËaeK¦®Y~ω7[ìßjª§¾³÷Æ¡ÿÝÙb·qx¶3ÿ­hî³.vg¾-÷9Ò›‘é5±äÅ OºcWº7êã$…X %D#íâBÙc8s줷ʠ®íòI$ÌÁ—m­¨FîÁ•¾O¢w'çYsñ•–ôÁo[TüÔŽê´š,±8µnêØDö ;s =GŸbZû -,µ»Û\”Wý¡b&Øv;fÚ‘!ÖTu‡G êÏ@«JEuÚx¹“9"_¸TQi+œˆhzëáv˰¢Ði]MXMé7r´€ J«JÑxã?µÂdv¼¶„‘¸½J£…é‹Pj Œµÿ5Þ&UÒI%}mÒnò¬æ $®z”K™€ä¦89H>¢C‘<.Õ°—ev'îçl®ß1ûùíùuVG¶úA¾çÉÆ+Õè¦øŠ•€Gq#™%ê”ûw*!ÑØ°vcôO¥Ã}Ghí»ò`G\ëß85æL9ñ=ËM-°ìQ¿Ë‘Ù©ý–àkI~4üBy`EIËÙ"ʆ´Ôú4N‘ºUáPK¿œÁ¾KsÄó0ÄkneŠ`èzoÐI¶¦Ï‡Ú|³ûÀfyô¼ ^;ýºÞÔsºìùç<¥`²Î?žÇá¹L‘Ž?°X%—t ö¸ÂjoÀÇYlÀâ×—<óÂr9BÇE2ŸF¨µâAÉ œå â0ló6J3Öfêr@ÃDwÌÌÅÁàÔ$Bsñݤ&i¬e9›`§œ‘Âài—­ëiKkP5¤ßxø Œ„@’ä ·%öw„ßJ;§y‹ö2ªRÞ{¯D˜ÖG»Nšð5¸©{çX(ù`¶@þ4‹-ê¶ * ¾òB|‘èížmC}ìÓ´}r¢3Ô1ÏAÂMpA”›bð£\@§b,ž±žË×.¯¢ŠÕÒÅ3jôf¬RÏŒ¤Á1ª8͉»*û2cb ç«P7Aô5—?A ‚œ-ŠÛUìŒPà ÎS?ìCð=ÀcÉü@8ÎyJ—H ‡àBèQÏÉ r« ¾Rç zö[LZEKæ†9=*ö,Æð4›ªà˜m½‡(Ùe§%^lâHe %lÖ®œødu£©U›a58 .€ŽâŒVºê0U9MuÞ–]¸-™0b6çþ~}W+G†!qLbIøtÄê3lªu~æD‹í¹åIQüôwšfž\a[‚æ| ¡|Ò<¡¡«ûk,ÓûúcœìaÒR£N ±Ž.@§õÆýÙ\³ÛšWÖ3KOñS‡ïÌŽío#eÆŸ3ß’]òÄX÷›Åm”èjȯ۸q˜†¼÷…¶T0íêLñçK§ŽT0§ð'Ù”%­ìù(PË‚$eŽ»&$—¦Ûež}¥6¸/ð÷<-¡öew>š‘:wÞ¾CúPï×úÒªøsGߤ—!èàWЍ³“ o49'M}z™ü~g·a‹oZ|dR9ÈñOgj7Õæm o#[V‰)÷÷Ž<èáý§ÉÓ6.ˆ ûÀ¶áÖŽ—àø¶ù |‚~*B¶m²Œÿ5qg„`ÏYÛà²ôÙ/ß$@_Éç{ö•Ï7 ÜÒ a6DØ_l,õŽ~Õ_Iê˜Ïi¡>r‰´¶Û¤8zNJÿv“ÞÅXÕµÆeh†ˆõ »õ;¥¹ØÍÁ{6†Ó%;îñ`d¥l¸JnÊxÁÿÚ@cö³í3XÝ}:ÔQ€ƒv lgJb2¬úÝ vØL‹öÊEtSÃfÖˆúÉ@þåm›è÷nðü_SFþAð ŽÍ9]Fà¥0€}šX‹!EžÿÃ…ôt,‰7Íä’k¥9jsÈŸŽ^BN\ ,SÕ'6zÞšÖ s)kKÕÒ–EYUNÏ@ꨂ Ã)å‚×5åøÄçnBNXdK8j+'©‚,–ö÷?Te©¹ºÄ‹„‹1X•¨’£ŠùÉ/Õ. ‰˜i.¹ ó1ÉTÕ‡’Ý%B_ZÊïüðïëÏ“O)uÔûD¥\wó¯²oºÚºj0©&Z+I¸½#YJ2,/ɦTH¶Ýé+?°ŸX¯|!Sƒê]¹xmÐÒ …àPjy$zaˀů÷­€Û×Ù‹.„µvºA£ÝK[">Ýl¢S¸£¼ö5\C·ës—u¨ÐÞLØ'IózØŒÔõR]sä9ÃËfCW]¡¶;#ô€Šý¾±N+!cls?±6¢ª¯¼ßà‰#2p)±Å]¤•q‰S¹ï&‹-™±1!‡h.H1Þò–ÎãÕL­¤‰¶Í²+5yø™L HåSþЏ#ƒ×O‡ËÍôS‹Î­þO;òÂét©Œ×DúR›Þ¼7‹ä)xר¾‡Íö[Ë)ª•ÒÉav¼ J•[Œg·¬2ššxbsü)!ŒÝú³º÷Gamõ`Lͧdˆs" DaH#ʸ€ÛªÍ·]EÑZ(\†t}ªºülq|5¦ê.Ð#Ó±tîÝúÕT!FÞãÑÅaš†Ã?1Zm‰ ö¥Ô¯qÆ0zÕ~ÅB\*ûÆLÔ<\Ö~Pü Ÿ.²ÂLSÊX†;Þ¤°ˆˆò,…—D*¡ge†u|í€ÕtVõÃvÌà’ úb4Ñ« Ëñ C;N"ªa8»£F4ø`hÝG…s¦5`eÚËÜ=ûÁ‹#µ–|N?ÛoÊÞ*²¾Ë½ÖÈ çoõ…L\ÙÚ¡cˆógœ18Ûå¾PõlWƒÕdnj–(ÉD<ÊâMs•_NÈT7Ø~™°sr›±ÑR§Dö-9oë–¨XWI”Ýòâç8C?Mºsþ‚Ù½–²Ü:Vi3ãþ5¯ƒ*V®9Ôò«ÑE¥•A2áGP‰Ó¸C¶Ñ´iúôÃ…c>³‡ N„Ò ïdºèbÃ¥¦ï5„ûïþèÀ<݆¿Ý~† Õ^ç6p‘‰þxuh-=bvÁøiÍó¤™hµÀNÉXã‡ì¯7òy8ä/ô"šUì>‹x „â&vT³“Š%û›¨I~#.¼ý…žÝ‰v_äßÙIWK¹üd–Wk]è ±°ðs2âQWA„¤ZÆí’áàMòw´…•ÍêðaHê ´ª­."Ã…~¢Œú½l†G)áqÒí¾¬bÖź¤Ä&~'p†«g ¾R+¸¯åCŠ‘ÉŠÈ2’G{¡7[½NÁeïørÍy.áò«†ó¤P¦}í¨[ìqp¥94ü;þGt‘±R!½v2UÌA‘k`4c SÚ.åX]Nøî^³ºôžB`CHM5 sì2;:͉¶Ëõ°"zûH™cÎÅÇLy46«Ÿ¸P7•]çw„ÒÚLàþýº|~á‹ë5º½E%¥žRRvdhƒC/ÙG8ŒšªÓ»ö\ äãç—­Ýrf…¹g5ö=g¾<ñÕþ-“¢®Í!§Ôq>–.1† ü‚hFŸ ²fO†ÔÚúx­$ÏæOÈ?Òo+g`¹éY $VCyöe°#ð“*¢="Ø?a¸@øD]Z|ÉX·¨v”tªÖ:ã¤Èɧ£(³hTØú=³ÄœŽqýÂwÃßËŠ Á°ˆàOG÷ eu²Lºýy²MÖXf+‚•ŒÜ‚”õ‹¹s†±"c.6®a_O+0þ”³ê>NpÛà•îf±S‡ÁÌ­}ÞâΤ6Þ{nÑ+/TóHÀ£±¿M¦>áÆ\C(#å9Æ#3VE+ŒÊÔ€ÐMzÌËÓ†ØÏ1ȬaBIÜ\˜!@7§{ æ*|UkÆ ºgþï¨Vd±:ÖÌÇHþºÿ«è×Ñ**ºš–äe¼ñJ”ì Œî«Ñ—z÷e*ÛÕ›rAkªQrÝg»ŸGØGåß_õíKBë•§‡(y[Rül#݃/Ô¹nجž“84ÖŒršÑÉüP ÇJ¦»d5ð¹:µv+t‹òIÅ̓ǣF4+ÍÔ`CG ½å䃉¢ÁJJ’°Ò‡[ Cl›¤P(ýü`Eëù‹Ç«튮VOòù¸bíð;U™Î&$–F‡>ßÖ:ÄFB0@ð¥Šð-J5ÊÖ§ÆêxŒ1Þ0àEÖy†¶,ÌDB‰ Øû:X$þXÊ+¿Õ.vbïɰ}oVŸSk¶Ö5ºH>±,X"-¿ÚX^®à‹kêëñe–éÙp‰mŒ?-½ðòLy“$ýnþGd}­Åf¢B„ôσ¨4´GË$2˜OÑ\ pÕ(†ìx03é"“ENWö±‰ºÚô±ãCpÇ)ÜÎN±ÏØÉOv¡Cô‰¤zWL]š»Œ-ë))ñ¨l%\Ôª2&íéf{Z† [éKÂr³Ï2àó”1uÖ¬§¸{Ó˜§%•w¹¸$ø{GM”4tð>b×oÙg˽iD×Í=Ø•‰ÞŠª×¯Ñ>„x´¤â —^¶?bf4Áĸ£¶ÔŽþðI’Ïù²üƒ"ú€aæòñÞÁµÝ—÷iSz±tй)^ÙèOëÀ½÷FF£“G«~‡¢B|.M‡V Q€öHh•j^¿P wŒ2¸ˆÛË4<Ø6lÅÖ„mнP$'ÂÊÎm„q?ޝ,ù6Ö—Nƒg¯?@™¦óëÞ7º£d{´á‚HƵûÇ[îó½Àœì•»kÛësjþÇ—…ìÐŒ Û9:m=¤i+’ÓîxÌÐFjAÙºœ¯¤ò—Ž¥î¶ZGSßdBËEä«´žBGÎ뵡}ñˆ>##å'WSÜ.ÀTüOöâ“þ=ì}|,ˆ¾ùú°@§ó‘É‘êú3¾pÛ¡A‚ïö‡Í=ýC0š4µXü˜»{¾e_ÿ[g«‰&öléš$¾‰¯ˆ*¼Ñòƒ –+`U7¶JGøÅa–dåùÅÒ?Ä¡Ó·>—þ&ÐRïZg2¸®"SÊná™)•—;Б/Sgã¨wò§†‰ƒü Š´á‚¸˜ÝÊ\L|~“%¥_¢¥„r+¦ÕPr;k@‚Iè@·S\>ù…fè 7by?Q´ÌItæ\v9Õ¨ll×µ¥?a±ž‡J_¢ª’^näJ1 qêSØ`žíòÙQò¾8T5sÿ7¸4óX™lþ1úâáR}20ùø¬¤Ñö¶ííØÂRà–öT ýGK$ENU”Q…~-I?ÃêÈç´ø(ÜLgï›\Þ¦µ‹:ùªÎöP.6…c’m—NŒ‹ØÆÏj=îò¾–Q¡.Ø Ô[º‰<Ù/xP0x9±EYbÊ:ÉcàÇÿŸìI¨/ë4]8ÜLÃÇÍN{€´´h»ë—9$á„“ÕŸQ_wW£OZ-ƒO­Èä’ôüml£ÀS&oeïAxŽoà ¹«÷í:XpRDcãˆcÏi25UŽÃ1ù€&ÞAªsâ>^ì«Ùï¨b߇ í/¸öÉ^ÆÀXÞ 9Xy$yà‘Ê^d]1]?¹ˆÓž$ZL’µ•€Òçâ8Î&áÄÓ:!¤72ã`i ñÃb*3…¼* ‘§~n³¸š}VŒbTŠ% d£DÇ‚[2ùÕ¾RPY}¦/h#ü± Uzf«Þ×ÄݬÂ*ÄÓV#±Y3:à1U嘻d*[¸”úÇCàcE ñ“GmùÏ*îZ¢…êŸ87j±ßFtMêv‘y³`JUtÂbž†ªÛö±žÒ­døÚÔeƒåŒ3 í¥é‡i¤_|Páè×*Ä~aµ#4õ³ų˜CÝ;½ÃYÏ4µf['j:ã°EÛS#á×ÁV*ÏÆõ×{À¦§’'gÍH´¿u¿Dª›Á3³]yßÒždú)\ùŠ7yoêYAQßc²ˆ¢dÔ ¶´…N!jTã^ ºT×(׸·|Žù˜¾0WCz£!=åš“³8ò†Ó™Á“øë§Èl{ã;’Ú…à½ÍÔß“x‰*–mš¥SQ8Ÿé->×OY ¸oî´\Ì´.Ÿ­1 ¹wÅRÚÕñÕ®V œ­±Ša~Ã6žšíK,[! 9ü3çÊa‡ñiåÜG…ƒ:å}ºêÜm‰"§ aÒ©T§o©`ý‡Kú…rÐCØùÊkixpa7?è[ÒÖg^"bÇ>6¸–]¢y‡3èÞrµÁõ_ÁÚähïÓ8!ÑÚš×ìU)$Ý6{„ß"EÛQ1ÖÖ͸›ãu£'rÌ|Á|HÌáî„:±È 1«9`§‡ x ¨À ëHR˜„ó NÖOÒ´i% MuÜ…˜—€êu ,›áusùÃMFxâ8Û4xTG8ž‚kBÎ,QÐŽ`Ú®S?Î-“£Ï¡6÷dd‰†=]ÕÎ5wAÒÈÎ7+ ³@ìrûR®bÂf«dK¢GÓXàRXDOöwR ^µšº åa¿¿UÉŸYœ1ãîÕ†Ù÷dgOÆ+dõ,6ÔiWÚð%Ž·ƒûru‰x¯öhjN øõœ2Ž,ŠÏƒ«:¼Õ&ËF¢òÁWwŸ}ý3xnï ; ò aYœ| dÊ%2dhÛ^±÷±¤Â‘6ȈJêë‘mg90êEöŸàª;~âo¶Mª· ñø Bta¡)kâ§Àß•ðÔ­laàd7b0•G zšÊ‹ÍdGõ©\…@6ˆù3ăyDÍÂaJG` yc=~ý©Ì%kJ'Px©7±Û3QçNG”bì+_ó]Ы™CÎY˜êƒ9 µµšÐ[uÔ›ˆ¹LqÀøì&´c‰!ÄóØŒwuø¸”ÇJðùx‡Á]T=›æÆÕ±$á8넌ä#¶N{ø¹Éö“´'C"1Þ¤<ž¨å@"‚ýcxŠQ®ÃO‘¢Z&ªãç%•^èímÚn;‡#ù4GEê~ÃøºsÄ¡²žvÄr?þÆá”ƒ¯¢û$ÒWü5$Ç¥*iS”e‡Àò3*~í,©ß%œÑL5Brg;È©¹‹z¾ŒÈ–ð p4˜—fƧËÕzZ6ßá¤ãèÎŒésöÁJîL',àÊ.ÚóD¡ü~z·ß¥Süî÷–¨×³æ›"6¤E‡ÏWmSÐIR"M·óæ zTQ“‘‹]ÎA\¯)3}ýšåGœM¹ù£cÕ9ý… zÄyØàõÚµU:¦â§GÕ»Ôq˜0n4q§ì[] ]‹§þ­3³†¾VœÑ„ Ÿ2Š9‡X‰lñ}öSµ[= Ž‚´šî% ç›Kqâ±#ÚD|œ!Áߟ¼á7|¹»Ûô²¼ûÜ×D†‚_ý£’±¾¼m:.ÎÊÁŤ®œÃHÇb!Œ+À»TO‹–Ûvú(Þì ÞÝšŠáãœGĵ\‘UO{•y #âíKÎèÝq¬l‰çª:àÁpéªþS[€ý™™z!‘ NMÖä´Ù„,ÄÙÒRðÏÔìxX;0µÇ,ë„r mâUŸS™è[}ë>ÒeµúôùÇ’­÷÷,VK¯AÂì |Û$¾®b}?TF½$¸\¯Žãsá§c0t–m»³4!·”Ò‹?º›Å-…›H;J•aÉáçÚÛ³ëߪ )»d¹R‹VF<Þ:˜Â¸²Zô.aëøèOêA rÔã¶‘OºzMXši$3ÖQmñÜ©Zl±§ß50&å'Ö<Å¿aÓE„§†‡Q4ÞBœ íC©CûÐbffç ¦Û·Õjƒí<㈳ÉMnÈ':Å«HsüÌö$OFtsáô(`ïBI v³A¬.0 ÊÒΞicæIqH•ªÓlEüærlÚÅôR“Ò*š„ªÕiiRÇ!ùÙ6– ÒMäùŒ»7Í÷~Q¹SXÍ¡oùy‘D•˃&_…˜f³°{AÕ g£™ƒc]wü³¼n,ãˆk´ˆO€ªÛëÂèÜG‘Yïš3¹ÉSGηùòUË|žJnÅM+åß_hÈOn&_øâŒìè¬é^Ÿ¨í:HÆ·î´M7”˜cЃ°ã%Hì3Ñ»%3ä¨^æh¦ y ²„UHIJxëíœô¤ X|bÕ—rmðg–'ò3áàèÕÒÉRÝ6ÛŒR5¶ìNrGrl°éÕÐÐþì[y²ÜßTTLuºâª®2dTGi„)ËŒþu%r©ÃšDX"¢J7©F]…&t”ýÈö}Äæ¶Œxnƒ¨­…I ¼ydY¦s‡¶Ôòb»®îö³ôòÖjR‚ic÷¯¸s¥}3ÆléÊÖÍ‚²¢vpG# [ûÆIAxGQñ±¯VeúULrÖÓÙÉSÃehÍI²ûJuÕ÷²×[Á˜.ö…žŒ„}ŠoÜZƒ“HkêbeO9TÞ÷¶xþÍ×·7û¢´íÅ%='þ7ÇWµr#$ÐTßGûqvvÓ‚.“z¬0½{j\4ì­‰F®DMò•ÀL‚ÍDœˆâ½ˆ™²i½¢-ugÜEç‹-ÐvEmõ–£çñÙã”Zß›ãJBTÍÂf±%àÌU¤‚_~é’—ìljçbùï\]c±ä‘(Y¿ýÊå›’º@Ÿ™éiÚB¾ÕgªòDÓÿÚ:íD@÷«+o}¤Kpó|Òg·ð–ãÇK¥ý¢€/©óËÿ´hÒ-ò(|ßs¸÷Fƒ¶=ï˜óÇd«W —Ž7d8(¡|ZÁš£¹ßÖ’²fÑ ß ã½³l%ÃiG¦p¸¢‡3~‡íe´F0®A5Of㥆º·D"~C"Û×âÅ xyì«mÇYŽár6ØŸºAXÊä¿°Y×ðÖ2Ê™[Om¸.uÝ£°iûwU-.õöz-…ÅØjÓ‰‡öd<ÜøÎÎüNÂÔü oQàzZwérÅßmûÚUKbå\?Kãâ"rí²W{¼SƒˆûFF¦DzŸ8 Qÿ(ªê+ê‚c_’SKëï t0¯~uy£!线#ãì6ûy1G8ðÙ«xaèÞËMþóz;CcÀƒÙqq‚w¦89ÑŠøµ®Ž»Fù6žÕ:·gšCP”^ìü9 L[…¹™¥½ÚS=£§ÈæÃöWIùÀºOJ…½â€³&Ñ)&bÇäQ‚j0h6`¤&&y©BkH%Ë“¼B†d‡^7$å²½f^‡,„NŒÄž2!ûwc†pÝÇÐŒpzH}´`Ñ^`—õFôbÙÄ·wSœ&'ûñ6šÙϬڋøàKæ¸ü1Ñ¿Æõ¹¸“9@ÿ‘ho9šyì>.ñ씣§õx¥ÚuƒÔ¿rè8$À¤2 yÚÝ®BRiøàeœôy2Ù…»¡=jjÝåæò§;IH°|w•9§Šº‰+‡ÿd'ì‰ Y Ú¬VY:Šë  «²Þ· ‹’Ýcb>ˆ:¹q´¹WÇ5e*êÕzÛ>gh±±+.Ó\ÊÃõÚM³´[nÜ‚¹ÒÀó¡Ô;tzØÔ’C×”1ï3 g ™ó»^ F©Ç“2I49> endobj 257 0 obj << /Ascent 611 /CapHeight 611 /Descent -222 /FontName /DURPJI+CMTT10 /ItalicAngle 0 /StemV 69 /XHeight 431 /FontBBox [-4 -235 731 800] /Flags 4 /CharSet (/exclam/quotedbl/dollar/parenleft/parenright/asterisk/plus/hyphen/period/slash/zero/one/two/three/four/eight/colon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/R/S/T/U/V/X/backslash/underscore/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/r/s/t/u/v/w/x/y/z/braceleft/braceright/asciitilde) /FontFile 258 0 R >> endobj 524 0 obj [525 525 0 525 0 0 0 525 525 525 525 0 525 525 525 525 525 525 525 525 0 0 0 525 0 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 525 525 525 525 525 525 0 525 525 525 525 525 0 525 0 0 0 525 0 0 525 0 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 0 525 525 525 525 525 525 525 525 525 525 0 525 525 ] endobj 523 0 obj << /Type /Encoding /Differences [ 0 /.notdef 33/exclam/quotedbl 35/.notdef 36/dollar 37/.notdef 40/parenleft/parenright/asterisk/plus 44/.notdef 45/hyphen/period/slash/zero/one/two/three/four 53/.notdef 56/eight 57/.notdef 58/colon 59/.notdef 60/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I 74/.notdef 75/K/L/M/N/O/P 81/.notdef 82/R/S/T/U/V 87/.notdef 88/X 89/.notdef 92/backslash 93/.notdef 95/underscore 96/.notdef 97/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p 113/.notdef 114/r/s/t/u/v/w/x/y/z/braceleft 124/.notdef 125/braceright/asciitilde 127/.notdef] >> endobj 26 0 obj << /Length1 754 /Length2 983 /Length3 532 /Length 1525 /Filter /FlateDecode >> stream xÚíR{XLi·j¤“–„´¢/©Uí\NjFÅc3‰ÁddB¨ÇiÎ795sNN'J¹<]ج˺¤BÙô´E¡Õ¤%ÊÆ–Jˆé2=T.KmãÖÅ®”ÝSx<›?wÿÚgÏwþøÞ÷ý½¿ï÷ýÞÏÎF¶Œë‰SAЛ".ÊCÝX*— €ò‚¹ˆ˜†CP¤Æ@w€º¹9oÄnØßÝUèŽ ; ¦Â¢h"x¦‹@"੆4¡ÀH ŘuPÍr(0XF)ÈDñ€§J|:Â/ ‡ôˆó8¡`@ &H„? IB*) z—Æ#Â>”6@:œ¦Êt¬Hœ"UQ‡J„ïC±§AVË¿!k(¹w„J僩èú¤Ž© UÔ{¥‹` ¤ir(t|'N q"B=´*a0¡ð$ƒUpQžÀå]ž÷&"!.#Å: ÄTáp0I|¨Ö¿A|ÉBOÙB©ÓûÑeA2ò¨0у1ú1fM¢‰H°ZÀºŒ²@v}Ø 9l© p‚ ήB€Ñ4…°ˆ\A4 ‡‘F²Šù<’bØÀ:³()˜«‹ðÃØÑPø@ùô"sçR‘Ñ\T8p]Yf”ípºmþRAÓd_ ëLJXI°B ˆ®žRxć$ŸÛ~b˼Ì['9áV©Ùñ×K4©¼Žf±Zºè¦Né4K0 !rÇzºèWº¶ZžóŒ©ˆ^ÆOh4«0çqx™ÑsEÇšÀá׎•—V§%>ÑY? +rzÞdÛÓ²¡„sfq;*:nùt§á‰†úþ®-¡[kZu&)¸í¯‡€cÅ‹“àò¶–ïª{õó©LJ—uÍbÍáó·:˲{·Cº}{LjP—:»ÏX੼_ƒ GB­u+ÓÝü™¯y2Ú†W¹¡^–Úèc*ÊÎ^eÌäÛ!sÑ^½Pl”®o­Ì•k6òªboió*ºùš' 3KNª¡¿¿ (9Ú_ý…AÛ6Á—5î½{M´Êœ¶ªÏ×ã7ý œ{µ.±ÌnmFõœ¯«­ƒ-b'|ßøVðúÅêz ¯›#‹Œ=!OšË¿àWÒ^ªK3ô–¦lºz[T6²w»‰ÏïF´(6sQoöC ?Ý™—é’Q{Ä?Zè۶朗7aÚí%¢+G^'s™Çúùñô¦Ë&Gºßi²šz‰À¶ M=ò©ŽUÒéë¾ÚYÊ¢7ÊÉÁ<©i}ù/Ȧ™åÕè7]ŽÖs¶þ|™¾Ð\¹ñ ¶ýóa®Ó- ‡»’«Žêr‘«.޾qVfÛï÷í–[ã¾éuÒjËý{ŽÖæÚŸŠëé¼ ™Ùq|¦9Ç# x¸·qÌ›ÂÎJ;yû8“‡«¹¥5)Ûï©ìÛ7º9Ýtû¼˜°¼üå¯GO“^Î*ÖúÝ Ñmèdß›²üÒÍÈV¼+#v òô"/út¡äíä¥#w¥–·&ÖÕZùpÄ£Z¬{m¯Ÿ HòwƒôxÒOS-w]˜eâ¥&n‰äh®¾Ëk×ø”*¾° ¦;œ.:à§wl‰[óâ•M‘ò|óE7Yaæo„n[N¹çl¸-×Ûð¥½ó›%“øÉI_ÅÎ2NŸ®½©ÑwúgX&¼¨ôÊŠ^ÕŸ0ƒé{iËY;vXYæ}ûßåÔ—;Õ=Q÷­-^nu¿û $]Vu^WÈ%3 ´1ÝòX΂‰mA?;Á`úèžY!/¯ì¬4™éÂ]z[ã¯]½­Ú0ª•t®H{¾ hj9ÓÛ#–«÷f爧&?FŠ‹4jxÐÎÍÅþUhßÈ¥oe>+™»ší8ÑŸWfôc7]Èêìx%êØÝŸ6-…g¾ºs¼i¾¦ý·Q‰iÏc³›óóî>6œ#¼aÍ”N–ñÌv'ÿT2q}N½‡vJã¥Pƒ*ÿ¸}> endobj 25 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 /FontName /IJAPJM+CMTI10 /ItalicAngle -14.04 /StemV 68 /XHeight 431 /FontBBox [-163 -250 1146 969] /Flags 4 /CharSet (/period) /FontFile 26 0 R >> endobj 526 0 obj [307 ] endobj 525 0 obj << /Type /Encoding /Differences [ 0 /.notdef 46/period 47/.notdef] >> endobj 21 0 obj << /Length1 753 /Length2 987 /Length3 532 /Length 1528 /Filter /FlateDecode >> stream xÚí’{XLiÇ×–bÚ²S^¦‰d®fºLV*MJÙT$b÷tÎ;uj朜¦ËHÚ§w+̦‰Dr+žÜ*D‘[ÑkÓäNTF´Ñf³ØSXÏòçî_ûì9ÿœßïý¾ß÷s¾¿—3& ˆëŽ‘áPF*®'”O¹Á>Bò Ç“‚ˆ '‰iˆ JÐÅEÜã"€Ð¤bGé$Z<É5…GDªÀxOû^‘pWB Gø#ªH¨¤=PD‚H‡*5¸+ °wG,„±Š‡! GU FàƒßËäCÈIàô®ÅÅ|XЇT, ÆÓö€FÄHB¡”3ø3Iú,H“üPŸšË⊙ˆ²×þ}NŸ)%®P¿×ʘ8¤€?‰AŠøTßáyŠÏòQ! u'"p…bž@ü®ÇÊðDˆà*4ÈE,ìëCû”ƒN¯‚?/80ÈËËá¯Áö- 8¡ VÇ@ ø¨ï«…k:& Oó<@H é÷ÃׂOŽó"PÉ ’8„¢5ƒ¾Bt%IB€L0‘fæóREot2É@NRŒÞ¹Š?†‰õöŸÿЇ™˜Ä¹®HB‹œÄÀI"Nþ›£(H¨ú. ȇZŽÓB˜Q†¾D]Ó£6•,Û»ÔkÇå‚þö±6ºÝé5åš#:Wžá¶«å5ª´>Žêdj˜Qxá×™í3öó1¹ä®u‰û’ IA|M#ó‚ù`ûíÙA¦ÏPCØÂ/«rÏWRæ¬lÑnŽ)uxÖÄîº_޿ȯMè”gݾÊxïõ†×Ï—F§ÔÞÕ›ea쇙Œ¹e~?Á9­w2.õ<ñ&wúU¬°ì.«7zëÊ[W£ošë\Vçú1#M)n]ž«cÚ‚+òîÜ_¼¶3+—æê†˜‰ÔÎNÁ}×==‰\I§LËl¢ÜùoÛßZ=íKœ¨ …]™Ø°]¼K:æ„îÕÎOBý¶Á.ÔraÉR;³ŽñšæÍ»úmÅ•“:ŠMòº†Ü=ûh‘j:ûŒ(̽/8W£¾jÏyИªÎgzÆ>._Ûñû¬)þi¢–‡ÓbôÔè“â°GR—uþºå|Q†ŽlðŽ X‘¿e'g÷Ä©§/¯qpâû…ú\*¥ˆ!ÃgBíäò(IÝùóþkÏDŽ«ó@v‰Òg]Y®uöÖ±Nc ”ný¢›õƒ×o¯@|…n ˆˆ|—Ô8r°Ì°¹Ëôi¥.|›©ƒbÁÍŠç +–ÕÚ™Ür½ú¦æj¬m›òØ²à• Ó"xÿÙiZÌqù«džÚ‡·M 2¿ø¼·ýŒ†•5¯vН²ËƒçáE))<íäï …l}ôü׳|mfªË¾ù†kØHfÔºvÈíî Ã^EMmÅ_»ÌÕìYçkµzò.­”ëiVî© ·) |µirF©¶ß–Ý7)09ÄÞu¥†º¶Ò(´å®,£¢G×S\£Óu,—æ”ûŒÿ þ¨"”ŠT"T4ãOÈeCendstream endobj 22 0 obj << /Type /Font /Subtype /Type1 /Encoding 527 0 R /FirstChar 46 /LastChar 46 /Widths 528 0 R /BaseFont /ZTRSEE+CMBXTI10 /FontDescriptor 20 0 R >> endobj 20 0 obj << /Ascent 694 /CapHeight 686 /Descent -194 /FontName /ZTRSEE+CMBXTI10 /ItalicAngle -14.04 /StemV 107 /XHeight 444 /FontBBox [-29 -250 1274 754] /Flags 4 /CharSet (/period) /FontFile 21 0 R >> endobj 528 0 obj [356 ] endobj 527 0 obj << /Type /Encoding /Differences [ 0 /.notdef 46/period 47/.notdef] >> endobj 15 0 obj << /Length1 775 /Length2 709 /Length3 532 /Length 1265 /Filter /FlateDecode >> stream xÚSU ÖuLÉOJuËÏ+Ñ5Ô3´Rpö Ž44P0Ô3àRUu.JM,ÉÌÏsI,IµR0´´4Tp,MW04U00·22°25çRUpÎ/¨,ÊLÏ(QÐpÖ)2WpÌM-ÊLNÌSðM,ÉHÍš‘œ˜£œŸœ™ZR©§à˜“£ÒQ¬”ZœZT–š¢Çeh¨’™\¢”šž™Ç¥r‘g^Z¾‚9D8¥´&U–ZT t”‚Бš @'¦äçåT*¤¤¦qéûåíJº„ŽB7Ü­4'Ç/1d<8”0äs3s*¡*òs JKR‹|óSR‹òЕ†§B盚’Yš‹.ëY’˜“™ì˜—ž“ª kh¢g`l ‘È,vˬHM È,IÎPHKÌ)N‹§æ¥ ;|`‡è;ù¹DDùiCã,˜™WRYª`€P æ"øÀP*ʬPˆ6Ð300*B+Í2×¼äü”̼t#S3…Ä¢¢ÄJ.` òLª 2óRR+R+€.Ö×ËË/jQM­BZ~(Z ô“3‹’sR“A±V’…H˜*è'Ã<"„éC'§üŠj]#K]K3 ††f ææ¦µ( “K‹ŠRóJÀ‰N0~Z&0lSS+R“¹n^ËO¶nÉš¾­meëâ «Xõ9žXûò&ûˆu³3SjƒMç*¦—,yµðÑÖ¾ÃâÙ%¼’­§ m‘ìõë‰û²HxÍÖ®Ë"&4˜î×»,^ÙÜ5÷Ÿ¶ú+ÏÃ…a3æ´>’¶Ú_ôxV§²ÎÍ/Êõ'x楼pŠZ¼ïû½kÜBZA“´”¤Ìo®`¿Ë(&^y÷ùeùO;ê§·M~wö–g€x±[—úÅ4;î¤/‰ßžpŦ•]¼¨øÌñà•Ê%Rþø÷ì®x#Û¡Ô®úñH𲊯]uÒÕ×O°‹_êxÝ»ðk?'×~Y§£w/n9þH¿¿Á}Ÿ¬Ì‰ÇÆ¿¥NhûMI7¸gÌ´éÙÉÓYOB7®7lÿÿ‚]jiÝe‰Ùs¶O‘uySU¸|·í÷PñÞZ=ïm3"ß/Ù}˜ûÚnQCaû+7ûÎçô;ÃÖeä[ºõÛ´}¯õÅŸ¾59sí‚û’Ç ¹ <’skc·sõú'ºýcë=øô^÷Ñ3gÁÀ7 6ÝçGî¾¼6Þvfosêú²+ç³Ø~§=<}þ¶Uúæò³éÕÓYßµZÝðüÑÕÔ§â¿´1»–CÖW²tin¹ø„CR"8÷=K4 šj¯vxÎ3y>aïÃ!,ÿô¹kU|gå§=¹!~ñX€ £Õåx½{S’­û^9m¨oÞ•2_h{˦U¿B´N?vèäº9–×øwå\ÌZ»õþ­ýJŸëT|?Ϩ߿4ÀðüY·µÌÎ];ûÿFõw‡úßÉŸÿùhþ+µ˜& ­ój'CuÚ£¹YÑ­—ÿOüÑñÄ5½0|éÌüã‹÷Jîú¼xÏg{vÉ“|ÞøaaÓÝoßÙå·°ñ¸ÿ¹,øÑ‚°ÙwûVÖà6m*‰ÝÙâm",ÍÛø¶õ‡èÎɇvlö¹{lÝô„ülk™õ%fú«›všrT‡õå%»³ö8äµ÷˺Ëz(×4,ØýèÒÒÒNé-®Q†…ÀR4±¨$?7±(› UHÃendstream endobj 16 0 obj << /Type /Font /Subtype /Type1 /Encoding 529 0 R /FirstChar 13 /LastChar 15 /Widths 530 0 R /BaseFont /BNDXZN+CMSY10 /FontDescriptor 14 0 R >> endobj 14 0 obj << /Ascent 750 /CapHeight 683 /Descent -194 /FontName /BNDXZN+CMSY10 /ItalicAngle -14.035 /StemV 85 /XHeight 431 /FontBBox [-29 -960 1116 775] /Flags 4 /CharSet (/circlecopyrt/bullet) /FontFile 15 0 R >> endobj 530 0 obj [1000 0 500 ] endobj 529 0 obj << /Type /Encoding /Differences [ 0 /.notdef 13/circlecopyrt 14/.notdef 15/bullet 16/.notdef] >> endobj 8 0 obj << /Length1 1976 /Length2 14729 /Length3 532 /Length 15809 /Filter /FlateDecode >> stream xÚíµeT]Ͷh ÁÝÂÂÝÝÝÝ5øÂÝ îÜÝÝÝ!¸;Aƒ»\¾½ÏÙÉ9÷ç{¿^{@£­>jÌQ}TÕ¬EF¤¨B'dbg·³u¦c¢gâˆÈ)31˜è…aÉÈD†Îv¶¢†Î@n3@hôñá㛕›– bgïáhafî  ¡ú'‰ dt´06´È:›m>jZTìŒ-€Îô!kk€ò?O8”N@GW  =,ÀÄÂØ`4³°…eøGIÊÖÔÀñï°‰‹ý¹>¤”ÿÒ¤|HšØÙZ{L€¦° òv³?\þßÐúßÅÅ]¬­å mþ)ÿÏBý_Æ6Öÿ•`gcïâ tÈÙ™mÿwªðßnr@ ›ÿ=*ålhma,dkf 0þ;dá$ná4Q´p66˜Z;ÿÚšüo‰•û—ƒŒŠŒ–°Í¿÷ô_cІ¶Îªöÿ©úOò¿˜é¬Ž£…;@‡ñcy™>?~ÿûÓ—ÿ5—˜­±‰…­€™`èèhèûqz>ˆ à۰5º€î ô¶vÎ>ÖÄ`jçûφ~ì9ƒé¿bÿFæ´øƒ,hýdùÀZÖ†6B¬;g ‰‘õ¿÷ú?#l[£ŽŠ™íŸ0×=ð?³Y ö†Ž@[k é_Q¦ÿŠþ¯äIíll ÿD>&3÷°7þ™ˆ•ýãÙYìLþ„8 NÖ†Næ"œO £ÝŸÀ‡ž-ð?ÌöáåìögœíÃÈÙÜøWÆ?Kfçâø'ðÏ¢Y¸þ•ñ¡ëô±ÿáY' ë_®[Çü-²}¨ÚZü-ÂùOÏÖv=ÄõO‹ÿeÿ(.ô‡> ÿ¡¢"裢èú¨&öâøh[ü}4-ñ‡>–üCÝJý¡V¥ÿЇ‹Ìúp‘ýC.rèÃEþ}¸(ü‡8?\ÿЇ‹ÒúpQþC.*èÃEõ}¸¨ý¡õ?ôá¢ñ‡>\4ÿЇ‹ÖèãúýÏqÿ'•‹ý¿þgô£ðŸCÊõQØè}6þó¦1~tiò~´ ü ÿ9dáG£fáG§æáG«½ÃŒj–ᇓÕ_ø!eý~Xýy»™>n-Û¿ðÃÊî/ü°²ÿ ?¬þÂ+Ç¿ðŸSÿ~X9ÿ…V.ᇕë_øaåö×%õaåþ~Xyü…VžÿÂÿûV¶s÷¢cþx‹?þ1þ³ê\[Çåó?2]?®ç}é}\îÿͦ_@ ;ÐvyÁΘ'È2¹1¸ÄW,oº‚Tج)F¾®ûg\àR,¨uᨌõF­æSYâÄ¡Û žSx»·Ò„øï¯1)óo®iž-xšWirûöÄ÷'Hms7§l  ³c% Zù™ƒ'9Š”¢ª‡PkD =:®õ=éAìšâiÖj!ßjÉYˆ”‘SJBYCÖÝâÀ×§}-C ›iV/íÚ]PŸò ³ãßtï1¢QŒÛ Y”w¨Ñ•N‹óC‘jÞû‡«Óf*Ž€ˆhåQ©À,´àªLO\1ý™ ¬I±P9×ß´-íšD¯dì_6 ÷ôYhôÍó¥— /âòìÊ#)¡=ߎI\¹í2ñ~¤[þ¿½‘âs"Õu©´!ˆZ,I°´ÒÒ§Ñ=™o2Ôp…|a‰íÞ½\Ó¾ù:ÁZì"?Y S½ø*Á!õò*eae5|–•éWÆrdø%x¹-åA_µ¥«­ø3BEîeVNõ“wê:Џñ† rQ…J£P®ï×½¯ îA“l¦xR9Y°ÔÁð^†jÁŒ|•ňòbˆX®®mõÔi¤åíüÕ£^žG$…Z«!è^è°’N”‡»}>Ø¡µA1" bð[íçÇ {Æ¡×/<¿—–ûA@u€H *6`êä5ï°‹ÌC96ƺŒÝVg"NöTû­šŒ-¿ÂIû˜-g¯$$¸êCÉ*LSïg°Že¥OE»lJAR7^™Ø’tM<ˆ¾_Yœ{ÒàGTX»7îVC%wÒ 2׫ºÜIáiÍܱ‰ó;˜e)û)ˆÙ¹ÉP?¼]/ ò0|O}Crj­›Â(D“øœ7”3áÎÇ_O(=¹pI·”5ÝYB¼ ¶ª€Üßg„z 9™[Š¡ßƒuÅê«,óžaÊ„t+µiÚ"ƒSЉŽÉ£riìªõø$_‰¾HT8 °@ôN{Ôì“q¾ù@s)ÅT7 Vªogçß6qÕOÑ«¤å‡÷Dv¶8‰XE?èÚ¢Õ„±®jÔʸáž9ϲ†ùíqåEIø‹\•bë² ›u¶Ëö©o¼ÿºv =H¨Ulºû~IÈŒ±Jfï%þs’Z»‚Âç~ðÉŽ•gBÄ­bbÍãî;z«'Þâ!zõ#©Dé±èžR…æŠêf`𛬉æ4Ýwè¥çæË®¿'ÆÀQ½œÈr‰>KM0Y°e×;Î<¾Fûu¶»€Y×ŃÆ—¸óMGšø† ´Ê¿„€¶Yê~òV(6‘…$ÃËby?©i–‘èFUé=úQ„þ®nBwª@Ò«¹1ý4À¯r[8³'&ò˜ä­tÜÈŽç¶J·¡ÿ[(+öº³ýùgýIrö¦ŸΠÍH4òŽ:j —`1Ð.ïç0Д Öuòâxx¬•ÔÒ+h9ŽpÞ(+ ¢ Þšç°|[S7ú»ö–ÝÅ·žk)"µ¯/>æ3ƉˬuÁ–2×\h 2r gzï,hÏ3å"f!4ËlWU¸aĦ“å7ÀÆ7€Þe"eiÕ“w·$?íLx¥5³Gãfö¢O…q¿x寑VïKmC^ˆ1ÚGN³˜-)bªÕ(bŠ]úªzã'D{J¢_ÑS¨i_Z«-´ÉÅedœô/䨨Ïx>·•Úh3¿[Ü®ì|¹ëÅöœ¬Á97i½=ŒœÁàw€Úr¸áÞˆÝÆýíU{0Rv ¨†~Þ8’;Â’ô„úkŽ!FLÓWiÖ"Ž´8¬îÐQ£ÌºüÕ5%¥.QÝ0@n®j,Í‹(òñA†ý‡òޏ#¯yØ ì~àJv,º@[µú®¬wª\(J¦¶ø7c³s¶6f m}&q!Êp[ÂI‰ëo½÷E nÞ(¡r¿°°j®û_¿™V1†¿hÔÆ“ð=‘ù~AîÐGmÒŠõ ¡_újiv8©§Qm6nöûªtÎ÷>ò”ü<£GÎRá·¾»¡¸}*>ôÆo!%Iâ¨pÈ4ä‚Âä^øÅkƒß¸òµpsHB•6;!žÑJ´h툵ÙmÍŽsÚ‡Lm =ýàÌÄ6h5³[ëîE¬}›Ts&·OºÒ¶ˆÀ?ÈjÍ9‚ìŠ}Æ+ÞÇdÄ]:nýHE'è™=ç­TОü¸À×½Áç(ÿkÆ ÌôŒçTøF[ñ°ê'OŒù÷1hi¸÷ÖûpÉÇV´™²÷•šs¨¾† ѨaÜ+=,­>”ãâKÿ1¼gN’ænb…Nt=ÅŸ5¨øÛ“/%ôÒ/³â§¼?ä9Ý–@vçÆ­á'O®ê™Š¬B^7£ +ž]Á«Å~ÚGŸX4æ<Ò å((vdö„$«ép §=õ"×J€]›[ç¨ãÎóûý[BàöÏDô®ØîG!ó£?ž)ÂíÌ»¶„`dÄJŽy¶þ)éÜ¿ÿŒxöÅG† Öê]ãy6WÔù³½œ-c‹ ‹¶(Þâ—™¹¹ü¹UÔ ˆ¿št6u®O6ñ0þº–…,Qu¨×p‰¥dÁå7“CUˆoi‹r±K¼!M…6µ²˜û¾© ðýÒ4q=<.ÇݪTñ²Ó§ii䘼~bDƒÖ:ò¥¥‡„ZŽ cRý\ê×wò—‚œp!6]©ª.5>‹~#}wUuœÙ mŠi6€ûÒ‡< =Ç—+’¡ Ée³ùéˆY\›¶²ç$§ Hþõ>MêT6 XÒîrCú«í%„/ïq)jຎç„K¸¨\É·gaö¯´Už‹‰=÷à¾X‹н]¬×,ž53SÏÌV„ZœL÷ju?;¸°êðR¯“†<öúÔ©x`.©k¶á8$Òèˆ6_užÃªL¤õ!â+ @jØí/ÔP£ðö^6Щú®›Ü’ìÐÚ¦ ˜%yŨÍQ¨ÁZ¡©žÖSæ¾4É7;õÎáúÑ#JŽ—ruU²à “ö€bhÌéfŠ8%°ë÷Q2ÙÉÁP#‡ô Ü]Ž"5éßqÜì‹!ƒM³Z¤fÓ²‡öõ‚°¡ë[lêEr†Œâ*o×ÝÞ*N±(»µ;‚r÷c¾Ml$ÐÕÎÈ!‚³Æße¶h6qö§^çcÝmj’ŸÆßqœ’R8’s3v ÅÏÈJ•¢ãé—˜˜?"Vìº]Ê©(ÁQÆŸƒ©8ÿbK+è,‘Œ fIL/î={X¡!‡CßHvݬ{JNWö1!¥Ïs…fh¦ ]õb£ºÊùº,HâàrŠ’õȘ‚Cb> cUí´8gä?m¦¸úbÃxÇÓº¤%ª‹¨š ]¡3zYÖÖB¨ós<¯ö"¡VhW¸{€éŠ ¯Ý‚ÔÍáR¿£|ƒOºÏƒ½Š—8öray„;6KÕÁù‰×ëºÕy}±ÇHiõþ-¯?*{ôÂhKÞ¡Ò_Ì ù4 Å^}ýy üüzü¾n>mÚPúÑD·Ò™¦¨>HÔK|ÃzÓÒL5†m(³Ï ‚[]h±¹v¨¦,'ñÝ4 $Ç¢+¯ Ö6í—¿ÝûF»Dýyš±%ÀšÄvcç²£$Ç+øçɱUĶӰ MÒ„²´ýîÁï¸ ]Ñ‘’$k†˜ðÈDŸÇè¦ }xúhTäÎ5™œcäÞÓé«ç¥Šk—+á´PÔñT®/’»kS\ÿ¹V(u5tä›M-z6± aä–†Ð￟Î^Ãíø/Ss~xwtZÅ™¸²¯÷xYТeÀ4ýÀ”u: l/dE^\°òà„¡n¤ôOT&ü:tŸ7ƒB0Bëe>ƒAÙ“|Ø+]ôPtýZT„Rå˜Ä³ª‚¥Å{ìµ±OE :gQ{£{¥Rªß®¸ºéOâ+ÂÜe_á»Kw8oB"Y0Äëil„„Óiµüz)2}lñ®üȬÒ( †Ã¿«–<!ŒÃšÎhÝA½¥%Ô.x¢…QlÚ¥4ɇûPñøz˜"%2M‡×2Û¦º#Nä=l0µC_.âí8ñJîù˃MH†çœ5¼/=sûSW´ÐÃDä½Í@ÌG”—¾ÄI/¬Ž¥¦`øw$]å‚[UùBÉ…èn0 (±˜ÀÊŒ€;s‘ÝS(øRQn&—ˆ§XÍ—~»!‹(mEÜñRïÌSë”j#sSp 7¥&ö¢pìí÷S“° ¹bÀ+ÁÁÑW^#ɤ~E¡?‘Ô#m½VJ-ÈSé‡fïÇæý|#oÊüLTË|OëÅÓ|CÝ„ @9Cu”ýƒ§LU†^…‰ ¼5U¿ÈA€ã÷ÑR ±”»e¦)Uü Jà7lÏewÕ~Þ¡“9¯#\d )}ýtBïÏJYPºèÊä˜òe$’tad_$™Š_ªò ½™›¥wß¼zÎÏ–IÁ<òb“¢¾“Ú·&)ŸöL‰ç+¬yXÖâ e±}ù<2Lo,³ñ{—kAÏÑZ* ¿8sñ'#ä°¨ŠÕwÇd·9 }k”–fI>r^¢p_}¿ ¹Ø_*Ž<¥Â'L ΂ë¿4/ +N¾€AÿÒŠ–±¼HÎѰµ†ÈÒáËÍ}‡x3c ˆ¾Äí0_IKw)òDœÑì^Eî’1TËöÇ yu$ÜòLoÉ%¦‚ãlÅÁñ\I»¶ Tz{õfÞm}yaªuB…½4bвM4¨ÌõÚÑ쬊 ÂÓ‚\ÖáP{›þV?–ÉzÕ×­æU{ËQ´5ßYžà¸µFQN˜¡˜4{Xõknþ’ªŽ/“-VuÎÌvçùÈ8’‘áî§þþûJÁjE6v¯úÏ)O«C¡$N+8¤+ ¹Nˆœçné̦ƒµ“6£üàE÷ÈdÆ öY:ºûxi]:#ùrÙ9–…‚2Hðê¢ ä aÐu|e®Š™JÛÍŸÚûÇÇêçb=0kÔûëw3Á?ˆ!²;ô–¸iª@÷ëºcy{“xÕ^Ç4b'h<ÉÑò¯}5qí§ø‘`’0, \v_4Ô*P Sà•ªæ’‘^ì·0.»ö…9°àqœ‹jxývœÞOë|• Ê€–qž ú­Mî¡fnv°ÅJüp„—Û=ï+ï(ÆüV“2Õô-ä¹Í/T<‰%…—+¦§×¦BIôt3½›5ï(Àám:£#x4JåÐÍ§Ô Îa,Ð=Kü¼;í#]ÊÏc)%ŸTøE× ºª_°x@m+æïgn[iÙ<ö7-èEÒHø4ÉT”ɶ߾+œ£½ÇP*ÆæÆð¤\ÓÄ™P·Z¼Y`Àû;‚çÛo-öKÈåò‘]¾Ûwý{Ý’…>ìY4韻S͇¯ƒÛ¸HòŸãtƧ¾‡JæBŽp¼röTfÚ ^öÐàzž§àiÃ,¡CJ'‡(-íÔRy|¨kw—íÁžÃÏWõÈX,£ïx'Û{Û¢•Ìù‘vÕ:»Z¼C-¼]¶" ¯úó3šÐ·‡‡ù6™;È‘Ç:csjN#‚h«òÕñ-bDÞ;,Dlã£ÓYnëÁã¡_]¡ÈËwô­ë°ÍCÀ/Î|àK ßÅkåKä¸F¼wß4ð4]­cäøÂÖŠHØõÔ| ‰œ/·ûpS2â`ÎWŒŠ5“A^£éR5½’m†ù=q›ÞÀÛ¬»¬ñÄ™÷ è èê´7&$—z)¥KIÒÃÜh(ä­”#»KÑaǵt_mô—mXüІ¤qF÷㢌C£vãfÑF^§°itVnÌa¯6ÿ•V ß®â ?ÏÓH_KMŸŸŸ"ãã´A†–âJþbáðRh “ˆ5Ò:úb­¦Añ¦§Ý]1‡o¤ãóL^fÖúí¦pžío¬ñµM>w©®þ³(FÆ‹v›—ØàUílD)h÷M„­¶J¶æ­æ„Ô¹ $±ñÊÑíK¢æ¯’»€vVâëÊ?Qiˆ%”/@ÖCÜ2Ò¯"»åàiÃ`³}ÑzèþaïÈä‹[rþ™`-èý¸‡ƒi"¤rõàvc$b#ëæ|«T*zi#KFÖÞ ð˜!?¶=%²ƒ°Nºa]å/«Ôøª}ú9»²nàúks‘_üËÁ—פ³Ï¤ï½ñY=n‚oL4Ë{šË XRÐ&ý((¢™âЭx®Å€Ëo9Žåø/|õfeåŒîÄã¶$)|q_z `¢»Š—¬—Äxœ}¥KšÏbÑÅ è”ð¢\uM ^äRÔ<âg_ X_rr–ms÷ðZzª‘æÐ­?åÙ‚úF`ÝÄL°ñ”ßtŠî Ï&”ÉÚ[,B,ý¯'?}íCš%Mm#œ‚½kà.Ÿzw9Â{J(îéÌüêWCa îãXE Çû2^G-0PkM•½ìèPÀØ•xÉxü‚ÈæXjŸ`2˜ÿ#ãDO÷–l÷j½—Y£:Ós Úo¨÷®"!‹éLp ¶æóÒce@&”Ý)B,QÏI;Àm¼_:2¬›I;yÓmk ¥a¯Qµ*÷å)·œD¿¿4é—0tˆ¬VË¢ÔÆ”¯3F?èÔ’bztœW*é+Ñ×ëp†Á$ž°ªœ©>„Lóþv·Œ‡©4Dq+ù6¯å@Èõvø“a:sW†Î´ ¹.嫪Z7ªØVÇ¡Ðw$¤Xë]ë"º‡Ø|Ôoæ“?Z zîp¶á´YzçÛ“Ÿ2¢Æ­X&ºÐõCØ:šúåPeD 1—}4ðÞJ§‹Q©¬u—³ÔEé^¶jëÓ¬^‚\ÇËÙð|™â{’úoº‹PÐÚ­„^È¥uãî-(Ò[Ô7Ê q©Ç!­›Á7¼!ÍÆ• g41_ Ês«ÁÏUä²Ü¯6‚¥¾”ÑÝ_mðáA_›ÂÎ;f: *ã:'&éöbî ¬Ä0­ÊäͼU×±ÎIª»oe]yT:nA¥%•'™ #¨ÆAÐáC=¾+²:É h"ÒˆeP'~¯ÛIÚÕé³NM©’yÙ)°Qç¹T‡‰·Ý¾°[K²¬»¯¥Çh:î8ÔAëß²·ÂÁŠ yM¡n¢5A “2x5˜í§fnáÔOÇB+¢;8T+J®Ž†ífnAßF@Q]ïyKûz94˜õ–ÆÄ”YjÒhÃä d]g²‹ÇXnWŸ §Ï Õ»¤Žã;á_Š{y‡)NjfzÂ)X¤ê4¤/”Ö°Íe ð#h¶>³ß·I ¯fS2–~Öš½»œdcF°P¯Nýô¢~>G–„õî†M Å™·ÒüqäÕ"—av\Åði8Àæƒ#tÕ¯üœº×…"2·nšÏG\σÿ=3Uïºá›HLÕ›A2ËM{„u(¯[±íçüú¦7S¼Ú4•õíçñËŸ¶SóÂèJûŸXhu<‘ãŽÍmhwÏåºlÕc’„#R­*¹Ï=Ñð™ 9$˜»xõëÇîÎú '0 MÚUƒ™ËŠÉÍòBK­>±ÄÒM«jC9ˆyiq¯f¿gT˜Nó¼JgñC¸í×%—L>•'ô/K­ ísßËp† ë¼ÃĦºh^@êK—p7˜þbB½ñ3(a°ûË·@±¤†›íQr­1­ßø|I¾ªCŃ鵸 o®>%P  ~†~^.Xy¥/§rŽ‘‡O¹½ˆÿ"í¶ Ÿ©FøÌ qR«-3bÈ ºTw×¹ËgçÎ)-Ñl%yfž¥8.¥5FîYÑ'A€€fºVe“HV¯¡1‡¥­vW‰8Pt¦%³(Þ5Ûê³×%hІ]bb``O·=ÌV­ñµ0Ã*‡ôfϸc†‡£šÏŒæ‹ÇD˜[‡ ‰Ô¯oÙêâŒ\ì­c‰q‹œW’rpÙC<ó:eE“Ô„ÜÈÒøAÌñßr¦e´û.˜©bÜ´za`Ëe-4•âQNy8Ì*Á;>W¨ëë÷}ÂÌ9¥úéÝå~¬üZuˆƒFÌñ~™$­”Ôn=¿PüÅÍdÛAäõÉ#?-6ëîÓ{ú<Ô$£Q¶5 ŸLŘ‹ {™š]8QÇF½¬¬Ê¸ãOûb¯I9Ï¢wó4ÑsRäxÐ ¯Pý2¤DvF}ÿ³ÞÅ0…ÑzK¦„¢´î gË!c,wßOXž”o?ÓÈß+ –Gþn¾¶~`ð-$}v2,м’YNØ+^h»"z¯}ê(¿Uµµ¸%ûL,®O¦ù»qK-zδ·N­à-bLC ŸùâT»>/ì”Ì+Å‚ŒáÙ§uioÞ«¯ˆ?nî¬}Âc%ö|Ú&eY˜$|®ã¿ƒA›ÎkJóeK!Œsç.°Ý¥¦ïXŠ1Ž]=• dçÁÖŽ¸äÒ:¿óºÅ§ñÛIò`ÑËaÅYTÎ*ëIžÊ—Öã0DåîâSw²óÀ°ŽÁ׺ÀüœÙà™XÜAÒ×#鏸÷üXGå©a£}@izÍÊ}vQ„ïã…ƒDCó 3Ѽ…M·u¹) /ëIWÅžÈ`×Òç_¦ž,`¹žTTVO>?w"X.xäš`rÙdäÐY‘žЫّʾ+ÉûÐÎÖ¤5è™[‚;MD«Â3;¸•ããÌG0¼W̬'ú4ÁçÕsçeá;$wÇ_dj/7€”Z¹Wu\ãÕãí<|ªN¶ &ç{r¼_’DN;èÞ“?sö-à»”’ŽZJñ`[XÚ¨&Xýµ$(ùPœ‰ ÙÒÍ mÖÆÊÃXª ÷üèwõ¬±N¢Ž»šó Q¬ùNÆ‚¯ž2"üøVF'¬–6ìkûqÖ„/b­‚B/Yµ4hòVDP]·+55÷Ȇ ©r6LÙ¸ß43q›;Y€ðv ± ¹8Ïa^V‚;¬gŠp¦…­WY÷âSåð†Ô;˜5eüˆ§˜' Kª æÙÎýGñ«DºpÊl|8·žB’,:ža’ [x’;Ð#q‰°a‰tx¤Z—hW6Y&i.“®Ð|…Œ¯cZ»žZi†¹ß»áA·à>2“w2- Ð?Ù“êàÌ–Ó¥ðé æH*D‚:ÐYrÑ^` {"0[vº?ò5úWoå&DòmŸÄp_B_â½Nÿ¢ZÛÜò:êª¹Ž”˜¿(õ8›bªVÅ¢RhzŠBHà˜)Ñâ=ùR53 I§[IÒl „)DU±åG0æ…EÝ?cHän–N|q¶˜ôlÜ’t´ðâ¥Ý–¦ðÍí”›r Fp3(T»Ùkb¸I±Åhöz¬u¤!±„Ìq«#DÔÕ9øNCšž7–kGV3ŸD]b{ëGê“#u˼; pȽUì½ÛF“¸ùPØ]Rލ„Ò":ËÑ•˜9‡já´rlÓvg­!)ÈúêúQ7DüUsÏÑtðs©x—U…ýàMs+®OŒÝãH‘!F0AÈ!)A,“ä9Ø<Ð|¨ŒGŽãþ±ÔfvùgŽ_FÍŠ1•KûšRû Z^æ2%ÁD©Í§&I‘ãÞCŸ³Ú~­ÕýuMº!îþ©É\¿Á€ÄÙÑìÖ¾ðq®uºI…úÑÛš¾»¶Èd¤k·Tu1i„ÇÏ×)݈,7µpbºÐ_gDß>»]ÿ£!¸0fEaÔ”w)qûá1,)þx($-ú¾¥ºmS?Å!IŸæ×ž¥·ûÚì#.f[B*EmlÄzZoí+›g’Âò‹  A…ø·rÅ—u†lhÑC(`ÀvЧ—Uè@»­Ò0ãq©”8RVd„²-;mu«S5~w\hÇHš&¦9KÚ£8Åõy1ønƒ~*Ù3aä÷Èu¸©;ÔÈj²Ü·®'8êá*Sãƒï €ªz2¦:Ψp_lŒçLÜWydeUmA,ù–ç‡IpŸ8ŽÙ)}}Y‰-Y80Ž.òzà<šG.pûpEVóKTùç×ë4ŽÙ<ƒjü§3Ÿæ=–æ×¾¥ø‰çµ+«¾P?­Ê#*Šw¡MÄv\šsÙöèâe}ÓïGÍtô½ü³vuÛž#}Ö¶h¤ýfŠUK|qÙ`8 a€‰ï½AdIÌ»â•züå~!5á¯1bU„{Ó“eÃ¥A×<Ž9 B•F’7ÇV)G^ÅßWo‚:"bBEðuÔNÜ,VšŠã½îC«©T2_»dÜ%ëX7¾£(aÚMôf”˜Hù Þ·!_|m;æLo)¢‡&pÅL y­(jtWxrB›K/Á³s¥Ò|k‹UÝÙ2é†X ±9qÌ­ŒAÛ¡w™@èh^—‘Ày衊ª†#Ÿ!'unìOÎŦ u›½"¡ù¡C¬ÓJÇQSð–¥yj€#¦¿dWG1.Ü-ÆöD®zsŽé=ùeXRÖôQ‡ë7yëÀRÐâÙdbÔ”Í6(ÁÐ<sl£ yB( :²¬Åpœè|'ª*Ë!Éö!ýSì'…í…9|‘•:þd®¾ß´¤y!Ÿè2öbçþ.;ç:—nÀ1«Ú[,7 :²9 ÀÑ|;ëÔéœÌ5…’å7î–=¯1 wM0ÝŠ,eR¨°ÄŠq\îáS`wÜñÔ§†ÊOü2¼·Ã\ú²ºñ?¬š²l«4Qé94彩,Eº¿Láw›²ÉZ£¾@žJÅÒ•ü 3Æo JÜ÷ïSú\ áN]£t[ÄúÙ‘›Ä2lMýzw×h!òâÃè™!²4U Fz÷AZO2’^ÌÈ¥øe’ÕH²t&¯¸|s¨,ÕÓ,_Ê\Ø‹™÷Ãøí¹ººLu˜Ó¨†ò.ÿ #„î¾âÖR8`ðòÊA¾KõzŒ^pÃ?ÏâgŽ7ŸÓÕ¦Àó¥ìÚоú¦‘ññ;Õ¢Z~¦¼ÇxÇÜÆÛHbŸ Ôé ³ç5ÉiÂÖÞ`Ä%ØËª~!PÂí(¯åÃ;Õή æ¢ZýŸ g³E<;Zb —`+¼I $ºcŠmF^ýtö˜Æó8˜’&D»%òð< úšÀ䔲@E1iÛÃÍöÕƒ Ÿæë†ž¡ÄCThêK£KŸµª¶”¯ˆ—XXf2¶›†Hâb#‚‚FÖ½_,?Bœ%8‡vp"µ6d)yZ3Pxfm×ÜEžO”}«X:¯Ì×è•0§ $ãå¨óCd?}.âðkË+Œa—Á'5k×àê5ŽÔêÐEê‰84jÖ$>ß^¯šPCðZÍ€yšÎ?žJ„6Lú$ÃE®ØçêÒÑý@òS*Éú^éE»û¦™ƒ”0Öѱ¯ŒÆgÀï¿æFšµçÛÈ€ÄK¯Äæ±µ–_Bƒ‹É/dkw 0ŸU!‡ 1aŸõt,ËTTÚV1óq'h#ŒÏA±êÒ¼]†ú&¢ë4”piãÈIï^öU÷¸ùð#Kä-¯“OÖLû~YtˆN$Ýõà¬+li¶ƒb`e£@[´Xµk»fü„¬ÏtX+LiCòþ*Ï´Thöó.MyÞæàrú™JhLú22$¸R÷<6Ì =¹@Æ» ßþ#ÏΛ2®`'ÜHð“ ÁíÄ7ô—>±æ&d¶qC“i&Gÿ[Dº)±ŒŠ+Y~¯/ô‹½çe át”07ʳnÂm]|_¸§Û°jJ¬_ñ›HZâ‘8ˆAö¨¸›DQ<Ž-“¦&¥{&_o(MºùQwbTm…Ì¢çßÓ¦Hã :ðs‹1ÚJnH{ó•S›ICÿZœ=jD`¡b‹!lÁþ:s$>ªÅ2þL]? í4É£{7Í >ª`»8ÒûæºÑ’7í¹±çWlˆ’ÖÆò~$ö]>êñF§º"Ã{hOG4¢s ÂÅ·”cióæ>cp£-SM.Ûÿþ'ÁÅÔM \Ç&³¡* _~Àù–ŠYCŸÛm,áfsXÿÊA‚‡j¸nèXœup7š=,a÷+¤qÃ…óü\Ò¨Ö`¬c Vµ ;ÛØž¾»¿Á ¾>ÒÚßË+Ùä’‚ àŽäŸtîìÚóü=®v1)H&&Éñ±“± k1¦!uÈ0š«õ3­¸þP”µ#çh q0 §f+coùV¸5Žž [Ž{¯4!6^ù`ß GÝJ0mÐ;^sÔPBàf{¢—léÐúp9“T ü—Ri‰Oüü k,³‚¯Bc¿égc3÷ŽºYSã*IXjUó-†d_ L*Õ´+‚ [¦@Z·•œÉÚ©“HCtU–%›<@cp©;רp(Pàš×öâ9?2åø˜êWÏ#Ït’CÙ‹÷ø«Iç²!ˆvv^Pl b`ó9+´sÃd·ê­oø>¬’mð%Ù¸Høëa·I{Î,å QIä£hm¹Ÿ+_;O´HÁ²ìô¸Ò1ÜdµùEX¥µFÙz"ªŸPÏ„?W©ß­@~§ïV䔈#bùüé™czPù\.Üšìð–B5tú:¬¨„=}JãG äçQ‰ìÚÓµS[äDÌ™§ ¯Ë)£4Ò/FIãô}Ÿ ¢Ó•ýûé–…ÈÚh'¤ ªl«ÖëKÕºÚ­·¯“ …œƒfܹŒ:Ф½NdŠ’ž0†î *R”ý˜ëj·ì^ˆG¸ŒO¤ºç›B¶³‡?½øÒ:i|Á"mß;!RÚúÍ&ýj²0› «&Ö H 2xlËZ묕-o1]ý]–Ϫ2Û<ÂO]êÚêw—®8Ø1Ê{ˆ f Ä~‹APˆq€p˜žý6«¹•^[žU.Ù`€‡¸»B)sœÞ;›Ù¼ÍG¸«†¾ÒÎ6pÈ#Ô%# 9†ISO¸Ǿ)ų î.åÒ’ëÑ~®öÕQzÒ‡Tlýö5]gýì~‰„8D *2;ù~餡–½Ò±é‘—‘Šðf!#'qîÜ[¢–À·ˆr[@À¥v§ÄfHMÃٜɬ'/v^§ƒÌÅfsF¢ J˜;ì°DpNý?„òiãŠKz+ÃÀïžmª±žKvÎnm–úS=¾Ë›c‚ûÐ3dNØ3Áü{Lt­˜Àò~®K­ë¹åµVß…7Ÿt˜¡1Ý8gì\÷DTžXE·øE¾^ÆVÉ®ð#²®ŠÑØ·­·''‹&9u"‡ Û ‰ÆðûrÕ «q¿Ðyh–0—yÖ;¥ñs¡¯o7Ò•ydM½• èl¿¿o’:Õ¹Û8àÚéúùš@5u°âQèa¯yY´ÇäÞ­Hþ·¦Q´Ð-lÖÎŽë™qjœÑô1š2Uo¡Tù¹ Њ9´j‘ËÉÍåÀÛ£6ÞÜ¡ó¯cË ;‡bì ôÌUíSÃIߣM¾÷ô*Q@5™Š!7N35l™ #{‰üCÞÀIî%´ ŽlÞ5z¹Í–6˜$‰“×SÇÛC¹ÁK”`tç­aV5á±µ‚rªQßøPq÷2góOºYMÛÞ¹$ï¬Y_b§}܎Юj¾Õz)-Ã…kšD쫽øÁÏäs:)A¹Ž\ÅKó‡;_! WŽ‹á]ÛÑnåMO¤Zå[u%i¤æ’É»únÊM/Â2ŽkÖêÚNê÷8Èéû]ZÆæ{š;ÿÞKøW-PC5W¸ÙÒyìV>iv¢Ÿì%ôÅöë€õA†àRÍ4ËЃ±²É=zC{ñÂenìD«ï$m‚‡Z3>ø×‚`yÕJMq!{‘S6_Þ¶ˆr¤a¿¦|4V¾õïn\&«ù)¶ëvTœCâÿCÈRžz¥leRûä+úµ9§ûbôŽC0-ˤ-EÌVí¼ •¸¾±7$s›\nÌØ~SHeâ4îsðk]嘒– 8Ù‹UÒÔÂóÆ®*Êëù‚çÙ¸ØÉÒ:KB^K1T_»ÔßÐlÃIYáÃ[Û°_7‹j ”¦RÖÅ}=x´òTEÙ®~`w´é_f-D>±Ç¼Ü+®UÈm<Ø  ¯Ò]ª§ ]¸ußÕ²›Z5ÇkôÓW´vV4ÆâpÎÐî¢ÄaúAc¶ÖÝMp•7ôsS(®áœÎçÇÁvõ4ò¶›\Èêç?©ëÁåG9M¨Z_}ýz¨NHÏX¦ŽetÛh´¥û3áK°èÉ4Þ‚L¦J¶PÈT±M|S/înlEHǯƒ§<¢Ñ§¯3cßrÝPyÚtÔñ©vÍ['!YôáÜuöã.YŒÀnÐÔÏ'=°£±ämC²òêdךRF’îKÂby›j '¬CµZ[‚RŒzCÛ3þ²NïZ€7áuV§’Jk Ztàs8N$ýdëv ¥Lt#ìÑ4BšÿEÜPŤfLÐxs£Œõî ¹ÇÕNG¿h0u%ö†Ïö)µóeRœ¶á<ëÅ”¤éR™IWÇ6›p ZÉ¢ç„ÐîIÿQ+o Ý~Fh9Tç’ìQëdõñ‹üÞãÍU>#ÌYÐrO:ã:!¬Èží¦ªJ«k¤À³ªæXú‰„á ƒ‚fŽ8æfŽCý-â £>N̲[ ŒL‚ ï>5ºRl4ÐèÁl4®\ Ì”ÅÅÈJBrqØm§þ±!ý;ó#Œù "èh .»ð/3…Õ‚±Ÿ÷ÆÂ)ß°°»e­¬q‘ #žnQwÊ+"Žžq°sÊö&ánÍ"”‘m‹"EsÔ­ìéßWüÎì5ì'Ò´eënî¬ÙŸ¸7=„úÉ 3s9ßáDg€Ñmߊ֦ˆ ›èÍ5bv5*ÄiãÀ=ÙÀ!~AÎÞ'W ÄnẮ¦G·]?nã²ÐÍsGÖ)&ƒcp\ª¡(^ñWˆ$öH-í\°þÀnD8Åá…ñå÷_,O™—· ÈvzR©"¡‹%dlX£>Þ±ƒ|Á†0–¿llãTà||á“§=é ¥ÜïKbÒ7Uý> endobj 7 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 /FontName /KSKYBY+CMR10 /ItalicAngle 0 /StemV 69 /XHeight 431 /FontBBox [-251 -250 1009 969] /Flags 4 /CharSet (/ff/fi/fl/exclam/quotedblright/numbersign/quoteright/parenleft/parenright/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/quotedblleft/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z) /FontFile 8 0 R >> endobj 532 0 obj [583 556 556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 278 500 833 0 0 0 278 389 389 0 0 278 333 278 500 500 500 500 500 500 500 500 500 500 500 278 278 0 0 0 0 0 750 708 722 764 681 653 785 750 361 514 778 625 917 750 778 681 778 736 556 722 750 750 1028 750 750 0 0 500 0 0 0 278 500 556 444 556 444 306 500 556 278 306 528 278 833 556 500 556 528 392 394 389 556 528 722 528 528 444 ] endobj 531 0 obj << /Type /Encoding /Differences [ 0 /.notdef 11/ff/fi/fl 14/.notdef 33/exclam/quotedblright/numbersign 36/.notdef 39/quoteright/parenleft/parenright 42/.notdef 44/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon 60/.notdef 65/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y 90/.notdef 92/quotedblleft 93/.notdef 96/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z 123/.notdef] >> endobj 5 0 obj << /Length1 1611 /Length2 9820 /Length3 532 /Length 10737 /Filter /FlateDecode >> stream xÚí—UXœËÖ qwhÜF‚»Kœnhšà ¸Kîî‚wHp Np÷0½÷ùÏNæœË™«y¦¹éwÕªZïªú¾zÍWR ˆXâäÆÁÃÉó £&­Ïà àáäÆ``q›»ÙBœdÍÝÀ/<ÂÂ<)wk/7€Gàÿ ?@âìåjkmã`–aù+I åvµµ4w¨™»Ù€akXš;^A,mÁn^œ)€Ö_3 -0ìú âÄàá€l-Ý`k[' ®¿Œ”œ¬ Á…AîÎÿzv…¤Ì0ILqrð€ÀV\êX-0Ìäÿ†Ô..ïîà nîø×òïÒ›;Ú:xýOÄÑÙÝ ì Pƒ€À®Nÿ™ªþ—œ4Äá¿Ê(¹™;ØZJ9Y;€Üÿ ÙBåm=Á M[7K€•¹üwìúOضý-À%%ûJYKŠíÎóïAMs['7m/ç–ý+ûoæùͰÝqµõ¼ææäææ%ÂþþýÍø?ŠÉ9YB@¶N°(0wu5÷€=0|x¶N °'ì 3æât‚¸Á¦`[ò`qÅøë8aZ\V¶ÅþF~ €ËÆËÙìô;$àr†ô;$àò»B~„\'ð? äp¹yüòÀØÆüGÆ_u!|‰¼ù#ƒÀ…mÂ? Sƒ‚ßüak˜ë_GøODÀådû‡ˆl’Ôo‚MþM°d™ßëIö7Á’û‡aíÈÿ&X3 ¿ Öˆâo‚u¡ô›`-(ÿ&XuÕß«®ö›`ÕÕ¬ºÆ?$«®ù›`õ´~¬Þ«ß«§ý›`½ëü&XuÝß«®÷›`Õõÿ!ØkÊeþ›`c¿ ffùñpÃÔ@ lgÀà_güÂ\­ÿ@˜¬Í³µýaºv ÌÉþ„I9ü0+ÇßȳrúaV?fåü¬\þ@˜•ëø×C÷¬Üþ@˜•û³zóa74—çÓðúÿû¶–†xúpÀ^^Ø«s¹ßþo‰–î®®`'·¿/bØóo¶²…ÝP`°'Øc~b)l—ÒZòN.o¢™^Úº)V½®sú fÐ\¼CአëJ­þ]Y:!Î6ò6µÇ4¢Í÷å¨üq€Klê÷_Ûo̶ӽ?S蟥«ym9Ó^íã¶6~»8ÂkL­ —$ä÷~<éÛÏÑd–ÕÞA]¢ëzý¦¾+#X@P_>ÝA',¤–‘F /Õ¥ä=ز^b<ÒòxÐ;»0´f¶ÅSH›;Á]ZvÂ/SDШ®ÙµÊQ²ö†á]ìÈ5A¿qqĆ{¶ZšAtŃÅë%êLž×g2¾1³»¥U¶;/T~ËÊ7¼Õ@{Æ_ª®,ˆmÑò%ŸF®&¶ŠÑo¼i9·ÍÆÌPýŠj$o†ÒFEá©á½·ÈáZý4NtK ‹Ž‡‘l§Š9ƒ…þI™O%d>f&Dî±¢Þ/ [ƒ³k'_PõÞªV“þûV(‡ÒJÃÜÁpÒ¼tP/†€˜M~¬‹¬.މ膺~„}g]©\ž:ìÎíû ¬pƒ>ûNõÌG àªñ¼\)ZN€âvºJ‡ércÄ ›;ØZEœ‘"ŽÈKa¤cL¯¯¾ÃÁc•×;+YWVÃ4.Åãx«&–­z²ÈPtË_áÔà0VÆ”AÑ÷ã'§XgôèJ|£^¡ßr‘uŠ&ó ÷Óê<\”öfÆln±kZO–ÕlÅgÝ ™œŒ„äwä›.Ÿ¸1é[Ì,˜ôš’ÓO7¡ç1|óSíe ÔàE•WÜ9È[îr‡[‹îE4Ř~òËe,Ó;ñ«î»3Ý´Í ì%Š*ž¿ãWä'z,ÞXÊrPÈ?JÇÏÖöD3Í·$ŸÌÜX3ˆæIøµ:éŒ?v­ìâHOv§§ôvá±ç$ŠZϲ 0áeåËó⴮„ãpº6ºCü¨èø|ÝwXœ©¾·wZb-ù©'¹ò ß’n 9‹¾K&NÅKô™\#PxáHÁ¶EıŸò9&gÄ4Uñ9`[Å%8øe®ÜòU©H Ã^y´8Vc±i@å*@!—^uâ¦:ëoŨ!†nª®8»7}?dGbK%–LóFâ½ÜÖ!ç—bñ7ö˜¾Ã‹J%jŸÆÄPåÇ™½Ï^&Fv߇/ÜP”økü|í,Û­¥ûíÄ1ëA×Ú iUæ¥yz9Çó–¨ Ør ߃éE!M„f½ÝíᱫÎѺdЇª-6J/YšÛ¢®Iz­ÛðdŽ4¡Ó‰æä#w·ÝŠÜ!õ¬ýŸýµvÚæSÝÔ|_­»L ¶æÃ1ø~ ƒ¤g Š5,M¯ÁQW‰Š¥@A‹áû—„a&˜«B\SªC·1¿†‹ôñÓ‹E ¾O ŒßVÌ7eÏÒQUmz|¬ìª»ìú´ B.ºåµéB3¨Ð­/F ¿[!¾$À<ÿ;ŒtÜ3º&Ž<7N›NÙ5}i†+cX¯Ÿ!^iÄéqB1æJvùÆŠR7/2Ùø~`JÏ„GÌ”;pD9t_Ãà ´/$8¦×Ñ÷c«ßîKºhÿÉ.êgS¾B›ˆEÜÑ9ŸàGŸ1¢¡®ˆIž­Eχ£Ä“Eª—–‹¥w¥râ— SVa ‰vµmÃgŽ—×oØ‚ÅlÙ˜}Î=eÛ†½ íáæ¨ËEš+-óe—-Ól ¶p¦ã+—‹ëNdŒw] nêaÈöAú³xýÙ5šü“䨬ð\ ¿ÏÈFWçgÐÀædôÜKÞááA]ÊdÅkä‡uz]¯ ä¶É€åh~Ùüz§x&)Œ”æ“_zQ”3)ÄOhvÁq¦|>Ñk>oÛ2—z@Qޤ­³+Ì#d©HR}}¢RÚ/œpâ­8Vº½í0«|¦6 ¸|¯ÅᇜÙî/Äq趤,ŽïÎtµm |¯”?T…gÛ¾9doOÝ}n´“ž«.Þ· ±™ùÞ*jY@tÝ5Ƽ²Ñ!؃9 ¯ú8áŠ+àa¯="^h¹cøÓsl ý`3Ö‚E¡æsá;w!$®dȟзÜ!—ôq«òP‡%#Žð¾ß$ĘäØY<Œ)~åè«Á~”•“¬¢øA¯1É9}ïÙÚø$Û/Rz1Ëvm@)”$ ÔÇÝ€êŽh¦di…~ì™3a~]F®“Õ_ðìtŽé>{,ú©©ñؾE9âß9u\O×A)‰§^ÕT¬Ch[¥÷w®Q3‚NJ+šôƒéáS'sÚÊü9ð»OìßI©ÞGeU4Et‚“¢qOœôXdÑTO£o¾¼žv#õåí߯€ ˆcøh½ÞÁî©G-îßE,†*û›]æMøÝ̇¡v:é£ð¢Å‘RIòÈ„ì“1”r|¶ÜG·ñÄM¨Ÿjxë£Þ¡Q2"öÛs¡ØRÛiÍ㚥UmP´ÉëFa÷™Á_RŽšFÎñþ¸ØR²äÙ'ë~”ëÁj¤ŠMDZSx¸O¸)¦²>¶Öu±ÂäX¢¡‘\NI¡æ R÷:BÝ\Œ›~7šï¶¿ÁSaT/ÕžWëª`wM4xÚËE wlŸË'Á)÷¾ê`vTº£÷÷ºp>Lר D9I£ïØ=™~w—»ÌB¾•±8W$–™È„Vwv §GR‘´ C¢»Ä•X®•ÃyDî¼ÖYçEÎM ª;dŽs"¡LT mÀCKEÝL¹xÔIžZÖ[eõ;)|'¿W²Ú‘Ø+NéÀÜ’Æ7 YUôR_)r?SllØå=/Ûï¦,xLîU¼ÉÙ2H1¾¢²¸4èôO>væ^3a‚%ñ¯Zøæìƒpj áLŠîÙ??-Nd··F›‘ $'¤K:FFX$PŒû˜¿œ"<[ec>íÖM’Ž å~‹¥…¥ •üØ7ý‘¤ZmOÞà 5d~i•{«5§) 1 ™ËƒÊõ5½:‹^¢ØÃ:ÐŽ4„HÅ#êÇå±t£‡LµVíC”~«q§2׫³™øå-gñIå¦û¨¾T¨Y½¼4<ÑT‹fÓ‡_5ð}û#)#ŸHÖ@å Sø˜ §S™9&r1UÑ…À×}~Ù å*±÷áGóã!SÄ›p^B!“F=_o&Ÿ}²GÒ„Þÿ Ÿ»íòªÆ}ÕÝØ8¸]³èµb…nNFõ(¬°aC!fI“™…OWÆ_Ë綈µB”Ëy†`uòœ ôYÃWLŸ9¥¼œ–73–!bL#IñAÒX½Ñ£ž/QœÒCþ oZ3 ¦‘$V’n»¾WŒKJ;#­_oRQ²½Zåj‘ÁšðY¤–³ëTg  µ+ 2WÅZ;;£ûæ4Î*ÞZ¡q9°›´$Y°e(Ý, xg_':N7(æc`§ø}¢E¡í£´´-{¯‰ ðù_öÛ½‹}µwìúÔj¯;<Ü2™K¢/q—ƒýª•–­ÜêT3Pïšr#V±{‹íáõ½¸­^íϪóTë¼ÉÇK”1Ja¸;²Ü gaû›”ÒGm:Q»ç8S ‚åÄ*öÓ$¼Ã©_jÝcGf‘IL‰rjmk™¸\äÞ–ž#Y»ª…<Ѳÿ iDûBž¼ˆ»ŽV/EÕm­Z=Ù³ŸÅ³N­i ê€YWˆ¼ ¾¿úâª;ÒÓ˜œ:%þ½^è ÖÌ;qm!Õ»w ~YâÞEL§ÄæT±ùŽ\:Çwà `çúký¯¯+;Ù=>Œ·ÂS¼®¸.º%Ç ³Ë1±˜¢&[–}Ù›¢FNQ–±®0Ñb}á—ÉuÛçizÿü™Gþ¤ €s¥ô‚oIÆNæÛB÷.ïM(v°‘![N¯Eœ¤šð̃k>¥à6N`CÊ>A Ü÷Œ4!$çBˆ“€Î‹ð è„zÁ1"HüÍn„%!q1ˆY£âžMbV#·â­[õµÊ'Â\(p¢ñxï[ÏZì9ɾŒ\q?­zPJt—Õg©éé²,>ß— é)¡ÉíV/hW9Ô£fëŒÀ™é¹nRäÅR‰4i@ —ßè£i}6÷‘wGœœDÇ;~°YV´ögb"/âÑu‹Øüðêka‚¸j‚HS”ì`Þ+äÚÍÆ …¦œˆÖ9îÇŸ?ó“l3ßbßét翞 šÿÀéðGYÒUΙðÁž·{®L~Ë´€HgO*°òlä9÷º~Éâæ.›YG£$=2¸Ž®«X‰ák‚ÿ Ýd“D„Å/—ÙæËåμÍ/ŒÏ™æÐÒÉcTo3€›*êÞVåÞ×úôœÛƒXÃè‘,+šH—Y2ŸG±ÊÚÂXÔj ‹¦Oóï; Qv¨u–ï“!+ÚÐÝÅá=`RX.öå-/ì  7c¥&m¼ïXQÑ«gŨSDGmì¹ýºJ€ÑƒŸ©qiîR("j~0ã«“û¦H &ë®Yݨm{ûë¨7Ç—í£*e&á"ù>KŒÂ&ü<‚ZŠ˜¢€}ó#\¬¼zö®/£–²ÁŽ'íÉõrᓃ9ËðÉŽyáùˆ=CÅÖRZ¼âÈÄ›s-}ß§=:W0Î!±qÀÎîEsÙ¨Îd»EÆlkƒ<`90e…éÜÄOÆÂC1ã… ¡ÂEÏò~ܽK¯’":óuÜÂ\€Â£²t’ue ´äØ1úaï„VÕï²}´ó˜äŠÆ7©°Í8ÇŠéHz/•*ƒFI8·Öp;Ra©< ¼*µúJ@ß ³„Ëþ0„H©}Ýý1ÿ5òÒb°À}ä±¥±]ŽLâ ÈÐÂßÀ²ø¡Cý@­¿'ZÍŸˆÁ&@­Bò“ðfKù!ªgHÂS§fÝAÏm“¿†÷8º—ϳVçÂ×9©sêüÏvS¿‘Ùò~)AÔçBB>¹Ôñ¯ˆ»U'`àŸ P3§ð÷Ñ0éÁÕAÊ0„Óîg3èÒÌ}³eÇ7W¦aW'EÊç„’¶^Õ_2”ÇsÏ(ýåRá4xh¾ÚŨ;÷Å k0à$ü»n»ÂºÙó Ÿåžå¬&~¸â½ËÅ€6°à33ñNÔsÏáíõ„ì§!ßKýZ¸¦Á_qkeË×j­²JMEJß§&ÉúÂÖkÞù…Ú ¹^ôu7¾T¤´oaïìØÞsí»ò§,4#TZ‘ û²®èÆû†‚AuÏñ}Lñ¶°ŒMŸÉÁ rÏîõ‰ì{,Aí^íRi뙋X­Ù]=ÅL¿¥pÒe^x”òÊRù™O^¦Ò;W_-bAµrzü£¼j= ïv2*9TPÆÃ2#¼7g§ÂßÜÒ–hŠ‚1øPûÄ£ÑLÐtŽÖâp<ðJNòØIBDHt†1ž§†°ÏoúÜÊ'R.èkí7ª [=ÑõcÁ~áð¼>¬ÍQ@r¨ ˆ‡×´”7³RW¾ÿn=ª½Úé¢rÅà}N료Á8H#òµÎÁŽ›×°@öŽD¡Ý®cÒV¤Z {P§5hI¶²)çyYY³Íé†}jÝþ<ŸÄÃv|ñÞ8݃:ï~–¶M ð™8ºyފȽ?W:ùòãFoÙ·Å=Çþ:‘!£_íglSÐïíêšÍã²{£ƒXž_ŸZÔÚýÅ œ~±gøÝÎè<3ü@—õ}CãʵíÜØjûlƒIãìf4ή;‹f¼ù)áH~UìàGÍ@„t}ža°Qül9ϵ,y¢¢ï× Ñø,VÜ2@ÔP¢¼·±¤¿DÇ„–!ïU2qå4œïû6Ã#[ùo§ÙáÛƒi's[xöwõδ’öüçG¬’á‰q±‘,sò©qéEð&Ÿ.¥•£²¡zªÖ£W k(æzv—R“i¨ýNžè¬î›™ùŸsn\i‹þA¨{¥»ü¢C òŃ“?å‚J-¸%TVçcÞOXĸؚjg»à͘"wme¸’÷¿(;¶¹ÍdŒb1J$Î@ñaòŽ„‘9l}âß½ã­äÁìo©.s;ŒÇXwKØnÏ…IÒͼú0'?mZ%ž!}f¿þúB¦6…²¿/t€°,P܃%ÖE …[9s ÑØûZ÷î) 6Sô+fn™J‹kžÞ? ©ÑfÍ{Q¿N¬á X$lä^L·S^­ *+”*L¡Ž® ¨H Á0{¼“Üé({¡K‚›DK)¥‰ém°é5¶Sü2P,ºì)ð´XÆ,äÓ®ñù~aO>D¢ïûWúKrøEѵ’×5‚½³eaÙmçÈí6º¦µ^ÒfN’6X|Ž+Ö ƒ;3øO€ƒØ%íJgû-˜G¼hÒY컬_Eü?¼B  Ÿõ—12HðŽOW¯m“€l]¶ËiP¾(Zr2׿Í9%Kº¢KÞÒXHFg5Ï@ @Š: niηÖ;á,&Ø|‰vÝÐ7yóœD"½¨µù΄S— ¶C(htæàçxbw̱¡3ùÈA¼F ô9W`ð(°5= «¦ŒŸˆåÃ';«Éò¦Æ|SÃV:RyIèÀ›-Õ×Õu¶ì ß„uõ>fº¶ÿ¹$Ësx]ftj±4žwã`œÊuJ³N¼²]-}v>am´ÊÁÕ6nûR•PŸÑ ïXõgõìUVñ+¬‘¦qYNÚ€åŸ;nAÉÙ–%õ Ø1YÁ‚? J€dêß…Ù¢‚sÞ›í(T¡aa6Låä6mÈZ¥‚Ý—^âÛû°_S¾à¸ Ô;Á¦É}:µFê‘wV|©:á³`éc„δTeasP5dCJ¶Ë_=JÙ„“n}'ýƬ'붆zÁ"˜ìÈã G;ÃøÃI&¥]Û¬È̬ ˆv˜`h•Ûå†-µC¡<Æ—»uµPö‚àsCAcÞ$,‰ùl-©Q÷ÅávÒ3Ïý›<Á‚6÷¹yUÊ1vÐ9õ×ð©Ú7´DßÖB—¨ZÙ…!dÎ'ˆ‰OÊÄòC,Ütá½müßwç­f-5yn±!¡gž˜ìùÅr×ÝBƒ y5”-ßÎ µ­ýw þ Q~ÍRòºÖ߇_fºƒ³ËˆÓêË/Ò¦*ˆ%[æ’? RèàÑ\•2t¾úˆ_kV¥}\!Ë+ v‰õw[Õ/R¡ñ°œ®(/#㺜’µBŸ"1° H¦E¶«ãG(þDq[šTÓbjŒoƒŒÈ¸åå¶°ŠŒ#ÏôSáã3Kt~1!ÐkƒócÙS¬Ë6ÊÚÔåÝ1û‹Ãríwƒ³—Ñ€j·Êp/®nùLÞÛKÂÎq¸ª§|"óµ 6qãZE?Éè=v±‚IÛ´}·¸"—“}Ö„ÎAÞ³÷ðæ=›7—4W_Á±ï"Ì ®€‘秬‘|ûZQ‚˜ *_ #èoÜ¥Ïî?P~K,kÆÃ3§´D‰DÖ`ÙAÇ:Tr: Ý-÷Vzqs ³áo½r ñh}z·ñÝ Ñ;Ø«¼Jo:ê[Z,Ìp6.slc4dde.Ò'8l‰8 é=° JÓ5?çyûW‘;Ï%é'™ Ë#ØRÁ,ãÙ÷1~:#-Ä3z£OGeñ©Š4¼©¤ÒYäÆnˆßyVR¸ùåSÛÒŠ_³+»uØ‹ÇÁWïüš@ŸéÓ‰Gs ìÇ.Örμ±ž06#4â§0 —{ÓM“ƶFgÜšd^ß?gšÞˆŽœ U6¯IÃÖ•Ðs¨PÚNkæ+m'H¾‰m~ß2míÔ·E‘l±”µ±…ë§ë“~TD¡K<|ì‘d é4ÅTs)–yêR\ºCägP–طߦt™DIÝ4Ì»/ t;©b@ Ã:? ¿KϦ™'´dGcÐÓEž-6­Ï­pцò›T'$9¶+ƶTò±_ö)1¬¦z`B z‡ÄD>#<·^}3û´spŒcyF5\ûYP}ì©!·Ââsû³aß7çô ¾5ýt[[A„'ô8F‡åø^&èóir†[_n½¸¿îPRÈœ^ dm;a—c‚ú?O`Ÿ¦€9β¹äÈÔp ”K‰àïBûÐÍ ïš‹%§Ëªí&%Í•B¨ñêct¡€)cÕ–NÅV“’<œøŒ‡jÊG!¼•øGkV8Ì–9m¹xï¯ÀÙ ÒÛ/Á§¨ç‡ÜªÓs˜ÌwM¬SßvÄóVM"œç$W™‚ã æéa³8 ^©;Ûã\pA~ì.õû>v•‚)¨ÚIé‹v"†ÉÕ›¢¡øôkË®ö÷„~-ÌI’³êêê:E®à= \Mð¢$ä±IéyH¯/ê…ÌÒ&#çiÞäÆ: Yv6Këe)Šà[q{YËò3íýˆu!¶^Ñ8y¢I™ñ©œUñ@¯Vu>!‡÷z“ƒø%žç„è„gd„ʪm\•@D4«¼ËU¿ñ~¤Ýd@õiH´#®·¡‚ËYºuЧ™MJ™4ÏÔ vȶÝî uº#ùÚNІL;™ér ÞkGì§M†ôAœ’ƒy™ÏÛ•òÞ¨„¨Ûº3ËÍk4øN Nzìó“BÑâbás>EXáÌ¢’A: —­ræ³¥ŒBˆ’(ÛðÉñë4#TÎóVâ|¤†Þ4ÄÀÕÔîÍ%„çð¡ ¯ÔÎ)[ô ¾† ŠWF#¶¬Ýð(7¼Uð²É¢š~™¾ò9ú:$b*²b1ßv©0‚›(q(\“ò8sòØw Þ2С{ž2†¡‹6s'œÈêf§È@‘Þ¹²Ÿ™‹†ËùÊŸ• Œq>MÖPúŸ¬ö#á/9‹QŸâc,K*ÒŸA–šªȲnWÐVÍt‡j°Q l¦v¢²’sÕ†q¤Ñ¦° ów>W‘‡~ÙpÝ ßyP¹¸Í׊ãdvŒ’ziÔ[kö±Ón6‘d–iªÃÝ–42ˆÕx®$›r›ðžX€#üIƒ.ØYoò ›QúÇCœI½m9ÕÑŽ¶w• CK锃rÂKk¯˜>!ïå¤à±áÉoÉm{ø”Ø8©Ì7TøÄ¡ç%XÁ‚Ú™$ÚU"ÊÒÕ)»U±Ìœ\~b­Ò䧷Ƴrdxä3z„ÂsÊÉ+;F!àÇ©^óg"6(j ¥r*f¬ÑZ¦ùgÒF™]95«¨|Œš0j×l« ^jï¸úyr+ƒ_¢‰×{ѧžª]9_è뎦¸{{ßzZ“@‘K¬x|mÍ+ÓÉ ¢„îü’MÇæú # ÆþÃ¥ žkÎ^}çÔÅÄsÄÓn<{f„·}ƒá ûëkÔ·ÒcF_îñ~’ÿLõûiŸôЍ,bº—7AÜ@‹[Hµ-¯$ÓßStÈ1F` \J­¥5ý’Õl‡'q_à'OÛÒ/ë´U'®§%“ë®*±æûs\]Æ\‚@åYÒCj4aM}, >Þ`Ö ¾7÷h—i(ëkV–ÕÕ"¨xöiFÉíø"‚HîGæQêãôi(;o¸øæà LñÙŦü63¥·×+¹­÷c„ÀÖŠË‚¼¾÷@ºßÖ,$híÙcÌâX[F‰õcán‰é_DÍßöSé ¾ãÍË©<ó9À1ø¦óÎs0ðc¤VÂþ/U±(¦¯©r41ü”_#‚_Ö O¶ |‡íMÕòIað€õRºìs'3”È×8w²“b–ÞÌ>Mο‚›\j„´0‰ž@2™‚YF*ý l‘ÿ—‡á;Ó7OÇ˯‘ÜÙ=[AGq\áÆ|eÈÙû$Ô‚Mº g7í~1ѳQšOGLTlD3f¬TyAt±p(`ú5æl{å,ŸÁù€%õ s6HÆQeXvîzÆ«5˜h†ÃàâÕcCO“pÚÁQ+£1¼à¡­ Í&Ñdk»O…ßáB³^Zж-F'M’Å—Úål)›v©¾tÂè>oB,QF NjƎÖ"¨|ŸãoóÌà%£wõ‘è+Œ:Õm§´…‡×$_,EqÎ Õx…ŒÄ½/ìÁt ²\Ï€­…¤lËÇ2®%ëºDOHj>¹,ÎòWx1€†[a|í[â™þI€ãX¿Fé>æ{?kÐ!(^?ƒŽÓ­ê}`zj³üç ðޝÌúvZ«Ê¸[­Í¥³=òúÝRC¢‹>(QABß>_‹fKQ!Ý÷ß‘¸+ž–Ѿk¿=ÿ(RL•Ò¼c­“™ÁמCäÑ‚5“¼[Šgòˆßò<ºƒÓšàÃIïæ€ZåOƒè‡\ûªpæ5SiÚTƒLa#×®Ö{Ò»¡š‚—¯/775i\ꘊ'z^ $9ðæÞÐì™õkm¯Peëâ§Žf$dõÏÒ…«L·b(®S\iÙ™å®Ø U´,nVCü¥åà¢Âh?šÄI„:2ÆÀI®®ÙœàÑÛo-ûónùø0 6KQ©+t·ÞQ }§‰e#„o´µ8ôCŒ–p6œ.rAš¤üuýÔ\mB(´².lÓS•KK™ó8‰šV÷S&Ê5{ƒúOgœáâù‡ð..Цtœé;[(ÍPŸð+y…ÿTUÅáÂéåQlÌ–j2CÍh &Á-èr'kJ"“6M€‘»ÒÓìPŠÛ· ùnEââ…9¥ªˆ˜—:Ó]–M¨,ªc™8m*îÖ7yVÂð°©øõ½±žI¦CYÕgyú‹ÕžÜpŸ¨´ö<°ÙHdZ”S¸º7•Î|óÏ‚ßjPÞô¯6J)òÍÇ&'6”T§_lq —YÎêT ä£O‹{Â3êž•#Ísú©ÆaˆŒ8•D¢´gßLjY]:GA'h¶@w%ØÉ>þì3ÉŒzY²,žÙt˜xäÓµoKóËÒdõ> ù¢ûUP›5Owm¾e Ö^¡¼5iJKÏÜs¡ü¢mïø,:¿¥,¼‘ž}ìzÑœs߀˼šlÇU½–&(ñž•´ÌÚ½—¾±KÂñ»*m(Ð|î4©ß³jz4QPDTIHžÖv½ç°–+¸ukã 1eDL—{Vw¾AtÏ7hžÃ‚à\¾žX©³¹…˜ŠøÞŒì(tpÙÈ= îƒw%9 s쑲e˜ “?:ß—¶ó„Œÿ"¡þùÃ.]ýУâ£ÐȉN¯WÞ˶BæV&;Okj¿¦OXôSÞW@–¥P 6¾Ú§P¶Ä÷c[ï¹·.gÐïîƒèn8"‘Ε–QI<N' ÛûDòÚg{Ÿ \¥«’~ZMñ’º#zË(xy}›ìÌ&<Pšbç¹z¦8žš ÐÓ¶ˆù÷*Ë;\Œ-¹ÿ?ÿÿ'°t›»ºAÍ]í1þÕHv:endstream endobj 6 0 obj << /Type /Font /Subtype /Type1 /Encoding 533 0 R /FirstChar 12 /LastChar 121 /Widths 534 0 R /BaseFont /ADSJRA+CMBX12 /FontDescriptor 4 0 R >> endobj 4 0 obj << /Ascent 694 /CapHeight 686 /Descent -194 /FontName /ADSJRA+CMBX12 /ItalicAngle 0 /StemV 109 /XHeight 444 /FontBBox [-53 -251 1139 750] /Flags 4 /CharSet (/fi/hyphen/period/zero/one/two/three/four/five/six/seven/eight/nine/A/B/C/D/E/F/G/H/I/J/L/M/N/O/P/R/S/T/U/V/W/X/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/x/y) /FontFile 5 0 R >> endobj 534 0 obj [625 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 375 313 0 562 562 562 562 562 562 562 562 562 562 0 0 0 0 0 0 0 850 800 813 862 738 707 884 880 419 581 0 676 1067 880 845 769 0 839 625 782 865 850 1162 850 0 0 0 0 0 0 0 0 547 625 500 625 513 344 562 625 313 344 594 313 938 625 562 625 594 459 444 438 625 594 0 594 594 ] endobj 533 0 obj << /Type /Encoding /Differences [ 0 /.notdef 12/fi 13/.notdef 45/hyphen/period 47/.notdef 48/zero/one/two/three/four/five/six/seven/eight/nine 58/.notdef 65/A/B/C/D/E/F/G/H/I/J 75/.notdef 76/L/M/N/O/P 81/.notdef 82/R/S/T/U/V/W/X 89/.notdef 97/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v 119/.notdef 120/x/y 122/.notdef] >> endobj 10 0 obj << /Type /Pages /Count 6 /Parent 535 0 R /Kids [2 0 R 12 0 R 18 0 R 70 0 R 254 0 R 261 0 R] >> endobj 271 0 obj << /Type /Pages /Count 6 /Parent 535 0 R /Kids [265 0 R 273 0 R 276 0 R 279 0 R 283 0 R 287 0 R] >> endobj 294 0 obj << /Type /Pages /Count 6 /Parent 535 0 R /Kids [291 0 R 296 0 R 300 0 R 304 0 R 307 0 R 310 0 R] >> endobj 315 0 obj << /Type /Pages /Count 6 /Parent 535 0 R /Kids [313 0 R 317 0 R 320 0 R 324 0 R 328 0 R 332 0 R] >> endobj 340 0 obj << /Type /Pages /Count 6 /Parent 535 0 R /Kids [336 0 R 342 0 R 346 0 R 350 0 R 353 0 R 356 0 R] >> endobj 361 0 obj << /Type /Pages /Count 5 /Parent 535 0 R /Kids [359 0 R 363 0 R 402 0 R 470 0 R 499 0 R] >> endobj 535 0 obj << /Type /Pages /Count 35 /Kids [10 0 R 271 0 R 294 0 R 315 0 R 340 0 R 361 0 R] >> endobj 536 0 obj << /Type /Outlines /First 104 0 R /Last 251 0 R /Count 13 >> endobj 251 0 obj << /Title 252 0 R /A 250 0 R /Parent 536 0 R /Prev 248 0 R >> endobj 248 0 obj << /Title 249 0 R /A 247 0 R /Parent 536 0 R /Prev 245 0 R /Next 251 0 R >> endobj 245 0 obj << /Title 246 0 R /A 244 0 R /Parent 536 0 R /Prev 185 0 R /Next 248 0 R >> endobj 242 0 obj << /Title 243 0 R /A 241 0 R /Parent 197 0 R /Prev 239 0 R >> endobj 239 0 obj << /Title 240 0 R /A 238 0 R /Parent 197 0 R /Prev 236 0 R /Next 242 0 R >> endobj 236 0 obj << /Title 237 0 R /A 235 0 R /Parent 197 0 R /Prev 233 0 R /Next 239 0 R >> endobj 233 0 obj << /Title 234 0 R /A 232 0 R /Parent 197 0 R /Prev 230 0 R /Next 236 0 R >> endobj 230 0 obj << /Title 231 0 R /A 229 0 R /Parent 197 0 R /Prev 227 0 R /Next 233 0 R >> endobj 227 0 obj << /Title 228 0 R /A 226 0 R /Parent 197 0 R /Prev 224 0 R /Next 230 0 R >> endobj 224 0 obj << /Title 225 0 R /A 223 0 R /Parent 197 0 R /Prev 221 0 R /Next 227 0 R >> endobj 221 0 obj << /Title 222 0 R /A 220 0 R /Parent 197 0 R /Prev 218 0 R /Next 224 0 R >> endobj 218 0 obj << /Title 219 0 R /A 217 0 R /Parent 197 0 R /Prev 215 0 R /Next 221 0 R >> endobj 215 0 obj << /Title 216 0 R /A 214 0 R /Parent 197 0 R /Prev 212 0 R /Next 218 0 R >> endobj 212 0 obj << /Title 213 0 R /A 211 0 R /Parent 197 0 R /Prev 209 0 R /Next 215 0 R >> endobj 209 0 obj << /Title 210 0 R /A 208 0 R /Parent 197 0 R /Prev 206 0 R /Next 212 0 R >> endobj 206 0 obj << /Title 207 0 R /A 205 0 R /Parent 197 0 R /Prev 203 0 R /Next 209 0 R >> endobj 203 0 obj << /Title 204 0 R /A 202 0 R /Parent 197 0 R /Prev 200 0 R /Next 206 0 R >> endobj 200 0 obj << /Title 201 0 R /A 199 0 R /Parent 197 0 R /Next 203 0 R >> endobj 197 0 obj << /Title 198 0 R /A 196 0 R /Parent 185 0 R /Prev 194 0 R /First 200 0 R /Last 242 0 R /Count -15 >> endobj 194 0 obj << /Title 195 0 R /A 193 0 R /Parent 185 0 R /Prev 191 0 R /Next 197 0 R >> endobj 191 0 obj << /Title 192 0 R /A 190 0 R /Parent 185 0 R /Prev 188 0 R /Next 194 0 R >> endobj 188 0 obj << /Title 189 0 R /A 187 0 R /Parent 185 0 R /Next 191 0 R >> endobj 185 0 obj << /Title 186 0 R /A 184 0 R /Parent 536 0 R /Prev 182 0 R /Next 245 0 R /First 188 0 R /Last 197 0 R /Count -4 >> endobj 182 0 obj << /Title 183 0 R /A 181 0 R /Parent 536 0 R /Prev 179 0 R /Next 185 0 R >> endobj 179 0 obj << /Title 180 0 R /A 178 0 R /Parent 536 0 R /Prev 170 0 R /Next 182 0 R >> endobj 176 0 obj << /Title 177 0 R /A 175 0 R /Parent 170 0 R /Prev 173 0 R >> endobj 173 0 obj << /Title 174 0 R /A 172 0 R /Parent 170 0 R /Next 176 0 R >> endobj 170 0 obj << /Title 171 0 R /A 169 0 R /Parent 536 0 R /Prev 167 0 R /Next 179 0 R /First 173 0 R /Last 176 0 R /Count -2 >> endobj 167 0 obj << /Title 168 0 R /A 166 0 R /Parent 536 0 R /Prev 164 0 R /Next 170 0 R >> endobj 164 0 obj << /Title 165 0 R /A 163 0 R /Parent 536 0 R /Prev 161 0 R /Next 167 0 R >> endobj 161 0 obj << /Title 162 0 R /A 160 0 R /Parent 536 0 R /Prev 119 0 R /Next 164 0 R >> endobj 158 0 obj << /Title 159 0 R /A 157 0 R /Parent 140 0 R /Prev 155 0 R >> endobj 155 0 obj << /Title 156 0 R /A 154 0 R /Parent 140 0 R /Prev 152 0 R /Next 158 0 R >> endobj 152 0 obj << /Title 153 0 R /A 151 0 R /Parent 140 0 R /Prev 149 0 R /Next 155 0 R >> endobj 149 0 obj << /Title 150 0 R /A 148 0 R /Parent 140 0 R /Prev 146 0 R /Next 152 0 R >> endobj 146 0 obj << /Title 147 0 R /A 145 0 R /Parent 140 0 R /Prev 143 0 R /Next 149 0 R >> endobj 143 0 obj << /Title 144 0 R /A 142 0 R /Parent 140 0 R /Next 146 0 R >> endobj 140 0 obj << /Title 141 0 R /A 139 0 R /Parent 119 0 R /Prev 122 0 R /First 143 0 R /Last 158 0 R /Count -6 >> endobj 137 0 obj << /Title 138 0 R /A 136 0 R /Parent 122 0 R /Prev 134 0 R >> endobj 134 0 obj << /Title 135 0 R /A 133 0 R /Parent 122 0 R /Prev 131 0 R /Next 137 0 R >> endobj 131 0 obj << /Title 132 0 R /A 130 0 R /Parent 122 0 R /Prev 128 0 R /Next 134 0 R >> endobj 128 0 obj << /Title 129 0 R /A 127 0 R /Parent 122 0 R /Prev 125 0 R /Next 131 0 R >> endobj 125 0 obj << /Title 126 0 R /A 124 0 R /Parent 122 0 R /Next 128 0 R >> endobj 122 0 obj << /Title 123 0 R /A 121 0 R /Parent 119 0 R /Next 140 0 R /First 125 0 R /Last 137 0 R /Count -5 >> endobj 119 0 obj << /Title 120 0 R /A 118 0 R /Parent 536 0 R /Prev 107 0 R /Next 161 0 R /First 122 0 R /Last 140 0 R /Count -2 >> endobj 116 0 obj << /Title 117 0 R /A 115 0 R /Parent 107 0 R /Prev 113 0 R >> endobj 113 0 obj << /Title 114 0 R /A 112 0 R /Parent 107 0 R /Prev 110 0 R /Next 116 0 R >> endobj 110 0 obj << /Title 111 0 R /A 109 0 R /Parent 107 0 R /Next 113 0 R >> endobj 107 0 obj << /Title 108 0 R /A 106 0 R /Parent 536 0 R /Prev 104 0 R /Next 119 0 R /First 110 0 R /Last 116 0 R /Count -3 >> endobj 104 0 obj << /Title 105 0 R /A 103 0 R /Parent 536 0 R /Next 107 0 R >> endobj 537 0 obj << /Names [(1) 53 0 R (10) 298 0 R (11) 302 0 R (12) 58 0 R (13) 59 0 R (14) 60 0 R (15) 61 0 R (16) 62 0 R (17) 63 0 R (18) 64 0 R (19) 65 0 R (2) 263 0 R (20) 66 0 R (21) 67 0 R (22) 68 0 R (23) 95 0 R (24) 96 0 R (25) 97 0 R (26) 98 0 R (27) 99 0 R (28) 100 0 R (29) 101 0 R (3) 54 0 R (30) 472 0 R (31) 102 0 R (4) 55 0 R (5) 56 0 R (6) 57 0 R (7) 285 0 R (8) 289 0 R (9) 293 0 R (Alternatives) 344 0 R (Feedback) 338 0 R (General Index) 501 0 R (HTML) 322 0 R (History) 348 0 R (Installation) 334 0 R (Introduction) 256 0 R (Obtaining) 330 0 R (Recursive) 326 0 R (Target Index) 365 0 R (Targets) 267 0 R (Variable Index) 404 0 R (Variables) 281 0 R] /Limits [(1) (Variables)] >> endobj 538 0 obj << /Kids [537 0 R] >> endobj 539 0 obj << /Dests 538 0 R >> endobj 540 0 obj << /Type /Catalog /Pages 535 0 R /Outlines 536 0 R /Names 539 0 R /PageMode /UseOutlines >> endobj 541 0 obj << /Producer (pdfeTeX-1.21a) /Creator (TeX) /CreationDate (D:20101228165652-05'00') /PTEX.Fullbanner (This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) kpathsea version 3.5.4) >> endobj xref 0 542 0000000000 65535 f 0000000461 00000 n 0000000356 00000 n 0000000009 00000 n 0000188645 00000 n 0000177631 00000 n 0000188487 00000 n 0000176293 00000 n 0000160207 00000 n 0000176136 00000 n 0000189697 00000 n 0000002428 00000 n 0000002320 00000 n 0000000540 00000 n 0000159842 00000 n 0000158300 00000 n 0000159683 00000 n 0000008281 00000 n 0000004448 00000 n 0000002509 00000 n 0000157980 00000 n 0000156173 00000 n 0000157819 00000 n 0000004757 00000 n 0000004886 00000 n 0000155855 00000 n 0000154053 00000 n 0000155696 00000 n 0000005016 00000 n 0000005145 00000 n 0000005275 00000 n 0000005405 00000 n 0000005535 00000 n 0000005665 00000 n 0000005793 00000 n 0000005923 00000 n 0000006054 00000 n 0000006185 00000 n 0000006316 00000 n 0000006447 00000 n 0000006578 00000 n 0000006709 00000 n 0000006840 00000 n 0000006971 00000 n 0000007102 00000 n 0000007233 00000 n 0000007364 00000 n 0000007495 00000 n 0000007626 00000 n 0000007757 00000 n 0000007888 00000 n 0000008019 00000 n 0000008150 00000 n 0000020183 00000 n 0000023742 00000 n 0000025316 00000 n 0000027042 00000 n 0000030053 00000 n 0000044061 00000 n 0000047060 00000 n 0000049690 00000 n 0000052636 00000 n 0000054090 00000 n 0000056932 00000 n 0000058459 00000 n 0000059577 00000 n 0000062687 00000 n 0000063902 00000 n 0000064808 00000 n 0000013022 00000 n 0000009736 00000 n 0000008385 00000 n 0000010017 00000 n 0000010143 00000 n 0000010274 00000 n 0000010405 00000 n 0000010536 00000 n 0000010666 00000 n 0000010797 00000 n 0000010928 00000 n 0000011059 00000 n 0000011190 00000 n 0000011321 00000 n 0000011452 00000 n 0000011583 00000 n 0000011713 00000 n 0000011844 00000 n 0000011975 00000 n 0000012105 00000 n 0000012236 00000 n 0000012367 00000 n 0000012498 00000 n 0000012629 00000 n 0000012760 00000 n 0000012891 00000 n 0000067995 00000 n 0000071376 00000 n 0000074353 00000 n 0000077196 00000 n 0000079291 00000 n 0000084645 00000 n 0000096967 00000 n 0000105474 00000 n 0000013126 00000 n 0000195185 00000 n 0000013165 00000 n 0000013197 00000 n 0000195053 00000 n 0000013236 00000 n 0000013263 00000 n 0000194974 00000 n 0000013302 00000 n 0000013334 00000 n 0000194881 00000 n 0000013373 00000 n 0000013406 00000 n 0000194802 00000 n 0000013445 00000 n 0000013485 00000 n 0000194670 00000 n 0000013524 00000 n 0000013553 00000 n 0000194552 00000 n 0000013592 00000 n 0000013640 00000 n 0000194473 00000 n 0000013679 00000 n 0000013731 00000 n 0000194380 00000 n 0000013770 00000 n 0000013815 00000 n 0000194287 00000 n 0000013855 00000 n 0000013910 00000 n 0000194194 00000 n 0000013950 00000 n 0000014003 00000 n 0000194115 00000 n 0000014043 00000 n 0000014096 00000 n 0000193997 00000 n 0000014136 00000 n 0000014177 00000 n 0000193918 00000 n 0000014217 00000 n 0000014255 00000 n 0000193825 00000 n 0000014295 00000 n 0000014332 00000 n 0000193732 00000 n 0000014372 00000 n 0000014420 00000 n 0000193639 00000 n 0000014460 00000 n 0000014511 00000 n 0000193546 00000 n 0000014551 00000 n 0000014597 00000 n 0000193467 00000 n 0000014637 00000 n 0000014683 00000 n 0000193374 00000 n 0000014723 00000 n 0000014754 00000 n 0000193281 00000 n 0000014794 00000 n 0000014840 00000 n 0000193188 00000 n 0000014880 00000 n 0000014918 00000 n 0000193056 00000 n 0000014958 00000 n 0000014997 00000 n 0000192977 00000 n 0000015037 00000 n 0000015076 00000 n 0000192898 00000 n 0000015116 00000 n 0000015148 00000 n 0000192805 00000 n 0000015188 00000 n 0000015216 00000 n 0000192712 00000 n 0000015256 00000 n 0000015288 00000 n 0000192580 00000 n 0000015328 00000 n 0000015355 00000 n 0000192501 00000 n 0000015395 00000 n 0000015428 00000 n 0000192408 00000 n 0000015468 00000 n 0000015518 00000 n 0000192315 00000 n 0000015558 00000 n 0000015592 00000 n 0000192196 00000 n 0000015632 00000 n 0000015678 00000 n 0000192117 00000 n 0000015718 00000 n 0000015749 00000 n 0000192024 00000 n 0000015789 00000 n 0000015822 00000 n 0000191931 00000 n 0000015862 00000 n 0000015893 00000 n 0000191838 00000 n 0000015933 00000 n 0000015964 00000 n 0000191745 00000 n 0000016004 00000 n 0000016035 00000 n 0000191652 00000 n 0000016075 00000 n 0000016106 00000 n 0000191559 00000 n 0000016146 00000 n 0000016177 00000 n 0000191466 00000 n 0000016217 00000 n 0000016248 00000 n 0000191373 00000 n 0000016288 00000 n 0000016319 00000 n 0000191280 00000 n 0000016359 00000 n 0000016390 00000 n 0000191187 00000 n 0000016430 00000 n 0000016461 00000 n 0000191094 00000 n 0000016501 00000 n 0000016532 00000 n 0000191001 00000 n 0000016572 00000 n 0000016605 00000 n 0000190908 00000 n 0000016645 00000 n 0000016676 00000 n 0000190829 00000 n 0000016716 00000 n 0000016747 00000 n 0000190736 00000 n 0000016787 00000 n 0000016819 00000 n 0000190643 00000 n 0000016859 00000 n 0000016893 00000 n 0000190564 00000 n 0000016933 00000 n 0000020293 00000 n 0000020072 00000 n 0000016966 00000 n 0000020235 00000 n 0000152644 00000 n 0000139097 00000 n 0000152482 00000 n 0000021408 00000 n 0000021244 00000 n 0000020387 00000 n 0000021355 00000 n 0000023852 00000 n 0000023630 00000 n 0000021478 00000 n 0000023794 00000 n 0000138226 00000 n 0000128622 00000 n 0000138064 00000 n 0000189808 00000 n 0000025368 00000 n 0000025204 00000 n 0000023959 00000 n 0000027094 00000 n 0000026930 00000 n 0000025475 00000 n 0000030162 00000 n 0000029941 00000 n 0000027201 00000 n 0000030105 00000 n 0000032812 00000 n 0000032647 00000 n 0000030269 00000 n 0000032759 00000 n 0000034734 00000 n 0000034569 00000 n 0000032908 00000 n 0000034681 00000 n 0000036490 00000 n 0000036325 00000 n 0000034830 00000 n 0000036437 00000 n 0000189925 00000 n 0000039067 00000 n 0000038902 00000 n 0000036586 00000 n 0000039014 00000 n 0000041567 00000 n 0000041402 00000 n 0000039163 00000 n 0000041514 00000 n 0000044113 00000 n 0000043949 00000 n 0000041663 00000 n 0000047112 00000 n 0000046948 00000 n 0000044220 00000 n 0000049742 00000 n 0000049578 00000 n 0000047219 00000 n 0000052688 00000 n 0000052524 00000 n 0000049849 00000 n 0000190042 00000 n 0000054142 00000 n 0000053978 00000 n 0000052795 00000 n 0000057042 00000 n 0000056820 00000 n 0000054249 00000 n 0000056984 00000 n 0000058569 00000 n 0000058347 00000 n 0000057136 00000 n 0000058511 00000 n 0000059687 00000 n 0000059465 00000 n 0000058663 00000 n 0000059629 00000 n 0000062797 00000 n 0000062575 00000 n 0000059781 00000 n 0000062739 00000 n 0000064012 00000 n 0000063600 00000 n 0000062891 00000 n 0000063954 00000 n 0000063732 00000 n 0000190159 00000 n 0000064918 00000 n 0000064696 00000 n 0000064106 00000 n 0000064860 00000 n 0000068105 00000 n 0000067883 00000 n 0000065012 00000 n 0000068047 00000 n 0000071428 00000 n 0000071264 00000 n 0000068199 00000 n 0000074405 00000 n 0000074241 00000 n 0000071534 00000 n 0000077248 00000 n 0000077084 00000 n 0000074511 00000 n 0000079343 00000 n 0000079179 00000 n 0000077354 00000 n 0000190276 00000 n 0000084756 00000 n 0000080853 00000 n 0000079449 00000 n 0000084698 00000 n 0000127662 00000 n 0000119145 00000 n 0000127501 00000 n 0000118827 00000 n 0000117016 00000 n 0000118667 00000 n 0000081185 00000 n 0000115965 00000 n 0000105691 00000 n 0000115805 00000 n 0000081321 00000 n 0000081457 00000 n 0000081592 00000 n 0000081728 00000 n 0000081864 00000 n 0000082000 00000 n 0000082135 00000 n 0000082271 00000 n 0000082406 00000 n 0000082542 00000 n 0000082677 00000 n 0000082813 00000 n 0000082944 00000 n 0000083075 00000 n 0000083206 00000 n 0000083337 00000 n 0000083468 00000 n 0000083599 00000 n 0000083730 00000 n 0000083861 00000 n 0000083992 00000 n 0000084123 00000 n 0000084253 00000 n 0000084383 00000 n 0000084514 00000 n 0000097078 00000 n 0000087790 00000 n 0000084875 00000 n 0000097020 00000 n 0000088426 00000 n 0000088561 00000 n 0000088696 00000 n 0000088831 00000 n 0000088968 00000 n 0000089105 00000 n 0000089241 00000 n 0000089377 00000 n 0000089513 00000 n 0000089649 00000 n 0000089785 00000 n 0000089921 00000 n 0000090057 00000 n 0000090193 00000 n 0000090329 00000 n 0000090466 00000 n 0000090603 00000 n 0000090740 00000 n 0000090877 00000 n 0000091014 00000 n 0000091151 00000 n 0000091287 00000 n 0000091423 00000 n 0000091559 00000 n 0000091695 00000 n 0000091831 00000 n 0000091967 00000 n 0000092103 00000 n 0000092239 00000 n 0000092373 00000 n 0000092504 00000 n 0000092635 00000 n 0000092766 00000 n 0000092897 00000 n 0000093028 00000 n 0000093159 00000 n 0000093290 00000 n 0000093421 00000 n 0000093552 00000 n 0000093682 00000 n 0000093814 00000 n 0000093946 00000 n 0000094077 00000 n 0000094209 00000 n 0000094340 00000 n 0000094471 00000 n 0000094602 00000 n 0000094733 00000 n 0000094864 00000 n 0000094995 00000 n 0000095126 00000 n 0000095257 00000 n 0000095389 00000 n 0000095521 00000 n 0000095653 00000 n 0000095784 00000 n 0000095915 00000 n 0000096047 00000 n 0000096179 00000 n 0000096311 00000 n 0000096443 00000 n 0000096575 00000 n 0000096707 00000 n 0000096837 00000 n 0000102263 00000 n 0000098533 00000 n 0000097197 00000 n 0000102210 00000 n 0000098857 00000 n 0000098994 00000 n 0000099129 00000 n 0000099265 00000 n 0000099401 00000 n 0000099538 00000 n 0000099675 00000 n 0000099812 00000 n 0000099949 00000 n 0000100085 00000 n 0000100222 00000 n 0000100359 00000 n 0000100495 00000 n 0000100631 00000 n 0000100763 00000 n 0000100895 00000 n 0000101027 00000 n 0000101157 00000 n 0000101289 00000 n 0000101421 00000 n 0000101552 00000 n 0000101684 00000 n 0000101816 00000 n 0000101947 00000 n 0000102079 00000 n 0000105585 00000 n 0000103494 00000 n 0000102382 00000 n 0000105527 00000 n 0000103722 00000 n 0000103858 00000 n 0000103994 00000 n 0000104131 00000 n 0000104268 00000 n 0000104405 00000 n 0000104542 00000 n 0000104678 00000 n 0000104815 00000 n 0000104946 00000 n 0000105080 00000 n 0000105211 00000 n 0000105342 00000 n 0000116638 00000 n 0000116298 00000 n 0000119058 00000 n 0000119034 00000 n 0000128234 00000 n 0000127972 00000 n 0000138775 00000 n 0000138517 00000 n 0000153482 00000 n 0000153128 00000 n 0000156086 00000 n 0000156062 00000 n 0000158213 00000 n 0000158189 00000 n 0000160093 00000 n 0000160062 00000 n 0000177176 00000 n 0000176775 00000 n 0000189357 00000 n 0000188997 00000 n 0000190385 00000 n 0000190486 00000 n 0000195264 00000 n 0000195966 00000 n 0000196005 00000 n 0000196043 00000 n 0000196152 00000 n trailer << /Size 542 /Root 540 0 R /Info 541 0 R /ID [ ] >> startxref 196356 %%EOF latex-mk-2.1/doc/Makefile.am100644 000144 000000 00000004751 11346527145 0011377## $Id: Makefile.am,v 1.11 2010/03/12 21:13:09 dan Exp $ ## ## Copyright (c) 2002, 2005, 2006, 2010 Dan McMahill ## All rights reserved. ## ## This code is derived from software written by Dan McMahill ## ## Redistribution and use in source and binary forms, with or without ## modification, are permitted provided that the following conditions ## are met: ## 1. Redistributions of source code must retain the above copyright ## notice, this list of conditions and the following disclaimer. ## 2. Redistributions in binary form must reproduce the above copyright ## notice, this list of conditions and the following disclaimer in the ## documentation and/or other materials provided with the distribution. ## 3. All advertising materials mentioning features or use of this software ## must display the following acknowledgement: ## This product includes software developed by Dan McMahill ## 4. The name of the author may not be used to endorse or promote products ## derived from this software without specific prior written permission. ## ## THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ## IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ## OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ## INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ## BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ## LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED ## AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## info_TEXINFOS= latex-mk.texi dist_pkgdata_DATA= ${html_docs} ${pdf_docs} html_docs= ${info_TEXINFOS:.texi=.html} pdf_docs= ${info_TEXINFOS:.texi=.pdf} # put the html manual into 1 file instead of multiple files AM_MAKEINFOHTMLFLAGS= --no-split # use this to avoid having the clean target delete latex-mk.{dvi,html,pdf,ps} # which unfortunately deletes files which are part of the distfile #mostlyclean-aminfo: # -rm -rf latex-mk.aux latex-mk.cp latex-mk.cps latex-mk.fn \ # latex-mk.fns latex-mk.ky latex-mk.kys latex-mk.log \ # latex-mk.pg latex-mk.pgs latex-mk.tmp latex-mk.toc \ # latex-mk.tp latex-mk.tps latex-mk.vr latex-mk.vrs #MAINTAINERCLEANFILES= \ # ${html_docs} ${ps_docs} ${pdf_docs} ${dvi_docs} latex-mk-2.1/doc/Makefile.in100644 000144 000000 00000047477 11506463230 0011414# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc DIST_COMMON = $(dist_pkgdata_DATA) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/prefix.texi.in \ $(srcdir)/stamp-vti $(srcdir)/version.texi mdate-sh \ texinfo.tex ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = prefix.texi SOURCES = DIST_SOURCES = INFO_DEPS = $(srcdir)/latex-mk.info am__TEXINFO_TEX_DIR = $(srcdir) DVIS = latex-mk.dvi PDFS = latex-mk.pdf PSS = latex-mk.ps HTMLS = latex-mk.html TEXINFOS = latex-mk.texi TEXI2DVI = texi2dvi TEXI2PDF = $(TEXI2DVI) --pdf --batch MAKEINFOHTML = $(MAKEINFO) --html am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(pkgdatadir)" am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; dist_pkgdataDATA_INSTALL = $(INSTALL_DATA) DATA = $(dist_pkgdata_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BIBTEX = @BIBTEX@ BMAKE = @BMAKE@ CONVERT = @CONVERT@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DVIPDFM = @DVIPDFM@ DVIPS = @DVIPS@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ ENV_PROG = @ENV_PROG@ FALSE = @FALSE@ FIG2DEV = @FIG2DEV@ FIND = @FIND@ GMAKE = @GMAKE@ GMAKECONF = @GMAKECONF@ GREP = @GREP@ GV = @GV@ GZCAT = @GZCAT@ GZIP = @GZIP@ HACHA = @HACHA@ HEVEA = @HEVEA@ IMAGEN = @IMAGEN@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LATEX = @LATEX@ LATEX2HTML = @LATEX2HTML@ LATEX2RTF = @LATEX2RTF@ LGRIND = @LGRIND@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LPR = @LPR@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKECONF = @MAKECONF@ MAKEIDX = @MAKEIDX@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MPOST = @MPOST@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ PS2PDF = @PS2PDF@ RM = @RM@ RMDIR = @RMDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAR = @TAR@ TEX2PAGE = @TEX2PAGE@ TGIF = @TGIF@ USERGMAKECONF = @USERGMAKECONF@ USERMAKECONF = @USERMAKECONF@ VERSION = @VERSION@ XDVI = @XDVI@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ info_TEXINFOS = latex-mk.texi dist_pkgdata_DATA = ${html_docs} ${pdf_docs} html_docs = ${info_TEXINFOS:.texi=.html} pdf_docs = ${info_TEXINFOS:.texi=.pdf} # put the html manual into 1 file instead of multiple files AM_MAKEINFOHTMLFLAGS = --no-split all: all-am .SUFFIXES: .SUFFIXES: .dvi .html .info .pdf .ps .texi $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --foreign doc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh prefix.texi: $(top_builddir)/config.status $(srcdir)/prefix.texi.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ .texi.info: restore=: && backupdir="$(am__leading_dot)am$$$$" && \ am__cwd=`pwd` && cd $(srcdir) && \ rm -rf $$backupdir && mkdir $$backupdir && \ if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ done; \ else :; fi && \ cd "$$am__cwd"; \ if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ -o $@ $<; \ then \ rc=0; \ cd $(srcdir); \ else \ rc=$$?; \ cd $(srcdir) && \ $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ fi; \ rm -rf $$backupdir; exit $$rc .texi.dvi: TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ $(TEXI2DVI) $< .texi.pdf: TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ $(TEXI2PDF) $< .texi.html: rm -rf $(@:.html=.htp) if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ -o $(@:.html=.htp) $<; \ then \ rm -rf $@; \ if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \ else \ if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \ exit 1; \ fi $(srcdir)/latex-mk.info: latex-mk.texi $(srcdir)/version.texi latex-mk.dvi: latex-mk.texi $(srcdir)/version.texi latex-mk.pdf: latex-mk.texi $(srcdir)/version.texi latex-mk.html: latex-mk.texi $(srcdir)/version.texi $(srcdir)/version.texi: @MAINTAINER_MODE_TRUE@ $(srcdir)/stamp-vti $(srcdir)/stamp-vti: latex-mk.texi $(top_srcdir)/configure @(dir=.; test -f ./latex-mk.texi || dir=$(srcdir); \ set `$(SHELL) $(srcdir)/mdate-sh $$dir/latex-mk.texi`; \ echo "@set UPDATED $$1 $$2 $$3"; \ echo "@set UPDATED-MONTH $$2 $$3"; \ echo "@set EDITION $(VERSION)"; \ echo "@set VERSION $(VERSION)") > vti.tmp @cmp -s vti.tmp $(srcdir)/version.texi \ || (echo "Updating $(srcdir)/version.texi"; \ cp vti.tmp $(srcdir)/version.texi) -@rm -f vti.tmp @cp $(srcdir)/version.texi $@ mostlyclean-vti: -rm -f vti.tmp maintainer-clean-vti: @MAINTAINER_MODE_TRUE@ -rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi .dvi.ps: TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ $(DVIPS) -o $@ $< uninstall-dvi-am: @$(NORMAL_UNINSTALL) @list='$(DVIS)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \ rm -f "$(DESTDIR)$(dvidir)/$$f"; \ done uninstall-html-am: @$(NORMAL_UNINSTALL) @list='$(HTMLS)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \ rm -rf "$(DESTDIR)$(htmldir)/$$f"; \ done uninstall-info-am: @$(PRE_UNINSTALL) @if test -d '$(DESTDIR)$(infodir)' && \ (install-info --version && \ install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ list='$(INFO_DEPS)'; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \ install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ done; \ else :; fi @$(NORMAL_UNINSTALL) @list='$(INFO_DEPS)'; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \ echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \ rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ else :; fi); \ done uninstall-pdf-am: @$(NORMAL_UNINSTALL) @list='$(PDFS)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \ rm -f "$(DESTDIR)$(pdfdir)/$$f"; \ done uninstall-ps-am: @$(NORMAL_UNINSTALL) @list='$(PSS)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \ rm -f "$(DESTDIR)$(psdir)/$$f"; \ done dist-info: $(INFO_DEPS) @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ list='$(INFO_DEPS)'; \ for base in $$list; do \ case $$base in \ $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ esac; \ if test -f $$base; then d=.; else d=$(srcdir); fi; \ base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \ for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \ if test -f $$file; then \ relfile=`expr "$$file" : "$$d/\(.*\)"`; \ test -f $(distdir)/$$relfile || \ cp -p $$file $(distdir)/$$relfile; \ else :; fi; \ done; \ done mostlyclean-aminfo: -rm -rf latex-mk.aux latex-mk.cp latex-mk.cps latex-mk.fn latex-mk.fns \ latex-mk.ky latex-mk.kys latex-mk.log latex-mk.pg \ latex-mk.pgs latex-mk.tmp latex-mk.toc latex-mk.tp \ latex-mk.tps latex-mk.tr latex-mk.trs latex-mk.vr \ latex-mk.vrs latex-mk.dvi latex-mk.pdf latex-mk.ps \ latex-mk.html maintainer-clean-aminfo: @list='$(INFO_DEPS)'; for i in $$list; do \ i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \ echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \ rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \ done install-dist_pkgdataDATA: $(dist_pkgdata_DATA) @$(NORMAL_INSTALL) test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" @list='$(dist_pkgdata_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(dist_pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \ $(dist_pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \ done uninstall-dist_pkgdataDATA: @$(NORMAL_UNINSTALL) @list='$(dist_pkgdata_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \ rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \ done tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-info check-am: all-am check: check-am all-am: Makefile $(INFO_DEPS) $(DATA) installdirs: for dir in "$(DESTDIR)$(infodir)" "$(DESTDIR)$(pkgdatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: $(DVIS) html: html-am html-am: $(HTMLS) info: info-am info-am: $(INFO_DEPS) install-data-am: install-dist_pkgdataDATA install-info-am install-dvi: install-dvi-am install-dvi-am: $(DVIS) @$(NORMAL_INSTALL) test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)" @list='$(DVIS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(dvidir)/$$f'"; \ $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(dvidir)/$$f"; \ done install-exec-am: install-html: install-html-am install-html-am: $(HTMLS) @$(NORMAL_INSTALL) test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)" @list='$(HTMLS)'; for p in $$list; do \ if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ if test -d "$$d$$p"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \ $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \ echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \ $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f"; \ else \ echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \ $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \ fi; \ done install-info: install-info-am install-info-am: $(INFO_DEPS) @$(NORMAL_INSTALL) test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)" @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ list='$(INFO_DEPS)'; \ for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ esac; \ if test -f $$file; then d=.; else d=$(srcdir); fi; \ file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \ for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \ $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \ if test -f $$ifile; then \ relfile=`echo "$$ifile" | sed 's|^.*/||'`; \ echo " $(INSTALL_DATA) '$$ifile' '$(DESTDIR)$(infodir)/$$relfile'"; \ $(INSTALL_DATA) "$$ifile" "$(DESTDIR)$(infodir)/$$relfile"; \ else : ; fi; \ done; \ done @$(POST_INSTALL) @if (install-info --version && \ install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ list='$(INFO_DEPS)'; \ for file in $$list; do \ relfile=`echo "$$file" | sed 's|^.*/||'`; \ echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\ install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\ done; \ else : ; fi install-man: install-pdf: install-pdf-am install-pdf-am: $(PDFS) @$(NORMAL_INSTALL) test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)" @list='$(PDFS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/$$f'"; \ $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \ done install-ps: install-ps-am install-ps-am: $(PSS) @$(NORMAL_INSTALL) test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)" @list='$(PSS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(psdir)/$$f'"; \ $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(psdir)/$$f"; \ done installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-aminfo \ maintainer-clean-generic maintainer-clean-vti mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-aminfo mostlyclean-generic mostlyclean-vti pdf: pdf-am pdf-am: $(PDFS) ps: ps-am ps-am: $(PSS) uninstall-am: uninstall-dist_pkgdataDATA uninstall-dvi-am \ uninstall-html-am uninstall-info-am uninstall-pdf-am \ uninstall-ps-am .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic dist-info \ distclean distclean-generic distdir dvi dvi-am html html-am \ info info-am install install-am install-data install-data-am \ install-dist_pkgdataDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-aminfo maintainer-clean-generic \ maintainer-clean-vti mostlyclean mostlyclean-aminfo \ mostlyclean-generic mostlyclean-vti pdf pdf-am ps ps-am \ uninstall uninstall-am uninstall-dist_pkgdataDATA \ uninstall-dvi-am uninstall-html-am uninstall-info-am \ uninstall-pdf-am uninstall-ps-am # use this to avoid having the clean target delete latex-mk.{dvi,html,pdf,ps} # which unfortunately deletes files which are part of the distfile #mostlyclean-aminfo: # -rm -rf latex-mk.aux latex-mk.cp latex-mk.cps latex-mk.fn \ # latex-mk.fns latex-mk.ky latex-mk.kys latex-mk.log \ # latex-mk.pg latex-mk.pgs latex-mk.tmp latex-mk.toc \ # latex-mk.tp latex-mk.tps latex-mk.vr latex-mk.vrs #MAINTAINERCLEANFILES= \ # ${html_docs} ${ps_docs} ${pdf_docs} ${dvi_docs} # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: latex-mk-2.1/doc/prefix.texi.in100644 000144 000000 00000000141 10560000602 0012102@c -*-texinfo-*- @c $Id: prefix.texi.in,v 1.1 2007/01/31 02:40:02 dan Exp $ @set PREFIX @prefix@ latex-mk-2.1/doc/stamp-vti100644 000144 000000 00000000141 11506463270 0011173@set UPDATED 28 December 2010 @set UPDATED-MONTH December 2010 @set EDITION 2.1 @set VERSION 2.1 latex-mk-2.1/doc/version.texi100644 000144 000000 00000000141 11506463267 0011712@set UPDATED 28 December 2010 @set UPDATED-MONTH December 2010 @set EDITION 2.1 @set VERSION 2.1 latex-mk-2.1/doc/mdate-sh100644 000144 000000 00000005667 07472323747 0011006#!/bin/sh # $Id: mdate-sh,v 1.2 2002/05/21 01:50:41 dan Exp $ # Get modification time of a file or directory and pretty-print it. # Copyright 1995, 1996, 1997 Free Software Foundation, Inc. # written by Ulrich Drepper , June 1995 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Prevent date giving response in another language. LANG=C export LANG LC_ALL=C export LC_ALL LC_TIME=C export LC_TIME # Get the extended ls output of the file or directory. # On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below. if ls -L /dev/null 1>/dev/null 2>&1; then set - x`ls -L -l -d $1` else set - x`ls -l -d $1` fi # The month is at least the fourth argument # (3 shifts here, the next inside the loop). shift shift shift # Find the month. Next argument is day, followed by the year or time. month= until test $month do shift case $1 in Jan) month=January; nummonth=1;; Feb) month=February; nummonth=2;; Mar) month=March; nummonth=3;; Apr) month=April; nummonth=4;; May) month=May; nummonth=5;; Jun) month=June; nummonth=6;; Jul) month=July; nummonth=7;; Aug) month=August; nummonth=8;; Sep) month=September; nummonth=9;; Oct) month=October; nummonth=10;; Nov) month=November; nummonth=11;; Dec) month=December; nummonth=12;; esac done day=$2 # Here we have to deal with the problem that the ls output gives either # the time of day or the year. case $3 in *:*) set `date`; eval year=\$$# case $2 in Jan) nummonthtod=1;; Feb) nummonthtod=2;; Mar) nummonthtod=3;; Apr) nummonthtod=4;; May) nummonthtod=5;; Jun) nummonthtod=6;; Jul) nummonthtod=7;; Aug) nummonthtod=8;; Sep) nummonthtod=9;; Oct) nummonthtod=10;; Nov) nummonthtod=11;; Dec) nummonthtod=12;; esac # For the first six month of the year the time notation can also # be used for files modified in the last year. if (expr $nummonth \> $nummonthtod) > /dev/null; then year=`expr $year - 1` fi;; *) year=$3;; esac # The result. echo $day $month $year latex-mk-2.1/doc/texinfo.tex100644 000144 000000 00000631715 07477135663 0011561% texinfo.tex -- TeX macros to handle Texinfo files. % % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % \def\texinfoversion{2002-06-04.06} % % Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, % 2000, 01, 02 Free Software Foundation, Inc. % % This texinfo.tex file is free software; you can redistribute it and/or % modify it under the terms of the GNU General Public License as % published by the Free Software Foundation; either version 2, or (at % your option) any later version. % % This texinfo.tex file is distributed in the hope that it will be % useful, but WITHOUT ANY WARRANTY; without even the implied warranty % of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU % General Public License for more details. % % You should have received a copy of the GNU General Public License % along with this texinfo.tex file; see the file COPYING. If not, write % to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, % Boston, MA 02111-1307, USA. % % In other words, you are welcome to use, share and improve this program. % You are forbidden to forbid anyone else to use, share and improve % what you give them. Help stamp out software-hoarding! % % Please try the latest version of texinfo.tex before submitting bug % reports; you can get the latest version from: % ftp://ftp.gnu.org/gnu/texinfo.tex % (and all GNU mirrors, see http://www.gnu.org/order/ftp.html) % ftp://texinfo.org/texinfo/texinfo.tex % ftp://tug.org/tex/texinfo.tex % (and all CTAN mirrors, see http://www.ctan.org), % and /home/gd/gnu/doc/texinfo.tex on the GNU machines. % % The texinfo.tex in any given Texinfo distribution could well be out % of date, so if that's what you're using, please check. % % Texinfo has a small home page at http://texinfo.org/ and also % http://www.gnu.org/software/texinfo. % % Send bug reports to bug-texinfo@gnu.org. Please include including a % complete document in each bug report with which we can reproduce the % problem. Patches are, of course, greatly appreciated. % % To process a Texinfo manual with TeX, it's most reliable to use the % texi2dvi shell script that comes with the distribution. For a simple % manual foo.texi, however, you can get away with this: % tex foo.texi % texindex foo.?? % tex foo.texi % tex foo.texi % dvips foo.dvi -o # or whatever; this makes foo.ps. % The extra TeX runs get the cross-reference information correct. % Sometimes one run after texindex suffices, and sometimes you need more % than two; texi2dvi does it as many times as necessary. % % It is possible to adapt texinfo.tex for other languages. You can get % the existing language-specific files from the full Texinfo distribution. \message{Loading texinfo [version \texinfoversion]:} % If in a .fmt file, print the version number % and turn on active characters that we couldn't do earlier because % they might have appeared in the input file name. \everyjob{\message{[Texinfo version \texinfoversion]}% \catcode`+=\active \catcode`\_=\active} % Save some parts of plain tex whose names we will redefine. \let\ptexb=\b \let\ptexbullet=\bullet \let\ptexc=\c \let\ptexcomma=\, \let\ptexdot=\. \let\ptexdots=\dots \let\ptexend=\end \let\ptexequiv=\equiv \let\ptexexclam=\! \let\ptexi=\i \let\ptexlbrace=\{ \let\ptexrbrace=\} \let\ptexstar=\* \let\ptext=\t % We never want plain's outer \+ definition in Texinfo. % For @tex, we can use \tabalign. \let\+ = \relax \message{Basics,} \chardef\other=12 % If this character appears in an error message or help string, it % starts a new line in the output. \newlinechar = `^^J % Set up fixed words for English if not already set. \ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi \ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi \ifx\putwordfile\undefined \gdef\putwordfile{file}\fi \ifx\putwordin\undefined \gdef\putwordin{in}\fi \ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi \ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi \ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi \ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi \ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi \ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi \ifx\putwordof\undefined \gdef\putwordof{of}\fi \ifx\putwordon\undefined \gdef\putwordon{on}\fi \ifx\putwordpage\undefined \gdef\putwordpage{page}\fi \ifx\putwordsection\undefined \gdef\putwordsection{section}\fi \ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi \ifx\putwordsee\undefined \gdef\putwordsee{see}\fi \ifx\putwordSee\undefined \gdef\putwordSee{See}\fi \ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi \ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi % \ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi \ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi \ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi \ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi \ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi \ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi \ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi \ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi \ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi \ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi \ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi \ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi % \ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi \ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi \ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi \ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi \ifx\putwordDeftypevar\undefined\gdef\putwordDeftypevar{Variable}\fi \ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi \ifx\putwordDeftypefun\undefined\gdef\putwordDeftypefun{Function}\fi % Ignore a token. % \def\gobble#1{} \hyphenation{ap-pen-dix} \hyphenation{mini-buf-fer mini-buf-fers} \hyphenation{eshell} \hyphenation{white-space} % Margin to add to right of even pages, to left of odd pages. \newdimen \bindingoffset \newdimen \normaloffset \newdimen\pagewidth \newdimen\pageheight % Sometimes it is convenient to have everything in the transcript file % and nothing on the terminal. We don't just call \tracingall here, % since that produces some useless output on the terminal. % \def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}% \ifx\eTeXversion\undefined \def\loggingall{\tracingcommands2 \tracingstats2 \tracingpages1 \tracingoutput1 \tracinglostchars1 \tracingmacros2 \tracingparagraphs1 \tracingrestores1 \showboxbreadth\maxdimen\showboxdepth\maxdimen }% \else \def\loggingall{\tracingcommands3 \tracingstats2 \tracingpages1 \tracingoutput1 \tracinglostchars1 \tracingmacros2 \tracingparagraphs1 \tracingrestores1 \tracingscantokens1 \tracingassigns1 \tracingifs1 \tracinggroups1 \tracingnesting2 \showboxbreadth\maxdimen\showboxdepth\maxdimen }% \fi % add check for \lastpenalty to plain's definitions. If the last thing % we did was a \nobreak, we don't want to insert more space. % \def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount \removelastskip\penalty-50\smallskip\fi\fi} \def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount \removelastskip\penalty-100\medskip\fi\fi} \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount \removelastskip\penalty-200\bigskip\fi\fi} % For @cropmarks command. % Do @cropmarks to get crop marks. % \newif\ifcropmarks \let\cropmarks = \cropmarkstrue % % Dimensions to add cropmarks at corners. % Added by P. A. MacKay, 12 Nov. 1986 % \newdimen\outerhsize \newdimen\outervsize % set by the paper size routines \newdimen\cornerlong \cornerlong=1pc \newdimen\cornerthick \cornerthick=.3pt \newdimen\topandbottommargin \topandbottommargin=.75in % Main output routine. \chardef\PAGE = 255 \output = {\onepageout{\pagecontents\PAGE}} \newbox\headlinebox \newbox\footlinebox % \onepageout takes a vbox as an argument. Note that \pagecontents % does insertions, but you have to call it yourself. \def\onepageout#1{% \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi % \ifodd\pageno \advance\hoffset by \bindingoffset \else \advance\hoffset by -\bindingoffset\fi % % Do this outside of the \shipout so @code etc. will be expanded in % the headline as they should be, not taken literally (outputting ''code). \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}% \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}% % {% % Have to do this stuff outside the \shipout because we want it to % take effect in \write's, yet the group defined by the \vbox ends % before the \shipout runs. % \escapechar = `\\ % use backslash in output files. \indexdummies % don't expand commands in the output. \normalturnoffactive % \ in index entries must not stay \, e.g., if % the page break happens to be in the middle of an example. \shipout\vbox{% % Do this early so pdf references go to the beginning of the page. \ifpdfmakepagedest \pdfmkdest{\the\pageno} \fi % \ifcropmarks \vbox to \outervsize\bgroup \hsize = \outerhsize \vskip-\topandbottommargin \vtop to0pt{% \line{\ewtop\hfil\ewtop}% \nointerlineskip \line{% \vbox{\moveleft\cornerthick\nstop}% \hfill \vbox{\moveright\cornerthick\nstop}% }% \vss}% \vskip\topandbottommargin \line\bgroup \hfil % center the page within the outer (page) hsize. \ifodd\pageno\hskip\bindingoffset\fi \vbox\bgroup \fi % \unvbox\headlinebox \pagebody{#1}% \ifdim\ht\footlinebox > 0pt % Only leave this space if the footline is nonempty. % (We lessened \vsize for it in \oddfootingxxx.) % The \baselineskip=24pt in plain's \makefootline has no effect. \vskip 2\baselineskip \unvbox\footlinebox \fi % \ifcropmarks \egroup % end of \vbox\bgroup \hfil\egroup % end of (centering) \line\bgroup \vskip\topandbottommargin plus1fill minus1fill \boxmaxdepth = \cornerthick \vbox to0pt{\vss \line{% \vbox{\moveleft\cornerthick\nsbot}% \hfill \vbox{\moveright\cornerthick\nsbot}% }% \nointerlineskip \line{\ewbot\hfil\ewbot}% }% \egroup % \vbox from first cropmarks clause \fi }% end of \shipout\vbox }% end of group with \turnoffactive \advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi } \newinsert\margin \dimen\margin=\maxdimen \def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}} {\catcode`\@ =11 \gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi % marginal hacks, juha@viisa.uucp (Juha Takala) \ifvoid\margin\else % marginal info is present \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi \dimen@=\dp#1 \unvbox#1 \ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi \ifr@ggedbottom \kern-\dimen@ \vfil \fi} } % Here are the rules for the cropmarks. Note that they are % offset so that the space between them is truly \outerhsize or \outervsize % (P. A. MacKay, 12 November, 1986) % \def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong} \def\nstop{\vbox {\hrule height\cornerthick depth\cornerlong width\cornerthick}} \def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong} \def\nsbot{\vbox {\hrule height\cornerlong depth\cornerthick width\cornerthick}} % Parse an argument, then pass it to #1. The argument is the rest of % the input line (except we remove a trailing comment). #1 should be a % macro which expects an ordinary undelimited TeX argument. % \def\parsearg#1{% \let\next = #1% \begingroup \obeylines \futurelet\temp\parseargx } % If the next token is an obeyed space (from an @example environment or % the like), remove it and recurse. Otherwise, we're done. \def\parseargx{% % \obeyedspace is defined far below, after the definition of \sepspaces. \ifx\obeyedspace\temp \expandafter\parseargdiscardspace \else \expandafter\parseargline \fi } % Remove a single space (as the delimiter token to the macro call). {\obeyspaces % \gdef\parseargdiscardspace {\futurelet\temp\parseargx}} {\obeylines % \gdef\parseargline#1^^M{% \endgroup % End of the group started in \parsearg. % % First remove any @c comment, then any @comment. % Result of each macro is put in \toks0. \argremovec #1\c\relax % \expandafter\argremovecomment \the\toks0 \comment\relax % % % Call the caller's macro, saved as \next in \parsearg. \expandafter\next\expandafter{\the\toks0}% }% } % Since all \c{,omment} does is throw away the argument, we can let TeX % do that for us. The \relax here is matched by the \relax in the call % in \parseargline; it could be more or less anything, its purpose is % just to delimit the argument to the \c. \def\argremovec#1\c#2\relax{\toks0 = {#1}} \def\argremovecomment#1\comment#2\relax{\toks0 = {#1}} % \argremovec{,omment} might leave us with trailing spaces, though; e.g., % @end itemize @c foo % will have two active spaces as part of the argument with the % `itemize'. Here we remove all active spaces from #1, and assign the % result to \toks0. % % This loses if there are any *other* active characters besides spaces % in the argument -- _ ^ +, for example -- since they get expanded. % Fortunately, Texinfo does not define any such commands. (If it ever % does, the catcode of the characters in questionwill have to be changed % here.) But this means we cannot call \removeactivespaces as part of % \argremovec{,omment}, since @c uses \parsearg, and thus the argument % that \parsearg gets might well have any character at all in it. % \def\removeactivespaces#1{% \begingroup \ignoreactivespaces \edef\temp{#1}% \global\toks0 = \expandafter{\temp}% \endgroup } % Change the active space to expand to nothing. % \begingroup \obeyspaces \gdef\ignoreactivespaces{\obeyspaces\let =\empty} \endgroup \def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next} %% These are used to keep @begin/@end levels from running away %% Call \inENV within environments (after a \begingroup) \newif\ifENV \ENVfalse \def\inENV{\ifENV\relax\else\ENVtrue\fi} \def\ENVcheck{% \ifENV\errmessage{Still within an environment; press RETURN to continue} \endgroup\fi} % This is not perfect, but it should reduce lossage % @begin foo is the same as @foo, for now. \newhelp\EMsimple{Press RETURN to continue.} \outer\def\begin{\parsearg\beginxxx} \def\beginxxx #1{% \expandafter\ifx\csname #1\endcsname\relax {\errhelp=\EMsimple \errmessage{Undefined command @begin #1}}\else \csname #1\endcsname\fi} % @end foo executes the definition of \Efoo. % \def\end{\parsearg\endxxx} \def\endxxx #1{% \removeactivespaces{#1}% \edef\endthing{\the\toks0}% % \expandafter\ifx\csname E\endthing\endcsname\relax \expandafter\ifx\csname \endthing\endcsname\relax % There's no \foo, i.e., no ``environment'' foo. \errhelp = \EMsimple \errmessage{Undefined command `@end \endthing'}% \else \unmatchedenderror\endthing \fi \else % Everything's ok; the right environment has been started. \csname E\endthing\endcsname \fi } % There is an environment #1, but it hasn't been started. Give an error. % \def\unmatchedenderror#1{% \errhelp = \EMsimple \errmessage{This `@end #1' doesn't have a matching `@#1'}% } % Define the control sequence \E#1 to give an unmatched @end error. % \def\defineunmatchedend#1{% \expandafter\def\csname E#1\endcsname{\unmatchedenderror{#1}}% } % Single-spacing is done by various environments (specifically, in % \nonfillstart and \quotations). \newskip\singlespaceskip \singlespaceskip = 12.5pt \def\singlespace{% % Why was this kern here? It messes up equalizing space above and below % environments. --karl, 6may93 %{\advance \baselineskip by -\singlespaceskip %\kern \baselineskip}% \setleading\singlespaceskip } %% Simple single-character @ commands % @@ prints an @ % Kludge this until the fonts are right (grr). \def\@{{\tt\char64}} % This is turned off because it was never documented % and you can use @w{...} around a quote to suppress ligatures. %% Define @` and @' to be the same as ` and ' %% but suppressing ligatures. %\def\`{{`}} %\def\'{{'}} % Used to generate quoted braces. \def\mylbrace {{\tt\char123}} \def\myrbrace {{\tt\char125}} \let\{=\mylbrace \let\}=\myrbrace \begingroup % Definitions to produce actual \{ & \} command in an index. \catcode`\{ = 12 \catcode`\} = 12 \catcode`\[ = 1 \catcode`\] = 2 \catcode`\@ = 0 \catcode`\\ = 12 @gdef@lbracecmd[\{]% @gdef@rbracecmd[\}]% @endgroup % Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent % Others are defined by plain TeX: @` @' @" @^ @~ @= @v @H. \let\, = \c \let\dotaccent = \. \def\ringaccent#1{{\accent23 #1}} \let\tieaccent = \t \let\ubaraccent = \b \let\udotaccent = \d % Other special characters: @questiondown @exclamdown % Plain TeX defines: @AA @AE @O @OE @L (and lowercase versions) @ss. \def\questiondown{?`} \def\exclamdown{!`} % Dotless i and dotless j, used for accents. \def\imacro{i} \def\jmacro{j} \def\dotless#1{% \def\temp{#1}% \ifx\temp\imacro \ptexi \else\ifx\temp\jmacro \j \else \errmessage{@dotless can be used only with i or j}% \fi\fi } % Be sure we're in horizontal mode when doing a tie, since we make space % equivalent to this in @example-like environments. Otherwise, a space % at the beginning of a line will start with \penalty -- and % since \penalty is valid in vertical mode, we'd end up putting the % penalty on the vertical list instead of in the new paragraph. {\catcode`@ = 11 % Avoid using \@M directly, because that causes trouble % if the definition is written into an index file. \global\let\tiepenalty = \@M \gdef\tie{\leavevmode\penalty\tiepenalty\ } } % @: forces normal size whitespace following. \def\:{\spacefactor=1000 } % @* forces a line break. \def\*{\hfil\break\hbox{}\ignorespaces} % @. is an end-of-sentence period. \def\.{.\spacefactor=3000 } % @! is an end-of-sentence bang. \def\!{!\spacefactor=3000 } % @? is an end-of-sentence query. \def\?{?\spacefactor=3000 } % @w prevents a word break. Without the \leavevmode, @w at the % beginning of a paragraph, when TeX is still in vertical mode, would % produce a whole line of output instead of starting the paragraph. \def\w#1{\leavevmode\hbox{#1}} % @group ... @end group forces ... to be all on one page, by enclosing % it in a TeX vbox. We use \vtop instead of \vbox to construct the box % to keep its height that of a normal line. According to the rules for % \topskip (p.114 of the TeXbook), the glue inserted is % max (\topskip - \ht (first item), 0). If that height is large, % therefore, no glue is inserted, and the space between the headline and % the text is small, which looks bad. % \def\group{\begingroup \ifnum\catcode13=\active \else \errhelp = \groupinvalidhelp \errmessage{@group invalid in context where filling is enabled}% \fi % % The \vtop we start below produces a box with normal height and large % depth; thus, TeX puts \baselineskip glue before it, and (when the % next line of text is done) \lineskip glue after it. (See p.82 of % the TeXbook.) Thus, space below is not quite equal to space % above. But it's pretty close. \def\Egroup{% \egroup % End the \vtop. \endgroup % End the \group. }% % \vtop\bgroup % We have to put a strut on the last line in case the @group is in % the midst of an example, rather than completely enclosing it. % Otherwise, the interline space between the last line of the group % and the first line afterwards is too small. But we can't put the % strut in \Egroup, since there it would be on a line by itself. % Hence this just inserts a strut at the beginning of each line. \everypar = {\strut}% % % Since we have a strut on every line, we don't need any of TeX's % normal interline spacing. \offinterlineskip % % OK, but now we have to do something about blank % lines in the input in @example-like environments, which normally % just turn into \lisppar, which will insert no space now that we've % turned off the interline space. Simplest is to make them be an % empty paragraph. \ifx\par\lisppar \edef\par{\leavevmode \par}% % % Reset ^^M's definition to new definition of \par. \obeylines \fi % % Do @comment since we are called inside an environment such as % @example, where each end-of-line in the input causes an % end-of-line in the output. We don't want the end-of-line after % the `@group' to put extra space in the output. Since @group % should appear on a line by itself (according to the Texinfo % manual), we don't worry about eating any user text. \comment } % % TeX puts in an \escapechar (i.e., `@') at the beginning of the help % message, so this ends up printing `@group can only ...'. % \newhelp\groupinvalidhelp{% group can only be used in environments such as @example,^^J% where each line of input produces a line of output.} % @need space-in-mils % forces a page break if there is not space-in-mils remaining. \newdimen\mil \mil=0.001in \def\need{\parsearg\needx} % Old definition--didn't work. %\def\needx #1{\par % %% This method tries to make TeX break the page naturally %% if the depth of the box does not fit. %{\baselineskip=0pt% %\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak %\prevdepth=-1000pt %}} \def\needx#1{% % Ensure vertical mode, so we don't make a big box in the middle of a % paragraph. \par % % If the @need value is less than one line space, it's useless. \dimen0 = #1\mil \dimen2 = \ht\strutbox \advance\dimen2 by \dp\strutbox \ifdim\dimen0 > \dimen2 % % Do a \strut just to make the height of this box be normal, so the % normal leading is inserted relative to the preceding line. % And a page break here is fine. \vtop to #1\mil{\strut\vfil}% % % TeX does not even consider page breaks if a penalty added to the % main vertical list is 10000 or more. But in order to see if the % empty box we just added fits on the page, we must make it consider % page breaks. On the other hand, we don't want to actually break the % page after the empty box. So we use a penalty of 9999. % % There is an extremely small chance that TeX will actually break the % page at this \penalty, if there are no other feasible breakpoints in % sight. (If the user is using lots of big @group commands, which % almost-but-not-quite fill up a page, TeX will have a hard time doing % good page breaking, for example.) However, I could not construct an % example where a page broke at this \penalty; if it happens in a real % document, then we can reconsider our strategy. \penalty9999 % % Back up by the size of the box, whether we did a page break or not. \kern -#1\mil % % Do not allow a page break right after this kern. \nobreak \fi } % @br forces paragraph break \let\br = \par % @dots{} output an ellipsis using the current font. % We do .5em per period so that it has the same spacing in a typewriter % font as three actual period characters. % \def\dots{% \leavevmode \hbox to 1.5em{% \hskip 0pt plus 0.25fil minus 0.25fil .\hss.\hss.% \hskip 0pt plus 0.5fil minus 0.5fil }% } % @enddots{} is an end-of-sentence ellipsis. % \def\enddots{% \leavevmode \hbox to 2em{% \hskip 0pt plus 0.25fil minus 0.25fil .\hss.\hss.\hss.% \hskip 0pt plus 0.5fil minus 0.5fil }% \spacefactor=3000 } % @page forces the start of a new page % \def\page{\par\vfill\supereject} % @exdent text.... % outputs text on separate line in roman font, starting at standard page margin % This records the amount of indent in the innermost environment. % That's how much \exdent should take out. \newskip\exdentamount % This defn is used inside fill environments such as @defun. \def\exdent{\parsearg\exdentyyy} \def\exdentyyy #1{{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}} % This defn is used inside nofill environments such as @example. \def\nofillexdent{\parsearg\nofillexdentyyy} \def\nofillexdentyyy #1{{\advance \leftskip by -\exdentamount \leftline{\hskip\leftskip{\rm#1}}}} % @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current % paragraph. For more general purposes, use the \margin insertion % class. WHICH is `l' or `r'. % \newskip\inmarginspacing \inmarginspacing=1cm \def\strutdepth{\dp\strutbox} % \def\doinmargin#1#2{\strut\vadjust{% \nobreak \kern-\strutdepth \vtop to \strutdepth{% \baselineskip=\strutdepth \vss % if you have multiple lines of stuff to put here, you'll need to % make the vbox yourself of the appropriate size. \ifx#1l% \llap{\ignorespaces #2\hskip\inmarginspacing}% \else \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}% \fi \null }% }} \def\inleftmargin{\doinmargin l} \def\inrightmargin{\doinmargin r} % % @inmargin{TEXT [, RIGHT-TEXT]} % (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right; % else use TEXT for both). % \def\inmargin#1{\parseinmargin #1,,\finish} \def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing. \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0 > 0pt \def\lefttext{#1}% have both texts \def\righttext{#2}% \else \def\lefttext{#1}% have only one text \def\righttext{#1}% \fi % \ifodd\pageno \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin \else \def\temp{\inleftmargin\lefttext}% \fi \temp } % @include file insert text of that file as input. % Allow normal characters that we make active in the argument (a file name). \def\include{\begingroup \catcode`\\=12 \catcode`~=12 \catcode`^=12 \catcode`_=12 \catcode`|=12 \catcode`<=12 \catcode`>=12 \catcode`+=12 \parsearg\includezzz} % Restore active chars for included file. \def\includezzz#1{\endgroup\begingroup % Read the included file in a group so nested @include's work. \def\thisfile{#1}% \input\thisfile \endgroup} \def\thisfile{} % @center line outputs that line, centered \def\center{\parsearg\centerzzz} \def\centerzzz #1{{\advance\hsize by -\leftskip \advance\hsize by -\rightskip \centerline{#1}}} % @sp n outputs n lines of vertical space \def\sp{\parsearg\spxxx} \def\spxxx #1{\vskip #1\baselineskip} % @comment ...line which is ignored... % @c is the same as @comment % @ignore ... @end ignore is another way to write a comment \def\comment{\begingroup \catcode`\^^M=\other% \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other% \commentxxx} {\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}} \let\c=\comment % @paragraphindent NCHARS % We'll use ems for NCHARS, close enough. % We cannot implement @paragraphindent asis, though. % \def\asisword{asis} % no translation, these are keywords \def\noneword{none} % \def\paragraphindent{\parsearg\doparagraphindent} \def\doparagraphindent#1{% \def\temp{#1}% \ifx\temp\asisword \else \ifx\temp\noneword \defaultparindent = 0pt \else \defaultparindent = #1em \fi \fi \parindent = \defaultparindent } % @exampleindent NCHARS % We'll use ems for NCHARS like @paragraphindent. % It seems @exampleindent asis isn't necessary, but % I preserve it to make it similar to @paragraphindent. \def\exampleindent{\parsearg\doexampleindent} \def\doexampleindent#1{% \def\temp{#1}% \ifx\temp\asisword \else \ifx\temp\noneword \lispnarrowing = 0pt \else \lispnarrowing = #1em \fi \fi } % @asis just yields its argument. Used with @table, for example. % \def\asis#1{#1} % @math outputs its argument in math mode. % We don't use $'s directly in the definition of \math because we need % to set catcodes according to plain TeX first, to allow for subscripts, % superscripts, special math chars, etc. % % @math does not do math typesetting in section titles, index % entries, and other such contexts where the catcodes are set before % @math gets a chance to work. This could perhaps be fixed, but for now % at least we can have real math in the main text, where it's needed most. % \let\implicitmath = $%$ font-lock fix % % One complication: _ usually means subscripts, but it could also mean % an actual _ character, as in @math{@var{some_variable} + 1}. So make % _ within @math be active (mathcode "8000), and distinguish by seeing % if the current family is \slfam, which is what @var uses. % {\catcode95 = \active % 95 = _ \gdef\mathunderscore{% \catcode95=\active \def_{\ifnum\fam=\slfam \_\else\sb\fi}% }} % % Another complication: we want \\ (and @\) to output a \ character. % FYI, plain.tex uses \\ as a temporary control sequence (why?), but % this is not advertised and we don't care. Texinfo does not % otherwise define @\. % % The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} % \def\math{% \tex \mathcode`\_="8000 \mathunderscore \let\\ = \mathbackslash \implicitmath\finishmath} \def\finishmath#1{#1\implicitmath\Etex} % @bullet and @minus need the same treatment as @math, just above. \def\bullet{\implicitmath\ptexbullet\implicitmath} \def\minus{\implicitmath-\implicitmath} % @refill is a no-op. \let\refill=\relax % If working on a large document in chapters, it is convenient to % be able to disable indexing, cross-referencing, and contents, for test runs. % This is done with @novalidate (before @setfilename). % \newif\iflinks \linkstrue % by default we want the aux files. \let\novalidate = \linksfalse % @setfilename is done at the beginning of every texinfo file. % So open here the files we need to have open while reading the input. % This makes it possible to make a .fmt file for texinfo. \def\setfilename{% \iflinks \readauxfile \fi % \openindices needs to do some work in any case. \openindices \fixbackslash % Turn off hack to swallow `\input texinfo'. \global\let\setfilename=\comment % Ignore extra @setfilename cmds. % % If texinfo.cnf is present on the system, read it. % Useful for site-wide @afourpaper, etc. % Just to be on the safe side, close the input stream before the \input. \openin 1 texinfo.cnf \ifeof1 \let\temp=\relax \else \def\temp{\input texinfo.cnf }\fi \closein1 \temp % \comment % Ignore the actual filename. } % Called from \setfilename. % \def\openindices{% \newindex{cp}% \newcodeindex{fn}% \newcodeindex{vr}% \newcodeindex{tp}% \newcodeindex{ky}% \newcodeindex{pg}% } % @bye. \outer\def\bye{\pagealignmacro\tracingstats=1\ptexend} \message{pdf,} % adobe `portable' document format \newcount\tempnum \newcount\lnkcount \newtoks\filename \newcount\filenamelength \newcount\pgn \newtoks\toksA \newtoks\toksB \newtoks\toksC \newtoks\toksD \newbox\boxA \newcount\countA \newif\ifpdf \newif\ifpdfmakepagedest \ifx\pdfoutput\undefined \pdffalse \let\pdfmkdest = \gobble \let\pdfurl = \gobble \let\endlink = \relax \let\linkcolor = \relax \let\pdfmakeoutlines = \relax \else \pdftrue \pdfoutput = 1 \input pdfcolor \def\dopdfimage#1#2#3{% \def\imagewidth{#2}% \def\imageheight{#3}% % without \immediate, pdftex seg faults when the same image is % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) \ifnum\pdftexversion < 14 \immediate\pdfimage \else \immediate\pdfximage \fi \ifx\empty\imagewidth\else width \imagewidth \fi \ifx\empty\imageheight\else height \imageheight \fi \ifnum\pdftexversion<13 #1.pdf% \else {#1.pdf}% \fi \ifnum\pdftexversion < 14 \else \pdfrefximage \pdflastximage \fi} \def\pdfmkdest#1{{\normalturnoffactive \pdfdest name{#1} xyz}} \def\pdfmkpgn#1{#1} \let\linkcolor = \Blue % was Cyan, but that seems light? \def\endlink{\Black\pdfendlink} % Adding outlines to PDF; macros for calculating structure of outlines % come from Petr Olsak \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% \else \csname#1\endcsname \fi} \def\advancenumber#1{\tempnum=\expnumber{#1}\relax \advance\tempnum by1 \expandafter\xdef\csname#1\endcsname{\the\tempnum}} \def\pdfmakeoutlines{{% \openin 1 \jobname.toc \ifeof 1\else\begingroup \closein 1 \indexnofonts \def\tt{} \let\_ = \normalunderscore % Thanh's hack / proper braces in bookmarks \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace % \def\chapentry ##1##2##3{} \let\appendixentry = \chapentry \def\unnumbchapentry ##1##2{} \def\secentry ##1##2##3##4{\advancenumber{chap##2}} \def\unnumbsecentry ##1##2##3{\advancenumber{chap##2}} \def\subsecentry ##1##2##3##4##5{\advancenumber{sec##2.##3}} \def\unnumbsubsecentry ##1##2##3##4{\advancenumber{sec##2.##3}} \def\subsubsecentry ##1##2##3##4##5##6{\advancenumber{subsec##2.##3.##4}} \def\unnumbsubsubsecentry ##1##2##3##4##5{\advancenumber{subsec##2.##3.##4}} \input \jobname.toc \def\chapentry ##1##2##3{% \pdfoutline goto name{\pdfmkpgn{##3}}count-\expnumber{chap##2}{##1}} \let\appendixentry = \chapentry \def\unnumbchapentry ##1##2{% \pdfoutline goto name{\pdfmkpgn{##2}}{##1}} \def\secentry ##1##2##3##4{% \pdfoutline goto name{\pdfmkpgn{##4}}count-\expnumber{sec##2.##3}{##1}} \def\unnumbsecentry ##1##2##3{% \pdfoutline goto name{\pdfmkpgn{##3}}{##1}} \def\subsecentry ##1##2##3##4##5{% \pdfoutline goto name{\pdfmkpgn{##5}}count-\expnumber{subsec##2.##3.##4}{##1}} \def\unnumbsubsecentry ##1##2##3##4{% \pdfoutline goto name{\pdfmkpgn{##4}}{##1}} \def\subsubsecentry ##1##2##3##4##5##6{% \pdfoutline goto name{\pdfmkpgn{##6}}{##1}} \def\unnumbsubsubsecentry ##1##2##3##4##5{% \pdfoutline goto name{\pdfmkpgn{##5}}{##1}} \input \jobname.toc \endgroup\fi }} \def\makelinks #1,{% \def\params{#1}\def\E{END}% \ifx\params\E \let\nextmakelinks=\relax \else \let\nextmakelinks=\makelinks \ifnum\lnkcount>0,\fi \picknum{#1}% \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{\the\pgn}}% \linkcolor #1% \advance\lnkcount by 1% \endlink \fi \nextmakelinks } \def\picknum#1{\expandafter\pn#1} \def\pn#1{% \def\p{#1}% \ifx\p\lbrace \let\nextpn=\ppn \else \let\nextpn=\ppnn \def\first{#1} \fi \nextpn } \def\ppn#1{\pgn=#1\gobble} \def\ppnn{\pgn=\first} \def\pdfmklnk#1{\lnkcount=0\makelinks #1,END,} \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} \def\skipspaces#1{\def\PP{#1}\def\D{|}% \ifx\PP\D\let\nextsp\relax \else\let\nextsp\skipspaces \ifx\p\space\else\addtokens{\filename}{\PP}% \advance\filenamelength by 1 \fi \fi \nextsp} \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax} \ifnum\pdftexversion < 14 \let \startlink \pdfannotlink \else \let \startlink \pdfstartlink \fi \def\pdfurl#1{% \begingroup \normalturnoffactive\def\@{@}% \let\value=\expandablevalue \leavevmode\Red \startlink attr{/Border [0 0 0]}% user{/Subtype /Link /A << /S /URI /URI (#1) >>}% % #1 \endgroup} \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} \def\maketoks{% \expandafter\poptoks\the\toksA|ENDTOKS| \ifx\first0\adn0 \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 \else \ifnum0=\countA\else\makelink\fi \ifx\first.\let\next=\done\else \let\next=\maketoks \addtokens{\toksB}{\the\toksD} \ifx\first,\addtokens{\toksB}{\space}\fi \fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \next} \def\makelink{\addtokens{\toksB}% {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} \def\pdflink#1{% \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}} \linkcolor #1\endlink} \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} \fi % \ifx\pdfoutput \message{fonts,} % Font-change commands. % Texinfo sort of supports the sans serif font style, which plain TeX does not. % So we set up a \sf analogous to plain's \rm, etc. \newfam\sffam \def\sf{\fam=\sffam \tensf} \let\li = \sf % Sometimes we call it \li, not \sf. % We don't need math for this one. \def\ttsl{\tenttsl} % Default leading. \newdimen\textleading \textleading = 13.2pt % Set the baselineskip to #1, and the lineskip and strut size % correspondingly. There is no deep meaning behind these magic numbers % used as factors; they just match (closely enough) what Knuth defined. % \def\lineskipfactor{.08333} \def\strutheightpercent{.70833} \def\strutdepthpercent {.29167} % \def\setleading#1{% \normalbaselineskip = #1\relax \normallineskip = \lineskipfactor\normalbaselineskip \normalbaselines \setbox\strutbox =\hbox{% \vrule width0pt height\strutheightpercent\baselineskip depth \strutdepthpercent \baselineskip }% } % Set the font macro #1 to the font named #2, adding on the % specified font prefix (normally `cm'). % #3 is the font's design size, #4 is a scale factor \def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4} % Use cm as the default font prefix. % To specify the font prefix, you must define \fontprefix % before you read in texinfo.tex. \ifx\fontprefix\undefined \def\fontprefix{cm} \fi % Support font families that don't use the same naming scheme as CM. \def\rmshape{r} \def\rmbshape{bx} %where the normal face is bold \def\bfshape{b} \def\bxshape{bx} \def\ttshape{tt} \def\ttbshape{tt} \def\ttslshape{sltt} \def\itshape{ti} \def\itbshape{bxti} \def\slshape{sl} \def\slbshape{bxsl} \def\sfshape{ss} \def\sfbshape{ss} \def\scshape{csc} \def\scbshape{csc} \newcount\mainmagstep \ifx\bigger\relax % not really supported. \let\mainmagstep=\magstep1 \setfont\textrm\rmshape{12}{1000} \setfont\texttt\ttshape{12}{1000} \else \mainmagstep=\magstephalf \setfont\textrm\rmshape{10}{\mainmagstep} \setfont\texttt\ttshape{10}{\mainmagstep} \fi % Instead of cmb10, you many want to use cmbx10. % cmbx10 is a prettier font on its own, but cmb10 % looks better when embedded in a line with cmr10. \setfont\textbf\bfshape{10}{\mainmagstep} \setfont\textit\itshape{10}{\mainmagstep} \setfont\textsl\slshape{10}{\mainmagstep} \setfont\textsf\sfshape{10}{\mainmagstep} \setfont\textsc\scshape{10}{\mainmagstep} \setfont\textttsl\ttslshape{10}{\mainmagstep} \font\texti=cmmi10 scaled \mainmagstep \font\textsy=cmsy10 scaled \mainmagstep % A few fonts for @defun, etc. \setfont\defbf\bxshape{10}{\magstep1} %was 1314 \setfont\deftt\ttshape{10}{\magstep1} \def\df{\let\tentt=\deftt \let\tenbf = \defbf \bf} % Fonts for indices, footnotes, small examples (9pt). \setfont\smallrm\rmshape{9}{1000} \setfont\smalltt\ttshape{9}{1000} \setfont\smallbf\bfshape{10}{900} \setfont\smallit\itshape{9}{1000} \setfont\smallsl\slshape{9}{1000} \setfont\smallsf\sfshape{9}{1000} \setfont\smallsc\scshape{10}{900} \setfont\smallttsl\ttslshape{10}{900} \font\smalli=cmmi9 \font\smallsy=cmsy9 % Fonts for small examples (8pt). \setfont\smallerrm\rmshape{8}{1000} \setfont\smallertt\ttshape{8}{1000} \setfont\smallerbf\bfshape{10}{800} \setfont\smallerit\itshape{8}{1000} \setfont\smallersl\slshape{8}{1000} \setfont\smallersf\sfshape{8}{1000} \setfont\smallersc\scshape{10}{800} \setfont\smallerttsl\ttslshape{10}{800} \font\smalleri=cmmi8 \font\smallersy=cmsy8 % Fonts for title page: \setfont\titlerm\rmbshape{12}{\magstep3} \setfont\titleit\itbshape{10}{\magstep4} \setfont\titlesl\slbshape{10}{\magstep4} \setfont\titlett\ttbshape{12}{\magstep3} \setfont\titlettsl\ttslshape{10}{\magstep4} \setfont\titlesf\sfbshape{17}{\magstep1} \let\titlebf=\titlerm \setfont\titlesc\scbshape{10}{\magstep4} \font\titlei=cmmi12 scaled \magstep3 \font\titlesy=cmsy10 scaled \magstep4 \def\authorrm{\secrm} % Chapter (and unnumbered) fonts (17.28pt). \setfont\chaprm\rmbshape{12}{\magstep2} \setfont\chapit\itbshape{10}{\magstep3} \setfont\chapsl\slbshape{10}{\magstep3} \setfont\chaptt\ttbshape{12}{\magstep2} \setfont\chapttsl\ttslshape{10}{\magstep3} \setfont\chapsf\sfbshape{17}{1000} \let\chapbf=\chaprm \setfont\chapsc\scbshape{10}{\magstep3} \font\chapi=cmmi12 scaled \magstep2 \font\chapsy=cmsy10 scaled \magstep3 % Section fonts (14.4pt). \setfont\secrm\rmbshape{12}{\magstep1} \setfont\secit\itbshape{10}{\magstep2} \setfont\secsl\slbshape{10}{\magstep2} \setfont\sectt\ttbshape{12}{\magstep1} \setfont\secttsl\ttslshape{10}{\magstep2} \setfont\secsf\sfbshape{12}{\magstep1} \let\secbf\secrm \setfont\secsc\scbshape{10}{\magstep2} \font\seci=cmmi12 scaled \magstep1 \font\secsy=cmsy10 scaled \magstep2 % Subsection fonts (13.15pt). \setfont\ssecrm\rmbshape{12}{\magstephalf} \setfont\ssecit\itbshape{10}{1315} \setfont\ssecsl\slbshape{10}{1315} \setfont\ssectt\ttbshape{12}{\magstephalf} \setfont\ssecttsl\ttslshape{10}{1315} \setfont\ssecsf\sfbshape{12}{\magstephalf} \let\ssecbf\ssecrm \setfont\ssecsc\scbshape{10}{\magstep1} \font\sseci=cmmi12 scaled \magstephalf \font\ssecsy=cmsy10 scaled 1315 % The smallcaps and symbol fonts should actually be scaled \magstep1.5, % but that is not a standard magnification. % In order for the font changes to affect most math symbols and letters, % we have to define the \textfont of the standard families. Since % texinfo doesn't allow for producing subscripts and superscripts except % in the main text, we don't bother to reset \scriptfont and % \scriptscriptfont (which would also require loading a lot more fonts). % \def\resetmathfonts{% \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf \textfont\ttfam=\tentt \textfont\sffam=\tensf } % The font-changing commands redefine the meanings of \tenSTYLE, instead % of just \STYLE. We do this so that font changes will continue to work % in math mode, where it is the current \fam that is relevant in most % cases, not the current font. Plain TeX does \def\bf{\fam=\bffam % \tenbf}, for example. By redefining \tenbf, we obviate the need to % redefine \bf itself. \def\textfonts{% \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy \let\tenttsl=\textttsl \resetmathfonts \setleading{\textleading}} \def\titlefonts{% \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy \let\tenttsl=\titlettsl \resetmathfonts \setleading{25pt}} \def\titlefont#1{{\titlefonts\rm #1}} \def\chapfonts{% \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy \let\tenttsl=\chapttsl \resetmathfonts \setleading{19pt}} \def\secfonts{% \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy \let\tenttsl=\secttsl \resetmathfonts \setleading{16pt}} \def\subsecfonts{% \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy \let\tenttsl=\ssecttsl \resetmathfonts \setleading{15pt}} \let\subsubsecfonts = \subsecfonts % Maybe make sssec fonts scaled magstephalf? \def\smallfonts{% \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy \let\tenttsl=\smallttsl \resetmathfonts \setleading{10.5pt}} \def\smallerfonts{% \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy \let\tenttsl=\smallerttsl \resetmathfonts \setleading{9.5pt}} \let\smallexamplefonts = \smallerfonts % Set up the default fonts, so we can use them for creating boxes. % \textfonts % Define these so they can be easily changed for other fonts. \def\angleleft{$\langle$} \def\angleright{$\rangle$} % Count depth in font-changes, for error checks \newcount\fontdepth \fontdepth=0 % Fonts for short table of contents. \setfont\shortcontrm\rmshape{12}{1000} \setfont\shortcontbf\bxshape{12}{1000} \setfont\shortcontsl\slshape{12}{1000} %% Add scribe-like font environments, plus @l for inline lisp (usually sans %% serif) and @ii for TeX italic % \smartitalic{ARG} outputs arg in italics, followed by an italic correction % unless the following character is such as not to need one. \def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else\/\fi\fi\fi} \def\smartslanted#1{{\sl #1}\futurelet\next\smartitalicx} \def\smartitalic#1{{\it #1}\futurelet\next\smartitalicx} \let\i=\smartitalic \let\var=\smartslanted \let\dfn=\smartslanted \let\emph=\smartitalic \let\cite=\smartslanted \def\b#1{{\bf #1}} \let\strong=\b % We can't just use \exhyphenpenalty, because that only has effect at % the end of a paragraph. Restore normal hyphenation at the end of the % group within which \nohyphenation is presumably called. % \def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation} \def\restorehyphenation{\hyphenchar\font = `- } \def\t#1{% {\tt \rawbackslash \frenchspacing #1}% \null } \let\ttfont=\t \def\samp#1{`\tclose{#1}'\null} \setfont\keyrm\rmshape{8}{1000} \font\keysy=cmsy9 \def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% \vbox{\hrule\kern-0.4pt \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% \kern-0.4pt\hrule}% \kern-.06em\raise0.4pt\hbox{\angleright}}}} % The old definition, with no lozenge: %\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null} \def\ctrl #1{{\tt \rawbackslash \hat}#1} % @file, @option are the same as @samp. \let\file=\samp \let\option=\samp % @code is a modification of @t, % which makes spaces the same size as normal in the surrounding text. \def\tclose#1{% {% % Change normal interword space to be same as for the current font. \spaceskip = \fontdimen2\font % % Switch to typewriter. \tt % % But `\ ' produces the large typewriter interword space. \def\ {{\spaceskip = 0pt{} }}% % % Turn off hyphenation. \nohyphenation % \rawbackslash \frenchspacing #1% }% \null } % We *must* turn on hyphenation at `-' and `_' in \code. % Otherwise, it is too hard to avoid overfull hboxes % in the Emacs manual, the Library manual, etc. % Unfortunately, TeX uses one parameter (\hyphenchar) to control % both hyphenation at - and hyphenation within words. % We must therefore turn them both off (\tclose does that) % and arrange explicitly to hyphenate at a dash. % -- rms. { \catcode`\-=\active \catcode`\_=\active % \global\def\code{\begingroup \catcode`\-=\active \let-\codedash \catcode`\_=\active \let_\codeunder \codex } % % If we end up with any active - characters when handling the index, % just treat them as a normal -. \global\def\indexbreaks{\catcode`\-=\active \let-\realdash} } \def\realdash{-} \def\codedash{-\discretionary{}{}{}} \def\codeunder{% % this is all so @math{@code{var_name}+1} can work. In math mode, _ % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.) % will therefore expand the active definition of _, which is us % (inside @code that is), therefore an endless loop. \ifusingtt{\ifmmode \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_. \else\normalunderscore \fi \discretionary{}{}{}}% {\_}% } \def\codex #1{\tclose{#1}\endgroup} % @kbd is like @code, except that if the argument is just one @key command, % then @kbd has no effect. % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), % `example' (@kbd uses ttsl only inside of @example and friends), % or `code' (@kbd uses normal tty font always). \def\kbdinputstyle{\parsearg\kbdinputstylexxx} \def\kbdinputstylexxx#1{% \def\arg{#1}% \ifx\arg\worddistinct \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% \else\ifx\arg\wordexample \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% \else\ifx\arg\wordcode \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% \fi\fi\fi } \def\worddistinct{distinct} \def\wordexample{example} \def\wordcode{code} % Default is kbdinputdistinct. (Too much of a hassle to call the macro, % the catcodes are wrong for parsearg to work.) \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl} \def\xkey{\key} \def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% \ifx\one\xkey\ifx\threex\three \key{#2}% \else{\tclose{\kbdfont\look}}\fi \else{\tclose{\kbdfont\look}}\fi} % For @url, @env, @command quotes seem unnecessary, so use \code. \let\url=\code \let\env=\code \let\command=\code % @uref (abbreviation for `urlref') takes an optional (comma-separated) % second argument specifying the text to display and an optional third % arg as text to display instead of (rather than in addition to) the url % itself. First (mandatory) arg is the url. Perhaps eventually put in % a hypertex \special here. % \def\uref#1{\douref #1,,,\finish} \def\douref#1,#2,#3,#4\finish{\begingroup \unsepspaces \pdfurl{#1}% \setbox0 = \hbox{\ignorespaces #3}% \ifdim\wd0 > 0pt \unhbox0 % third arg given, show only that \else \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0 > 0pt \ifpdf \unhbox0 % PDF: 2nd arg given, show only it \else \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url \fi \else \code{#1}% only url given, so show it \fi \fi \endlink \endgroup} % rms does not like angle brackets --karl, 17may97. % So now @email is just like @uref, unless we are pdf. % %\def\email#1{\angleleft{\tt #1}\angleright} \ifpdf \def\email#1{\doemail#1,,\finish} \def\doemail#1,#2,#3\finish{\begingroup \unsepspaces \pdfurl{mailto:#1}% \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi \endlink \endgroup} \else \let\email=\uref \fi % Check if we are currently using a typewriter font. Since all the % Computer Modern typewriter fonts have zero interword stretch (and % shrink), and it is reasonable to expect all typewriter fonts to have % this property, we can check that font parameter. % \def\ifmonospace{\ifdim\fontdimen3\font=0pt } % Typeset a dimension, e.g., `in' or `pt'. The only reason for the % argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. % \def\dmn#1{\thinspace #1} \def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par} % @l was never documented to mean ``switch to the Lisp font'', % and it is not used as such in any manual I can find. We need it for % Polish suppressed-l. --karl, 22sep96. %\def\l#1{{\li #1}\null} % Explicit font changes: @r, @sc, undocumented @ii. \def\r#1{{\rm #1}} % roman font \def\sc#1{{\smallcaps#1}} % smallcaps font \def\ii#1{{\it #1}} % italic font % @acronym downcases the argument and prints in smallcaps. \def\acronym#1{{\smallcaps \lowercase{#1}}} % @pounds{} is a sterling sign. \def\pounds{{\it\$}} \message{page headings,} \newskip\titlepagetopglue \titlepagetopglue = 1.5in \newskip\titlepagebottomglue \titlepagebottomglue = 2pc % First the title page. Must do @settitle before @titlepage. \newif\ifseenauthor \newif\iffinishedtitlepage % Do an implicit @contents or @shortcontents after @end titlepage if the % user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage. % \newif\ifsetcontentsaftertitlepage \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue \newif\ifsetshortcontentsaftertitlepage \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue \def\shorttitlepage{\parsearg\shorttitlepagezzz} \def\shorttitlepagezzz #1{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}% \endgroup\page\hbox{}\page} \def\titlepage{\begingroup \parindent=0pt \textfonts \let\subtitlerm=\tenrm \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}% % \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines}% % % Leave some space at the very top of the page. \vglue\titlepagetopglue % % Now you can print the title using @title. \def\title{\parsearg\titlezzz}% \def\titlezzz##1{\leftline{\titlefonts\rm ##1} % print a rule at the page bottom also. \finishedtitlepagefalse \vskip4pt \hrule height 4pt width \hsize \vskip4pt}% % No rule at page bottom unless we print one at the top with @title. \finishedtitlepagetrue % % Now you can put text using @subtitle. \def\subtitle{\parsearg\subtitlezzz}% \def\subtitlezzz##1{{\subtitlefont \rightline{##1}}}% % % @author should come last, but may come many times. \def\author{\parsearg\authorzzz}% \def\authorzzz##1{\ifseenauthor\else\vskip 0pt plus 1filll\seenauthortrue\fi {\authorfont \leftline{##1}}}% % % Most title ``pages'' are actually two pages long, with space % at the top of the second. We don't want the ragged left on the second. \let\oldpage = \page \def\page{% \iffinishedtitlepage\else \finishtitlepage \fi \oldpage \let\page = \oldpage \hbox{}}% % \def\page{\oldpage \hbox{}} } \def\Etitlepage{% \iffinishedtitlepage\else \finishtitlepage \fi % It is important to do the page break before ending the group, % because the headline and footline are only empty inside the group. % If we use the new definition of \page, we always get a blank page % after the title page, which we certainly don't want. \oldpage \endgroup % % Need this before the \...aftertitlepage checks so that if they are % in effect the toc pages will come out with page numbers. \HEADINGSon % % If they want short, they certainly want long too. \ifsetshortcontentsaftertitlepage \shortcontents \contents \global\let\shortcontents = \relax \global\let\contents = \relax \fi % \ifsetcontentsaftertitlepage \contents \global\let\contents = \relax \global\let\shortcontents = \relax \fi } \def\finishtitlepage{% \vskip4pt \hrule height 2pt width \hsize \vskip\titlepagebottomglue \finishedtitlepagetrue } %%% Set up page headings and footings. \let\thispage=\folio \newtoks\evenheadline % headline on even pages \newtoks\oddheadline % headline on odd pages \newtoks\evenfootline % footline on even pages \newtoks\oddfootline % footline on odd pages % Now make Tex use those variables \headline={{\textfonts\rm \ifodd\pageno \the\oddheadline \else \the\evenheadline \fi}} \footline={{\textfonts\rm \ifodd\pageno \the\oddfootline \else \the\evenfootline \fi}\HEADINGShook} \let\HEADINGShook=\relax % Commands to set those variables. % For example, this is what @headings on does % @evenheading @thistitle|@thispage|@thischapter % @oddheading @thischapter|@thispage|@thistitle % @evenfooting @thisfile|| % @oddfooting ||@thisfile \def\evenheading{\parsearg\evenheadingxxx} \def\oddheading{\parsearg\oddheadingxxx} \def\everyheading{\parsearg\everyheadingxxx} \def\evenfooting{\parsearg\evenfootingxxx} \def\oddfooting{\parsearg\oddfootingxxx} \def\everyfooting{\parsearg\everyfootingxxx} {\catcode`\@=0 % \gdef\evenheadingxxx #1{\evenheadingyyy #1@|@|@|@|\finish} \gdef\evenheadingyyy #1@|#2@|#3@|#4\finish{% \global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \gdef\oddheadingxxx #1{\oddheadingyyy #1@|@|@|@|\finish} \gdef\oddheadingyyy #1@|#2@|#3@|#4\finish{% \global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \gdef\everyheadingxxx#1{\oddheadingxxx{#1}\evenheadingxxx{#1}}% \gdef\evenfootingxxx #1{\evenfootingyyy #1@|@|@|@|\finish} \gdef\evenfootingyyy #1@|#2@|#3@|#4\finish{% \global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} \gdef\oddfootingxxx #1{\oddfootingyyy #1@|@|@|@|\finish} \gdef\oddfootingyyy #1@|#2@|#3@|#4\finish{% \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}% % % Leave some space for the footline. Hopefully ok to assume % @evenfooting will not be used by itself. \global\advance\pageheight by -\baselineskip \global\advance\vsize by -\baselineskip } \gdef\everyfootingxxx#1{\oddfootingxxx{#1}\evenfootingxxx{#1}} % }% unbind the catcode of @. % @headings double turns headings on for double-sided printing. % @headings single turns headings on for single-sided printing. % @headings off turns them off. % @headings on same as @headings double, retained for compatibility. % @headings after turns on double-sided headings after this page. % @headings doubleafter turns on double-sided headings after this page. % @headings singleafter turns on single-sided headings after this page. % By default, they are off at the start of a document, % and turned `on' after @end titlepage. \def\headings #1 {\csname HEADINGS#1\endcsname} \def\HEADINGSoff{ \global\evenheadline={\hfil} \global\evenfootline={\hfil} \global\oddheadline={\hfil} \global\oddfootline={\hfil}} \HEADINGSoff % When we turn headings on, set the page number to 1. % For double-sided printing, put current file name in lower left corner, % chapter name on inside top of right hand pages, document % title on inside top of left hand pages, and page numbers on outside top % edge of all pages. \def\HEADINGSdouble{ \global\pageno=1 \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\folio\hfil\thistitle}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chapoddpage } \let\contentsalignmacro = \chappager % For single-sided printing, chapter title goes across top left of page, % page number on top right. \def\HEADINGSsingle{ \global\pageno=1 \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\thischapter\hfil\folio}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chappager } \def\HEADINGSon{\HEADINGSdouble} \def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex} \let\HEADINGSdoubleafter=\HEADINGSafter \def\HEADINGSdoublex{% \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\folio\hfil\thistitle}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chapoddpage } \def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex} \def\HEADINGSsinglex{% \global\evenfootline={\hfil} \global\oddfootline={\hfil} \global\evenheadline={\line{\thischapter\hfil\folio}} \global\oddheadline={\line{\thischapter\hfil\folio}} \global\let\contentsalignmacro = \chappager } % Subroutines used in generating headings % This produces Day Month Year style of output. % Only define if not already defined, in case a txi-??.tex file has set % up a different format (e.g., txi-cs.tex does this). \ifx\today\undefined \def\today{% \number\day\space \ifcase\month \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec \fi \space\number\year} \fi % @settitle line... specifies the title of the document, for headings. % It generates no output of its own. \def\thistitle{\putwordNoTitle} \def\settitle{\parsearg\settitlezzz} \def\settitlezzz #1{\gdef\thistitle{#1}} \message{tables,} % Tables -- @table, @ftable, @vtable, @item(x), @kitem(x), @xitem(x). % default indentation of table text \newdimen\tableindent \tableindent=.8in % default indentation of @itemize and @enumerate text \newdimen\itemindent \itemindent=.3in % margin between end of table item and start of table text. \newdimen\itemmargin \itemmargin=.1in % used internally for \itemindent minus \itemmargin \newdimen\itemmax % Note @table, @vtable, and @vtable define @item, @itemx, etc., with % these defs. % They also define \itemindex % to index the item name in whatever manner is desired (perhaps none). \newif\ifitemxneedsnegativevskip \def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi} \def\internalBitem{\smallbreak \parsearg\itemzzz} \def\internalBitemx{\itemxpar \parsearg\itemzzz} \def\internalBxitem "#1"{\def\xitemsubtopix{#1} \smallbreak \parsearg\xitemzzz} \def\internalBxitemx "#1"{\def\xitemsubtopix{#1} \itemxpar \parsearg\xitemzzz} \def\internalBkitem{\smallbreak \parsearg\kitemzzz} \def\internalBkitemx{\itemxpar \parsearg\kitemzzz} \def\kitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \lastfunction}}% \itemzzz {#1}} \def\xitemzzz #1{\dosubind {kw}{\code{#1}}{for {\bf \xitemsubtopic}}% \itemzzz {#1}} \def\itemzzz #1{\begingroup % \advance\hsize by -\rightskip \advance\hsize by -\tableindent \setbox0=\hbox{\itemfont{#1}}% \itemindex{#1}% \nobreak % This prevents a break before @itemx. % % If the item text does not fit in the space we have, put it on a line % by itself, and do not allow a page break either before or after that % line. We do not start a paragraph here because then if the next % command is, e.g., @kindex, the whatsit would get put into the % horizontal list on a line by itself, resulting in extra blank space. \ifdim \wd0>\itemmax % % Make this a paragraph so we get the \parskip glue and wrapping, % but leave it ragged-right. \begingroup \advance\leftskip by-\tableindent \advance\hsize by\tableindent \advance\rightskip by0pt plus1fil \leavevmode\unhbox0\par \endgroup % % We're going to be starting a paragraph, but we don't want the % \parskip glue -- logically it's part of the @item we just started. \nobreak \vskip-\parskip % % Stop a page break at the \parskip glue coming up. Unfortunately % we can't prevent a possible page break at the following % \baselineskip glue. \nobreak \endgroup \itemxneedsnegativevskipfalse \else % The item text fits into the space. Start a paragraph, so that the % following text (if any) will end up on the same line. \noindent % Do this with kerns and \unhbox so that if there is a footnote in % the item text, it can migrate to the main vertical list and % eventually be printed. \nobreak\kern-\tableindent \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0 \unhbox0 \nobreak\kern\dimen0 \endgroup \itemxneedsnegativevskiptrue \fi } \def\item{\errmessage{@item while not in a table}} \def\itemx{\errmessage{@itemx while not in a table}} \def\kitem{\errmessage{@kitem while not in a table}} \def\kitemx{\errmessage{@kitemx while not in a table}} \def\xitem{\errmessage{@xitem while not in a table}} \def\xitemx{\errmessage{@xitemx while not in a table}} % Contains a kludge to get @end[description] to work. \def\description{\tablez{\dontindex}{1}{}{}{}{}} % @table, @ftable, @vtable. \def\table{\begingroup\inENV\obeylines\obeyspaces\tablex} {\obeylines\obeyspaces% \gdef\tablex #1^^M{% \tabley\dontindex#1 \endtabley}} \def\ftable{\begingroup\inENV\obeylines\obeyspaces\ftablex} {\obeylines\obeyspaces% \gdef\ftablex #1^^M{% \tabley\fnitemindex#1 \endtabley \def\Eftable{\endgraf\afterenvbreak\endgroup}% \let\Etable=\relax}} \def\vtable{\begingroup\inENV\obeylines\obeyspaces\vtablex} {\obeylines\obeyspaces% \gdef\vtablex #1^^M{% \tabley\vritemindex#1 \endtabley \def\Evtable{\endgraf\afterenvbreak\endgroup}% \let\Etable=\relax}} \def\dontindex #1{} \def\fnitemindex #1{\doind {fn}{\code{#1}}}% \def\vritemindex #1{\doind {vr}{\code{#1}}}% {\obeyspaces % \gdef\tabley#1#2 #3 #4 #5 #6 #7\endtabley{\endgroup% \tablez{#1}{#2}{#3}{#4}{#5}{#6}}} \def\tablez #1#2#3#4#5#6{% \aboveenvbreak % \begingroup % \def\Edescription{\Etable}% Necessary kludge. \let\itemindex=#1% \ifnum 0#3>0 \advance \leftskip by #3\mil \fi % \ifnum 0#4>0 \tableindent=#4\mil \fi % \ifnum 0#5>0 \advance \rightskip by #5\mil \fi % \def\itemfont{#2}% \itemmax=\tableindent % \advance \itemmax by -\itemmargin % \advance \leftskip by \tableindent % \exdentamount=\tableindent \parindent = 0pt \parskip = \smallskipamount \ifdim \parskip=0pt \parskip=2pt \fi% \def\Etable{\endgraf\afterenvbreak\endgroup}% \let\item = \internalBitem % \let\itemx = \internalBitemx % \let\kitem = \internalBkitem % \let\kitemx = \internalBkitemx % \let\xitem = \internalBxitem % \let\xitemx = \internalBxitemx % } % This is the counter used by @enumerate, which is really @itemize \newcount \itemno \def\itemize{\parsearg\itemizezzz} \def\itemizezzz #1{% \begingroup % ended by the @end itemize \itemizey {#1}{\Eitemize} } \def\itemizey #1#2{% \aboveenvbreak % \itemmax=\itemindent % \advance \itemmax by -\itemmargin % \advance \leftskip by \itemindent % \exdentamount=\itemindent \parindent = 0pt % \parskip = \smallskipamount % \ifdim \parskip=0pt \parskip=2pt \fi% \def#2{\endgraf\afterenvbreak\endgroup}% \def\itemcontents{#1}% \let\item=\itemizeitem} % Set sfcode to normal for the chars that usually have another value. % These are `.?!:;,' \def\frenchspacing{\sfcode46=1000 \sfcode63=1000 \sfcode33=1000 \sfcode58=1000 \sfcode59=1000 \sfcode44=1000 } % \splitoff TOKENS\endmark defines \first to be the first token in % TOKENS, and \rest to be the remainder. % \def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}% % Allow an optional argument of an uppercase letter, lowercase letter, % or number, to specify the first label in the enumerated list. No % argument is the same as `1'. % \def\enumerate{\parsearg\enumeratezzz} \def\enumeratezzz #1{\enumeratey #1 \endenumeratey} \def\enumeratey #1 #2\endenumeratey{% \begingroup % ended by the @end enumerate % % If we were given no argument, pretend we were given `1'. \def\thearg{#1}% \ifx\thearg\empty \def\thearg{1}\fi % % Detect if the argument is a single token. If so, it might be a % letter. Otherwise, the only valid thing it can be is a number. % (We will always have one token, because of the test we just made. % This is a good thing, since \splitoff doesn't work given nothing at % all -- the first parameter is undelimited.) \expandafter\splitoff\thearg\endmark \ifx\rest\empty % Only one token in the argument. It could still be anything. % A ``lowercase letter'' is one whose \lccode is nonzero. % An ``uppercase letter'' is one whose \lccode is both nonzero, and % not equal to itself. % Otherwise, we assume it's a number. % % We need the \relax at the end of the \ifnum lines to stop TeX from % continuing to look for a . % \ifnum\lccode\expandafter`\thearg=0\relax \numericenumerate % a number (we hope) \else % It's a letter. \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax \lowercaseenumerate % lowercase letter \else \uppercaseenumerate % uppercase letter \fi \fi \else % Multiple tokens in the argument. We hope it's a number. \numericenumerate \fi } % An @enumerate whose labels are integers. The starting integer is % given in \thearg. % \def\numericenumerate{% \itemno = \thearg \startenumeration{\the\itemno}% } % The starting (lowercase) letter is in \thearg. \def\lowercaseenumerate{% \itemno = \expandafter`\thearg \startenumeration{% % Be sure we're not beyond the end of the alphabet. \ifnum\itemno=0 \errmessage{No more lowercase letters in @enumerate; get a bigger alphabet}% \fi \char\lccode\itemno }% } % The starting (uppercase) letter is in \thearg. \def\uppercaseenumerate{% \itemno = \expandafter`\thearg \startenumeration{% % Be sure we're not beyond the end of the alphabet. \ifnum\itemno=0 \errmessage{No more uppercase letters in @enumerate; get a bigger alphabet} \fi \char\uccode\itemno }% } % Call itemizey, adding a period to the first argument and supplying the % common last two arguments. Also subtract one from the initial value in % \itemno, since @item increments \itemno. % \def\startenumeration#1{% \advance\itemno by -1 \itemizey{#1.}\Eenumerate\flushcr } % @alphaenumerate and @capsenumerate are abbreviations for giving an arg % to @enumerate. % \def\alphaenumerate{\enumerate{a}} \def\capsenumerate{\enumerate{A}} \def\Ealphaenumerate{\Eenumerate} \def\Ecapsenumerate{\Eenumerate} % Definition of @item while inside @itemize. \def\itemizeitem{% \advance\itemno by 1 {\let\par=\endgraf \smallbreak}% \ifhmode \errmessage{In hmode at itemizeitem}\fi {\parskip=0in \hskip 0pt \hbox to 0pt{\hss \itemcontents\hskip \itemmargin}% \vadjust{\penalty 1200}}% \flushcr} % @multitable macros % Amy Hendrickson, 8/18/94, 3/6/96 % % @multitable ... @end multitable will make as many columns as desired. % Contents of each column will wrap at width given in preamble. Width % can be specified either with sample text given in a template line, % or in percent of \hsize, the current width of text on page. % Table can continue over pages but will only break between lines. % To make preamble: % % Either define widths of columns in terms of percent of \hsize: % @multitable @columnfractions .25 .3 .45 % @item ... % % Numbers following @columnfractions are the percent of the total % current hsize to be used for each column. You may use as many % columns as desired. % Or use a template: % @multitable {Column 1 template} {Column 2 template} {Column 3 template} % @item ... % using the widest term desired in each column. % % For those who want to use more than one line's worth of words in % the preamble, break the line within one argument and it % will parse correctly, i.e., % % @multitable {Column 1 template} {Column 2 template} {Column 3 % template} % Not: % @multitable {Column 1 template} {Column 2 template} % {Column 3 template} % Each new table line starts with @item, each subsequent new column % starts with @tab. Empty columns may be produced by supplying @tab's % with nothing between them for as many times as empty columns are needed, % ie, @tab@tab@tab will produce two empty columns. % @item, @tab, @multitable or @end multitable do not need to be on their % own lines, but it will not hurt if they are. % Sample multitable: % @multitable {Column 1 template} {Column 2 template} {Column 3 template} % @item first col stuff @tab second col stuff @tab third col % @item % first col stuff % @tab % second col stuff % @tab % third col % @item first col stuff @tab second col stuff % @tab Many paragraphs of text may be used in any column. % % They will wrap at the width determined by the template. % @item@tab@tab This will be in third column. % @end multitable % Default dimensions may be reset by user. % @multitableparskip is vertical space between paragraphs in table. % @multitableparindent is paragraph indent in table. % @multitablecolmargin is horizontal space to be left between columns. % @multitablelinespace is space to leave between table items, baseline % to baseline. % 0pt means it depends on current normal line spacing. % \newskip\multitableparskip \newskip\multitableparindent \newdimen\multitablecolspace \newskip\multitablelinespace \multitableparskip=0pt \multitableparindent=6pt \multitablecolspace=12pt \multitablelinespace=0pt % Macros used to set up halign preamble: % \let\endsetuptable\relax \def\xendsetuptable{\endsetuptable} \let\columnfractions\relax \def\xcolumnfractions{\columnfractions} \newif\ifsetpercent % #1 is the part of the @columnfraction before the decimal point, which % is presumably either 0 or the empty string (but we don't check, we % just throw it away). #2 is the decimal part, which we use as the % percent of \hsize for this column. \def\pickupwholefraction#1.#2 {% \global\advance\colcount by 1 \expandafter\xdef\csname col\the\colcount\endcsname{.#2\hsize}% \setuptable } \newcount\colcount \def\setuptable#1{% \def\firstarg{#1}% \ifx\firstarg\xendsetuptable \let\go = \relax \else \ifx\firstarg\xcolumnfractions \global\setpercenttrue \else \ifsetpercent \let\go\pickupwholefraction \else \global\advance\colcount by 1 \setbox0=\hbox{#1\unskip }% Add a normal word space as a separator; % typically that is always in the input, anyway. \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}% \fi \fi \ifx\go\pickupwholefraction % Put the argument back for the \pickupwholefraction call, so % we'll always have a period there to be parsed. \def\go{\pickupwholefraction#1}% \else \let\go = \setuptable \fi% \fi \go } % This used to have \hskip1sp. But then the space in a template line is % not enough. That is bad. So let's go back to just & until we % encounter the problem it was intended to solve again. % --karl, nathan@acm.org, 20apr99. \def\tab{&} % @multitable ... @end multitable definitions: % \def\multitable{\parsearg\dotable} \def\dotable#1{\bgroup \vskip\parskip \let\item\crcr \tolerance=9500 \hbadness=9500 \setmultitablespacing \parskip=\multitableparskip \parindent=\multitableparindent \overfullrule=0pt \global\colcount=0 \def\Emultitable{\global\setpercentfalse\cr\egroup\egroup}% % % To parse everything between @multitable and @item: \setuptable#1 \endsetuptable % % \everycr will reset column counter, \colcount, at the end of % each line. Every column entry will cause \colcount to advance by one. % The table preamble % looks at the current \colcount to find the correct column width. \everycr{\noalign{% % % \filbreak%% keeps underfull box messages off when table breaks over pages. % Maybe so, but it also creates really weird page breaks when the table % breaks over pages. Wouldn't \vfil be better? Wait until the problem % manifests itself, so it can be fixed for real --karl. \global\colcount=0\relax}}% % % This preamble sets up a generic column definition, which will % be used as many times as user calls for columns. % \vtop will set a single line and will also let text wrap and % continue for many paragraphs if desired. \halign\bgroup&\global\advance\colcount by 1\relax \multistrut\vtop{\hsize=\expandafter\csname col\the\colcount\endcsname % % In order to keep entries from bumping into each other % we will add a \leftskip of \multitablecolspace to all columns after % the first one. % % If a template has been used, we will add \multitablecolspace % to the width of each template entry. % % If the user has set preamble in terms of percent of \hsize we will % use that dimension as the width of the column, and the \leftskip % will keep entries from bumping into each other. Table will start at % left margin and final column will justify at right margin. % % Make sure we don't inherit \rightskip from the outer environment. \rightskip=0pt \ifnum\colcount=1 % The first column will be indented with the surrounding text. \advance\hsize by\leftskip \else \ifsetpercent \else % If user has not set preamble in terms of percent of \hsize % we will advance \hsize by \multitablecolspace. \advance\hsize by \multitablecolspace \fi % In either case we will make \leftskip=\multitablecolspace: \leftskip=\multitablecolspace \fi % Ignoring space at the beginning and end avoids an occasional spurious % blank line, when TeX decides to break the line at the space before the % box from the multistrut, so the strut ends up on a line by itself. % For example: % @multitable @columnfractions .11 .89 % @item @code{#} % @tab Legal holiday which is valid in major parts of the whole country. % Is automatically provided with highlighting sequences respectively marking % characters. \noindent\ignorespaces##\unskip\multistrut}\cr } \def\setmultitablespacing{% test to see if user has set \multitablelinespace. % If so, do nothing. If not, give it an appropriate dimension based on % current baselineskip. \ifdim\multitablelinespace=0pt \setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip \global\advance\multitablelinespace by-\ht0 %% strut to put in table in case some entry doesn't have descenders, %% to keep lines equally spaced \let\multistrut = \strut \else %% FIXME: what is \box0 supposed to be? \gdef\multistrut{\vrule height\multitablelinespace depth\dp0 width0pt\relax} \fi %% Test to see if parskip is larger than space between lines of %% table. If not, do nothing. %% If so, set to same dimension as multitablelinespace. \ifdim\multitableparskip>\multitablelinespace \global\multitableparskip=\multitablelinespace \global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller %% than skip between lines in the table. \fi% \ifdim\multitableparskip=0pt \global\multitableparskip=\multitablelinespace \global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller %% than skip between lines in the table. \fi} \message{conditionals,} % Prevent errors for section commands. % Used in @ignore and in failing conditionals. \def\ignoresections{% \let\chapter=\relax \let\unnumbered=\relax \let\top=\relax \let\unnumberedsec=\relax \let\unnumberedsection=\relax \let\unnumberedsubsec=\relax \let\unnumberedsubsection=\relax \let\unnumberedsubsubsec=\relax \let\unnumberedsubsubsection=\relax \let\section=\relax \let\subsec=\relax \let\subsubsec=\relax \let\subsection=\relax \let\subsubsection=\relax \let\appendix=\relax \let\appendixsec=\relax \let\appendixsection=\relax \let\appendixsubsec=\relax \let\appendixsubsection=\relax \let\appendixsubsubsec=\relax \let\appendixsubsubsection=\relax \let\contents=\relax \let\smallbook=\relax \let\titlepage=\relax } % Used in nested conditionals, where we have to parse the Texinfo source % and so want to turn off most commands, in case they are used % incorrectly. % \def\ignoremorecommands{% \let\defcodeindex = \relax \let\defcv = \relax \let\deffn = \relax \let\deffnx = \relax \let\defindex = \relax \let\defivar = \relax \let\defmac = \relax \let\defmethod = \relax \let\defop = \relax \let\defopt = \relax \let\defspec = \relax \let\deftp = \relax \let\deftypefn = \relax \let\deftypefun = \relax \let\deftypeivar = \relax \let\deftypeop = \relax \let\deftypevar = \relax \let\deftypevr = \relax \let\defun = \relax \let\defvar = \relax \let\defvr = \relax \let\ref = \relax \let\xref = \relax \let\printindex = \relax \let\pxref = \relax \let\settitle = \relax \let\setchapternewpage = \relax \let\setchapterstyle = \relax \let\everyheading = \relax \let\evenheading = \relax \let\oddheading = \relax \let\everyfooting = \relax \let\evenfooting = \relax \let\oddfooting = \relax \let\headings = \relax \let\include = \relax \let\lowersections = \relax \let\down = \relax \let\raisesections = \relax \let\up = \relax \let\set = \relax \let\clear = \relax \let\item = \relax } % Ignore @ignore, @ifhtml, @ifinfo, @ifplaintext, @ifnottex, @html, @menu, % @direntry, and @documentdescription. % \def\ignore{\doignore{ignore}} \def\ifhtml{\doignore{ifhtml}} \def\ifinfo{\doignore{ifinfo}} \def\ifplaintext{\doignore{ifplaintext}} \def\ifnottex{\doignore{ifnottex}} \def\html{\doignore{html}} \def\menu{\doignore{menu}} \def\direntry{\doignore{direntry}} \def\documentdescription{\doignore{documentdescription}} \def\documentdescriptionword{documentdescription} % @dircategory CATEGORY -- specify a category of the dir file % which this file should belong to. Ignore this in TeX. \let\dircategory = \comment % Ignore text until a line `@end #1'. % \def\doignore#1{\begingroup % Don't complain about control sequences we have declared \outer. \ignoresections % % Define a command to swallow text until we reach `@end #1'. % This @ is a catcode 12 token (that is the normal catcode of @ in % this texinfo.tex file). We change the catcode of @ below to match. \long\def\doignoretext##1@end #1{\enddoignore}% % % Make sure that spaces turn into tokens that match what \doignoretext wants. \catcode32 = 10 % % Ignore braces, too, so mismatched braces don't cause trouble. \catcode`\{ = 9 \catcode`\} = 9 % % We must not have @c interpreted as a control sequence. \catcode`\@ = 12 % \def\ignoreword{#1}% \ifx\ignoreword\documentdescriptionword % The c kludge breaks documentdescription, since % `documentdescription' contains a `c'. Means not everything will % be ignored inside @documentdescription, but oh well... \else % Make the letter c a comment character so that the rest of the line % will be ignored. This way, the document can have (for example) % @c @end ifinfo % and the @end ifinfo will be properly ignored. % (We've just changed @ to catcode 12.) \catcode`\c = 14 \fi % % And now expand the command defined above. \doignoretext } % What we do to finish off ignored text. % \def\enddoignore{\endgroup\ignorespaces}% \newif\ifwarnedobs\warnedobsfalse \def\obstexwarn{% \ifwarnedobs\relax\else % We need to warn folks that they may have trouble with TeX 3.0. % This uses \immediate\write16 rather than \message to get newlines. \immediate\write16{} \immediate\write16{WARNING: for users of Unix TeX 3.0!} \immediate\write16{This manual trips a bug in TeX version 3.0 (tex hangs).} \immediate\write16{If you are running another version of TeX, relax.} \immediate\write16{If you are running Unix TeX 3.0, kill this TeX process.} \immediate\write16{ Then upgrade your TeX installation if you can.} \immediate\write16{ (See ftp://ftp.gnu.org/pub/gnu/TeX.README.)} \immediate\write16{If you are stuck with version 3.0, run the} \immediate\write16{ script ``tex3patch'' from the Texinfo distribution} \immediate\write16{ to use a workaround.} \immediate\write16{} \global\warnedobstrue \fi } % **In TeX 3.0, setting text in \nullfont hangs tex. For a % workaround (which requires the file ``dummy.tfm'' to be installed), % uncomment the following line: %%%%%\font\nullfont=dummy\let\obstexwarn=\relax % Ignore text, except that we keep track of conditional commands for % purposes of nesting, up to an `@end #1' command. % \def\nestedignore#1{% \obstexwarn % We must actually expand the ignored text to look for the @end % command, so that nested ignore constructs work. Thus, we put the % text into a \vbox and then do nothing with the result. To minimize % the change of memory overflow, we follow the approach outlined on % page 401 of the TeXbook: make the current font be a dummy font. % \setbox0 = \vbox\bgroup % Don't complain about control sequences we have declared \outer. \ignoresections % % Define `@end #1' to end the box, which will in turn undefine the % @end command again. \expandafter\def\csname E#1\endcsname{\egroup\ignorespaces}% % % We are going to be parsing Texinfo commands. Most cause no % trouble when they are used incorrectly, but some commands do % complicated argument parsing or otherwise get confused, so we % undefine them. % % We can't do anything about stray @-signs, unfortunately; % they'll produce `undefined control sequence' errors. \ignoremorecommands % % Set the current font to be \nullfont, a TeX primitive, and define % all the font commands to also use \nullfont. We don't use % dummy.tfm, as suggested in the TeXbook, because not all sites % might have that installed. Therefore, math mode will still % produce output, but that should be an extremely small amount of % stuff compared to the main input. % \nullfont \let\tenrm=\nullfont \let\tenit=\nullfont \let\tensl=\nullfont \let\tenbf=\nullfont \let\tentt=\nullfont \let\smallcaps=\nullfont \let\tensf=\nullfont % Similarly for index fonts. \let\smallrm=\nullfont \let\smallit=\nullfont \let\smallsl=\nullfont \let\smallbf=\nullfont \let\smalltt=\nullfont \let\smallsc=\nullfont \let\smallsf=\nullfont % Similarly for smallexample fonts. \let\smallerrm=\nullfont \let\smallerit=\nullfont \let\smallersl=\nullfont \let\smallerbf=\nullfont \let\smallertt=\nullfont \let\smallersc=\nullfont \let\smallersf=\nullfont % % Don't complain when characters are missing from the fonts. \tracinglostchars = 0 % % Don't bother to do space factor calculations. \frenchspacing % % Don't report underfull hboxes. \hbadness = 10000 % % Do minimal line-breaking. \pretolerance = 10000 % % Do not execute instructions in @tex \def\tex{\doignore{tex}}% % Do not execute macro definitions. % `c' is a comment character, so the word `macro' will get cut off. \def\macro{\doignore{ma}}% } % @set VAR sets the variable VAR to an empty value. % @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE. % % Since we want to separate VAR from REST-OF-LINE (which might be % empty), we can't just use \parsearg; we have to insert a space of our % own to delimit the rest of the line, and then take it out again if we % didn't need it. Make sure the catcode of space is correct to avoid % losing inside @example, for instance. % \def\set{\begingroup\catcode` =10 \catcode`\-=12 \catcode`\_=12 % Allow - and _ in VAR. \parsearg\setxxx} \def\setxxx#1{\setyyy#1 \endsetyyy} \def\setyyy#1 #2\endsetyyy{% \def\temp{#2}% \ifx\temp\empty \global\expandafter\let\csname SET#1\endcsname = \empty \else \setzzz{#1}#2\endsetzzz % Remove the trailing space \setxxx inserted. \fi \endgroup } % Can't use \xdef to pre-expand #2 and save some time, since \temp or % \next or other control sequences that we've defined might get us into % an infinite loop. Consider `@set foo @cite{bar}'. \def\setzzz#1#2 \endsetzzz{\expandafter\gdef\csname SET#1\endcsname{#2}} % @clear VAR clears (i.e., unsets) the variable VAR. % \def\clear{\parsearg\clearxxx} \def\clearxxx#1{\global\expandafter\let\csname SET#1\endcsname=\relax} % @value{foo} gets the text saved in variable foo. { \catcode`\_ = \active % % We might end up with active _ or - characters in the argument if % we're called from @code, as @code{@value{foo-bar_}}. So \let any % such active characters to their normal equivalents. \gdef\value{\begingroup \catcode`\-=12 \catcode`\_=12 \indexbreaks \let_\normalunderscore \valuexxx} } \def\valuexxx#1{\expandablevalue{#1}\endgroup} % We have this subroutine so that we can handle at least some @value's % properly in indexes (we \let\value to this in \indexdummies). Ones % whose names contain - or _ still won't work, but we can't do anything % about that. The command has to be fully expandable, since the result % winds up in the index file. This means that if the variable's value % contains other Texinfo commands, it's almost certain it will fail % (although perhaps we could fix that with sufficient work to do a % one-level expansion on the result, instead of complete). % \def\expandablevalue#1{% \expandafter\ifx\csname SET#1\endcsname\relax {[No value for ``#1'']}% \else \csname SET#1\endcsname \fi } % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined % with @set. % \def\ifset{\parsearg\ifsetxxx} \def\ifsetxxx #1{% \expandafter\ifx\csname SET#1\endcsname\relax \expandafter\ifsetfail \else \expandafter\ifsetsucceed \fi } \def\ifsetsucceed{\conditionalsucceed{ifset}} \def\ifsetfail{\nestedignore{ifset}} \defineunmatchedend{ifset} % @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been % defined with @set, or has been undefined with @clear. % \def\ifclear{\parsearg\ifclearxxx} \def\ifclearxxx #1{% \expandafter\ifx\csname SET#1\endcsname\relax \expandafter\ifclearsucceed \else \expandafter\ifclearfail \fi } \def\ifclearsucceed{\conditionalsucceed{ifclear}} \def\ifclearfail{\nestedignore{ifclear}} \defineunmatchedend{ifclear} % @iftex, @ifnothtml, @ifnotinfo, @ifnotplaintext always succeed; we % read the text following, through the first @end iftex (etc.). Make % `@end iftex' (etc.) valid only after an @iftex. % \def\iftex{\conditionalsucceed{iftex}} \def\ifnothtml{\conditionalsucceed{ifnothtml}} \def\ifnotinfo{\conditionalsucceed{ifnotinfo}} \def\ifnotplaintext{\conditionalsucceed{ifnotplaintext}} \defineunmatchedend{iftex} \defineunmatchedend{ifnothtml} \defineunmatchedend{ifnotinfo} \defineunmatchedend{ifnotplaintext} % We can't just want to start a group at @iftex (etc.) and end it at % @end iftex, since then @set commands inside the conditional have no % effect (they'd get reverted at the end of the group). So we must % define \Eiftex to redefine itself to be its previous value. (We can't % just define it to fail again with an ``unmatched end'' error, since % the @ifset might be nested.) % \def\conditionalsucceed#1{% \edef\temp{% % Remember the current value of \E#1. \let\nece{prevE#1} = \nece{E#1}% % % At the `@end #1', redefine \E#1 to be its previous value. \def\nece{E#1}{\let\nece{E#1} = \nece{prevE#1}}% }% \temp } % We need to expand lots of \csname's, but we don't want to expand the % control sequences after we've constructed them. % \def\nece#1{\expandafter\noexpand\csname#1\endcsname} % @defininfoenclose. \let\definfoenclose=\comment \message{indexing,} % Index generation facilities % Define \newwrite to be identical to plain tex's \newwrite % except not \outer, so it can be used within \newindex. {\catcode`\@=11 \gdef\newwrite{\alloc@7\write\chardef\sixt@@n}} % \newindex {foo} defines an index named foo. % It automatically defines \fooindex such that % \fooindex ...rest of line... puts an entry in the index foo. % It also defines \fooindfile to be the number of the output channel for % the file that accumulates this index. The file's extension is foo. % The name of an index should be no more than 2 characters long % for the sake of vms. % \def\newindex#1{% \iflinks \expandafter\newwrite \csname#1indfile\endcsname \openout \csname#1indfile\endcsname \jobname.#1 % Open the file \fi \expandafter\xdef\csname#1index\endcsname{% % Define @#1index \noexpand\doindex{#1}} } % @defindex foo == \newindex{foo} % \def\defindex{\parsearg\newindex} % Define @defcodeindex, like @defindex except put all entries in @code. % \def\defcodeindex{\parsearg\newcodeindex} % \def\newcodeindex#1{% \iflinks \expandafter\newwrite \csname#1indfile\endcsname \openout \csname#1indfile\endcsname \jobname.#1 \fi \expandafter\xdef\csname#1index\endcsname{% \noexpand\docodeindex{#1}}% } % @synindex foo bar makes index foo feed into index bar. % Do this instead of @defindex foo if you don't want it as a separate index. % % @syncodeindex foo bar similar, but put all entries made for index foo % inside @code. % \def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}} \def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}} % #1 is \doindex or \docodeindex, #2 the index getting redefined (foo), % #3 the target index (bar). \def\dosynindex#1#2#3{% % Only do \closeout if we haven't already done it, else we'll end up % closing the target index. \expandafter \ifx\csname donesynindex#2\endcsname \undefined % The \closeout helps reduce unnecessary open files; the limit on the % Acorn RISC OS is a mere 16 files. \expandafter\closeout\csname#2indfile\endcsname \expandafter\let\csname\donesynindex#2\endcsname = 1 \fi % redefine \fooindfile: \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname \expandafter\let\csname#2indfile\endcsname=\temp % redefine \fooindex: \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}% } % Define \doindex, the driver for all \fooindex macros. % Argument #1 is generated by the calling \fooindex macro, % and it is "foo", the name of the index. % \doindex just uses \parsearg; it calls \doind for the actual work. % This is because \doind is more useful to call from other macros. % There is also \dosubind {index}{topic}{subtopic} % which makes an entry in a two-level index such as the operation index. \def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer} \def\singleindexer #1{\doind{\indexname}{#1}} % like the previous two, but they put @code around the argument. \def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer} \def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}} % Take care of texinfo commands likely to appear in an index entry. % (Must be a way to avoid doing expansion at all, and thus not have to % laboriously list every single command here.) % \def\indexdummies{% \def\ { }% \def\@{@}% change to @@ when we switch to @ as escape char in aux files. % Need these in case \tex is in effect and \{ is a \delimiter again. % But can't use \lbracecmd and \rbracecmd because texindex assumes % braces and backslashes are used only as delimiters. \let\{ = \mylbrace \let\} = \myrbrace \def\_{{\realbackslash _}}% \normalturnoffactive % % Take care of the plain tex accent commands. \def\,##1{\realbackslash ,{##1}}% \def\"{\realbackslash "}% \def\`{\realbackslash `}% \def\'{\realbackslash '}% \def\^{\realbackslash ^}% \def\~{\realbackslash ~}% \def\={\realbackslash =}% \def\b{\realbackslash b}% \def\c{\realbackslash c}% \def\d{\realbackslash d}% \def\u{\realbackslash u}% \def\v{\realbackslash v}% \def\H{\realbackslash H}% \def\dotless##1{\realbackslash dotless {##1}}% % Take care of the plain tex special European modified letters. \def\AA{\realbackslash AA}% \def\AE{\realbackslash AE}% \def\L{\realbackslash L}% \def\OE{\realbackslash OE}% \def\O{\realbackslash O}% \def\aa{\realbackslash aa}% \def\ae{\realbackslash ae}% \def\l{\realbackslash l}% \def\oe{\realbackslash oe}% \def\o{\realbackslash o}% \def\ss{\realbackslash ss}% % % Although these internals commands shouldn't show up, sometimes they do. \def\bf{\realbackslash bf }% \def\gtr{\realbackslash gtr}% \def\hat{\realbackslash hat}% \def\less{\realbackslash less}% %\def\rm{\realbackslash rm }% \def\sf{\realbackslash sf}% \def\sl{\realbackslash sl }% \def\tclose##1{\realbackslash tclose {##1}}% \def\tt{\realbackslash tt}% % \def\b##1{\realbackslash b {##1}}% \def\i##1{\realbackslash i {##1}}% \def\sc##1{\realbackslash sc {##1}}% \def\t##1{\realbackslash t {##1}}% \def\r##1{\realbackslash r {##1}}% % \def\TeX{\realbackslash TeX}% \def\acronym##1{\realbackslash acronym {##1}}% \def\cite##1{\realbackslash cite {##1}}% \def\code##1{\realbackslash code {##1}}% \def\command##1{\realbackslash command {##1}}% \def\dfn##1{\realbackslash dfn {##1}}% \def\dots{\realbackslash dots }% \def\emph##1{\realbackslash emph {##1}}% \def\env##1{\realbackslash env {##1}}% \def\file##1{\realbackslash file {##1}}% \def\kbd##1{\realbackslash kbd {##1}}% \def\key##1{\realbackslash key {##1}}% \def\math##1{\realbackslash math {##1}}% \def\option##1{\realbackslash option {##1}}% \def\samp##1{\realbackslash samp {##1}}% \def\strong##1{\realbackslash strong {##1}}% \def\uref##1{\realbackslash uref {##1}}% \def\url##1{\realbackslash url {##1}}% \def\var##1{\realbackslash var {##1}}% \def\w{\realbackslash w }% % % These math commands don't seem likely to be used in index entries. \def\copyright{\realbackslash copyright}% \def\equiv{\realbackslash equiv}% \def\error{\realbackslash error}% \def\expansion{\realbackslash expansion}% \def\point{\realbackslash point}% \def\print{\realbackslash print}% \def\result{\realbackslash result}% % % Handle some cases of @value -- where the variable name does not % contain - or _, and the value does not contain any % (non-fully-expandable) commands. \let\value = \expandablevalue % \unsepspaces % Turn off macro expansion \turnoffmacros } % If an index command is used in an @example environment, any spaces % therein should become regular spaces in the raw index file, not the % expansion of \tie (\leavevmode \penalty \@M \ ). {\obeyspaces \gdef\unsepspaces{\obeyspaces\let =\space}} % \indexnofonts no-ops all font-change commands. % This is used when outputting the strings to sort the index by. \def\indexdummyfont#1{#1} \def\indexdummytex{TeX} \def\indexdummydots{...} \def\indexnofonts{% \def\@{@}% % how to handle braces? \def\_{\normalunderscore}% % \let\,=\indexdummyfont \let\"=\indexdummyfont \let\`=\indexdummyfont \let\'=\indexdummyfont \let\^=\indexdummyfont \let\~=\indexdummyfont \let\==\indexdummyfont \let\b=\indexdummyfont \let\c=\indexdummyfont \let\d=\indexdummyfont \let\u=\indexdummyfont \let\v=\indexdummyfont \let\H=\indexdummyfont \let\dotless=\indexdummyfont % Take care of the plain tex special European modified letters. \def\AA{AA}% \def\AE{AE}% \def\L{L}% \def\OE{OE}% \def\O{O}% \def\aa{aa}% \def\ae{ae}% \def\l{l}% \def\oe{oe}% \def\o{o}% \def\ss{ss}% % % Don't no-op \tt, since it isn't a user-level command % and is used in the definitions of the active chars like <, >, |, etc. % Likewise with the other plain tex font commands. %\let\tt=\indexdummyfont % \let\b=\indexdummyfont \let\i=\indexdummyfont \let\r=\indexdummyfont \let\sc=\indexdummyfont \let\t=\indexdummyfont % \let\TeX=\indexdummytex \let\acronym=\indexdummyfont \let\cite=\indexdummyfont \let\code=\indexdummyfont \let\command=\indexdummyfont \let\dfn=\indexdummyfont \let\dots=\indexdummydots \let\emph=\indexdummyfont \let\env=\indexdummyfont \let\file=\indexdummyfont \let\kbd=\indexdummyfont \let\key=\indexdummyfont \let\math=\indexdummyfont \let\option=\indexdummyfont \let\samp=\indexdummyfont \let\strong=\indexdummyfont \let\uref=\indexdummyfont \let\url=\indexdummyfont \let\var=\indexdummyfont \let\w=\indexdummyfont } % To define \realbackslash, we must make \ not be an escape. % We must first make another character (@) an escape % so we do not become unable to do a definition. {\catcode`\@=0 \catcode`\\=\other @gdef@realbackslash{\}} \let\indexbackslash=0 %overridden during \printindex. \let\SETmarginindex=\relax % put index entries in margin (undocumented)? % For \ifx comparisons. \def\emptymacro{\empty} % Most index entries go through here, but \dosubind is the general case. % \def\doind#1#2{\dosubind{#1}{#2}\empty} % Workhorse for all \fooindexes. % #1 is name of index, #2 is stuff to put there, #3 is subentry -- % \empty if called from \doind, as we usually are. The main exception % is with defuns, which call us directly. % \def\dosubind#1#2#3{% % Put the index entry in the margin if desired. \ifx\SETmarginindex\relax\else \insert\margin{\hbox{\vrule height8pt depth3pt width0pt #2}}% \fi {% \count255=\lastpenalty {% \indexdummies % Must do this here, since \bf, etc expand at this stage \escapechar=`\\ {% \let\folio = 0% We will expand all macros now EXCEPT \folio. \def\rawbackslashxx{\indexbackslash}% \indexbackslash isn't defined now % so it will be output as is; and it will print as backslash. % \def\thirdarg{#3}% % % If third arg is present, precede it with space in sort key. \ifx\thirdarg\emptymacro \let\subentry = \empty \else \def\subentry{ #3}% \fi % % First process the index entry with all font commands turned % off to get the string to sort by. {\indexnofonts \xdef\indexsorttmp{#2\subentry}}% % % Now the real index entry with the fonts. \toks0 = {#2}% % % If the third (subentry) arg is present, add it to the index % line to write. \ifx\thirdarg\emptymacro \else \toks0 = \expandafter{\the\toks0{#3}}% \fi % % Set up the complete index entry, with both the sort key and % the original text, including any font commands. We write % three arguments to \entry to the .?? file (four in the % subentry case), texindex reduces to two when writing the .??s % sorted result. \edef\temp{% \write\csname#1indfile\endcsname{% \realbackslash entry{\indexsorttmp}{\folio}{\the\toks0}}% }% % % If a skip is the last thing on the list now, preserve it % by backing up by \lastskip, doing the \write, then inserting % the skip again. Otherwise, the whatsit generated by the % \write will make \lastskip zero. The result is that sequences % like this: % @end defun % @tindex whatever % @defun ... % will have extra space inserted, because the \medbreak in the % start of the @defun won't see the skip inserted by the @end of % the previous defun. % % But don't do any of this if we're not in vertical mode. We % don't want to do a \vskip and prematurely end a paragraph. % % Avoid page breaks due to these extra skips, too. % \iflinks \ifvmode \skip0 = \lastskip \ifdim\lastskip = 0pt \else \nobreak\vskip-\lastskip \fi \fi % \temp % do the write % % \ifvmode \ifdim\skip0 = 0pt \else \nobreak\vskip\skip0 \fi \fi \fi }% }% \penalty\count255 }% } % The index entry written in the file actually looks like % \entry {sortstring}{page}{topic} % or % \entry {sortstring}{page}{topic}{subtopic} % The texindex program reads in these files and writes files % containing these kinds of lines: % \initial {c} % before the first topic whose initial is c % \entry {topic}{pagelist} % for a topic that is used without subtopics % \primary {topic} % for the beginning of a topic that is used with subtopics % \secondary {subtopic}{pagelist} % for each subtopic. % Define the user-accessible indexing commands % @findex, @vindex, @kindex, @cindex. \def\findex {\fnindex} \def\kindex {\kyindex} \def\cindex {\cpindex} \def\vindex {\vrindex} \def\tindex {\tpindex} \def\pindex {\pgindex} \def\cindexsub {\begingroup\obeylines\cindexsub} {\obeylines % \gdef\cindexsub "#1" #2^^M{\endgroup % \dosubind{cp}{#2}{#1}}} % Define the macros used in formatting output of the sorted index material. % @printindex causes a particular index (the ??s file) to get printed. % It does not print any chapter heading (usually an @unnumbered). % \def\printindex{\parsearg\doprintindex} \def\doprintindex#1{\begingroup \dobreak \chapheadingskip{10000}% % \smallfonts \rm \tolerance = 9500 \indexbreaks % % See if the index file exists and is nonempty. % Change catcode of @ here so that if the index file contains % \initial {@} % as its first line, TeX doesn't complain about mismatched braces % (because it thinks @} is a control sequence). \catcode`\@ = 11 \openin 1 \jobname.#1s \ifeof 1 % \enddoublecolumns gets confused if there is no text in the index, % and it loses the chapter title and the aux file entries for the % index. The easiest way to prevent this problem is to make sure % there is some text. \putwordIndexNonexistent \else % % If the index file exists but is empty, then \openin leaves \ifeof % false. We have to make TeX try to read something from the file, so % it can discover if there is anything in it. \read 1 to \temp \ifeof 1 \putwordIndexIsEmpty \else % Index files are almost Texinfo source, but we use \ as the escape % character. It would be better to use @, but that's too big a change % to make right now. \def\indexbackslash{\rawbackslashxx}% \catcode`\\ = 0 \escapechar = `\\ \begindoublecolumns \input \jobname.#1s \enddoublecolumns \fi \fi \closein 1 \endgroup} % These macros are used by the sorted index file itself. % Change them to control the appearance of the index. \def\initial#1{{% % Some minor font changes for the special characters. \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt % % Remove any glue we may have, we'll be inserting our own. \removelastskip % % We like breaks before the index initials, so insert a bonus. \penalty -300 % % Typeset the initial. Making this add up to a whole number of % baselineskips increases the chance of the dots lining up from column % to column. It still won't often be perfect, because of the stretch % we need before each entry, but it's better. % % No shrink because it confuses \balancecolumns. \vskip 1.67\baselineskip plus .5\baselineskip \leftline{\secbf #1}% \vskip .33\baselineskip plus .1\baselineskip % % Do our best not to break after the initial. \nobreak }} % This typesets a paragraph consisting of #1, dot leaders, and then #2 % flush to the right margin. It is used for index and table of contents % entries. The paragraph is indented by \leftskip. % \def\entry#1#2{\begingroup % % Start a new paragraph if necessary, so our assignments below can't % affect previous text. \par % % Do not fill out the last line with white space. \parfillskip = 0in % % No extra space above this paragraph. \parskip = 0in % % Do not prefer a separate line ending with a hyphen to fewer lines. \finalhyphendemerits = 0 % % \hangindent is only relevant when the entry text and page number % don't both fit on one line. In that case, bob suggests starting the % dots pretty far over on the line. Unfortunately, a large % indentation looks wrong when the entry text itself is broken across % lines. So we use a small indentation and put up with long leaders. % % \hangafter is reset to 1 (which is the value we want) at the start % of each paragraph, so we need not do anything with that. \hangindent = 2em % % When the entry text needs to be broken, just fill out the first line % with blank space. \rightskip = 0pt plus1fil % % A bit of stretch before each entry for the benefit of balancing columns. \vskip 0pt plus1pt % % Start a ``paragraph'' for the index entry so the line breaking % parameters we've set above will have an effect. \noindent % % Insert the text of the index entry. TeX will do line-breaking on it. #1% % The following is kludged to not output a line of dots in the index if % there are no page numbers. The next person who breaks this will be % cursed by a Unix daemon. \def\tempa{{\rm }}% \def\tempb{#2}% \edef\tempc{\tempa}% \edef\tempd{\tempb}% \ifx\tempc\tempd\ \else% % % If we must, put the page number on a line of its own, and fill out % this line with blank space. (The \hfil is overwhelmed with the % fill leaders glue in \indexdotfill if the page number does fit.) \hfil\penalty50 \null\nobreak\indexdotfill % Have leaders before the page number. % % The `\ ' here is removed by the implicit \unskip that TeX does as % part of (the primitive) \par. Without it, a spurious underfull % \hbox ensues. \ifpdf \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. \else \ #2% The page number ends the paragraph. \fi \fi% \par \endgroup} % Like \dotfill except takes at least 1 em. \def\indexdotfill{\cleaders \hbox{$\mathsurround=0pt \mkern1.5mu ${\it .}$ \mkern1.5mu$}\hskip 1em plus 1fill} \def\primary #1{\line{#1\hfil}} \newskip\secondaryindent \secondaryindent=0.5cm \def\secondary#1#2{{% \parfillskip=0in \parskip=0in \hangindent=1in \hangafter=1 \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill \ifpdf \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. \else #2 \fi \par }} % Define two-column mode, which we use to typeset indexes. % Adapted from the TeXbook, page 416, which is to say, % the manmac.tex format used to print the TeXbook itself. \catcode`\@=11 \newbox\partialpage \newdimen\doublecolumnhsize \def\begindoublecolumns{\begingroup % ended by \enddoublecolumns % Grab any single-column material above us. \output = {% % % Here is a possibility not foreseen in manmac: if we accumulate a % whole lot of material, we might end up calling this \output % routine twice in a row (see the doublecol-lose test, which is % essentially a couple of indexes with @setchapternewpage off). In % that case we just ship out what is in \partialpage with the normal % output routine. Generally, \partialpage will be empty when this % runs and this will be a no-op. See the indexspread.tex test case. \ifvoid\partialpage \else \onepageout{\pagecontents\partialpage}% \fi % \global\setbox\partialpage = \vbox{% % Unvbox the main output page. \unvbox\PAGE \kern-\topskip \kern\baselineskip }% }% \eject % run that output routine to set \partialpage % % Use the double-column output routine for subsequent pages. \output = {\doublecolumnout}% % % Change the page size parameters. We could do this once outside this % routine, in each of @smallbook, @afourpaper, and the default 8.5x11 % format, but then we repeat the same computation. Repeating a couple % of assignments once per index is clearly meaningless for the % execution time, so we may as well do it in one place. % % First we halve the line length, less a little for the gutter between % the columns. We compute the gutter based on the line length, so it % changes automatically with the paper format. The magic constant % below is chosen so that the gutter has the same value (well, +-<1pt) % as it did when we hard-coded it. % % We put the result in a separate register, \doublecolumhsize, so we % can restore it in \pagesofar, after \hsize itself has (potentially) % been clobbered. % \doublecolumnhsize = \hsize \advance\doublecolumnhsize by -.04154\hsize \divide\doublecolumnhsize by 2 \hsize = \doublecolumnhsize % % Double the \vsize as well. (We don't need a separate register here, % since nobody clobbers \vsize.) \vsize = 2\vsize } % The double-column output routine for all double-column pages except % the last. % \def\doublecolumnout{% \splittopskip=\topskip \splitmaxdepth=\maxdepth % Get the available space for the double columns -- the normal % (undoubled) page height minus any material left over from the % previous page. \dimen@ = \vsize \divide\dimen@ by 2 \advance\dimen@ by -\ht\partialpage % % box0 will be the left-hand column, box2 the right. \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@ \onepageout\pagesofar \unvbox255 \penalty\outputpenalty } % % Re-output the contents of the output page -- any previous material, % followed by the two boxes we just split, in box0 and box2. \def\pagesofar{% \unvbox\partialpage % \hsize = \doublecolumnhsize \wd0=\hsize \wd2=\hsize \hbox to\pagewidth{\box0\hfil\box2}% } % % All done with double columns. \def\enddoublecolumns{% \output = {% % Split the last of the double-column material. Leave it on the % current page, no automatic page break. \balancecolumns % % If we end up splitting too much material for the current page, % though, there will be another page break right after this \output % invocation ends. Having called \balancecolumns once, we do not % want to call it again. Therefore, reset \output to its normal % definition right away. (We hope \balancecolumns will never be % called on to balance too much material, but if it is, this makes % the output somewhat more palatable.) \global\output = {\onepageout{\pagecontents\PAGE}}% }% \eject \endgroup % started in \begindoublecolumns % % \pagegoal was set to the doubled \vsize above, since we restarted % the current page. We're now back to normal single-column % typesetting, so reset \pagegoal to the normal \vsize (after the % \endgroup where \vsize got restored). \pagegoal = \vsize } % % Called at the end of the double column material. \def\balancecolumns{% \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120. \dimen@ = \ht0 \advance\dimen@ by \topskip \advance\dimen@ by-\baselineskip \divide\dimen@ by 2 % target to split to %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}% \splittopskip = \topskip % Loop until we get a decent breakpoint. {% \vbadness = 10000 \loop \global\setbox3 = \copy0 \global\setbox1 = \vsplit3 to \dimen@ \ifdim\ht3>\dimen@ \global\advance\dimen@ by 1pt \repeat }% %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}% \setbox0=\vbox to\dimen@{\unvbox1}% \setbox2=\vbox to\dimen@{\unvbox3}% % \pagesofar } \catcode`\@ = \other \message{sectioning,} % Chapters, sections, etc. \newcount\chapno \newcount\secno \secno=0 \newcount\subsecno \subsecno=0 \newcount\subsubsecno \subsubsecno=0 % This counter is funny since it counts through charcodes of letters A, B, ... \newcount\appendixno \appendixno = `\@ % \def\appendixletter{\char\the\appendixno} % We do the following for the sake of pdftex, which needs the actual % letter in the expansion, not just typeset. \def\appendixletter{% \ifnum\appendixno=`A A% \else\ifnum\appendixno=`B B% \else\ifnum\appendixno=`C C% \else\ifnum\appendixno=`D D% \else\ifnum\appendixno=`E E% \else\ifnum\appendixno=`F F% \else\ifnum\appendixno=`G G% \else\ifnum\appendixno=`H H% \else\ifnum\appendixno=`I I% \else\ifnum\appendixno=`J J% \else\ifnum\appendixno=`K K% \else\ifnum\appendixno=`L L% \else\ifnum\appendixno=`M M% \else\ifnum\appendixno=`N N% \else\ifnum\appendixno=`O O% \else\ifnum\appendixno=`P P% \else\ifnum\appendixno=`Q Q% \else\ifnum\appendixno=`R R% \else\ifnum\appendixno=`S S% \else\ifnum\appendixno=`T T% \else\ifnum\appendixno=`U U% \else\ifnum\appendixno=`V V% \else\ifnum\appendixno=`W W% \else\ifnum\appendixno=`X X% \else\ifnum\appendixno=`Y Y% \else\ifnum\appendixno=`Z Z% % The \the is necessary, despite appearances, because \appendixletter is % expanded while writing the .toc file. \char\appendixno is not % expandable, thus it is written literally, thus all appendixes come out % with the same letter (or @) in the toc without it. \else\char\the\appendixno \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} % Each @chapter defines this as the name of the chapter. % page headings and footings can use it. @section does likewise. \def\thischapter{} \def\thissection{} \newcount\absseclevel % used to calculate proper heading level \newcount\secbase\secbase=0 % @raise/lowersections modify this count % @raisesections: treat @section as chapter, @subsection as section, etc. \def\raisesections{\global\advance\secbase by -1} \let\up=\raisesections % original BFox name % @lowersections: treat @chapter as section, @section as subsection, etc. \def\lowersections{\global\advance\secbase by 1} \let\down=\lowersections % original BFox name % Choose a numbered-heading macro % #1 is heading level if unmodified by @raisesections or @lowersections % #2 is text for heading \def\numhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1 \ifcase\absseclevel \chapterzzz{#2} \or \seczzz{#2} \or \numberedsubseczzz{#2} \or \numberedsubsubseczzz{#2} \else \ifnum \absseclevel<0 \chapterzzz{#2} \else \numberedsubsubseczzz{#2} \fi \fi } % like \numhead, but chooses appendix heading levels \def\apphead#1#2{\absseclevel=\secbase\advance\absseclevel by #1 \ifcase\absseclevel \appendixzzz{#2} \or \appendixsectionzzz{#2} \or \appendixsubseczzz{#2} \or \appendixsubsubseczzz{#2} \else \ifnum \absseclevel<0 \appendixzzz{#2} \else \appendixsubsubseczzz{#2} \fi \fi } % like \numhead, but chooses numberless heading levels \def\unnmhead#1#2{\absseclevel=\secbase\advance\absseclevel by #1 \ifcase\absseclevel \unnumberedzzz{#2} \or \unnumberedseczzz{#2} \or \unnumberedsubseczzz{#2} \or \unnumberedsubsubseczzz{#2} \else \ifnum \absseclevel<0 \unnumberedzzz{#2} \else \unnumberedsubsubseczzz{#2} \fi \fi } % @chapter, @appendix, @unnumbered. \def\thischaptername{No Chapter Title} \outer\def\chapter{\parsearg\chapteryyy} \def\chapteryyy #1{\numhead0{#1}} % normally numhead0 calls chapterzzz \def\chapterzzz #1{% \secno=0 \subsecno=0 \subsubsecno=0 \global\advance \chapno by 1 \message{\putwordChapter\space \the\chapno}% \chapmacro {#1}{\the\chapno}% \gdef\thissection{#1}% \gdef\thischaptername{#1}% % We don't substitute the actual chapter name into \thischapter % because we don't want its macros evaluated now. \xdef\thischapter{\putwordChapter{} \the\chapno: \noexpand\thischaptername}% \toks0 = {#1}% \edef\temp{\noexpand\writetocentry{\realbackslash chapentry{\the\toks0}% {\the\chapno}}}% \temp \donoderef \global\let\section = \numberedsec \global\let\subsection = \numberedsubsec \global\let\subsubsection = \numberedsubsubsec } \outer\def\appendix{\parsearg\appendixyyy} \def\appendixyyy #1{\apphead0{#1}} % normally apphead0 calls appendixzzz \def\appendixzzz #1{% \secno=0 \subsecno=0 \subsubsecno=0 \global\advance \appendixno by 1 \message{\putwordAppendix\space \appendixletter}% \chapmacro {#1}{\putwordAppendix{} \appendixletter}% \gdef\thissection{#1}% \gdef\thischaptername{#1}% \xdef\thischapter{\putwordAppendix{} \appendixletter: \noexpand\thischaptername}% \toks0 = {#1}% \edef\temp{\noexpand\writetocentry{\realbackslash appendixentry{\the\toks0}% {\appendixletter}}}% \temp \appendixnoderef \global\let\section = \appendixsec \global\let\subsection = \appendixsubsec \global\let\subsubsection = \appendixsubsubsec } % @centerchap is like @unnumbered, but the heading is centered. \outer\def\centerchap{\parsearg\centerchapyyy} \def\centerchapyyy #1{{\let\unnumbchapmacro=\centerchapmacro \unnumberedyyy{#1}}} % @top is like @unnumbered. \outer\def\top{\parsearg\unnumberedyyy} \outer\def\unnumbered{\parsearg\unnumberedyyy} \def\unnumberedyyy #1{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz \def\unnumberedzzz #1{% \secno=0 \subsecno=0 \subsubsecno=0 % % This used to be simply \message{#1}, but TeX fully expands the % argument to \message. Therefore, if #1 contained @-commands, TeX % expanded them. For example, in `@unnumbered The @cite{Book}', TeX % expanded @cite (which turns out to cause errors because \cite is meant % to be executed, not expanded). % % Anyway, we don't want the fully-expanded definition of @cite to appear % as a result of the \message, we just want `@cite' itself. We use % \the to achieve this: TeX expands \the only once, % simply yielding the contents of . (We also do this for % the toc entries.) \toks0 = {#1}\message{(\the\toks0)}% % \unnumbchapmacro {#1}% \gdef\thischapter{#1}\gdef\thissection{#1}% \toks0 = {#1}% \edef\temp{\noexpand\writetocentry{\realbackslash unnumbchapentry{\the\toks0}}}% \temp \unnumbnoderef \global\let\section = \unnumberedsec \global\let\subsection = \unnumberedsubsec \global\let\subsubsection = \unnumberedsubsubsec } % Sections. \outer\def\numberedsec{\parsearg\secyyy} \def\secyyy #1{\numhead1{#1}} % normally calls seczzz \def\seczzz #1{% \subsecno=0 \subsubsecno=0 \global\advance \secno by 1 % \gdef\thissection{#1}\secheading {#1}{\the\chapno}{\the\secno}% \toks0 = {#1}% \edef\temp{\noexpand\writetocentry{\realbackslash secentry{\the\toks0}% {\the\chapno}{\the\secno}}}% \temp \donoderef \nobreak } \outer\def\appendixsection{\parsearg\appendixsecyyy} \outer\def\appendixsec{\parsearg\appendixsecyyy} \def\appendixsecyyy #1{\apphead1{#1}} % normally calls appendixsectionzzz \def\appendixsectionzzz #1{% \subsecno=0 \subsubsecno=0 \global\advance \secno by 1 % \gdef\thissection{#1}\secheading {#1}{\appendixletter}{\the\secno}% \toks0 = {#1}% \edef\temp{\noexpand\writetocentry{\realbackslash secentry{\the\toks0}% {\appendixletter}{\the\secno}}}% \temp \appendixnoderef \nobreak } \outer\def\unnumberedsec{\parsearg\unnumberedsecyyy} \def\unnumberedsecyyy #1{\unnmhead1{#1}} % normally calls unnumberedseczzz \def\unnumberedseczzz #1{% \plainsecheading {#1}\gdef\thissection{#1}% \toks0 = {#1}% \edef\temp{\noexpand\writetocentry{\realbackslash unnumbsecentry% {\the\toks0}{\the\chapno}}}% \temp \unnumbnoderef \nobreak } % Subsections. \outer\def\numberedsubsec{\parsearg\numberedsubsecyyy} \def\numberedsubsecyyy #1{\numhead2{#1}} % normally calls numberedsubseczzz \def\numberedsubseczzz #1{% \gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 % \subsecheading {#1}{\the\chapno}{\the\secno}{\the\subsecno}% \toks0 = {#1}% \edef\temp{\noexpand\writetocentry{\realbackslash subsecentry{\the\toks0}% {\the\chapno}{\the\secno}{\the\subsecno}}}% \temp \donoderef \nobreak } \outer\def\appendixsubsec{\parsearg\appendixsubsecyyy} \def\appendixsubsecyyy #1{\apphead2{#1}} % normally calls appendixsubseczzz \def\appendixsubseczzz #1{% \gdef\thissection{#1}\subsubsecno=0 \global\advance \subsecno by 1 % \subsecheading {#1}{\appendixletter}{\the\secno}{\the\subsecno}% \toks0 = {#1}% \edef\temp{\noexpand\writetocentry{\realbackslash subsecentry{\the\toks0}% {\appendixletter}{\the\secno}{\the\subsecno}}}% \temp \appendixnoderef \nobreak } \outer\def\unnumberedsubsec{\parsearg\unnumberedsubsecyyy} \def\unnumberedsubsecyyy #1{\unnmhead2{#1}} %normally calls unnumberedsubseczzz \def\unnumberedsubseczzz #1{% \plainsubsecheading {#1}\gdef\thissection{#1}% \toks0 = {#1}% \edef\temp{\noexpand\writetocentry{\realbackslash unnumbsubsecentry% {\the\toks0}{\the\chapno}{\the\secno}}}% \temp \unnumbnoderef \nobreak } % Subsubsections. \outer\def\numberedsubsubsec{\parsearg\numberedsubsubsecyyy} \def\numberedsubsubsecyyy #1{\numhead3{#1}} % normally numberedsubsubseczzz \def\numberedsubsubseczzz #1{% \gdef\thissection{#1}\global\advance \subsubsecno by 1 % \subsubsecheading {#1} {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}% \toks0 = {#1}% \edef\temp{\noexpand\writetocentry{\realbackslash subsubsecentry{\the\toks0}% {\the\chapno}{\the\secno}{\the\subsecno}{\the\subsubsecno}}}% \temp \donoderef \nobreak } \outer\def\appendixsubsubsec{\parsearg\appendixsubsubsecyyy} \def\appendixsubsubsecyyy #1{\apphead3{#1}} % normally appendixsubsubseczzz \def\appendixsubsubseczzz #1{% \gdef\thissection{#1}\global\advance \subsubsecno by 1 % \subsubsecheading {#1} {\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}% \toks0 = {#1}% \edef\temp{\noexpand\writetocentry{\realbackslash subsubsecentry{\the\toks0}% {\appendixletter}{\the\secno}{\the\subsecno}{\the\subsubsecno}}}% \temp \appendixnoderef \nobreak } \outer\def\unnumberedsubsubsec{\parsearg\unnumberedsubsubsecyyy} \def\unnumberedsubsubsecyyy #1{\unnmhead3{#1}} %normally unnumberedsubsubseczzz \def\unnumberedsubsubseczzz #1{% \plainsubsubsecheading {#1}\gdef\thissection{#1}% \toks0 = {#1}% \edef\temp{\noexpand\writetocentry{\realbackslash unnumbsubsubsecentry% {\the\toks0}{\the\chapno}{\the\secno}{\the\subsecno}}}% \temp \unnumbnoderef \nobreak } % These are variants which are not "outer", so they can appear in @ifinfo. % Actually, they should now be obsolete; ordinary section commands should work. \def\infotop{\parsearg\unnumberedzzz} \def\infounnumbered{\parsearg\unnumberedzzz} \def\infounnumberedsec{\parsearg\unnumberedseczzz} \def\infounnumberedsubsec{\parsearg\unnumberedsubseczzz} \def\infounnumberedsubsubsec{\parsearg\unnumberedsubsubseczzz} \def\infoappendix{\parsearg\appendixzzz} \def\infoappendixsec{\parsearg\appendixseczzz} \def\infoappendixsubsec{\parsearg\appendixsubseczzz} \def\infoappendixsubsubsec{\parsearg\appendixsubsubseczzz} \def\infochapter{\parsearg\chapterzzz} \def\infosection{\parsearg\sectionzzz} \def\infosubsection{\parsearg\subsectionzzz} \def\infosubsubsection{\parsearg\subsubsectionzzz} % These macros control what the section commands do, according % to what kind of chapter we are in (ordinary, appendix, or unnumbered). % Define them by default for a numbered chapter. \global\let\section = \numberedsec \global\let\subsection = \numberedsubsec \global\let\subsubsection = \numberedsubsubsec % Define @majorheading, @heading and @subheading % NOTE on use of \vbox for chapter headings, section headings, and such: % 1) We use \vbox rather than the earlier \line to permit % overlong headings to fold. % 2) \hyphenpenalty is set to 10000 because hyphenation in a % heading is obnoxious; this forbids it. % 3) Likewise, headings look best if no \parindent is used, and % if justification is not attempted. Hence \raggedright. \def\majorheading{\parsearg\majorheadingzzz} \def\majorheadingzzz #1{% {\advance\chapheadingskip by 10pt \chapbreak }% {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt\raggedright \rm #1\hfill}}\bigskip \par\penalty 200} \def\chapheading{\parsearg\chapheadingzzz} \def\chapheadingzzz #1{\chapbreak % {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt\raggedright \rm #1\hfill}}\bigskip \par\penalty 200} % @heading, @subheading, @subsubheading. \def\heading{\parsearg\plainsecheading} \def\subheading{\parsearg\plainsubsecheading} \def\subsubheading{\parsearg\plainsubsubsecheading} % These macros generate a chapter, section, etc. heading only % (including whitespace, linebreaking, etc. around it), % given all the information in convenient, parsed form. %%% Args are the skip and penalty (usually negative) \def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} \def\setchapterstyle #1 {\csname CHAPF#1\endcsname} %%% Define plain chapter starts, and page on/off switching for it % Parameter controlling skip before chapter headings (if needed) \newskip\chapheadingskip \def\chapbreak{\dobreak \chapheadingskip {-4000}} \def\chappager{\par\vfill\supereject} \def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi} \def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname} \def\CHAPPAGoff{% \global\let\contentsalignmacro = \chappager \global\let\pchapsepmacro=\chapbreak \global\let\pagealignmacro=\chappager} \def\CHAPPAGon{% \global\let\contentsalignmacro = \chappager \global\let\pchapsepmacro=\chappager \global\let\pagealignmacro=\chappager \global\def\HEADINGSon{\HEADINGSsingle}} \def\CHAPPAGodd{ \global\let\contentsalignmacro = \chapoddpage \global\let\pchapsepmacro=\chapoddpage \global\let\pagealignmacro=\chapoddpage \global\def\HEADINGSon{\HEADINGSdouble}} \CHAPPAGon \def\CHAPFplain{ \global\let\chapmacro=\chfplain \global\let\unnumbchapmacro=\unnchfplain \global\let\centerchapmacro=\centerchfplain} % Plain chapter opening. % #1 is the text, #2 the chapter number or empty if unnumbered. \def\chfplain#1#2{% \pchapsepmacro {% \chapfonts \rm \def\chapnum{#2}% \setbox0 = \hbox{#2\ifx\chapnum\empty\else\enspace\fi}% \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright \hangindent = \wd0 \centerparametersmaybe \unhbox0 #1\par}% }% \nobreak\bigskip % no page break after a chapter title \nobreak } % Plain opening for unnumbered. \def\unnchfplain#1{\chfplain{#1}{}} % @centerchap -- centered and unnumbered. \let\centerparametersmaybe = \relax \def\centerchfplain#1{{% \def\centerparametersmaybe{% \advance\rightskip by 3\rightskip \leftskip = \rightskip \parfillskip = 0pt }% \chfplain{#1}{}% }} \CHAPFplain % The default \def\unnchfopen #1{% \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt\raggedright \rm #1\hfill}}\bigskip \par\nobreak } \def\chfopen #1#2{\chapoddpage {\chapfonts \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% \par\penalty 5000 % } \def\centerchfopen #1{% \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 \parindent=0pt \hfill {\rm #1}\hfill}}\bigskip \par\nobreak } \def\CHAPFopen{ \global\let\chapmacro=\chfopen \global\let\unnumbchapmacro=\unnchfopen \global\let\centerchapmacro=\centerchfopen} % Section titles. \newskip\secheadingskip \def\secheadingbreak{\dobreak \secheadingskip {-1000}} \def\secheading#1#2#3{\sectionheading{sec}{#2.#3}{#1}} \def\plainsecheading#1{\sectionheading{sec}{}{#1}} % Subsection titles. \newskip \subsecheadingskip \def\subsecheadingbreak{\dobreak \subsecheadingskip {-500}} \def\subsecheading#1#2#3#4{\sectionheading{subsec}{#2.#3.#4}{#1}} \def\plainsubsecheading#1{\sectionheading{subsec}{}{#1}} % Subsubsection titles. \let\subsubsecheadingskip = \subsecheadingskip \let\subsubsecheadingbreak = \subsecheadingbreak \def\subsubsecheading#1#2#3#4#5{\sectionheading{subsubsec}{#2.#3.#4.#5}{#1}} \def\plainsubsubsecheading#1{\sectionheading{subsubsec}{}{#1}} % Print any size section title. % % #1 is the section type (sec/subsec/subsubsec), #2 is the section % number (maybe empty), #3 the text. \def\sectionheading#1#2#3{% {% \expandafter\advance\csname #1headingskip\endcsname by \parskip \csname #1headingbreak\endcsname }% {% % Switch to the right set of fonts. \csname #1fonts\endcsname \rm % % Only insert the separating space if we have a section number. \def\secnum{#2}% \setbox0 = \hbox{#2\ifx\secnum\empty\else\enspace\fi}% % \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright \hangindent = \wd0 % zero if no section number \unhbox0 #3}% }% \ifdim\parskip<10pt \nobreak\kern10pt\nobreak\kern-\parskip\fi \nobreak } \message{toc,} % Table of contents. \newwrite\tocfile % Write an entry to the toc file, opening it if necessary. % Called from @chapter, etc. We supply {\folio} at the end of the % argument, which will end up as the last argument to the \...entry macro. % % We open the .toc file here instead of at @setfilename or any other % fixed time so that @contents can be put in the document anywhere. % \newif\iftocfileopened \def\writetocentry#1{% \iftocfileopened\else \immediate\openout\tocfile = \jobname.toc \global\tocfileopenedtrue \fi \iflinks \write\tocfile{#1{\folio}}\fi % % Tell \shipout to create a page destination if we're doing pdf, which % will be the target of the links in the table of contents. We can't % just do it on every page because the title pages are numbered 1 and % 2 (the page numbers aren't printed), and so are the first two pages % of the document. Thus, we'd have two destinations named `1', and % two named `2'. \ifpdf \pdfmakepagedesttrue \fi } \newskip\contentsrightmargin \contentsrightmargin=1in \newcount\savepageno \newcount\lastnegativepageno \lastnegativepageno = -1 % Finish up the main text and prepare to read what we've written % to \tocfile. % \def\startcontents#1{% % If @setchapternewpage on, and @headings double, the contents should % start on an odd page, unlike chapters. Thus, we maintain % \contentsalignmacro in parallel with \pagealignmacro. % From: Torbjorn Granlund \contentsalignmacro \immediate\closeout\tocfile % % Don't need to put `Contents' or `Short Contents' in the headline. % It is abundantly clear what they are. \unnumbchapmacro{#1}\def\thischapter{}% \savepageno = \pageno \begingroup % Set up to handle contents files properly. \catcode`\\=0 \catcode`\{=1 \catcode`\}=2 \catcode`\@=11 % We can't do this, because then an actual ^ in a section % title fails, e.g., @chapter ^ -- exponentiation. --karl, 9jul97. %\catcode`\^=7 % to see ^^e4 as \"a etc. juha@piuha.ydi.vtt.fi \raggedbottom % Worry more about breakpoints than the bottom. \advance\hsize by -\contentsrightmargin % Don't use the full line length. % % Roman numerals for page numbers. \ifnum \pageno>0 \pageno = \lastnegativepageno \fi } % Normal (long) toc. \def\contents{% \startcontents{\putwordTOC}% \openin 1 \jobname.toc \ifeof 1 \else \closein 1 \input \jobname.toc \fi \vfill \eject \contentsalignmacro % in case @setchapternewpage odd is in effect \pdfmakeoutlines \endgroup \lastnegativepageno = \pageno \pageno = \savepageno } % And just the chapters. \def\summarycontents{% \startcontents{\putwordShortTOC}% % \let\chapentry = \shortchapentry \let\appendixentry = \shortappendixentry \let\unnumbchapentry = \shortunnumberedentry % We want a true roman here for the page numbers. \secfonts \let\rm=\shortcontrm \let\bf=\shortcontbf \let\sl=\shortcontsl \rm \hyphenpenalty = 10000 \advance\baselineskip by 1pt % Open it up a little. \def\secentry ##1##2##3##4{} \def\unnumbsecentry ##1##2##3{} \def\subsecentry ##1##2##3##4##5{} \def\unnumbsubsecentry ##1##2##3##4{} \def\subsubsecentry ##1##2##3##4##5##6{} \def\unnumbsubsubsecentry ##1##2##3##4##5{} \openin 1 \jobname.toc \ifeof 1 \else \closein 1 \input \jobname.toc \fi \vfill \eject \contentsalignmacro % in case @setchapternewpage odd is in effect \endgroup \lastnegativepageno = \pageno \pageno = \savepageno } \let\shortcontents = \summarycontents \ifpdf \pdfcatalog{/PageMode /UseOutlines}% \fi % These macros generate individual entries in the table of contents. % The first argument is the chapter or section name. % The last argument is the page number. % The arguments in between are the chapter number, section number, ... % Chapters, in the main contents. \def\chapentry#1#2#3{\dochapentry{#2\labelspace#1}{#3}} % % Chapters, in the short toc. % See comments in \dochapentry re vbox and related settings. \def\shortchapentry#1#2#3{% \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#3\egroup}% } % Appendices, in the main contents. \def\appendixentry#1#2#3{\dochapentry{\putwordAppendix{} #2\labelspace#1}{#3}} % % Appendices, in the short toc. \let\shortappendixentry = \shortchapentry % Typeset the label for a chapter or appendix for the short contents. % The arg is, e.g., `Appendix A' for an appendix, or `3' for a chapter. % We could simplify the code here by writing out an \appendixentry % command in the toc file for appendices, instead of using \chapentry % for both, but it doesn't seem worth it. % \newdimen\shortappendixwidth % \def\shortchaplabel#1{% % This space should be enough, since a single number is .5em, and the % widest letter (M) is 1em, at least in the Computer Modern fonts. % But use \hss just in case. % (This space doesn't include the extra space that gets added after % the label; that gets put in by \shortchapentry above.) \dimen0 = 1em \hbox to \dimen0{#1\hss}% } % Unnumbered chapters. \def\unnumbchapentry#1#2{\dochapentry{#1}{#2}} \def\shortunnumberedentry#1#2{\tocentry{#1}{\doshortpageno\bgroup#2\egroup}} % Sections. \def\secentry#1#2#3#4{\dosecentry{#2.#3\labelspace#1}{#4}} \def\unnumbsecentry#1#2#3{\dosecentry{#1}{#3}} % Subsections. \def\subsecentry#1#2#3#4#5{\dosubsecentry{#2.#3.#4\labelspace#1}{#5}} \def\unnumbsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}} % And subsubsections. \def\subsubsecentry#1#2#3#4#5#6{% \dosubsubsecentry{#2.#3.#4.#5\labelspace#1}{#6}} \def\unnumbsubsubsecentry#1#2#3#4#5{\dosubsubsecentry{#1}{#5}} % This parameter controls the indentation of the various levels. \newdimen\tocindent \tocindent = 3pc % Now for the actual typesetting. In all these, #1 is the text and #2 is the % page number. % % If the toc has to be broken over pages, we want it to be at chapters % if at all possible; hence the \penalty. \def\dochapentry#1#2{% \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip \begingroup \chapentryfonts \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup \nobreak\vskip .25\baselineskip plus.1\baselineskip } \def\dosecentry#1#2{\begingroup \secentryfonts \leftskip=\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} \def\dosubsecentry#1#2{\begingroup \subsecentryfonts \leftskip=2\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} \def\dosubsubsecentry#1#2{\begingroup \subsubsecentryfonts \leftskip=3\tocindent \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} % Final typesetting of a toc entry; we use the same \entry macro as for % the index entries, but we want to suppress hyphenation here. (We % can't do that in the \entry macro, since index entries might consist % of hyphenated-identifiers-that-do-not-fit-on-a-line-and-nothing-else.) \def\tocentry#1#2{\begingroup \vskip 0pt plus1pt % allow a little stretch for the sake of nice page breaks % Do not use \turnoffactive in these arguments. Since the toc is % typeset in cmr, characters such as _ would come out wrong; we % have to do the usual translation tricks. \entry{#1}{#2}% \endgroup} % Space between chapter (or whatever) number and the title. \def\labelspace{\hskip1em \relax} \def\dopageno#1{{\rm #1}} \def\doshortpageno#1{{\rm #1}} \def\chapentryfonts{\secfonts \rm} \def\secentryfonts{\textfonts} \let\subsecentryfonts = \textfonts \let\subsubsecentryfonts = \textfonts \message{environments,} % @foo ... @end foo. % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. % % Since these characters are used in examples, it should be an even number of % \tt widths. Each \tt character is 1en, so two makes it 1em. % \def\point{$\star$} \def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} \def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}} \def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} \def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}} % The @error{} command. % Adapted from the TeXbook's \boxit. % \newbox\errorbox % {\tentt \global\dimen0 = 3em}% Width of the box. \dimen2 = .55pt % Thickness of rules % The text. (`r' is open on the right, `e' somewhat less so on the left.) \setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt} % \global\setbox\errorbox=\hbox to \dimen0{\hfil \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. \advance\hsize by -2\dimen2 % Rules. \vbox{ \hrule height\dimen2 \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. \kern3pt\vrule width\dimen2}% Space to right. \hrule height\dimen2} \hfil} % \def\error{\leavevmode\lower.7ex\copy\errorbox} % @tex ... @end tex escapes into raw Tex temporarily. % One exception: @ is still an escape character, so that @end tex works. % But \@ or @@ will get a plain tex @ character. \def\tex{\begingroup \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 \catcode `\^=7 \catcode `\_=8 \catcode `\~=13 \let~=\tie \catcode `\%=14 \catcode 43=12 % plus \catcode`\"=12 \catcode`\==12 \catcode`\|=12 \catcode`\<=12 \catcode`\>=12 \escapechar=`\\ % \let\b=\ptexb \let\bullet=\ptexbullet \let\c=\ptexc \let\,=\ptexcomma \let\.=\ptexdot \let\dots=\ptexdots \let\equiv=\ptexequiv \let\!=\ptexexclam \let\i=\ptexi \let\{=\ptexlbrace \let\+=\tabalign \let\}=\ptexrbrace \let\*=\ptexstar \let\t=\ptext % \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% \def\@{@}% \let\Etex=\endgroup} % Define @lisp ... @end lisp. % @lisp does a \begingroup so it can rebind things, % including the definition of @end lisp (which normally is erroneous). % Amount to narrow the margins by for @lisp. \newskip\lispnarrowing \lispnarrowing=0.4in % This is the definition that ^^M gets inside @lisp, @example, and other % such environments. \null is better than a space, since it doesn't % have any width. \def\lisppar{\null\endgraf} % Make each space character in the input produce a normal interword % space in the output. Don't allow a line break at this space, as this % is used only in environments like @example, where each line of input % should produce a line of output anyway. % {\obeyspaces % \gdef\sepspaces{\obeyspaces\let =\tie}} % Define \obeyedspace to be our active space, whatever it is. This is % for use in \parsearg. {\sepspaces% \global\let\obeyedspace= } % This space is always present above and below environments. \newskip\envskipamount \envskipamount = 0pt % Make spacing and below environment symmetrical. We use \parskip here % to help in doing that, since in @example-like environments \parskip % is reset to zero; thus the \afterenvbreak inserts no space -- but the % start of the next paragraph will insert \parskip % \def\aboveenvbreak{{% \ifnum\lastpenalty < 10000 \advance\envskipamount by \parskip \endgraf \ifdim\lastskip<\envskipamount \removelastskip \penalty-50 \vskip\envskipamount \fi \fi }} \let\afterenvbreak = \aboveenvbreak % \nonarrowing is a flag. If "set", @lisp etc don't narrow margins. \let\nonarrowing=\relax % @cartouche ... @end cartouche: draw rectangle w/rounded corners around % environment contents. \font\circle=lcircle10 \newdimen\circthick \newdimen\cartouter\newdimen\cartinner \newskip\normbskip\newskip\normpskip\newskip\normlskip \circthick=\fontdimen8\circle % \def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth \def\ctr{{\hskip 6pt\circle\char'010}} \def\cbl{{\circle\char'012\hskip -6pt}} \def\cbr{{\hskip 6pt\circle\char'011}} \def\carttop{\hbox to \cartouter{\hskip\lskip \ctl\leaders\hrule height\circthick\hfil\ctr \hskip\rskip}} \def\cartbot{\hbox to \cartouter{\hskip\lskip \cbl\leaders\hrule height\circthick\hfil\cbr \hskip\rskip}} % \newskip\lskip\newskip\rskip \long\def\cartouche{% \begingroup \lskip=\leftskip \rskip=\rightskip \leftskip=0pt\rightskip=0pt %we want these *outside*. \cartinner=\hsize \advance\cartinner by-\lskip \advance\cartinner by-\rskip \cartouter=\hsize \advance\cartouter by 18.4pt % allow for 3pt kerns on either % side, and for 6pt waste from % each corner char, and rule thickness \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip % Flag to tell @lisp, etc., not to narrow margin. \let\nonarrowing=\comment \vbox\bgroup \baselineskip=0pt\parskip=0pt\lineskip=0pt \carttop \hbox\bgroup \hskip\lskip \vrule\kern3pt \vbox\bgroup \hsize=\cartinner \kern3pt \begingroup \baselineskip=\normbskip \lineskip=\normlskip \parskip=\normpskip \vskip -\parskip \def\Ecartouche{% \endgroup \kern3pt \egroup \kern3pt\vrule \hskip\rskip \egroup \cartbot \egroup \endgroup }} % This macro is called at the beginning of all the @example variants, % inside a group. \def\nonfillstart{% \aboveenvbreak \inENV % This group ends at the end of the body \hfuzz = 12pt % Don't be fussy \sepspaces % Make spaces be word-separators rather than space tokens. \singlespace \let\par = \lisppar % don't ignore blank lines \obeylines % each line of input is a line of output \parskip = 0pt \parindent = 0pt \emergencystretch = 0pt % don't try to avoid overfull boxes % @cartouche defines \nonarrowing to inhibit narrowing % at next level down. \ifx\nonarrowing\relax \advance \leftskip by \lispnarrowing \exdentamount=\lispnarrowing \let\exdent=\nofillexdent \let\nonarrowing=\relax \fi } % Define the \E... control sequence only if we are inside the particular % environment, so the error checking in \end will work. % % To end an @example-like environment, we first end the paragraph (via % \afterenvbreak's vertical glue), and then the group. That way we keep % the zero \parskip that the environments set -- \parskip glue will be % inserted at the beginning of the next paragraph in the document, after % the environment. % \def\nonfillfinish{\afterenvbreak\endgroup} % @lisp: indented, narrowed, typewriter font. \def\lisp{\begingroup \nonfillstart \let\Elisp = \nonfillfinish \tt \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. \gobble % eat return } % @example: Same as @lisp. \def\example{\begingroup \def\Eexample{\nonfillfinish\endgroup}\lisp} % @small... is usually equivalent to the non-small (@smallbook % redefines). We must call \example (or whatever) last in the % definition, since it reads the return following the @example (or % whatever) command. % % This actually allows (for example) @end display inside an % @smalldisplay. Too bad, but makeinfo will catch the error anyway. % \def\smalldisplay{\begingroup\def\Esmalldisplay{\nonfillfinish\endgroup}\display} \def\smallexample{\begingroup\def\Esmallexample{\nonfillfinish\endgroup}\lisp} \def\smallformat{\begingroup\def\Esmallformat{\nonfillfinish\endgroup}\format} \def\smalllisp{\begingroup\def\Esmalllisp{\nonfillfinish\endgroup}\lisp} % Real @smallexample and @smalllisp (when @smallbook): use smaller fonts. % Originally contributed by Pavel@xerox. \def\smalllispx{\begingroup \def\Esmalllisp{\nonfillfinish\endgroup}% \def\Esmallexample{\nonfillfinish\endgroup}% \smallexamplefonts \lisp } % @display: same as @lisp except keep current font. % \def\display{\begingroup \nonfillstart \let\Edisplay = \nonfillfinish \gobble } % % @smalldisplay (when @smallbook): @display plus smaller fonts. % \def\smalldisplayx{\begingroup \def\Esmalldisplay{\nonfillfinish\endgroup}% \smallexamplefonts \rm \display } % @format: same as @display except don't narrow margins. % \def\format{\begingroup \let\nonarrowing = t \nonfillstart \let\Eformat = \nonfillfinish \gobble } % % @smallformat (when @smallbook): @format plus smaller fonts. % \def\smallformatx{\begingroup \def\Esmallformat{\nonfillfinish\endgroup}% \smallexamplefonts \rm \format } % @flushleft (same as @format). % \def\flushleft{\begingroup \def\Eflushleft{\nonfillfinish\endgroup}\format} % @flushright. % \def\flushright{\begingroup \let\nonarrowing = t \nonfillstart \let\Eflushright = \nonfillfinish \advance\leftskip by 0pt plus 1fill \gobble } % @quotation does normal linebreaking (hence we can't use \nonfillstart) % and narrows the margins. % \def\quotation{% \begingroup\inENV %This group ends at the end of the @quotation body {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip \singlespace \parindent=0pt % We have retained a nonzero parskip for the environment, since we're % doing normal filling. So to avoid extra space below the environment... \def\Equotation{\parskip = 0pt \nonfillfinish}% % % @cartouche defines \nonarrowing to inhibit narrowing at next level down. \ifx\nonarrowing\relax \advance\leftskip by \lispnarrowing \advance\rightskip by \lispnarrowing \exdentamount = \lispnarrowing \let\nonarrowing = \relax \fi } % LaTeX-like @verbatim...@end verbatim and @verb{...} % If we want to allow any as delimiter, % we need the curly braces so that makeinfo sees the @verb command, eg: % `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org % % [Knuth]: Donald Ervin Knuth, 1996. The TeXbook. % % [Knuth] p. 344; only we need to do '@' too \def\dospecials{% \do\ \do\\\do\@\do\{\do\}\do\$\do\&% \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~} % % [Knuth] p. 380 \def\uncatcodespecials{% \def\do##1{\catcode`##1=12}\dospecials} % % [Knuth] pp. 380,381,391 % Disable Spanish ligatures ?` and !` of \tt font \begingroup \catcode`\`=\active\gdef`{\relax\lq} \endgroup % % Setup for the @verb command. % % Eight spaces for a tab \begingroup \catcode`\^^I=\active \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }} \endgroup % \def\setupverb{% \tt % easiest (and conventionally used) font for verbatim \def\par{\leavevmode\endgraf}% \catcode`\`=\active \tabeightspaces % Respect line breaks, % print special symbols as themselves, and % make each space count % must do in this order: \obeylines \uncatcodespecials \sepspaces } % Setup for the @verbatim environment % % Real tab expansion \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount % \def\starttabbox{\setbox0=\hbox\bgroup} \begingroup \catcode`\^^I=\active \gdef\tabexpand{% \catcode`\^^I=\active \def^^I{\leavevmode\egroup \dimen0=\wd0 % the width so far, or since the previous tab \divide\dimen0 by\tabw \multiply\dimen0 by\tabw % compute previous multiple of \tabw \advance\dimen0 by\tabw % advance to next multiple of \tabw \wd0=\dimen0 \box0 \starttabbox }% } \endgroup \def\setupverbatim{% % Easiest (and conventionally used) font for verbatim \tt \def\par{\leavevmode\egroup\box0\endgraf}% \catcode`\`=\active \tabexpand % Respect line breaks, % print special symbols as themselves, and % make each space count % must do in this order: \obeylines \uncatcodespecials \sepspaces \everypar{\starttabbox}% } % Do the @verb magic: verbatim text is quoted by unique % delimiter characters. Before first delimiter expect a % right brace, after last delimiter expect closing brace: % % \def\doverb'{'#1'}'{#1} % % [Knuth] p. 382; only eat outer {} \begingroup \catcode`[=1\catcode`]=2\catcode`\{=12\catcode`\}=12 \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next] \endgroup % \def\verb{\begingroup\setupverb\doverb} % % % Do the @verbatim magic: define the macro \doverbatim so that % the (first) argument ends when '@end verbatim' is reached, ie: % % \def\doverbatim#1@end verbatim{#1} % % For Texinfo it's a lot easier than for LaTeX, % because texinfo's \verbatim doesn't stop at '\end{verbatim}': % we need not redefine '\', '{' and '}' % % Inspired by LaTeX's verbatim command set [latex.ltx] %% Include LaTeX hack for completeness -- never know %% \begingroup %% \catcode`|=0 \catcode`[=1 %% \catcode`]=2\catcode`\{=12\catcode`\}=12\catcode`\ =\active %% \catcode`\\=12|gdef|doverbatim#1@end verbatim[ %% #1|endgroup|def|Everbatim[]|end[verbatim]] %% |endgroup \begingroup \catcode`\ =\active \gdef\doverbatim#1@end verbatim{#1\end{verbatim}} \endgroup % \def\verbatim{% \def\Everbatim{\nonfillfinish\endgroup}% \begingroup \nonfillstart \advance\leftskip by -\defbodyindent \begingroup\setupverbatim\doverbatim } % @verbatiminclude FILE - insert text of file in verbatim environment. % % Allow normal characters that we make active in the argument (a file name). \def\verbatiminclude{% \begingroup \catcode`\\=12 \catcode`~=12 \catcode`^=12 \catcode`_=12 \catcode`|=12 \catcode`<=12 \catcode`>=12 \catcode`+=12 \parsearg\doverbatiminclude } \def\setupverbatiminclude{% \begingroup \nonfillstart \advance\leftskip by -\defbodyindent \begingroup\setupverbatim } % \def\doverbatiminclude#1{% % Restore active chars for included file. \endgroup \begingroup \def\thisfile{#1}% \expandafter\expandafter\setupverbatiminclude\input\thisfile \endgroup\nonfillfinish\endgroup } % @copying ... @end copying. % Save the text away for @insertcopying later. % \newbox\copyingbox % \def\copying{\begingroup \parindent = 0pt % looks wrong on title page \def\Ecopying{\egroup\endgroup}% \global\setbox\copyingbox = \vbox\bgroup } % @insertcopying. % \def\insertcopying{\unvcopy\copyingbox} \message{defuns,} % @defun etc. % Allow user to change definition object font (\df) internally \def\setdeffont #1 {\csname DEF#1\endcsname} \newskip\defbodyindent \defbodyindent=.4in \newskip\defargsindent \defargsindent=50pt \newskip\deftypemargin \deftypemargin=12pt \newskip\deflastargmargin \deflastargmargin=18pt \newcount\parencount % define \functionparens, which makes ( and ) and & do special things. % \functionparens affects the group it is contained in. \def\activeparens{% \catcode`\(=\active \catcode`\)=\active \catcode`\&=\active \catcode`\[=\active \catcode`\]=\active} % Make control sequences which act like normal parenthesis chars. \let\lparen = ( \let\rparen = ) {\activeparens % Now, smart parens don't turn on until &foo (see \amprm) % Be sure that we always have a definition for `(', etc. For example, % if the fn name has parens in it, \boldbrax will not be in effect yet, % so TeX would otherwise complain about undefined control sequence. \global\let(=\lparen \global\let)=\rparen \global\let[=\lbrack \global\let]=\rbrack \gdef\functionparens{\boldbrax\let&=\amprm\parencount=0 } \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} % This is used to turn on special parens % but make & act ordinary (given that it's active). \gdef\boldbraxnoamp{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb\let&=\ampnr} % Definitions of (, ) and & used in args for functions. % This is the definition of ( outside of all parentheses. \gdef\oprm#1 {{\rm\char`\(}#1 \bf \let(=\opnested \global\advance\parencount by 1 } % % This is the definition of ( when already inside a level of parens. \gdef\opnested{\char`\(\global\advance\parencount by 1 } % \gdef\clrm{% Print a paren in roman if it is taking us back to depth of 0. % also in that case restore the outer-level definition of (. \ifnum \parencount=1 {\rm \char `\)}\sl \let(=\oprm \else \char `\) \fi \global\advance \parencount by -1 } % If we encounter &foo, then turn on ()-hacking afterwards \gdef\amprm#1 {{\rm\}\let(=\oprm \let)=\clrm\ } % \gdef\normalparens{\boldbrax\let&=\ampnr} } % End of definition inside \activeparens %% These parens (in \boldbrax) actually are a little bolder than the %% contained text. This is especially needed for [ and ] \def\opnr{{\sf\char`\(}\global\advance\parencount by 1 } \def\clnr{{\sf\char`\)}\global\advance\parencount by -1 } \let\ampnr = \& \def\lbrb{{\bf\char`\[}} \def\rbrb{{\bf\char`\]}} % Active &'s sneak into the index arguments, so make sure it's defined. { \catcode`& = 13 \global\let& = \ampnr } % First, defname, which formats the header line itself. % #1 should be the function name. % #2 should be the type of definition, such as "Function". \def\defname #1#2{% % Get the values of \leftskip and \rightskip as they were % outside the @def... \dimen2=\leftskip \advance\dimen2 by -\defbodyindent \noindent \setbox0=\hbox{\hskip \deflastargmargin{\rm #2}\hskip \deftypemargin}% \dimen0=\hsize \advance \dimen0 by -\wd0 % compute size for first line \dimen1=\hsize \advance \dimen1 by -\defargsindent %size for continuations \parshape 2 0in \dimen0 \defargsindent \dimen1 % Now output arg 2 ("Function" or some such) % ending at \deftypemargin from the right margin, % but stuck inside a box of width 0 so it does not interfere with linebreaking {% Adjust \hsize to exclude the ambient margins, % so that \rightline will obey them. \advance \hsize by -\dimen2 \rlap{\rightline{{\rm #2}\hskip -1.25pc }}}% % Make all lines underfull and no complaints: \tolerance=10000 \hbadness=10000 \advance\leftskip by -\defbodyindent \exdentamount=\defbodyindent {\df #1}\enskip % Generate function name } % Common pieces to start any @def... % #1 is the \E... control sequence to end the definition (which we define). % #2 is the \...x control sequence (which our caller defines). % #3 is the control sequence to process the header, such as \defunheader. % \def\parsebodycommon#1#2#3{% \begingroup\inENV % If there are two @def commands in a row, we'll have a \nobreak, % which is there to keep the function description together with its % header. But if there's nothing but headers, we want to allow a % break after all. \ifnum\lastpenalty = 10000 \penalty0 \fi \medbreak % % Define the \E... end token that this defining construct specifies % so that it will exit this group. \def#1{\endgraf\endgroup\medbreak}% % \parindent=0in \advance\leftskip by \defbodyindent \exdentamount=\defbodyindent } % Process body of @defun, @deffn, @defmac, etc. % \def\defparsebody#1#2#3{% \parsebodycommon{#1}{#2}{#3}% \def#2{\begingroup\obeylines\activeparens\spacesplit#3}% \catcode61=\active % 61 is `=' \begingroup\obeylines\activeparens \spacesplit#3% } % #1, #2, #3 are the common arguments (see \defparsebody). % #4, delimited by the space, is the class name. % \def\defmethparsebody#1#2#3#4 {% \parsebodycommon{#1}{#2}{#3}% \def#2##1 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}}}% \begingroup\obeylines\activeparens \spacesplit{#3{#4}}% } % Used for @deftypemethod and @deftypeivar. % #1, #2, #3 are the common arguments (see \defparsebody). % #4, delimited by a space, is the class name. % #5 is the method's return type. % \def\deftypemethparsebody#1#2#3#4 #5 {% \parsebodycommon{#1}{#2}{#3}% \def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}% \begingroup\obeylines\activeparens \spacesplit{#3{#4}{#5}}% } % Used for @deftypeop. The change from \deftypemethparsebody is an % extra argument at the beginning which is the `category', instead of it % being the hardwired string `Method' or `Instance Variable'. We have % to account for this both in the \...x definition and in parsing the % input at hand. Thus also need a control sequence (passed as #5) for % the \E... definition to assign the category name to. % \def\deftypeopparsebody#1#2#3#4#5 #6 {% \parsebodycommon{#1}{#2}{#3}% \def#2##1 ##2 ##3 {% \def#4{##1}% \begingroup\obeylines\activeparens\spacesplit{#3{##2}{##3}}}% \begingroup\obeylines\activeparens \spacesplit{#3{#5}{#6}}% } % For @defop. \def\defopparsebody #1#2#3#4#5 {% \parsebodycommon{#1}{#2}{#3}% \def#2##1 ##2 {\def#4{##1}% \begingroup\obeylines\activeparens\spacesplit{#3{##2}}}% \begingroup\obeylines\activeparens \spacesplit{#3{#5}}% } % These parsing functions are similar to the preceding ones % except that they do not make parens into active characters. % These are used for "variables" since they have no arguments. % \def\defvarparsebody #1#2#3{% \parsebodycommon{#1}{#2}{#3}% \def#2{\begingroup\obeylines\spacesplit#3}% \catcode61=\active % \begingroup\obeylines \spacesplit#3% } % @defopvar. \def\defopvarparsebody #1#2#3#4#5 {% \parsebodycommon{#1}{#2}{#3}% \def#2##1 ##2 {\def#4{##1}% \begingroup\obeylines\spacesplit{#3{##2}}}% \begingroup\obeylines \spacesplit{#3{#5}}% } \def\defvrparsebody#1#2#3#4 {% \parsebodycommon{#1}{#2}{#3}% \def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}% \begingroup\obeylines \spacesplit{#3{#4}}% } % This loses on `@deftp {Data Type} {struct termios}' -- it thinks the % type is just `struct', because we lose the braces in `{struct % termios}' when \spacesplit reads its undelimited argument. Sigh. % \let\deftpparsebody=\defvrparsebody % % So, to get around this, we put \empty in with the type name. That % way, TeX won't find exactly `{...}' as an undelimited argument, and % won't strip off the braces. % \def\deftpparsebody #1#2#3#4 {% \parsebodycommon{#1}{#2}{#3}% \def#2##1 {\begingroup\obeylines\spacesplit{#3{##1}}}% \begingroup\obeylines \spacesplit{\parsetpheaderline{#3{#4}}}\empty } % Fine, but then we have to eventually remove the \empty *and* the % braces (if any). That's what this does. % \def\removeemptybraces\empty#1\relax{#1} % After \spacesplit has done its work, this is called -- #1 is the final % thing to call, #2 the type name (which starts with \empty), and #3 % (which might be empty) the arguments. % \def\parsetpheaderline#1#2#3{% #1{\removeemptybraces#2\relax}{#3}% }% % Split up #2 at the first space token. % call #1 with two arguments: % the first is all of #2 before the space token, % the second is all of #2 after that space token. % If #2 contains no space token, all of it is passed as the first arg % and the second is passed as empty. % {\obeylines \gdef\spacesplit#1#2^^M{\endgroup\spacesplitfoo{#1}#2 \relax\spacesplitfoo}% \long\gdef\spacesplitfoo#1#2 #3#4\spacesplitfoo{% \ifx\relax #3% #1{#2}{}\else #1{#2}{#3#4}\fi}} % Define @defun. % First, define the processing that is wanted for arguments of \defun % Use this to expand the args and terminate the paragraph they make up \def\defunargs#1{\functionparens \sl % Expand, preventing hyphenation at `-' chars. % Note that groups don't affect changes in \hyphenchar. % Set the font temporarily and use \font in case \setfont made \tensl a macro. {\tensl\hyphenchar\font=0}% #1% {\tensl\hyphenchar\font=45}% \ifnum\parencount=0 \else \errmessage{Unbalanced parentheses in @def}\fi% \interlinepenalty=10000 \advance\rightskip by 0pt plus 1fil \endgraf\nobreak\vskip -\parskip\nobreak } \def\deftypefunargs #1{% % Expand, preventing hyphenation at `-' chars. % Note that groups don't affect changes in \hyphenchar. % Use \boldbraxnoamp, not \functionparens, so that & is not special. \boldbraxnoamp \tclose{#1}% avoid \code because of side effects on active chars \interlinepenalty=10000 \advance\rightskip by 0pt plus 1fil \endgraf\nobreak\vskip -\parskip\nobreak } % Do complete processing of one @defun or @defunx line already parsed. % @deffn Command forward-char nchars \def\deffn{\defmethparsebody\Edeffn\deffnx\deffnheader} \def\deffnheader #1#2#3{\doind {fn}{\code{#2}}% \begingroup\defname {#2}{#1}\defunargs{#3}\endgroup % \catcode 61=\other % Turn off change made in \defparsebody } % @defun == @deffn Function \def\defun{\defparsebody\Edefun\defunx\defunheader} \def\defunheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index \begingroup\defname {#1}{\putwordDeffunc}% \defunargs {#2}\endgroup % \catcode 61=\other % Turn off change made in \defparsebody } % @deftypefun int foobar (int @var{foo}, float @var{bar}) \def\deftypefun{\defparsebody\Edeftypefun\deftypefunx\deftypefunheader} % #1 is the data type. #2 is the name and args. \def\deftypefunheader #1#2{\deftypefunheaderx{#1}#2 \relax} % #1 is the data type, #2 the name, #3 the args. \def\deftypefunheaderx #1#2 #3\relax{% \doind {fn}{\code{#2}}% Make entry in function index \begingroup\defname {\defheaderxcond#1\relax$.$#2}{\putwordDeftypefun}% \deftypefunargs {#3}\endgroup % \catcode 61=\other % Turn off change made in \defparsebody } % @deftypefn {Library Function} int foobar (int @var{foo}, float @var{bar}) \def\deftypefn{\defmethparsebody\Edeftypefn\deftypefnx\deftypefnheader} % \defheaderxcond#1\relax$.$ % puts #1 in @code, followed by a space, but does nothing if #1 is null. \def\defheaderxcond#1#2$.${\ifx#1\relax\else\code{#1#2} \fi} % #1 is the classification. #2 is the data type. #3 is the name and args. \def\deftypefnheader #1#2#3{\deftypefnheaderx{#1}{#2}#3 \relax} % #1 is the classification, #2 the data type, #3 the name, #4 the args. \def\deftypefnheaderx #1#2#3 #4\relax{% \doind {fn}{\code{#3}}% Make entry in function index \begingroup \normalparens % notably, turn off `&' magic, which prevents % at least some C++ text from working \defname {\defheaderxcond#2\relax$.$#3}{#1}% \deftypefunargs {#4}\endgroup % \catcode 61=\other % Turn off change made in \defparsebody } % @defmac == @deffn Macro \def\defmac{\defparsebody\Edefmac\defmacx\defmacheader} \def\defmacheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index \begingroup\defname {#1}{\putwordDefmac}% \defunargs {#2}\endgroup % \catcode 61=\other % Turn off change made in \defparsebody } % @defspec == @deffn Special Form \def\defspec{\defparsebody\Edefspec\defspecx\defspecheader} \def\defspecheader #1#2{\doind {fn}{\code{#1}}% Make entry in function index \begingroup\defname {#1}{\putwordDefspec}% \defunargs {#2}\endgroup % \catcode 61=\other % Turn off change made in \defparsebody } % @defop CATEGORY CLASS OPERATION ARG... % \def\defop #1 {\def\defoptype{#1}% \defopparsebody\Edefop\defopx\defopheader\defoptype} % \def\defopheader#1#2#3{% \dosubind {fn}{\code{#2}}{\putwordon\ #1}% Make entry in function index \begingroup\defname {#2}{\defoptype\ \putwordon\ #1}% \defunargs {#3}\endgroup % } % @deftypeop CATEGORY CLASS TYPE OPERATION ARG... % \def\deftypeop #1 {\def\deftypeopcategory{#1}% \deftypeopparsebody\Edeftypeop\deftypeopx\deftypeopheader \deftypeopcategory} % % #1 is the class name, #2 the data type, #3 the operation name, #4 the args. \def\deftypeopheader#1#2#3#4{% \dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index \begingroup \defname{\defheaderxcond#2\relax$.$#3} {\deftypeopcategory\ \putwordon\ \code{#1}}% \deftypefunargs{#4}% \endgroup } % @deftypemethod CLASS TYPE METHOD ARG... % \def\deftypemethod{% \deftypemethparsebody\Edeftypemethod\deftypemethodx\deftypemethodheader} % % #1 is the class name, #2 the data type, #3 the method name, #4 the args. \def\deftypemethodheader#1#2#3#4{% \dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index \begingroup \defname{\defheaderxcond#2\relax$.$#3}{\putwordMethodon\ \code{#1}}% \deftypefunargs{#4}% \endgroup } % @deftypeivar CLASS TYPE VARNAME % \def\deftypeivar{% \deftypemethparsebody\Edeftypeivar\deftypeivarx\deftypeivarheader} % % #1 is the class name, #2 the data type, #3 the variable name. \def\deftypeivarheader#1#2#3{% \dosubind{vr}{\code{#3}}{\putwordof\ \code{#1}}% entry in variable index \begingroup \defname{\defheaderxcond#2\relax$.$#3} {\putwordInstanceVariableof\ \code{#1}}% \defvarargs{#3}% \endgroup } % @defmethod == @defop Method % \def\defmethod{\defmethparsebody\Edefmethod\defmethodx\defmethodheader} % % #1 is the class name, #2 the method name, #3 the args. \def\defmethodheader#1#2#3{% \dosubind{fn}{\code{#2}}{\putwordon\ \code{#1}}% entry in function index \begingroup \defname{#2}{\putwordMethodon\ \code{#1}}% \defunargs{#3}% \endgroup } % @defcv {Class Option} foo-class foo-flag \def\defcv #1 {\def\defcvtype{#1}% \defopvarparsebody\Edefcv\defcvx\defcvarheader\defcvtype} \def\defcvarheader #1#2#3{% \dosubind {vr}{\code{#2}}{\putwordof\ #1}% Make entry in var index \begingroup\defname {#2}{\defcvtype\ \putwordof\ #1}% \defvarargs {#3}\endgroup % } % @defivar CLASS VARNAME == @defcv {Instance Variable} CLASS VARNAME % \def\defivar{\defvrparsebody\Edefivar\defivarx\defivarheader} % \def\defivarheader#1#2#3{% \dosubind {vr}{\code{#2}}{\putwordof\ #1}% entry in var index \begingroup \defname{#2}{\putwordInstanceVariableof\ #1}% \defvarargs{#3}% \endgroup } % @defvar % First, define the processing that is wanted for arguments of @defvar. % This is actually simple: just print them in roman. % This must expand the args and terminate the paragraph they make up \def\defvarargs #1{\normalparens #1% \interlinepenalty=10000 \endgraf\nobreak\vskip -\parskip\nobreak} % @defvr Counter foo-count \def\defvr{\defvrparsebody\Edefvr\defvrx\defvrheader} \def\defvrheader #1#2#3{\doind {vr}{\code{#2}}% \begingroup\defname {#2}{#1}\defvarargs{#3}\endgroup} % @defvar == @defvr Variable \def\defvar{\defvarparsebody\Edefvar\defvarx\defvarheader} \def\defvarheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index \begingroup\defname {#1}{\putwordDefvar}% \defvarargs {#2}\endgroup % } % @defopt == @defvr {User Option} \def\defopt{\defvarparsebody\Edefopt\defoptx\defoptheader} \def\defoptheader #1#2{\doind {vr}{\code{#1}}% Make entry in var index \begingroup\defname {#1}{\putwordDefopt}% \defvarargs {#2}\endgroup % } % @deftypevar int foobar \def\deftypevar{\defvarparsebody\Edeftypevar\deftypevarx\deftypevarheader} % #1 is the data type. #2 is the name, perhaps followed by text that % is actually part of the data type, which should not be put into the index. \def\deftypevarheader #1#2{% \dovarind#2 \relax% Make entry in variables index \begingroup\defname {\defheaderxcond#1\relax$.$#2}{\putwordDeftypevar}% \interlinepenalty=10000 \endgraf\nobreak\vskip -\parskip\nobreak \endgroup} \def\dovarind#1 #2\relax{\doind{vr}{\code{#1}}} % @deftypevr {Global Flag} int enable \def\deftypevr{\defvrparsebody\Edeftypevr\deftypevrx\deftypevrheader} \def\deftypevrheader #1#2#3{\dovarind#3 \relax% \begingroup\defname {\defheaderxcond#2\relax$.$#3}{#1} \interlinepenalty=10000 \endgraf\nobreak\vskip -\parskip\nobreak \endgroup} % Now define @deftp % Args are printed in bold, a slight difference from @defvar. \def\deftpargs #1{\bf \defvarargs{#1}} % @deftp Class window height width ... \def\deftp{\deftpparsebody\Edeftp\deftpx\deftpheader} \def\deftpheader #1#2#3{\doind {tp}{\code{#2}}% \begingroup\defname {#2}{#1}\deftpargs{#3}\endgroup} % These definitions are used if you use @defunx (etc.) % anywhere other than immediately after a @defun or @defunx. % \def\defcvx#1 {\errmessage{@defcvx in invalid context}} \def\deffnx#1 {\errmessage{@deffnx in invalid context}} \def\defivarx#1 {\errmessage{@defivarx in invalid context}} \def\defmacx#1 {\errmessage{@defmacx in invalid context}} \def\defmethodx#1 {\errmessage{@defmethodx in invalid context}} \def\defoptx #1 {\errmessage{@defoptx in invalid context}} \def\defopx#1 {\errmessage{@defopx in invalid context}} \def\defspecx#1 {\errmessage{@defspecx in invalid context}} \def\deftpx#1 {\errmessage{@deftpx in invalid context}} \def\deftypefnx#1 {\errmessage{@deftypefnx in invalid context}} \def\deftypefunx#1 {\errmessage{@deftypefunx in invalid context}} \def\deftypeivarx#1 {\errmessage{@deftypeivarx in invalid context}} \def\deftypemethodx#1 {\errmessage{@deftypemethodx in invalid context}} \def\deftypeopx#1 {\errmessage{@deftypeopx in invalid context}} \def\deftypevarx#1 {\errmessage{@deftypevarx in invalid context}} \def\deftypevrx#1 {\errmessage{@deftypevrx in invalid context}} \def\defunx#1 {\errmessage{@defunx in invalid context}} \def\defvarx#1 {\errmessage{@defvarx in invalid context}} \def\defvrx#1 {\errmessage{@defvrx in invalid context}} \message{macros,} % @macro. % To do this right we need a feature of e-TeX, \scantokens, % which we arrange to emulate with a temporary file in ordinary TeX. \ifx\eTeXversion\undefined \newwrite\macscribble \def\scanmacro#1{% \begingroup \newlinechar`\^^M % Undo catcode changes of \startcontents and \doprintindex \catcode`\@=0 \catcode`\\=12 \escapechar=`\@ % Append \endinput to make sure that TeX does not see the ending newline. \toks0={#1\endinput}% \immediate\openout\macscribble=\jobname.tmp \immediate\write\macscribble{\the\toks0}% \immediate\closeout\macscribble \let\xeatspaces\eatspaces \input \jobname.tmp \endgroup } \else \def\scanmacro#1{% \begingroup \newlinechar`\^^M % Undo catcode changes of \startcontents and \doprintindex \catcode`\@=0 \catcode`\\=12 \escapechar=`\@ \let\xeatspaces\eatspaces\scantokens{#1\endinput}\endgroup} \fi \newcount\paramno % Count of parameters \newtoks\macname % Macro name \newif\ifrecursive % Is it recursive? \def\macrolist{} % List of all defined macros in the form % \do\macro1\do\macro2... % Utility routines. % Thisdoes \let #1 = #2, except with \csnames. \def\cslet#1#2{% \expandafter\expandafter \expandafter\let \expandafter\expandafter \csname#1\endcsname \csname#2\endcsname} % Trim leading and trailing spaces off a string. % Concepts from aro-bend problem 15 (see CTAN). {\catcode`\@=11 \gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }} \gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@} \gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @} \def\unbrace#1{#1} \unbrace{\gdef\trim@@@ #1 } #2@{#1} } % Trim a single trailing ^^M off a string. {\catcode`\^^M=12\catcode`\Q=3% \gdef\eatcr #1{\eatcra #1Q^^MQ}% \gdef\eatcra#1^^MQ{\eatcrb#1Q}% \gdef\eatcrb#1Q#2Q{#1}% } % Macro bodies are absorbed as an argument in a context where % all characters are catcode 10, 11 or 12, except \ which is active % (as in normal texinfo). It is necessary to change the definition of \. % It's necessary to have hard CRs when the macro is executed. This is % done by making ^^M (\endlinechar) catcode 12 when reading the macro % body, and then making it the \newlinechar in \scanmacro. \def\macrobodyctxt{% \catcode`\~=12 \catcode`\^=12 \catcode`\_=12 \catcode`\|=12 \catcode`\<=12 \catcode`\>=12 \catcode`\+=12 \catcode`\{=12 \catcode`\}=12 \catcode`\@=12 \catcode`\^^M=12 \usembodybackslash} \def\macroargctxt{% \catcode`\~=12 \catcode`\^=12 \catcode`\_=12 \catcode`\|=12 \catcode`\<=12 \catcode`\>=12 \catcode`\+=12 \catcode`\@=12 \catcode`\\=12} % \mbodybackslash is the definition of \ in @macro bodies. % It maps \foo\ => \csname macarg.foo\endcsname => #N % where N is the macro parameter number. % We define \csname macarg.\endcsname to be \realbackslash, so % \\ in macro replacement text gets you a backslash. {\catcode`@=0 @catcode`@\=@active @gdef@usembodybackslash{@let\=@mbodybackslash} @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname} } \expandafter\def\csname macarg.\endcsname{\realbackslash} \def\macro{\recursivefalse\parsearg\macroxxx} \def\rmacro{\recursivetrue\parsearg\macroxxx} \def\macroxxx#1{% \getargs{#1}% now \macname is the macname and \argl the arglist \ifx\argl\empty % no arguments \paramno=0% \else \expandafter\parsemargdef \argl;% \fi \if1\csname ismacro.\the\macname\endcsname \message{Warning: redefining \the\macname}% \else \expandafter\ifx\csname \the\macname\endcsname \relax \else \errmessage{Macro name \the\macname\space already defined}\fi \global\cslet{macsave.\the\macname}{\the\macname}% \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% % Add the macroname to \macrolist \toks0 = \expandafter{\macrolist\do}% \xdef\macrolist{\the\toks0 \expandafter\noexpand\csname\the\macname\endcsname}% \fi \begingroup \macrobodyctxt \ifrecursive \expandafter\parsermacbody \else \expandafter\parsemacbody \fi} \def\unmacro{\parsearg\unmacroxxx} \def\unmacroxxx#1{% \if1\csname ismacro.#1\endcsname \global\cslet{#1}{macsave.#1}% \global\expandafter\let \csname ismacro.#1\endcsname=0% % Remove the macro name from \macrolist \begingroup \edef\tempa{\expandafter\noexpand\csname#1\endcsname}% \def\do##1{% \def\tempb{##1}% \ifx\tempa\tempb % remove this \else \toks0 = \expandafter{\newmacrolist\do}% \edef\newmacrolist{\the\toks0\expandafter\noexpand\tempa}% \fi}% \def\newmacrolist{}% % Execute macro list to define \newmacrolist \macrolist \global\let\macrolist\newmacrolist \endgroup \else \errmessage{Macro #1 not defined}% \fi } % This makes use of the obscure feature that if the last token of a % is #, then the preceding argument is delimited by % an opening brace, and that opening brace is not consumed. \def\getargs#1{\getargsxxx#1{}} \def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} \def\getmacname #1 #2\relax{\macname={#1}} \def\getmacargs#1{\def\argl{#1}} % Parse the optional {params} list. Set up \paramno and \paramlist % so \defmacro knows what to do. Define \macarg.blah for each blah % in the params list, to be ##N where N is the position in that list. % That gets used by \mbodybackslash (above). % We need to get `macro parameter char #' into several definitions. % The technique used is stolen from LaTeX: let \hash be something % unexpandable, insert that wherever you need a #, and then redefine % it to # just before using the token list produced. % % The same technique is used to protect \eatspaces till just before % the macro is used. \def\parsemargdef#1;{\paramno=0\def\paramlist{}% \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,} \def\parsemargdefxxx#1,{% \if#1;\let\next=\relax \else \let\next=\parsemargdefxxx \advance\paramno by 1% \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname {\xeatspaces{\hash\the\paramno}}% \edef\paramlist{\paramlist\hash\the\paramno,}% \fi\next} % These two commands read recursive and nonrecursive macro bodies. % (They're different since rec and nonrec macros end differently.) \long\def\parsemacbody#1@end macro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% \long\def\parsermacbody#1@end rmacro% {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% % This defines the macro itself. There are six cases: recursive and % nonrecursive macros of zero, one, and many arguments. % Much magic with \expandafter here. % \xdef is used so that macro definitions will survive the file % they're defined in; @include reads the file inside a group. \def\defmacro{% \let\hash=##% convert placeholders to macro parameter chars \ifrecursive \ifcase\paramno % 0 \expandafter\xdef\csname\the\macname\endcsname{% \noexpand\scanmacro{\temp}}% \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \noexpand\braceorline \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup\noexpand\scanmacro{\temp}}% \else % many \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \noexpand\csname\the\macname xx\endcsname}% \expandafter\xdef\csname\the\macname xx\endcsname##1{% \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% \expandafter\expandafter \expandafter\xdef \expandafter\expandafter \csname\the\macname xxx\endcsname \paramlist{\egroup\noexpand\scanmacro{\temp}}% \fi \else \ifcase\paramno % 0 \expandafter\xdef\csname\the\macname\endcsname{% \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% \or % 1 \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \noexpand\braceorline \expandafter\noexpand\csname\the\macname xxx\endcsname}% \expandafter\xdef\csname\the\macname xxx\endcsname##1{% \egroup \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% \else % many \expandafter\xdef\csname\the\macname\endcsname{% \bgroup\noexpand\macroargctxt \expandafter\noexpand\csname\the\macname xx\endcsname}% \expandafter\xdef\csname\the\macname xx\endcsname##1{% \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% \expandafter\expandafter \expandafter\xdef \expandafter\expandafter \csname\the\macname xxx\endcsname \paramlist{% \egroup \noexpand\norecurse{\the\macname}% \noexpand\scanmacro{\temp}\egroup}% \fi \fi} \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} % \braceorline decides whether the next nonwhitespace character is a % {. If so it reads up to the closing }, if not, it reads the whole % line. Whatever was read is then fed to the next control sequence % as an argument (by \parsebrace or \parsearg) \def\braceorline#1{\let\next=#1\futurelet\nchar\braceorlinexxx} \def\braceorlinexxx{% \ifx\nchar\bgroup\else \expandafter\parsearg \fi \next} % We mant to disable all macros during \shipout so that they are not % expanded by \write. \def\turnoffmacros{\begingroup \def\do##1{\let\noexpand##1=\relax}% \edef\next{\macrolist}\expandafter\endgroup\next} % @alias. % We need some trickery to remove the optional spaces around the equal % sign. Just make them active and then expand them all to nothing. \def\alias{\begingroup\obeyspaces\parsearg\aliasxxx} \def\aliasxxx #1{\aliasyyy#1\relax} \def\aliasyyy #1=#2\relax{\ignoreactivespaces \edef\next{\global\let\expandafter\noexpand\csname#1\endcsname=% \expandafter\noexpand\csname#2\endcsname}% \expandafter\endgroup\next} \message{cross references,} % @xref etc. \newwrite\auxfile \newif\ifhavexrefs % True if xref values are known. \newif\ifwarnedxrefs % True if we warned once that they aren't known. % @inforef is relatively simple. \def\inforef #1{\inforefzzz #1,,,,**} \def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, node \samp{\ignorespaces#1{}}} % @node's job is to define \lastnode. \def\node{\ENVcheck\parsearg\nodezzz} \def\nodezzz#1{\nodexxx [#1,]} \def\nodexxx[#1,#2]{\gdef\lastnode{#1}} \let\nwnode=\node \let\lastnode=\relax % The sectioning commands (@chapter, etc.) call these. \def\donoderef{% \ifx\lastnode\relax\else \expandafter\expandafter\expandafter\setref{\lastnode}% {Ysectionnumberandtype}% \global\let\lastnode=\relax \fi } \def\unnumbnoderef{% \ifx\lastnode\relax\else \expandafter\expandafter\expandafter\setref{\lastnode}{Ynothing}% \global\let\lastnode=\relax \fi } \def\appendixnoderef{% \ifx\lastnode\relax\else \expandafter\expandafter\expandafter\setref{\lastnode}% {Yappendixletterandtype}% \global\let\lastnode=\relax \fi } % @anchor{NAME} -- define xref target at arbitrary point. % \newcount\savesfregister \gdef\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} \gdef\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} \gdef\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} % \setref{NAME}{SNT} defines a cross-reference point NAME, namely % NAME-title, NAME-pg, and NAME-SNT. Called from \foonoderef. We have % to set \indexdummies so commands such as @code in a section title % aren't expanded. It would be nicer not to expand the titles in the % first place, but there's so many layers that that is hard to do. % \def\setref#1#2{{% \indexdummies \pdfmkdest{#1}% \dosetq{#1-title}{Ytitle}% \dosetq{#1-pg}{Ypagenumber}% \dosetq{#1-snt}{#2}% }} % @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is % the node name, #2 the name of the Info cross-reference, #3 the printed % node name, #4 the name of the Info file, #5 the name of the printed % manual. All but the node name can be omitted. % \def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]} \def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]} \def\ref#1{\xrefX[#1,,,,,,,]} \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup \unsepspaces \def\printedmanual{\ignorespaces #5}% \def\printednodename{\ignorespaces #3}% \setbox1=\hbox{\printedmanual}% \setbox0=\hbox{\printednodename}% \ifdim \wd0 = 0pt % No printed node name was explicitly given. \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax % Use the node name inside the square brackets. \def\printednodename{\ignorespaces #1}% \else % Use the actual chapter/section title appear inside % the square brackets. Use the real section title if we have it. \ifdim \wd1 > 0pt % It is in another manual, so we don't have it. \def\printednodename{\ignorespaces #1}% \else \ifhavexrefs % We know the real title if we have the xref values. \def\printednodename{\refx{#1-title}{}}% \else % Otherwise just copy the Info node name. \def\printednodename{\ignorespaces #1}% \fi% \fi \fi \fi % % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not % insert empty discretionaries after hyphens, which means that it will % not find a line break at a hyphen in a node names. Since some manuals % are best written with fairly long node names, containing hyphens, this % is a loss. Therefore, we give the text of the node name again, so it % is as if TeX is seeing it for the first time. \ifpdf \leavevmode \getfilename{#4}% {\normalturnoffactive \ifnum\filenamelength>0 \startlink attr{/Border [0 0 0]}% goto file{\the\filename.pdf} name{#1}% \else \startlink attr{/Border [0 0 0]}% goto name{#1}% \fi }% \linkcolor \fi % \ifdim \wd1 > 0pt \putwordsection{} ``\printednodename'' \putwordin{} \cite{\printedmanual}% \else % _ (for example) has to be the character _ for the purposes of the % control sequence corresponding to the node, but it has to expand % into the usual \leavevmode...\vrule stuff for purposes of % printing. So we \turnoffactive for the \refx-snt, back on for the % printing, back off for the \refx-pg. {\normalturnoffactive % Only output a following space if the -snt ref is nonempty; for % @unnumbered and @anchor, it won't be. \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi }% % [mynode], [\printednodename],\space % page 3 \turnoffactive \putwordpage\tie\refx{#1-pg}{}% \fi \endlink \endgroup} % \dosetq is the interface for calls from other macros % Use \normalturnoffactive so that punctuation chars such as underscore % and backslash work in node names. (\turnoffactive doesn't do \.) \def\dosetq#1#2{% {\let\folio=0% \normalturnoffactive \edef\next{\write\auxfile{\internalsetq{#1}{#2}}}% \iflinks \next \fi }% } % \internalsetq {foo}{page} expands into % CHARACTERS 'xrdef {foo}{...expansion of \Ypage...} % When the aux file is read, ' is the escape character \def\internalsetq #1#2{'xrdef {#1}{\csname #2\endcsname}} % Things to be expanded by \internalsetq \def\Ypagenumber{\folio} \def\Ytitle{\thissection} \def\Ynothing{} \def\Ysectionnumberandtype{% \ifnum\secno=0 \putwordChapter\xreftie\the\chapno % \else \ifnum \subsecno=0 \putwordSection\xreftie\the\chapno.\the\secno % \else \ifnum \subsubsecno=0 % \putwordSection\xreftie\the\chapno.\the\secno.\the\subsecno % \else % \putwordSection\xreftie\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno % \fi \fi \fi } \def\Yappendixletterandtype{% \ifnum\secno=0 \putwordAppendix\xreftie'char\the\appendixno{}% \else \ifnum \subsecno=0 \putwordSection\xreftie'char\the\appendixno.\the\secno % \else \ifnum \subsubsecno=0 % \putwordSection\xreftie'char\the\appendixno.\the\secno.\the\subsecno % \else % \putwordSection\xreftie'char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno % \fi \fi \fi } \gdef\xreftie{'tie} % Use TeX 3.0's \inputlineno to get the line number, for better error % messages, but if we're using an old version of TeX, don't do anything. % \ifx\inputlineno\thisisundefined \let\linenumber = \empty % Non-3.0. \else \def\linenumber{\the\inputlineno:\space} \fi % Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME. % If its value is nonempty, SUFFIX is output afterward. \def\refx#1#2{% \expandafter\ifx\csname X#1\endcsname\relax % If not defined, say something at least. \angleleft un\-de\-fined\angleright \iflinks \ifhavexrefs \message{\linenumber Undefined cross reference `#1'.}% \else \ifwarnedxrefs\else \global\warnedxrefstrue \message{Cross reference values unknown; you must run TeX again.}% \fi \fi \fi \else % It's defined, so just use it. \csname X#1\endcsname \fi #2% Output the suffix in any case. } % This is the macro invoked by entries in the aux file. % \def\xrdef#1{\begingroup % Reenable \ as an escape while reading the second argument. \catcode`\\ = 0 \afterassignment\endgroup \expandafter\gdef\csname X#1\endcsname } % Read the last existing aux file, if any. No error if none exists. \def\readauxfile{\begingroup \catcode`\^^@=\other \catcode`\^^A=\other \catcode`\^^B=\other \catcode`\^^C=\other \catcode`\^^D=\other \catcode`\^^E=\other \catcode`\^^F=\other \catcode`\^^G=\other \catcode`\^^H=\other \catcode`\^^K=\other \catcode`\^^L=\other \catcode`\^^N=\other \catcode`\^^P=\other \catcode`\^^Q=\other \catcode`\^^R=\other \catcode`\^^S=\other \catcode`\^^T=\other \catcode`\^^U=\other \catcode`\^^V=\other \catcode`\^^W=\other \catcode`\^^X=\other \catcode`\^^Z=\other \catcode`\^^[=\other \catcode`\^^\=\other \catcode`\^^]=\other \catcode`\^^^=\other \catcode`\^^_=\other \catcode`\@=\other \catcode`\^=\other % It was suggested to define this as 7, which would allow ^^e4 etc. % in xref tags, i.e., node names. But since ^^e4 notation isn't % supported in the main text, it doesn't seem desirable. Furthermore, % that is not enough: for node names that actually contain a ^ % character, we would end up writing a line like this: 'xrdef {'hat % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first % argument, and \hat is not an expandable control sequence. It could % all be worked out, but why? Either we support ^^ or we don't. % % The other change necessary for this was to define \auxhat: % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter % and then to call \auxhat in \setq. % \catcode`\~=\other \catcode`\[=\other \catcode`\]=\other \catcode`\"=\other \catcode`\_=\other \catcode`\|=\other \catcode`\<=\other \catcode`\>=\other \catcode`\$=\other \catcode`\#=\other \catcode`\&=\other \catcode`+=\other % avoid \+ for paranoia even though we've turned it off % Make the characters 128-255 be printing characters {% \count 1=128 \def\loop{% \catcode\count 1=\other \advance\count 1 by 1 \ifnum \count 1<256 \loop \fi }% }% % The aux file uses ' as the escape (for now). % Turn off \ as an escape so we do not lose on % entries which were dumped with control sequences in their names. % For example, 'xrdef {$\leq $-fun}{page ...} made by @defun ^^ % Reference to such entries still does not work the way one would wish, % but at least they do not bomb out when the aux file is read in. \catcode`\{=1 \catcode`\}=2 \catcode`\%=\other \catcode`\'=0 \catcode`\\=\other % \openin 1 \jobname.aux \ifeof 1 \else \closein 1 \input \jobname.aux \global\havexrefstrue \global\warnedobstrue \fi % Open the new aux file. TeX will close it automatically at exit. \openout\auxfile=\jobname.aux \endgroup} % Footnotes. \newcount \footnoteno % The trailing space in the following definition for supereject is % vital for proper filling; pages come out unaligned when you do a % pagealignmacro call if that space before the closing brace is % removed. (Generally, numeric constants should always be followed by a % space to prevent strange expansion errors.) \def\supereject{\par\penalty -20000\footnoteno =0 } % @footnotestyle is meaningful for info output only. \let\footnotestyle=\comment \let\ptexfootnote=\footnote {\catcode `\@=11 % % Auto-number footnotes. Otherwise like plain. \gdef\footnote{% \global\advance\footnoteno by \@ne \edef\thisfootno{$^{\the\footnoteno}$}% % % In case the footnote comes at the end of a sentence, preserve the % extra spacing after we do the footnote number. \let\@sf\empty \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\/\fi % % Remove inadvertent blank space before typesetting the footnote number. \unskip \thisfootno\@sf \footnotezzz }% % Don't bother with the trickery in plain.tex to not require the % footnote text as a parameter. Our footnotes don't need to be so general. % % Oh yes, they do; otherwise, @ifset and anything else that uses % \parseargline fail inside footnotes because the tokens are fixed when % the footnote is read. --karl, 16nov96. % \long\gdef\footnotezzz{\insert\footins\bgroup % We want to typeset this text as a normal paragraph, even if the % footnote reference occurs in (for example) a display environment. % So reset some parameters. \interlinepenalty\interfootnotelinepenalty \splittopskip\ht\strutbox % top baseline for broken footnotes \splitmaxdepth\dp\strutbox \floatingpenalty\@MM \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip \parindent\defaultparindent % \smallfonts \rm % % Because we use hanging indentation in footnotes, a @noindent appears % to exdent this text, so make it be a no-op. makeinfo does not use % hanging indentation so @noindent can still be needed within footnote % text after an @example or the like (not that this is good style). \let\noindent = \relax % % Hang the footnote text off the number. Use \everypar in case the % footnote extends for more than one paragraph. \everypar = {\hang}% \textindent{\thisfootno}% % % Don't crash into the line above the footnote text. Since this % expands into a box, it must come within the paragraph, lest it % provide a place where TeX can split the footnote. \footstrut \futurelet\next\fo@t } \def\fo@t{\ifcat\bgroup\noexpand\next \let\next\f@@t \else\let\next\f@t\fi \next} \def\f@@t{\bgroup\aftergroup\@foot\let\next} \def\f@t#1{#1\@foot} \def\@foot{\strut\par\egroup} }%end \catcode `\@=11 % @| inserts a changebar to the left of the current line. It should % surround any changed text. This approach does *not* work if the % change spans more than two lines of output. To handle that, we would % have adopt a much more difficult approach (putting marks into the main % vertical list for the beginning and end of each change). % \def\|{% % \vadjust can only be used in horizontal mode. \leavevmode % % Append this vertical mode material after the current line in the output. \vadjust{% % We want to insert a rule with the height and depth of the current % leading; that is exactly what \strutbox is supposed to record. \vskip-\baselineskip % % \vadjust-items are inserted at the left edge of the type. So % the \llap here moves out into the left-hand margin. \llap{% % % For a thicker or thinner bar, change the `1pt'. \vrule height\baselineskip width1pt % % This is the space between the bar and the text. \hskip 12pt }% }% } % For a final copy, take out the rectangles % that mark overfull boxes (in case you have decided % that the text looks ok even though it passes the margin). % \def\finalout{\overfullrule=0pt} % @image. We use the macros from epsf.tex to support this. % If epsf.tex is not installed and @image is used, we complain. % % Check for and read epsf.tex up front. If we read it only at @image % time, we might be inside a group, and then its definitions would get % undone and the next image would fail. \openin 1 = epsf.tex \ifeof 1 \else \closein 1 % Do not bother showing banner with post-v2.7 epsf.tex (available in % doc/epsf.tex until it shows up on ctan). \def\epsfannounce{\toks0 = }% \input epsf.tex \fi % % We will only complain once about lack of epsf.tex. \newif\ifwarnednoepsf \newhelp\noepsfhelp{epsf.tex must be installed for images to work. It is also included in the Texinfo distribution, or you can get it from ftp://tug.org/tex/epsf.tex.} % \def\image#1{% \ifx\epsfbox\undefined \ifwarnednoepsf \else \errhelp = \noepsfhelp \errmessage{epsf.tex not found, images will be ignored}% \global\warnednoepsftrue \fi \else \imagexxx #1,,,,,\finish \fi } % % Arguments to @image: % #1 is (mandatory) image filename; we tack on .eps extension. % #2 is (optional) width, #3 is (optional) height. % #4 is (ignored optional) html alt text. % #5 is (ignored optional) extension. % #6 is just the usual extra ignored arg for parsing this stuff. \newif\ifimagevmode \def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup \catcode`\^^M = 5 % in case we're inside an example \normalturnoffactive % allow _ et al. in names % If the image is by itself, center it. \ifvmode \imagevmodetrue \nobreak\bigskip % Usually we'll have text after the image which will insert % \parskip glue, so insert it here too to equalize the space % above and below. \nobreak\vskip\parskip \nobreak \line\bgroup\hss \fi % % Output the image. \ifpdf \dopdfimage{#1}{#2}{#3}% \else % \epsfbox itself resets \epsf?size at each figure. \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi \epsfbox{#1.eps}% \fi % \ifimagevmode \hss \egroup \bigbreak \fi % space after the image \endgroup} \message{localization,} % and i18n. % @documentlanguage is usually given very early, just after % @setfilename. If done too late, it may not override everything % properly. Single argument is the language abbreviation. % It would be nice if we could set up a hyphenation file here. % \def\documentlanguage{\parsearg\dodocumentlanguage} \def\dodocumentlanguage#1{% \tex % read txi-??.tex file in plain TeX. % Read the file if it exists. \openin 1 txi-#1.tex \ifeof1 \errhelp = \nolanghelp \errmessage{Cannot read language file txi-#1.tex}% \let\temp = \relax \else \def\temp{\input txi-#1.tex }% \fi \temp \endgroup } \newhelp\nolanghelp{The given language definition file cannot be found or is empty. Maybe you need to install it? In the current directory should work if nowhere else does.} % @documentencoding should change something in TeX eventually, most % likely, but for now just recognize it. \let\documentencoding = \comment % Page size parameters. % \newdimen\defaultparindent \defaultparindent = 15pt \chapheadingskip = 15pt plus 4pt minus 2pt \secheadingskip = 12pt plus 3pt minus 2pt \subsecheadingskip = 9pt plus 2pt minus 2pt % Prevent underfull vbox error messages. \vbadness = 10000 % Don't be so finicky about underfull hboxes, either. \hbadness = 2000 % Following George Bush, just get rid of widows and orphans. \widowpenalty=10000 \clubpenalty=10000 % Use TeX 3.0's \emergencystretch to help line breaking, but if we're % using an old version of TeX, don't do anything. We want the amount of % stretch added to depend on the line length, hence the dependence on % \hsize. We call this whenever the paper size is set. % \def\setemergencystretch{% \ifx\emergencystretch\thisisundefined % Allow us to assign to \emergencystretch anyway. \def\emergencystretch{\dimen0}% \else \emergencystretch = .15\hsize \fi } % Parameters in order: 1) textheight; 2) textwidth; 3) voffset; % 4) hoffset; 5) binding offset; 6) topskip. We also call % \setleading{\textleading}, so the caller should define \textleading. % The caller should also set \parskip. % \def\internalpagesizes#1#2#3#4#5#6{% \voffset = #3\relax \topskip = #6\relax \splittopskip = \topskip % \vsize = #1\relax \advance\vsize by \topskip \outervsize = \vsize \advance\outervsize by 2\topandbottommargin \pageheight = \vsize % \hsize = #2\relax \outerhsize = \hsize \advance\outerhsize by 0.5in \pagewidth = \hsize % \normaloffset = #4\relax \bindingoffset = #5\relax % \setleading{\textleading} % \parindent = \defaultparindent \setemergencystretch } % Use `small' versions. % \def\smallenvironments{% \let\smalldisplay = \smalldisplayx \let\smallexample = \smalllispx \let\smallformat = \smallformatx \let\smalllisp = \smalllispx } % @letterpaper (the default). \def\letterpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt \textleading = 13.2pt % % If page is nothing but text, make it come out even. \internalpagesizes{46\baselineskip}{6in}{\voffset}{.25in}{\bindingoffset}{36pt}% }} % Use @smallbook to reset parameters for 7x9.5 (or so) format. \def\smallbook{{\globaldefs = 1 \parskip = 2pt plus 1pt \textleading = 12pt % \internalpagesizes{7.5in}{5.in}{\voffset}{.25in}{\bindingoffset}{16pt}% % \lispnarrowing = 0.3in \tolerance = 700 \hfuzz = 1pt \contentsrightmargin = 0pt \deftypemargin = 0pt \defbodyindent = .5cm \smallenvironments }} % Use @afourpaper to print on European A4 paper. \def\afourpaper{{\globaldefs = 1 \parskip = 3pt plus 2pt minus 1pt \textleading = 12pt % \internalpagesizes{53\baselineskip}{160mm}{\voffset}{4mm}{\bindingoffset}{44pt}% % \tolerance = 700 \hfuzz = 1pt }} % Use @afivepaper to print on European A5 paper. % From romildo@urano.iceb.ufop.br, 2 July 2000. % He also recommends making @example and @lisp be small. \def\afivepaper{{\globaldefs = 1 \parskip = 2pt plus 1pt minus 0.1pt \textleading = 12.5pt % \internalpagesizes{166mm}{120mm}{\voffset}{-8mm}{\bindingoffset}{8pt}% % \lispnarrowing = 0.2in \tolerance = 800 \hfuzz = 1.2pt \contentsrightmargin = 0mm \deftypemargin = 0pt \defbodyindent = 2mm \tableindent = 12mm % \smallenvironments }} % A specific text layout, 24x15cm overall, intended for A4 paper. Top margin % 29mm, hence bottom margin 28mm, nominal side margin 3cm. \def\afourlatex{{\globaldefs = 1 \textleading = 13.6pt % \afourpaper \internalpagesizes{237mm}{150mm}{3.6mm}{3.6mm}{3mm}{7mm}% % % Must explicitly reset to 0 because we call \afourpaper, apparently, % although this does not entirely make sense. \globaldefs = 0 }} % Use @afourwide to print on European A4 paper in wide format. \def\afourwide{% \afourpaper \internalpagesizes{6.5in}{9.5in}{\hoffset}{\normaloffset}{\bindingoffset}{7mm}% } % @pagesizes TEXTHEIGHT[,TEXTWIDTH] % Perhaps we should allow setting the margins, \topskip, \parskip, % and/or leading, also. Or perhaps we should compute them somehow. % \def\pagesizes{\parsearg\pagesizesxxx} \def\pagesizesxxx#1{\pagesizesyyy #1,,\finish} \def\pagesizesyyy#1,#2,#3\finish{{% \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi \globaldefs = 1 % \parskip = 3pt plus 2pt minus 1pt \setleading{\textleading}% % \internalpagesizes{#1}{\hsize}{\voffset}{\normaloffset}{\bindingoffset}{44pt}% }} % Set default to letter. % \letterpaper \message{and turning on texinfo input format.} % Define macros to output various characters with catcode for normal text. \catcode`\"=\other \catcode`\~=\other \catcode`\^=\other \catcode`\_=\other \catcode`\|=\other \catcode`\<=\other \catcode`\>=\other \catcode`\+=\other \catcode`\$=\other \def\normaldoublequote{"} \def\normaltilde{~} \def\normalcaret{^} \def\normalunderscore{_} \def\normalverticalbar{|} \def\normalless{<} \def\normalgreater{>} \def\normalplus{+} \def\normaldollar{$}%$ font-lock fix % This macro is used to make a character print one way in ttfont % where it can probably just be output, and another way in other fonts, % where something hairier probably needs to be done. % % #1 is what to print if we are indeed using \tt; #2 is what to print % otherwise. Since all the Computer Modern typewriter fonts have zero % interword stretch (and shrink), and it is reasonable to expect all % typewriter fonts to have this, we can check that font parameter. % \def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi} % Same as above, but check for italic font. Actually this also catches % non-italic slanted fonts since it is impossible to distinguish them from % italic fonts. But since this is only used by $ and it uses \sl anyway % this is not a problem. \def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi} % Turn off all special characters except @ % (and those which the user can use as if they were ordinary). % Most of these we simply print from the \tt font, but for some, we can % use math or other variants that look better in normal text. \catcode`\"=\active \def\activedoublequote{{\tt\char34}} \let"=\activedoublequote \catcode`\~=\active \def~{{\tt\char126}} \chardef\hat=`\^ \catcode`\^=\active \def^{{\tt \hat}} \catcode`\_=\active \def_{\ifusingtt\normalunderscore\_} % Subroutine for the previous macro. \def\_{\leavevmode \kern.06em \vbox{\hrule width.3em height.1ex}} \catcode`\|=\active \def|{{\tt\char124}} \chardef \less=`\< \catcode`\<=\active \def<{{\tt \less}} \chardef \gtr=`\> \catcode`\>=\active \def>{{\tt \gtr}} \catcode`\+=\active \def+{{\tt \char 43}} \catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix %\catcode 27=\active %\def^^[{$\diamondsuit$} % Set up an active definition for =, but don't enable it most of the time. {\catcode`\==\active \global\def={{\tt \char 61}}} \catcode`+=\active \catcode`\_=\active % If a .fmt file is being used, characters that might appear in a file % name cannot be active until we have parsed the command line. % So turn them off again, and have \everyjob (or @setfilename) turn them on. % \otherifyactive is called near the end of this file. \def\otherifyactive{\catcode`+=\other \catcode`\_=\other} \catcode`\@=0 % \rawbackslashxx output one backslash character in current font \global\chardef\rawbackslashxx=`\\ %{\catcode`\\=\other %@gdef@rawbackslashxx{\}} % \rawbackslash redefines \ as input to do \rawbackslashxx. {\catcode`\\=\active @gdef@rawbackslash{@let\=@rawbackslashxx }} % \normalbackslash outputs one backslash in fixed width font. \def\normalbackslash{{\tt\rawbackslashxx}} % \catcode 17=0 % Define control-q \catcode`\\=\active % Used sometimes to turn off (effectively) the active characters % even after parsing them. @def@turnoffactive{@let"=@normaldoublequote @let\=@realbackslash @let~=@normaltilde @let^=@normalcaret @let_=@normalunderscore @let|=@normalverticalbar @let<=@normalless @let>=@normalgreater @let+=@normalplus @let$=@normaldollar}%$ font-lock fix @def@normalturnoffactive{@let"=@normaldoublequote @let\=@normalbackslash @let~=@normaltilde @let^=@normalcaret @let_=@normalunderscore @let|=@normalverticalbar @let<=@normalless @let>=@normalgreater @let+=@normalplus @let$=@normaldollar}%$ font-lock fix % Make _ and + \other characters, temporarily. % This is canceled by @fixbackslash. @otherifyactive % If a .fmt file is being used, we don't want the `\input texinfo' to show up. % That is what \eatinput is for; after that, the `\' should revert to printing % a backslash. % @gdef@eatinput input texinfo{@fixbackslash} @global@let\ = @eatinput % On the other hand, perhaps the file did not have a `\input texinfo'. Then % the first `\{ in the file would cause an error. This macro tries to fix % that, assuming it is called before the first `\' could plausibly occur. % Also back turn on active characters that might appear in the input % file name, in case not using a pre-dumped format. % @gdef@fixbackslash{% @ifx\@eatinput @let\ = @normalbackslash @fi @catcode`+=@active @catcode`@_=@active } % Say @foo, not \foo, in error messages. @escapechar = `@@ % These look ok in all fonts, so just make them not special. @catcode`@& = @other @catcode`@# = @other @catcode`@% = @other @c Set initial fonts. @textfonts @rm @c Local variables: @c eval: (add-hook 'write-file-hooks 'time-stamp) @c page-delimiter: "^\\\\message" @c time-stamp-start: "def\\\\texinfoversion{" @c time-stamp-format: "%:y-%02m-%02d.%02H" @c time-stamp-end: "}" @c End: latex-mk-2.1/doc/latex-mk.texi100644 000144 000000 00000160515 11506455643 0011762\input texinfo @c -*-texinfo-*- @c $Id: latex-mk.texi,v 1.77 2010/12/28 21:50:27 dan Exp $ @c %**start of header @setfilename latex-mk.info @settitle LaTeX-Mk @setcontentsaftertitlepage @c %**end of header @include version.texi @include prefix.texi @dircategory LaTeX Project Tools @direntry * latex-mk: (latex-mk). Managing LaTeX documents @end direntry @ifinfo This file documents LaTeX-Mk-@value{VERSION} Copyright @copyright{} 2002, 2003, 2004, 2005, 2006, 2007, 2010 Dan McMahill @quotation This code is derived from software written by Dan McMahill This manual is derived from documentation written by Dan McMahill Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by Dan McMahill 4. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @end quotation @end ifinfo @titlepage @title LaTeX-Mk @subtitle For version @value{VERSION}, @value{UPDATED} @author Dan McMahill @page @vskip 0pt plus 1filll Copyright @copyright{} 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Dan McMahill @sp 2 @iftex @smallformat This code is derived from software written by Dan McMahill This manual is derived from documentation written by Dan McMahill Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by Dan McMahill 4. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @end smallformat @end iftex @end titlepage @c Define an index of targets. @defcodeindex tr @c Define an index of variables. @c @defcodeindex vn @ifnottex @node Top, Introduction, (dir), (dir) @comment node-name, next, previous, up @top LaTeX-Mk This file documents the LaTeX-Mk package. LaTeX-Mk is a collection of Makefile fragments and shell scripts for managing small to large sized LaTeX projects. This edition documents version @value{VERSION}. @end ifnottex @menu * Introduction:: LaTeX-Mk's purpose * Targets:: Available Targets * Variables:: Variables * HTML:: HTML Output Support * Recursive:: Using LaTeX-Mk Recursively * Obtaining:: How to get LaTeX-Mk * Installation:: How to configure and install LaTeX-Mk * Feedback:: How to contribute * Alternatives:: Other similar tools * History:: History * Target Index:: Target Index * Variable Index:: Variable Index * General Index:: @end menu @page @c @contents @node Introduction, Targets, Top, Top @chapter Introduction LaTeX-Mk is a tool for managing small to large sized LaTeX projects. The typical LaTeX-Mk input file is simply a series of variable definitions in a @file{Makefile} for the project. After creating a simple @file{Makefile} the user can easily perform all required steps to do such tasks as: preview the document, print the document, or produce a PDF file. LaTeX-Mk will keep track of files that have changed and how to run the various programs that are needed to produce the output. As a quick example, consider a project which has a single LaTeX file, @file{mydoc.tex}, as its input. To produce a @file{.pdf} file you might use the following sequence of commands: @example latex mydoc.tex latex mydoc.tex latex mydoc.tex dvips -Ppdf -j0 -o mydoc.ps mydoc.dvi ps2pdf mydoc.ps mydoc.pdf @end example The triple invocation of @samp{latex} is to ensure that all references have been properly resolved and any page layout changes due to inserting the references have been accounted for. The sequence of commands isn't horrible, but it still is several commands and one of them, @samp{dvips}, has some flags to remember. To use LaTeX-Mk for this project, you would create a @file{Makefile} that contains the following. @example NAME=mydoc include @value{PREFIX}/share/latex-mk/latex.gmk @end example @cindex make, differences between GNU and BSD @cindex GNU make, versus BSD make @cindex BSD make, versus GNU make @cindex include, Makefile syntax for Note that the @code{include @value{PREFIX}/share/latex-mk/latex.gmk} is the syntax for GNU @samp{make}. If you are using BSD @samp{make} you would replace the include line with @code{.include "@value{PREFIX}/share/latex-mk/latex.mk"}. In both examples, you would replace @code{@value{PREFIX}} with the installation prefix on your system. For the remainder of this document we will use the BSD style of include in the examples. Now to create a @file{.pdf} file you simply run @samp{make pdf}. For larger projects which may need to run programs to export drawings to Postscript files for inclusion or run BibTeX to generate bibliographies, the generation of @file{.pdf} (or other) files becomes increasingly complicated to run manually. With LaTeX-Mk, such operations are still very simple. As a more complicated example, consider a project whose LaTeX input is broken apart in to many @file{.tex} files which are all included by @file{mydoc.tex}. Also suppose the project includes a bibliography and a large number of figures created with the Tgif program. An example @file{Makefile} for this project might look like: @example NAME= mydoc TEXSRCS= ch1.tex ch2.tex ch3.tex refs.tex BIBTEXSRCS= mybib.bib TGIFDIRS= tgif_figs .include "@value{PREFIX}/share/latex-mk/latex.mk" @end example In this example is it assumed that all of the Tgif figures reside in a subdirectory called @file{tgif_figs}. When the user issues a @samp{make} command, all of the steps required to reformat the document are taken. Because of the dependency structure imposed by @samp{make}, only the steps which need to be taken are done. This avoids re-exporting a large number of figures which may have not changed, but ensures that files which need processing are processed. Hopefully this introduction has provided an adequate example for how LaTeX-Mk can simplify the management of LaTeX based documents. The LaTeX-Mk system is simple enough for small projects and powerful enough for large projects. The remainder of this manual will provide complete documentation on the use of LaTeX-Mk as well as configuration and installation instructions. @node Targets, Variables, Introduction, Top @chapter Targets LaTeX-Mk provides a fixed set of targets, the argument to the @samp{make} command, for all projects. The default target is @samp{view} whose ultimate goal is to provide an on-screen preview of the formatted document. For additional information on the @samp{make} program, please refer to the documentation for your copy of @samp{make}. @section Base Targets The targets provided by LaTeX-Mk are: @deffn Target clean @trindex clean Cleans the current working directory by removing all LaTeX output and other output files created during processing of the project. In addition, emacs @file{~} files are removed. @end deffn @deffn Target dist @trindex dist Creates a @file{.tar.gz} file containing an archive of the project. It contains the source files and additionally some generated files which are generated with tools which someone else may not have installed. For example, any tgif drawings are included both in tgif @file{.obj} form as well as encapsulated Postscript (or PDF if you are using pdflatex). For a multiple document project, a master @file{.tar.gz} file is created containing the entire project as well as smaller @file{.tar.gz} files for each document. @end deffn @deffn Target dvi @trindex dvi Performs all processing required to produce the @file{.dvi} file for the project. @end deffn @deffn Target html @trindex html Performs all processing required to produce HTML output for the project. @end deffn @deffn Target pdf @trindex pdf Performs all processing required to produce a PDF (Portable Document Format) file, @file{.pdf}, for the project. @end deffn @deffn Target print @trindex print Sends the processed document to the printer. @end deffn @deffn Target ps @trindex ps Performs all processing required to produce a Postscript file, @file{.ps}, for the project. @end deffn @deffn Target rtf @trindex rtf Performs all processing required to produce a RTF (Rich Text Format) file, @file{.rtf}, for the project. Please note that the ability of LaTex to RTF converters to work correctly is somewhat limited. Your mileage may vary. @end deffn @deffn Target show-var @trindex show-var This target is used to help debug users Makefiles as well as the LaTeX-Mk system. This target displays the value of the variable whose name is given by the variable VARNAME. For example: @example make show-var VARNAME=TEXSRCS @end example will display the value of the @code{TEXSRCS} variable. @end deffn @deffn Target view @trindex view Previews the @file{.dvi} file. @end deffn @deffn Target viewpdf @trindex viewpdf Previews the PDF (@file{.pdf}) file. @end deffn @deffn Target viewps @trindex viewps Previews the Postscript (@file{.ps}) file. @end deffn @section Draft Targets LaTeX-Mk supports adding a DRAFT watermark and timestamp for the Postscript, PDF, and printed output. To produce the draft versions, simply append @code{-draft} to the target. The currently supported draft targets are: @deffn Target pdf-draft @trindex pdf-draft Draft version of the @code{pdf} target. @end deffn @deffn Target ps-draft @trindex ps-draft Draft version of the @code{ps} target. @end deffn @deffn Target print-draft @trindex print-draft Draft version of the @code{print} target. @end deffn @deffn Target viewpdf-draft @trindex viewpdf-draft Draft version of the @code{viewpdf} target. @end deffn @deffn Target viewps-draft @trindex viewps-draft Draft version of the @code{viewps} target. @end deffn @section Per Document Targets LaTeX-Mk supports multiple top level documents in a single directory controlled by a single makefile. For each top level document specified in the @code{NAME} variable (more on variables later), there will be a set of targets defined which are specific to the document. The per document targets are: @deffn Target print_ @trindex print_ Prints the Postscript file @file{.ps}. @end deffn @deffn Target view_ @trindex view_ Previews the DVI file @file{.dvi}. @end deffn @deffn Target viewpdf_ @trindex viewpdf_ Previews the PDF file @file{.pdf}. @end deffn @deffn Target viewps_ @trindex viewps_ Previews the Postscript file @file{.ps}. @end deffn In addition, draft versions of these targets exist: @deffn Target print_-draft @trindex print_-draft Draft version of the @code{print_} target. @end deffn @deffn Target ps_-draft @trindex ps_-draft Draft version of the @code{ps_} target. @end deffn @deffn Target view_-draft @trindex view_-draft Draft version of the @code{view_} target. @end deffn @deffn Target viewpdf_-draft @trindex viewpdf_-draft Draft version of the @code{viewpdf_} target. @end deffn @deffn Target viewps_-draft @trindex viewps_-draft Draft version of the @code{viewps_} target. @end deffn @node Variables, HTML, Targets, Top @chapter Variables The variables used by LaTeX-Mk can be categorized roughly into two groups. The first set of variables are typically set during the installation of LaTeX-Mk and these defaults used for all projects. These variables can be overridden on a per-user or per-project basis for maximum flexibility. The second set of variables are set by the user on a per-project basis. @section Site Configuration Variables This section documents the variables which are typically set on a site-wide or user-wide basis. @subsection Site and User Configuration File @defvar MAKECONF This variable is set to the location of the site-wide configuration file. If this file exists, it is sourced at the beginning of the LaTeX-Mk code. Default is @file{$@{sysconfdir@}/latek-mk.conf} for BSD make and @file{$@{sysconfdir@}/latex-gmk.conf} for GNU make. This is where system administrators can set system wide configuration variables. Any variables defined here should be defined using @code{VARIABLE?= "new value"} instead of @code{VARIABLE= "new value"} so that individual users can easily override the setting. The default setting may be changed during configuration of the package using the @code{--with-mkconf} and @code{--with-gmkconf} flags to @code{configure}. The @code{sysconfdir} directory can be specified to @code{configure} with the @code{--sysconfdir=} option. @end defvar @defvar USER_MAKECONF This variable is set to the location of a users personal configuration file. If this file exists, it is sourced at the beginning of the LaTeX-Mk code. Default is @file{$HOME/.latex-mk.conf} for BSD make and @file{$HOME/.latex-gmk.conf} for GNU make. This file is sourced before the file specified by @code{MAKECONF}. The default setting may be changed during configuration of the package using the @code{--with-usermkconf} and @code{--with-usergmkconf} flags to @code{configure}. @end defvar @subsection Generic Project Variables This section documents the variables which are typically set on a site-wide or user-wide basis. In a typical installation these variables do not need to be explicitly set as they will take on reasonable defaults. @defvar BIBTEX The bibtex executible. Defaults to @samp{bibtex}. @end defvar @defvar BIBTEX_ENV Deprecated. Actually this variable did not work correctly anyway. Use LATEX_ENV to set variables for both LaTeX and bibTeX runs. @end defvar @defvar BIBTEX_FLAGS A list of flags to be passed to the BIBTEX executible. Defaults to @samp{}. @end defvar @defvar CONVERT The image file format conversion executible which is part of the ImageMagick (@url{http://imagemagick.org/}) suite. Defaults to @samp{convert}. @end defvar @defvar DVIPDFM The executible which produces PDF files from @file{.dvi} files. Defaults to @samp{dvipdfm}. Note that the default behavior is to use DVIPS to produce Postscript and then PS2PDF to produce a PDF file. To use DVIPDFM to directly produce PDF from DVI, set the USE_DVIPDFM variable. @end defvar @defvar DVIPDFM_ENV A list of variables to be set in the environment when DVIPDFM is executed. Defaults to @samp{}. @end defvar @defvar DVIPDFM_FLAGS A list of flags to be passed to the DVIPDFM executible. Defaults to @samp{}. To set flags on a per-document basis, you can use @code{_DVIPDFM_FLAGS} where @code{} is the name of the document. @end defvar @defvar DVIPDFM_LANDSCAPE_FLAGS A list of flags to be added to DVIPDFM_FLAGS when the LANDSCAPE variable is set. Defaults to @samp{-l}. @end defvar @defvar DVIPS The executible which produces Postscript files from @file{.dvi} files. Defaults to @samp{dvips}. @end defvar @defvar DVIPS_ENV A list of variables to be set in the environment when DVIPS is executed. Defaults to @samp{}. @end defvar @defvar DVIPS_FLAGS A list of flags to be passed to the DVIPS executible. Defaults to @samp{-j0}. Note: versions of latex-mk prior to 1.2 used @samp{-Ppdf -j0} as the default. If you wish to maintain this behavior on latex-mk-1.2 and newer, you will need to set this variable in your site or user configuration file. To set flags on a per-document basis, you can use @code{_DVIPS_FLAGS} where @code{} is the name of the document. @end defvar @defvar DVIPS_LANDSCAPE_FLAGS A list of flags to be added to DVIPS_FLAGS when the LANDSCAPE variable is set. Defaults to @samp{-t landscape}. @end defvar @defvar GV The executible which previews Postscript files. Defaults to @samp{gv}. @end defvar @defvar GV_FLAGS A list of flags to be passed to the GV executible. Defaults to @samp{}. @end defvar @defvar GV_LANDSCAPE_FLAGS A list of flags to be added to GV_FLAGS when the LANDSCAPE variable is set. Defaults to @samp{-landscape}. @end defvar @defvar GZCAT The gzcat file decompression utility. Defaults to @samp{gzcat}. @end defvar @defvar GZIP The gzip file compression utility. Defaults to @samp{gzip}. @end defvar @defvar HEVEA The Hevea executible. Defaults to @samp{hevea}. @end defvar @defvar HEVEA_ENV A list of variables to be set in the environment when HEVEA or IMAGEN is run. For example: @example HEVEA_ENV+= TEXINPUTS=.:/home/usr/tex: @end example Defaults to @samp{}. @end defvar @defvar HEVEA_FLAGS A list of flags to be passed to the HEVEA executible. Defaults to @samp{-fix}. @end defvar @defvar IMAGEN The imagen executible (part of HeVeA). Defaults to @samp{imagen}. @end defvar @defvar JPG2EPS The command to convert a JPEG file to an Encapsulated Postscript (EPS) file. Defaults to @samp{$@{CONVERT@}}. @end defvar @defvar LATEX The LaTeX executible. Defaults to @samp{latex}. @end defvar @defvar LATEX_ENV A list of variables to be set in the environment when LATEX is run. For example: @example LATEX_ENV+= TEXINPUTS=.:/home/usr/tex: @end example Defaults to @samp{}. @end defvar @defvar LATEX_FLAGS A list of flags to be passed to the LATEX executible. Defaults to @samp{}. @end defvar @defvar LATEX2HTML The LaTex2HTML executible. Defaults to @samp{latex2html}. @end defvar @defvar LATEX2HTML_ENV A list of variables to be set in the environment when LATEX2HTML is run. For example: @example LATEX2HTML_ENV+= TEXINPUTS=.:/home/usr/tex: @end example Defaults to @samp{}. @end defvar @defvar LATEX2HTML_FLAGS A list of flags to be passed to the LATEX2HTML executible. Defaults to @samp{-image_type png -local_icons -show_section_numbers}. @end defvar @defvar LATEX2RTF The LaTex2rtf executible. Defaults to @samp{latex2rtf}. @end defvar @defvar LATEX2RTF_ENV A list of variables to be set in the environment when LATEX2RTF is run. @end defvar @defvar LATEX2RTF_FLAGS A list of flags to be passed to the LATEX2RTF executible. Defaults to @samp{}. @end defvar @defvar LPR The executible which spools Postscript files to a printer. Defaults to @samp{lpr}. @end defvar @defvar LPR_FLAGS A list of flags to be passed to the LPR executible. For example: @example LPR_FLAGS= -Pbeernuts @end example Defaults to @samp{}. @end defvar @defvar MAKEGLS The executible used to make glossaries. Defaults to @samp{makeindex}. @end defvar @defvar MAKEGLS_FLAGS A list of flags to be passed to the MAKEGLS executible. Defaults to @samp{}. @end defvar @defvar MAKEIDX The makeindex executible. Defaults to @samp{makeindex}. @end defvar @defvar MAKEIDX_FLAGS A list of flags to be passed to the MAKEIDX executible. Defaults to @samp{}. @end defvar @defvar MPOST The METApost executible. Defaults to @samp{mpost}. @end defvar @defvar MPOST_FLAGS A list of flags to be passed to the MPOST executible. Defaults to @samp{}. @end defvar @defvar PDFLATEX The PDFLaTeX executible. Defaults to @samp{pdflatex}. @end defvar @defvar PDFLATEX_ENV A list of variables to be set in the environment when PDFLATEX is run. For example: @example PDFLATEX_ENV+= TEXINPUTS=.:/home/usr/tex: @end example Defaults to @samp{}. @end defvar @defvar PDFLATEX_FLAGS A list of flags to be passed to the PDFLATEX executible. Defaults to @samp{}. @end defvar @defvar PNG2EPS The command to convert a Portable Network Graphic (PNG) file to an Encapsulated Postscript (EPS) file. Defaults to @samp{$@{CONVERT@}}. @end defvar @defvar POST_BIBTEX_HOOK If this variable is set to the name of an executible, then LaTeX-Mk will run this program/script immediately after a BibTeX run. This hook provides the ability to do post-processing of the BibTeX output prior to the final LaTeX run(s). This feature is likely to be of interest to advanced users only. The program/script is run in the same environment as specified by LATEX_ENV and is given the project name as an argument. For example if your @file{Makefile} contains @example NAME= mydoc POST_BIBTEX_HOOK= ./my_bib_fixup @end example then the after BibTeX is run, @samp{./my_bib_fixup mydoc} will be run. POST_BIBTEX_HOOK defaults to @samp{}. @end defvar @defvar PS2PDF The executible which produces PDF (@file{.pdf}) files from Postscript (@file{.ps}) files. Defaults to @samp{ps2pdf}. @end defvar @defvar PS2PDF_FLAGS A list of flags to be passed to the PS2PDF executible. Defaults to @samp{}. @end defvar @defvar TAR The tar tape archiver utility. Defaults to @samp{tar}. @end defvar @defvar TEX2PAGE The tex2page executible. Defaults to @samp{tex2page}. @end defvar @defvar TEX2PAGE_ENV A list of variables to be set in the environment when TEX2PAGE is run. For example: @example TEX2PAGE_ENV+= TEXINPUTS=.:/home/usr/tex: @end example Defaults to @samp{}. @end defvar @defvar TEX2PAGE_FLAGS A list of flags to be passed to the TEX2PAGE executible. Defaults to @samp{}. @end defvar @defvar USE_DVIPDFM When set, this variable causes the DVIPDFM program to be used to directly generate @file{.pdf} files from the @file{.dvi} files instead of using DVIPS to generate a Postscript file and then PS2PDF to convert the Postscript to PDF. Please note that the use of this option currently precludes the generation of the -draft versions of PDF files. @end defvar @defvar USE_HEVEA When set, this variable causes the HEVEA program to be used to generate HTML output. @end defvar @defvar USE_LATEX2HTML When set, this variable causes the LATEX2HTML program to be used to generate HTML output. @end defvar @defvar USE_PDFLATEX When set, this variable causes the PDFLATEX program to be used to directly generate @file{.pdf} files from the @file{.tex} files instead of using LATEX to generate a @file{.dvi} file, DVIPS to generate a Postscript file and then PS2PDF to convert the Postscript to PDF. Please note that the use of this option currently precludes the generation of the -draft versions of PDF files. @end defvar @defvar USE_TEX2PAGE When set, this variable causes the TEX2PAGE program to be used to generate HTML output. @end defvar @defvar VIEWPDF The executible which previews @file{.pdf} files. Defaults to @samp{gv}. @end defvar @defvar VIEWPDF_FLAGS A list of flags to be passed to the VIEWPDF executible. Defaults to @samp{}. @end defvar @defvar VIEWPDF_LANDSCAPE_FLAGS A list of flags to be added to VIEWPDF_FLAGS when the LANDSCAPE variable is set. Defaults to @samp{-landscape}. @end defvar @defvar XDVI The executible which previews @file{.dvi} files. Defaults to @samp{xdvi}. @end defvar @defvar XDVI_FLAGS A list of flags to be passed to the XDVI executible. Defaults to @samp{}. @end defvar @defvar XDVI_LANDSCAPE_FLAGS A list of flags to be added to XDVI_FLAGS when the LANDSCAPE variable is set. Defaults to @samp{-paper usr}. @end defvar @subsection Lgrind Site Configuration Variables This section documents the variables related to lgrind source code processing. Lgrind is a source code formatter which takes source code files in various programming languages and formats them for inclusion in a LaTeX document. @defvar LGRIND The lgrind executible used for formatting source code for inclusion into a LaTeX document. Defaults to @samp{lgrind}. @end defvar @defvar LGRIND_FLAGS A list of flags to be passed to the LGRIND executible. For example: @example LGRIND_FLAGS= -i -t 4 -d /my/private/lgrindef @end example Defaults to @samp{-i}. @end defvar @subsection Tgif Site Configuration Variables This section documents the variables related to Tgif file processing. Tgif (@url{http://bourbon.usc.edu:8001/tgif/tgif.html}) is a nice vector drawing program which works well with LaTeX. Please note that LaTeX-Mk requires that all Tgif files use the extension @file{.obj}. @defvar TGIF The tgif executible. Defaults to @samp{tgif}. @end defvar @defvar TGIF_FLAGS A list of flags to be passed to the TGIF executible to cause it to print to a file. These flags will be used for both PDF and EPS export. Defaults to @samp{-color -print}. @end defvar @defvar TGIF_EPS_FLAGS A list of flags to be passed to the TGIF executible when exporting to an encapsulated Postscript, @file{.eps}, file. Defaults to @samp{-eps}. @end defvar @defvar TGIF_PDF_FLAGS A list of flags to be passed to the TGIF executible when exporting to a PDF, @file{.pdf}, file. Defaults to @samp{-pdf}. @end defvar @subsection Xfig Site Configuration Variables This section documents the variables related to Xfig file processing. Please note that LaTeX-Mk requires that all Xfig files use the extension @file{.fig}. @defvar FIG2DEV The executible which can convert xfig @file{.fig} files to encapsulated Postscript @file{.eps} files. Defaults to @code{fig2dev}. @end defvar @defvar FIG2DEV_FLAGS A list of flags to be passed to the FIG2DEV executible to cause it to print to a file. These flags will be used for both PDF and EPS export. Defaults to @samp{}. @end defvar @defvar FIG2DEV_EPS_FLAGS A list of flags to be passed to the FIG2DEV executible when exporting to an encapsulated Postscript, @file{.eps}, file. Defaults to @samp{-L eps}. @end defvar @defvar FIG2DEV_PDF_FLAGS A list of flags to be passed to the FIG2DEV executible when exporting to a PDF, @file{.pdf}, file. Defaults to @samp{-L pdf}. @end defvar @section Per-Project Variables This section documents variables which can be set in project Makefiles to accommodate other dependencies which may be added. @subsection Required Variables Every project must define the @code{NAME} variable. @defvar NAME Name of the project. The top level LaTeX input file is assumed to be called @file{.tex}. For projects which have multiple documents, you would list the top level name for each document here. For example, if you have a single document, @file{mydoc}, you would use @example NAME= mydoc @end example and if you have multiple documents, @file{mydoc1}, @file{mydoc2}, and @file{mydoc3}, you would use @example NAME= mydoc1 mydoc2 mydoc3 @end example @end defvar @subsection Generic Variables The variables described in this section affect all of the top level documents listed in the @code{NAME} variable. This is useful for listing common dependencies like a header or style file used by all documents. To list dependencies which are specific to one of the top level documents, you can use the variable @code{_} where @code{} is the name of the document and @code{} is the name of the variable. For example, @example NAME= doc1 doc2 TEXSRCS= header.tex doc1_TEXSRCS= intro1.tex body1.tex conclusions.tex @end example defines a project with two top level documents, @code{doc1} and @code{doc2}. Both documents depend on @file{header.tex} and in addition, @code{doc1} depends on @file{intro1.tex}, @file{body1.tex}, and @code{conclusions.tex}. More information on the @code{TEXSRCS} variable is given later. @defvar BIBTEXSRCS All files listed in this variable are assumed to be BibTeX input files. Listing files in this variable will cause a dependency to be added to the top level project and BibTeX will be run on these files as needed. @end defvar @defvar CLEAN_FILES Files listed in this variable will be removed when the @code{clean} target is made. When setting this variable in a @file{Makefile}, the @code{+=} syntax should be used to append to this variable. For example: @example CLEAN_FILES+= my_leftover_file foo.bak @end example will add @file{my_leftover_file} and @file{foo.bak} to the list of files to be removed when @samp{make clean} is run. @end defvar @defvar EXTRA_DIST Files listed in this variable will be added to the archive file created with the @code{dist} target. @example EXTRA_DIST+= README.txt @end example @end defvar @defvar OTHER Files listed in this variable will be added to the dependency list for the @file{.dvi} file. For example if you want to add all @file{.eps} and @file{.epsi} files in a particular directory as well as some @file{.png} files from another directory to the dependency list, then using BSD make, you could add: @cindex make, differences between GNU and BSD @cindex GNU make, versus BSD make @cindex BSD make, versus GNU make @cindex wildcard, Makefile syntax for @example OTHER_EPS!= ls eps/*.eps* OTHER+= $(OTHER_EPS) OTHER_PNG!= ls png/*.png OTHER+= $(OTHER_PNG:.png=.eps) CLEAN_FILES+= $(OTHER_PNG:.png=.eps) @end example If you are using GNU make, you would use @example OTHER_EPS= $(wildcard eps/*.eps*) OTHER+= $(OTHER_EPS) OTHER_PNG= $(wildcard png/*.png) OTHER+= $(OTHER_PNG:.png=.eps) CLEAN_FILES+= $(OTHER_PNG:.png=.eps) @end example @end defvar @defvar TEXSRCS All files listed in this variable are assumed to be LaTeX input files. Listing files in this variable will cause a dependency to be added to the top level project. All LaTeX files used in the project should be listed in this variable with the exception of the top level LaTeX file which is automatically included by LaTeX-Mk. @end defvar @subsection Per-Project Lgrind Variables @defvar LGRINDSRCS All files listed in this variable are assumed to be source code files to be processed by lgrind. Listing files in this variable will cause a dependency to be added to the top level project and will cause these files to be automatically re-formatted as required. @end defvar @defvar LGRINDDIRS A list of directories containing source code can be listed in this variable. All files found in those directories which have extensions will be formated using lgrind. Files without a @file{.*} extension will be ignored. These files will be added to the top level dependency list and will be automatically re-formatted as required. @end defvar @defvar foo_LGRIND_FLAGS This variable sets specific flags which should be passed to lgrind when processing the source file @file{foo}. For example, @example mymodule.v_LGRIND_FLAGS= -lverilog @end example If @file{foo} is a directory which has been listed in LGRINDDIRS, then foo_LGRIND_FLAGS will be used for all files in the specified directory. You can define flags for an entire directory and then override it for a single file if needed. For example, suppose you want to use 4 as the tab width for all sources in the directory @file{srcs} except for @file{srcs/funny.c} where you want to use a tab width of 8. You would achieve this with @example srcs_LGRIND_FLAGS= -t 4 srcs/funny.c_LGRIND_FLAGS= -t 8 @end example @end defvar @subsection Per-Project META-post Variables @defvar MPOSTSRCS All files listed in this variable are assumed to be META-post @file{.mp} files. Listing files in this variable will cause a dependency to be added to the top level project and will cause these files to be automatically re-exported to Postscript and/or PDF as required. @end defvar @defvar MPOSTDIRS A list of directories containing META-post figured can be listed in this variable. All @file{.mp} files found in those directories are assumed to be META-post @file{.mp} files. These files will be added to the top level dependency list and will be automatically re-exported to Postscript and/or PDF as required. @end defvar @defvar MPOST_TWICE By default META-post is run once for each of its input files. Setting this variable will cause META-post to run twice on each input file. Some figures may require this and I haven't figured out if there is a way to automatically make this determination like there is with LaTeX. @end defvar @subsection Per-Project Tgif Variables @defvar TGIFSRCS All files listed in this variable are assumed to be tgif @file{.obj} files. Listing files in this variable will cause a dependency to be added to the top level project and will cause these files to be automatically re-exported to Postscript as required. @end defvar @defvar TGIFDIRS A list of directories containing tgif drawings can be listed in this variable. All @file{.obj} files found in those directories are assumed to be tgif @file{.obj} files. These files will be added to the top level dependency list and will be automatically re-exported to Postscript as required. @end defvar @subsection Per-Project Xfig Variables @defvar XFIGSRCS All files listed in this variable are assumed to be xfig @file{.fig} files. Listing files in this variable will cause a dependency to be added to the top level project and will cause these files to be automatically re-exported to Postscript as required. @end defvar @defvar XFIGDIRS A list of directories containing xfig drawings can be listed in this variable. All @file{.fig} files found in those directories are assumed to be xfig @file{.fig} files. These files will be added to the top level dependency list and will be automatically re-exported to Postscript as required. @end defvar @node HTML, Recursive, Variables, Top @chapter HTML Output LaTeX-Mk includes support for generating HTML output. Currently Latex2HTML (see @url{http://www.latex2html.org}), HeVeA (see @url{http://para.inria.fr/~maranget/hevea/}), or tex2page (see @url{http://www.ccs.neu.edu/home/dorai/tex2page/}) can be used for producing an HTML version of your document. The selection of which program to use is done with the USE_HEVEA, USE_LATEX2HTML, and USE_TEX2PAGE variables. Simply define one of these in your @file{$@{sysconfdir@}/latex-mk.conf} file (for site-wide configuration) or @file{$HOME/.latex-mk.conf} (for per-user configuration). If you are using GNU make, the variable would be set in @file{$@{sysconfdir@}/latex-gmk.conf} or @file{$HOME/.latex-gmk.conf} instead. You can also override this setting in your project @file{Makefile}. For example, to use Latex2HTML, add @example USE_LATEX2HTML= yes @end example to your configuration file or to your project @file{Makefile}. To generate HTML output, simply run @samp{make html}. The HTML output along with any image files will be placed in a subdirectory called @file{$@{NAME@}.html_dir}. For example, if you have a project with two top level documents, your @file{Makefile} might look like: @example NAME= doc1 doc2 .include "/usr/pkg/share/latex-mk/latex.mk" @end example After running @samp{make html}, you will have two new subdirectories called @file{doc1.html_dir} and @file{doc2.html_dir} containing HTML versions of the two documents. To keep track of which files have been generated during the conversion, a temporary file, @file{$@{NAME@}.www_files} gets created and all generated files are recorded there. This allows the output produced by HeVeA to be moved to the correct subdirectory as well as allowing @samp{make clean} to work. The HTML generation is still new and there are probably some bugs to work out. Please submit bug reports. There are also some features which may be useful that have not been integrated. For example the program @file{hacha} could be used for breaking the HeVeA output into several smaller files. @node Recursive, Obtaining, HTML, Top @chapter Using LaTeX-Mk Recursively In some cases you may wish to organize multiple documents into their own subdirectories but still be able to build all of them with a single make call. This is supported in LaTeX-Mk via the use of the @file{latex.subdir.mk} makefile fragment. To use recursion, create a @file{Makefile}, in your top level directory which looks something like the following example. @example SUBDIR+= project1 SUBDIR+= project2 SUBDIR+= project3 .include "@value{PREFIX}/share/latex-mk/latex.subdir.mk" @end example Now create your usual LaTeX-Mk Makefiles in the @file{project1}, @file{project2}, and @file{project3} subdirectories. Additional subdirectories are added to the @code{SUBDIR} variable. Multiple levels of subdirectories make be used. Please note that currently the use of both @file{latex.mk} and @file{latex.subdir.mk} in a single Makefile is not supported. @node Obtaining, Installation, Recursive, Top @chapter Obtaining LaTeX-Mk The latest information and version of LaTeX-Mk can be found on the main LaTeX-Mk web site at @url{http://latex-mk.sourceforge.net}. A package for the NetBSD operating system (see @url{http://www.NetBSD.org} for information about NetBSD) exists at @url{ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc/print/latex-mk/README.html}. A port for the FreeBSD operating system (see @url{http://www.FreeBSD.org} for information about FreeBSD) exists at @url{http://www.freshports.org/misc/latex-mk}. @node Installation, Feedback, Obtaining, Top @comment node-name, next, previous, up @chapter Installing LaTeX-Mk @section System Requirements To configure and install LaTeX-Mk, you will need a Unix-like operating system or shell with a compatible make program. In addition, to use LaTeX-Mk, you will require: @enumerate @item @code{latex}. The development of LaTeX-Mk was done using Thomas Esser's @TeX{} distribution, teTeX, version 1.0.7. More information on teTeX can be found at @url{http://www.tug.org/tetex/}. @item Either GNU make version 3.80 or higher or a BSD make program. For information on GNU make, see @url{http://www.gnu.org/software/make/}. For information on the NetBSD operating system (which of course includes BSD make), see @url{http://www.netbsd.org}. If you wish to install BSD make on a non-BSD system, you can try downloading one of the bmake snapshots from files area of the LaTeX-Mk sourceforge project page at @url{http://www.sourceforge.net/projects/latex-mk}. The GNU make version requirement is firm. LaTeX-Mk will not work with versions of GNU make prior to 3.80. It is highly unlikely that LaTeX-Mk will be ported to older GNU make versions due to the lack of some important features in older versions. @end enumerate @section Installation Installation of LaTeX-Mk consists of three steps: configuration, building, and installing. In a typical installation, this is as simple as @example ./configure make make install @end example This will configure LaTeX-Mk with the defaults, create the final files to be installed, and install them in the proper location. The @file{configure} script is a standard GNU autoconf script. The most common option is the @samp{--prefix=} option. This causes LaTeX-Mk to use @code{} as the base directory for the installation. Running @code{configure --help} will give a list of the available configuration options. The ones which are specific to LaTeX-Mk, as opposed to being generic configure options are listed here. @code{--with-mkconf=}: this option changes the default system configuration file for BSD make. This file defaults to @file{$@{sysconfdir@}/latex-mk.conf}. @code{--with-gmkconf=}: this option changes the default system configuration file for GNU make. This file defaults to @file{$@{sysconfdir@}/latex-gmk.conf}. @code{--with-usermkconf=}: this option changes the default user configuration file for BSD make. This file defaults to @file{$HOME/.latex-mk.conf}. @code{--with-usergmkconf=}: this option changes the default user configuration file for GNU make. This file defaults to @file{$HOME/.latex-gmk.conf}. @node Feedback, Alternatives, Installation, Top @chapter Feedback @comment node-name, next, previous, up @cindex BUGS, reporting @cindex Reporting BUGS @cindex E-mail, bug reports To report bugs, provide feedback, suggest new features, etc. visit the LaTeX-Mk Project management page at @url{http://www.sourceforge.net/projects/latex-mk} or send email to the author at @email{danmc@@users.sourceforge.net}. For information on the current version of LaTeX-Mk, visit the LaTeX-Mk homepage at @url{http://latex-mk.sourceforge.net}. @node Alternatives, History, Feedback, Top @chapter Alternatives @cindex alternatives to LaTeX-Mk There are a few tools which are somewhat similar to LaTeX-Mk. I have not reviewed them in any detail and thus am unable to comment on how similar or different they are compared to LaTeX-Mk. @enumerate @item "mk" @url{http://www.servalys.nl/scripts/} @end enumerate @comment node-name, next, previous, up @node History, Target Index, Alternatives, Top @chapter History @section The Dark Ages In the beginning I used a WYSIWYG word processor from a large software vendor in the Pacific Northwest of the US. It worked for short papers, it was horrible for medium to long documents, painful for equations, and painful for figures. Then I learned LaTeX and life was much much better. @section The Giant Per-Project Makefile In graduate school, a friend showed me a makefile he had set up for his thesis. It contained all sorts of targets and some intelligence about running LaTeX multiple times for resolving references. I made a modified version of that for my thesis and even wrote a book where I used yet another modified version of that makefile. This approach was much better than doing everything by hand because I had added a lot of functionality over my friends makefile. In particular, my new makefile automatically dealt with tgif figures and I had many many figures in the thesis and the book. Despite the utility of the large customized makefile I had, it was not maintainable in the sense that every time I started a new document, I'd end up with another copy of a very large makefile to maintain. If I fixed a bug in one, I'd have several other documents in progress which needed updating. @section Enter LaTeX-Mk For those of you familiar with the build system used by the BSD operating systems, you'll know that for each program, there is a very simple makefile which lists the source files along with a couple of other variables which can optionally be set. Then a system makefile called @file{bsd.prog.mk} is included. That included makefile fragment has all the code required to provide all the standard targets, sets up the various compiler flags and correctly handles all the dependencies. It is maintainable because the bulk of the code is common and only needs to be maintained in one place. Being inspired by the BSD style makefile approach, I converted my most up to date giant per-project makefile into an @code{include}-able makefile fragment and spent some time defining the interface a bit more generically than I'd done in the past. Since that time I've used the result, LaTeX-Mk, for the last few documents at school, some papers I've worked on since then and also for work related documentation. So far, the makefile framework has proven to be very useful and a big time saver for me. Since I believe in open-source software I felt it was appropriate to document my efforts and provide a packaged solution that others could also use. @section The Modern Era of LaTeX-Mk @c ******************************************************** @c ********************** VERSION 0.9 ********************* @c ******************************************************** @subsection Version 0.9 Released on 2002-10-09, this was the first public release of LaTeX-Mk. My reason for using 0.9 instead of 1.0 is that LaTeX-Mk had not been tested or used much by others yet. Even though it works well for me, as with any product I'm sure others will quickly find other ways to use it that I had not anticipated. My goal is to collect feedback over the first few months of public consumption and come out with a 1.0 version which incorporates the primary improvements. @c ******************************************************** @c ********************** VERSION 0.9.1 ******************* @c ******************************************************** @subsection Version 0.9.1 This is a bug fix version released on 2002-10-29. The significant changes over the previous version are: @itemize @bullet @item Per-document Xfig dependencies are now supported. This was an oversight in the previous version. @item A big non-portable GNU make hack has been removed. Starting with this @cindex GNU make, version required version of LaTeX-Mk, you will need version 3.80 or newer of GNU make (run @code{gmake --version} to check your GNU make version) if you are using the GNU make interface to LaTeX-Mk. The new implementation is much cleaner and should continue to work with all newer versions of GNU make. @item The history section of the manual was added. @end itemize @c ******************************************************** @c ********************** VERSION 1.0 ********************* @c ******************************************************** @subsection Version 1.0 This is the long awaited 1.0 release! Hopefully LaTeX-Mk can be considered production/stable at this point. This release was made on 2003-02-26. The significant changes/additions over the previous version are: @itemize @bullet @item Support for dvipdfm (see @url{http://gaspra.kettering.edu/dvipdfm}) is included. By setting the USE_DVIPDFM variable, the @code{dvipdfm} program can be used to generate @file{.pdf} files from the @file{.dvi} file generated by LaTeX. @item Support for PDFLaTeX is included. By setting the USE_PDFLATEX variable, the @code{pdflatex} program can be used to generate @file{.pdf} files directly from the TeX sources. @item A testsuite is now included. This has resulted in the fixing of a handful of small bugs and should greatly contribute to the reliability and stability of this tool. @item Bugs related to processing multiple directories listed in TGIFDIRS and XFIGDIRS have been fixed. @item Bugs related to per-project processing of foo_TGIFDIRS and foo_XFIGDIRS have been fixed. @item A bug in @code{latex-mk} relating to BibTeX has been fixed. Previously, after a BibTeX run, @code{latex-mk} failed to run LaTeX the correct number of times. @end itemize @c ******************************************************** @c ********************** VERSION 1.1 ********************* @c ******************************************************** @subsection Version 1.1 This is the "HTML Support" release. Version 1.1 was released on 2003-06-15. The significant changes/additions over the previous version are: @itemize @bullet @item Support for HTML output. Either LaTeX2HTML or HeVeA may be used. @item Fixed a bug where bibtex was not run sometimes when it needed to be run. This problem showed up with some versions of LaTeX. @item Added a POST_BIBTEX_HOOK variable which specifies a program to be run after a BibTeX run. This gives users the ability to insert an additional processing step if desired. @end itemize @c ******************************************************** @c ********************** VERSION 1.2 ********************* @c ******************************************************** @subsection Version 1.2 Version 1.2 was released on 2004-03-21. The significant changes/additions over the previous version are: @itemize @bullet @item Fixed a bug which prevented the POST_BIBTEX_HOOK hook from actually doing anything. @item Dropped -Ppdf from the default DVIPS_FLAGS. Users who wish to keep -Ppdf as part of DVIPS_FLAGS can add it to the site configuration file, user configuration file, or project Makefile. @item Added DVIPDFM_ENV variable for running @code{dvipdfm} inside a customized environment. @item Preliminary Rich Text Format (RTF) output support. The new @code{rtf} target will use @code{latex2rtf} to produce an RTF version of your document. Use this when sending your documents to the text-formatter-challenged. @item Fixed a bug where a list of figures, list of tables, and table of contents were sometimes not fully up to date in the final output. @item Added support for using ImageMagick to convert JPEG and PNG files to EPS for inclusion in a document. @end itemize @c ******************************************************** @c ********************** VERSION 1.3 ********************* @c ******************************************************** @subsection Version 1.3 Version 1.3 was released on 2004-05-29. The significant changes/additions over the previous version are: @itemize @bullet @item Fixed a bug which prevented BibTeX from being run in the case where the source document did not have explicit \cite@{@} commands but rather used \nocite@{@}. Bug report #927068. @item Fixed some file names in the examples/ directory to avoid a file name clash on file systems which are not case sensitive. This should fix a long standing bug where latex-mk would not build under cygwin. Bug report #946216. @end itemize @c ******************************************************** @c ********************** VERSION 1.4 ********************* @c ******************************************************** @subsection Version 1.4 Version 1.4 was released on 2005-10-04. The significant changes/additions over the previous version are: @itemize @bullet @item Added support for lgrind. @item Added a @code{dist} target for creating a distribution archive of all source files. @item Added support for using tex2page for html output. @item When using pdflatex, directly convert tgif and xfig drawings to PDF instead of to encapsulated Postscript. @item When using pdflatex, do not create @file{.dvi} files as part of the default target. @item Added a LANDSCAPE variable which when set will add landscape flags to various tools. @item Make the default flag for exporting xfig drawings to encapsulated Postscript be @code{-L eps} instead of @code{-L ps}. @end itemize @c ******************************************************** @c ********************** VERSION 1.5 ********************* @c ******************************************************** @subsection Version 1.5 @itemize @bullet @item When using tex2page or HeVeA for html output, do not force the running of LaTeX. With latex2html, LaTeX will still be run because latex2html makes use of the @file{.aux} files generated by LaTeX. @item Fixed a bug where if the BibTeX input file was modified LaTeX would be run again but not BibTeX. @item Added a @code{--tex2page} mode for @code{latex-mk} (the script) which allows @code{latex-mk} to run tex2page the appropriate number of times to resolves all references. @item Improve the cleaning of tex2page generated output. @item Added @file{latex.subdir.mk} to support recursive builds. @end itemize @c ******************************************************** @c ********************** VERSION 1.6 ********************* @c ******************************************************** @subsection Version 1.6 @itemize @bullet @item Fix a syntax error in the (not used yet) ieee-copyout script. @item Fix a bug in the @code{latex-mk} script when BibTeX is used. @item Add quoting of command names in the BSD makefiles. This will properly deal with pathnames to the programs which contain spaces. Currently GNU make will not properly deal with this. @end itemize @c ******************************************************** @c ********************** VERSION 1.7 ********************* @c ******************************************************** @subsection Version 1.7 @itemize @bullet @item Added support for makeindex. Suggested by Antoine Reilles who provided a preliminary patch. @item Added a @code{--help} flag to the @code{latex-mk} script and documented the script a bit more there. It seems that some users are using the @code{latex-mk} script only and not the makefile system. Suggested by Reuben Thomas. @item Added the ability in the @code{latex-mk} script to work with a read only current directory and use the TEXMFOUTPUT environment variable to control where the real output goes. Suggested by Reuben Thomas. @end itemize @c ******************************************************** @c ********************** VERSION 1.8 ********************* @c ******************************************************** @subsection Version 1.8 @itemize @bullet @item Fix a syntax error in the @code{latex-mk} script which showed up with some shells. @item Fix a bug in the @code{latex-mk} script where some of the @file{.old} files that are used for determining when to re-run various tools were not being cleaned up properly. @item Add a few more files which latex and makeindex may generate to the list of files removed by the @code{clean} target. @item Add a testsuite entry for the @code{clean} target. @item Improve the makefile testsuite robustness. In particular it now deals with the bmake program having different names (make, bmake, bsdmake, etc). @item Improve and expand the testsuite for the @code{latex-mk} script. @end itemize @c ******************************************************** @c ********************** VERSION 1.9 ********************* @c ******************************************************** @subsection Version 1.9 @itemize @bullet @item Added support for per-document DVIPS_FLAGS and DVIPDFM_FLAGS. @item Avoided the use of hardcoded csh in some scripts. @item Removed claims of a BIBTEX_ENV variable in the documentation. It didn't do anything. @item Added METAPOST support. @item Fixed a bug when using BibTeX and PDFLaTeX at the same time. @item Added glossary support. @item Fixed a bug with GNU make draft output. @item Put the actual installation prefix into the manual. @item Avoid a case which caused the testsuite to hang. @item Expanded the testsuite and fixed some bugs in the testsuite. @item Fix a bug in cleaning xfig and tgif output. @end itemize @c ******************************************************** @c ********************** VERSION 1.9.1 ******************* @c ******************************************************** @subsection Version 1.9.1 @itemize @bullet @item Fixed a bug in the @code{clean} target when METAPOST is in use. @end itemize @c ******************************************************** @c ********************** VERSION 2.0 ********************* @c ******************************************************** @subsection Version 2.0 @itemize @bullet @item Added support for the bibunits LaTeX package. @item Fixed a bug where PDFLATEX_FLAGS was not being properly passed down to the latex-mk script when bibtex was in use. @item Fixed a bug where exporting Xfig figures to PDF actually produced postscript instead of PDF. @end itemize @c ******************************************************** @c ********************** VERSION 2.1 ********************* @c ******************************************************** @subsection Version 2.1 @itemize @bullet @item Fixed a bug in the quoting of lgrind related variables. The result is that the clean target didn't quite work right. @item Improved quoting in the latex-mk script to better handle the case of a file name with spaces in it. @end itemize @c ******************************************************** @c ******************* end of history ********************* @c ******************************************************** @page @node Target Index, Variable Index, History, Top @unnumbered Target Index @printindex tr @page @node Variable Index, General Index, Target Index, Top @unnumbered Variable Index @printindex vr @page @node General Index, , Variable Index, Top @unnumbered General Index @printindex cp @bye latex-mk-2.1/doc/latex-mk.info100644 000144 000000 00000170112 11506463271 0011732This is latex-mk.info, produced by makeinfo version 4.8 from latex-mk.texi. INFO-DIR-SECTION LaTeX Project Tools START-INFO-DIR-ENTRY * latex-mk: (latex-mk). Managing LaTeX documents END-INFO-DIR-ENTRY This file documents LaTeX-Mk-2.1 Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2010 Dan McMahill This code is derived from software written by Dan McMahill This manual is derived from documentation written by Dan McMahill Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by Dan McMahill 4. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  File: latex-mk.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir) LaTeX-Mk ******** This file documents the LaTeX-Mk package. LaTeX-Mk is a collection of Makefile fragments and shell scripts for managing small to large sized LaTeX projects. This edition documents version 2.1. * Menu: * Introduction:: LaTeX-Mk's purpose * Targets:: Available Targets * Variables:: Variables * HTML:: HTML Output Support * Recursive:: Using LaTeX-Mk Recursively * Obtaining:: How to get LaTeX-Mk * Installation:: How to configure and install LaTeX-Mk * Feedback:: How to contribute * Alternatives:: Other similar tools * History:: History * Target Index:: Target Index * Variable Index:: Variable Index * General Index::  File: latex-mk.info, Node: Introduction, Next: Targets, Prev: Top, Up: Top 1 Introduction ************** LaTeX-Mk is a tool for managing small to large sized LaTeX projects. The typical LaTeX-Mk input file is simply a series of variable definitions in a `Makefile' for the project. After creating a simple `Makefile' the user can easily perform all required steps to do such tasks as: preview the document, print the document, or produce a PDF file. LaTeX-Mk will keep track of files that have changed and how to run the various programs that are needed to produce the output. As a quick example, consider a project which has a single LaTeX file, `mydoc.tex', as its input. To produce a `.pdf' file you might use the following sequence of commands: latex mydoc.tex latex mydoc.tex latex mydoc.tex dvips -Ppdf -j0 -o mydoc.ps mydoc.dvi ps2pdf mydoc.ps mydoc.pdf The triple invocation of `latex' is to ensure that all references have been properly resolved and any page layout changes due to inserting the references have been accounted for. The sequence of commands isn't horrible, but it still is several commands and one of them, `dvips', has some flags to remember. To use LaTeX-Mk for this project, you would create a `Makefile' that contains the following. NAME=mydoc include /usr/local/share/latex-mk/latex.gmk Note that the `include /usr/local/share/latex-mk/latex.gmk' is the syntax for GNU `make'. If you are using BSD `make' you would replace the include line with `.include "/usr/local/share/latex-mk/latex.mk"'. In both examples, you would replace `/usr/local' with the installation prefix on your system. For the remainder of this document we will use the BSD style of include in the examples. Now to create a `.pdf' file you simply run `make pdf'. For larger projects which may need to run programs to export drawings to Postscript files for inclusion or run BibTeX to generate bibliographies, the generation of `.pdf' (or other) files becomes increasingly complicated to run manually. With LaTeX-Mk, such operations are still very simple. As a more complicated example, consider a project whose LaTeX input is broken apart in to many `.tex' files which are all included by `mydoc.tex'. Also suppose the project includes a bibliography and a large number of figures created with the Tgif program. An example `Makefile' for this project might look like: NAME= mydoc TEXSRCS= ch1.tex ch2.tex ch3.tex refs.tex BIBTEXSRCS= mybib.bib TGIFDIRS= tgif_figs .include "/usr/local/share/latex-mk/latex.mk" In this example is it assumed that all of the Tgif figures reside in a subdirectory called `tgif_figs'. When the user issues a `make' command, all of the steps required to reformat the document are taken. Because of the dependency structure imposed by `make', only the steps which need to be taken are done. This avoids re-exporting a large number of figures which may have not changed, but ensures that files which need processing are processed. Hopefully this introduction has provided an adequate example for how LaTeX-Mk can simplify the management of LaTeX based documents. The LaTeX-Mk system is simple enough for small projects and powerful enough for large projects. The remainder of this manual will provide complete documentation on the use of LaTeX-Mk as well as configuration and installation instructions.  File: latex-mk.info, Node: Targets, Next: Variables, Prev: Introduction, Up: Top 2 Targets ********* LaTeX-Mk provides a fixed set of targets, the argument to the `make' command, for all projects. The default target is `view' whose ultimate goal is to provide an on-screen preview of the formatted document. For additional information on the `make' program, please refer to the documentation for your copy of `make'. 2.1 Base Targets ================ The targets provided by LaTeX-Mk are: -- Target: clean Cleans the current working directory by removing all LaTeX output and other output files created during processing of the project. In addition, emacs `~' files are removed. -- Target: dist Creates a `.tar.gz' file containing an archive of the project. It contains the source files and additionally some generated files which are generated with tools which someone else may not have installed. For example, any tgif drawings are included both in tgif `.obj' form as well as encapsulated Postscript (or PDF if you are using pdflatex). For a multiple document project, a master `.tar.gz' file is created containing the entire project as well as smaller `.tar.gz' files for each document. -- Target: dvi Performs all processing required to produce the `.dvi' file for the project. -- Target: html Performs all processing required to produce HTML output for the project. -- Target: pdf Performs all processing required to produce a PDF (Portable Document Format) file, `.pdf', for the project. -- Target: print Sends the processed document to the printer. -- Target: ps Performs all processing required to produce a Postscript file, `.ps', for the project. -- Target: rtf Performs all processing required to produce a RTF (Rich Text Format) file, `.rtf', for the project. Please note that the ability of LaTex to RTF converters to work correctly is somewhat limited. Your mileage may vary. -- Target: show-var This target is used to help debug users Makefiles as well as the LaTeX-Mk system. This target displays the value of the variable whose name is given by the variable VARNAME. For example: make show-var VARNAME=TEXSRCS will display the value of the `TEXSRCS' variable. -- Target: view Previews the `.dvi' file. -- Target: viewpdf Previews the PDF (`.pdf') file. -- Target: viewps Previews the Postscript (`.ps') file. 2.2 Draft Targets ================= LaTeX-Mk supports adding a DRAFT watermark and timestamp for the Postscript, PDF, and printed output. To produce the draft versions, simply append `-draft' to the target. The currently supported draft targets are: -- Target: pdf-draft Draft version of the `pdf' target. -- Target: ps-draft Draft version of the `ps' target. -- Target: print-draft Draft version of the `print' target. -- Target: viewpdf-draft Draft version of the `viewpdf' target. -- Target: viewps-draft Draft version of the `viewps' target. 2.3 Per Document Targets ======================== LaTeX-Mk supports multiple top level documents in a single directory controlled by a single makefile. For each top level document specified in the `NAME' variable (more on variables later), there will be a set of targets defined which are specific to the document. The per document targets are: -- Target: print_ Prints the Postscript file `.ps'. -- Target: view_ Previews the DVI file `.dvi'. -- Target: viewpdf_ Previews the PDF file `.pdf'. -- Target: viewps_ Previews the Postscript file `.ps'. In addition, draft versions of these targets exist: -- Target: print_-draft Draft version of the `print_' target. -- Target: ps_-draft Draft version of the `ps_' target. -- Target: view_-draft Draft version of the `view_' target. -- Target: viewpdf_-draft Draft version of the `viewpdf_' target. -- Target: viewps_-draft Draft version of the `viewps_' target.  File: latex-mk.info, Node: Variables, Next: HTML, Prev: Targets, Up: Top 3 Variables *********** The variables used by LaTeX-Mk can be categorized roughly into two groups. The first set of variables are typically set during the installation of LaTeX-Mk and these defaults used for all projects. These variables can be overridden on a per-user or per-project basis for maximum flexibility. The second set of variables are set by the user on a per-project basis. 3.1 Site Configuration Variables ================================ This section documents the variables which are typically set on a site-wide or user-wide basis. 3.1.1 Site and User Configuration File -------------------------------------- -- Variable: MAKECONF This variable is set to the location of the site-wide configuration file. If this file exists, it is sourced at the beginning of the LaTeX-Mk code. Default is `${sysconfdir}/latek-mk.conf' for BSD make and `${sysconfdir}/latex-gmk.conf' for GNU make. This is where system administrators can set system wide configuration variables. Any variables defined here should be defined using `VARIABLE?= "new value"' instead of `VARIABLE= "new value"' so that individual users can easily override the setting. The default setting may be changed during configuration of the package using the `--with-mkconf' and `--with-gmkconf' flags to `configure'. The `sysconfdir' directory can be specified to `configure' with the `--sysconfdir=' option. -- Variable: USER_MAKECONF This variable is set to the location of a users personal configuration file. If this file exists, it is sourced at the beginning of the LaTeX-Mk code. Default is `$HOME/.latex-mk.conf' for BSD make and `$HOME/.latex-gmk.conf' for GNU make. This file is sourced before the file specified by `MAKECONF'. The default setting may be changed during configuration of the package using the `--with-usermkconf' and `--with-usergmkconf' flags to `configure'. 3.1.2 Generic Project Variables ------------------------------- This section documents the variables which are typically set on a site-wide or user-wide basis. In a typical installation these variables do not need to be explicitly set as they will take on reasonable defaults. -- Variable: BIBTEX The bibtex executible. Defaults to `bibtex'. -- Variable: BIBTEX_ENV Deprecated. Actually this variable did not work correctly anyway. Use LATEX_ENV to set variables for both LaTeX and bibTeX runs. -- Variable: BIBTEX_FLAGS A list of flags to be passed to the BIBTEX executible. Defaults to `'. -- Variable: CONVERT The image file format conversion executible which is part of the ImageMagick (`http://imagemagick.org/') suite. Defaults to `convert'. -- Variable: DVIPDFM The executible which produces PDF files from `.dvi' files. Defaults to `dvipdfm'. Note that the default behavior is to use DVIPS to produce Postscript and then PS2PDF to produce a PDF file. To use DVIPDFM to directly produce PDF from DVI, set the USE_DVIPDFM variable. -- Variable: DVIPDFM_ENV A list of variables to be set in the environment when DVIPDFM is executed. Defaults to `'. -- Variable: DVIPDFM_FLAGS A list of flags to be passed to the DVIPDFM executible. Defaults to `'. To set flags on a per-document basis, you can use `_DVIPDFM_FLAGS' where `' is the name of the document. -- Variable: DVIPDFM_LANDSCAPE_FLAGS A list of flags to be added to DVIPDFM_FLAGS when the LANDSCAPE variable is set. Defaults to `-l'. -- Variable: DVIPS The executible which produces Postscript files from `.dvi' files. Defaults to `dvips'. -- Variable: DVIPS_ENV A list of variables to be set in the environment when DVIPS is executed. Defaults to `'. -- Variable: DVIPS_FLAGS A list of flags to be passed to the DVIPS executible. Defaults to `-j0'. Note: versions of latex-mk prior to 1.2 used `-Ppdf -j0' as the default. If you wish to maintain this behavior on latex-mk-1.2 and newer, you will need to set this variable in your site or user configuration file. To set flags on a per-document basis, you can use `_DVIPS_FLAGS' where `' is the name of the document. -- Variable: DVIPS_LANDSCAPE_FLAGS A list of flags to be added to DVIPS_FLAGS when the LANDSCAPE variable is set. Defaults to `-t landscape'. -- Variable: GV The executible which previews Postscript files. Defaults to `gv'. -- Variable: GV_FLAGS A list of flags to be passed to the GV executible. Defaults to `'. -- Variable: GV_LANDSCAPE_FLAGS A list of flags to be added to GV_FLAGS when the LANDSCAPE variable is set. Defaults to `-landscape'. -- Variable: GZCAT The gzcat file decompression utility. Defaults to `gzcat'. -- Variable: GZIP The gzip file compression utility. Defaults to `gzip'. -- Variable: HEVEA The Hevea executible. Defaults to `hevea'. -- Variable: HEVEA_ENV A list of variables to be set in the environment when HEVEA or IMAGEN is run. For example: HEVEA_ENV+= TEXINPUTS=.:/home/usr/tex: Defaults to `'. -- Variable: HEVEA_FLAGS A list of flags to be passed to the HEVEA executible. Defaults to `-fix'. -- Variable: IMAGEN The imagen executible (part of HeVeA). Defaults to `imagen'. -- Variable: JPG2EPS The command to convert a JPEG file to an Encapsulated Postscript (EPS) file. Defaults to `${CONVERT}'. -- Variable: LATEX The LaTeX executible. Defaults to `latex'. -- Variable: LATEX_ENV A list of variables to be set in the environment when LATEX is run. For example: LATEX_ENV+= TEXINPUTS=.:/home/usr/tex: Defaults to `'. -- Variable: LATEX_FLAGS A list of flags to be passed to the LATEX executible. Defaults to `'. -- Variable: LATEX2HTML The LaTex2HTML executible. Defaults to `latex2html'. -- Variable: LATEX2HTML_ENV A list of variables to be set in the environment when LATEX2HTML is run. For example: LATEX2HTML_ENV+= TEXINPUTS=.:/home/usr/tex: Defaults to `'. -- Variable: LATEX2HTML_FLAGS A list of flags to be passed to the LATEX2HTML executible. Defaults to `-image_type png -local_icons -show_section_numbers'. -- Variable: LATEX2RTF The LaTex2rtf executible. Defaults to `latex2rtf'. -- Variable: LATEX2RTF_ENV A list of variables to be set in the environment when LATEX2RTF is run. -- Variable: LATEX2RTF_FLAGS A list of flags to be passed to the LATEX2RTF executible. Defaults to `'. -- Variable: LPR The executible which spools Postscript files to a printer. Defaults to `lpr'. -- Variable: LPR_FLAGS A list of flags to be passed to the LPR executible. For example: LPR_FLAGS= -Pbeernuts Defaults to `'. -- Variable: MAKEGLS The executible used to make glossaries. Defaults to `makeindex'. -- Variable: MAKEGLS_FLAGS A list of flags to be passed to the MAKEGLS executible. Defaults to `'. -- Variable: MAKEIDX The makeindex executible. Defaults to `makeindex'. -- Variable: MAKEIDX_FLAGS A list of flags to be passed to the MAKEIDX executible. Defaults to `'. -- Variable: MPOST The METApost executible. Defaults to `mpost'. -- Variable: MPOST_FLAGS A list of flags to be passed to the MPOST executible. Defaults to `'. -- Variable: PDFLATEX The PDFLaTeX executible. Defaults to `pdflatex'. -- Variable: PDFLATEX_ENV A list of variables to be set in the environment when PDFLATEX is run. For example: PDFLATEX_ENV+= TEXINPUTS=.:/home/usr/tex: Defaults to `'. -- Variable: PDFLATEX_FLAGS A list of flags to be passed to the PDFLATEX executible. Defaults to `'. -- Variable: PNG2EPS The command to convert a Portable Network Graphic (PNG) file to an Encapsulated Postscript (EPS) file. Defaults to `${CONVERT}'. -- Variable: POST_BIBTEX_HOOK If this variable is set to the name of an executible, then LaTeX-Mk will run this program/script immediately after a BibTeX run. This hook provides the ability to do post-processing of the BibTeX output prior to the final LaTeX run(s). This feature is likely to be of interest to advanced users only. The program/script is run in the same environment as specified by LATEX_ENV and is given the project name as an argument. For example if your `Makefile' contains NAME= mydoc POST_BIBTEX_HOOK= ./my_bib_fixup then the after BibTeX is run, `./my_bib_fixup mydoc' will be run. POST_BIBTEX_HOOK defaults to `'. -- Variable: PS2PDF The executible which produces PDF (`.pdf') files from Postscript (`.ps') files. Defaults to `ps2pdf'. -- Variable: PS2PDF_FLAGS A list of flags to be passed to the PS2PDF executible. Defaults to `'. -- Variable: TAR The tar tape archiver utility. Defaults to `tar'. -- Variable: TEX2PAGE The tex2page executible. Defaults to `tex2page'. -- Variable: TEX2PAGE_ENV A list of variables to be set in the environment when TEX2PAGE is run. For example: TEX2PAGE_ENV+= TEXINPUTS=.:/home/usr/tex: Defaults to `'. -- Variable: TEX2PAGE_FLAGS A list of flags to be passed to the TEX2PAGE executible. Defaults to `'. -- Variable: USE_DVIPDFM When set, this variable causes the DVIPDFM program to be used to directly generate `.pdf' files from the `.dvi' files instead of using DVIPS to generate a Postscript file and then PS2PDF to convert the Postscript to PDF. Please note that the use of this option currently precludes the generation of the -draft versions of PDF files. -- Variable: USE_HEVEA When set, this variable causes the HEVEA program to be used to generate HTML output. -- Variable: USE_LATEX2HTML When set, this variable causes the LATEX2HTML program to be used to generate HTML output. -- Variable: USE_PDFLATEX When set, this variable causes the PDFLATEX program to be used to directly generate `.pdf' files from the `.tex' files instead of using LATEX to generate a `.dvi' file, DVIPS to generate a Postscript file and then PS2PDF to convert the Postscript to PDF. Please note that the use of this option currently precludes the generation of the -draft versions of PDF files. -- Variable: USE_TEX2PAGE When set, this variable causes the TEX2PAGE program to be used to generate HTML output. -- Variable: VIEWPDF The executible which previews `.pdf' files. Defaults to `gv'. -- Variable: VIEWPDF_FLAGS A list of flags to be passed to the VIEWPDF executible. Defaults to `'. -- Variable: VIEWPDF_LANDSCAPE_FLAGS A list of flags to be added to VIEWPDF_FLAGS when the LANDSCAPE variable is set. Defaults to `-landscape'. -- Variable: XDVI The executible which previews `.dvi' files. Defaults to `xdvi'. -- Variable: XDVI_FLAGS A list of flags to be passed to the XDVI executible. Defaults to `'. -- Variable: XDVI_LANDSCAPE_FLAGS A list of flags to be added to XDVI_FLAGS when the LANDSCAPE variable is set. Defaults to `-paper usr'. 3.1.3 Lgrind Site Configuration Variables ----------------------------------------- This section documents the variables related to lgrind source code processing. Lgrind is a source code formatter which takes source code files in various programming languages and formats them for inclusion in a LaTeX document. -- Variable: LGRIND The lgrind executible used for formatting source code for inclusion into a LaTeX document. Defaults to `lgrind'. -- Variable: LGRIND_FLAGS A list of flags to be passed to the LGRIND executible. For example: LGRIND_FLAGS= -i -t 4 -d /my/private/lgrindef Defaults to `-i'. 3.1.4 Tgif Site Configuration Variables --------------------------------------- This section documents the variables related to Tgif file processing. Tgif (`http://bourbon.usc.edu:8001/tgif/tgif.html') is a nice vector drawing program which works well with LaTeX. Please note that LaTeX-Mk requires that all Tgif files use the extension `.obj'. -- Variable: TGIF The tgif executible. Defaults to `tgif'. -- Variable: TGIF_FLAGS A list of flags to be passed to the TGIF executible to cause it to print to a file. These flags will be used for both PDF and EPS export. Defaults to `-color -print'. -- Variable: TGIF_EPS_FLAGS A list of flags to be passed to the TGIF executible when exporting to an encapsulated Postscript, `.eps', file. Defaults to `-eps'. -- Variable: TGIF_PDF_FLAGS A list of flags to be passed to the TGIF executible when exporting to a PDF, `.pdf', file. Defaults to `-pdf'. 3.1.5 Xfig Site Configuration Variables --------------------------------------- This section documents the variables related to Xfig file processing. Please note that LaTeX-Mk requires that all Xfig files use the extension `.fig'. -- Variable: FIG2DEV The executible which can convert xfig `.fig' files to encapsulated Postscript `.eps' files. Defaults to `fig2dev'. -- Variable: FIG2DEV_FLAGS A list of flags to be passed to the FIG2DEV executible to cause it to print to a file. These flags will be used for both PDF and EPS export. Defaults to `'. -- Variable: FIG2DEV_EPS_FLAGS A list of flags to be passed to the FIG2DEV executible when exporting to an encapsulated Postscript, `.eps', file. Defaults to `-L eps'. -- Variable: FIG2DEV_PDF_FLAGS A list of flags to be passed to the FIG2DEV executible when exporting to a PDF, `.pdf', file. Defaults to `-L pdf'. 3.2 Per-Project Variables ========================= This section documents variables which can be set in project Makefiles to accommodate other dependencies which may be added. 3.2.1 Required Variables ------------------------ Every project must define the `NAME' variable. -- Variable: NAME Name of the project. The top level LaTeX input file is assumed to be called `.tex'. For projects which have multiple documents, you would list the top level name for each document here. For example, if you have a single document, `mydoc', you would use NAME= mydoc and if you have multiple documents, `mydoc1', `mydoc2', and `mydoc3', you would use NAME= mydoc1 mydoc2 mydoc3 3.2.2 Generic Variables ----------------------- The variables described in this section affect all of the top level documents listed in the `NAME' variable. This is useful for listing common dependencies like a header or style file used by all documents. To list dependencies which are specific to one of the top level documents, you can use the variable `_' where `' is the name of the document and `' is the name of the variable. For example, NAME= doc1 doc2 TEXSRCS= header.tex doc1_TEXSRCS= intro1.tex body1.tex conclusions.tex defines a project with two top level documents, `doc1' and `doc2'. Both documents depend on `header.tex' and in addition, `doc1' depends on `intro1.tex', `body1.tex', and `conclusions.tex'. More information on the `TEXSRCS' variable is given later. -- Variable: BIBTEXSRCS All files listed in this variable are assumed to be BibTeX input files. Listing files in this variable will cause a dependency to be added to the top level project and BibTeX will be run on these files as needed. -- Variable: CLEAN_FILES Files listed in this variable will be removed when the `clean' target is made. When setting this variable in a `Makefile', the `+=' syntax should be used to append to this variable. For example: CLEAN_FILES+= my_leftover_file foo.bak will add `my_leftover_file' and `foo.bak' to the list of files to be removed when `make clean' is run. -- Variable: EXTRA_DIST Files listed in this variable will be added to the archive file created with the `dist' target. EXTRA_DIST+= README.txt -- Variable: OTHER Files listed in this variable will be added to the dependency list for the `.dvi' file. For example if you want to add all `.eps' and `.epsi' files in a particular directory as well as some `.png' files from another directory to the dependency list, then using BSD make, you could add: OTHER_EPS!= ls eps/*.eps* OTHER+= $(OTHER_EPS) OTHER_PNG!= ls png/*.png OTHER+= $(OTHER_PNG:.png=.eps) CLEAN_FILES+= $(OTHER_PNG:.png=.eps) If you are using GNU make, you would use OTHER_EPS= $(wildcard eps/*.eps*) OTHER+= $(OTHER_EPS) OTHER_PNG= $(wildcard png/*.png) OTHER+= $(OTHER_PNG:.png=.eps) CLEAN_FILES+= $(OTHER_PNG:.png=.eps) -- Variable: TEXSRCS All files listed in this variable are assumed to be LaTeX input files. Listing files in this variable will cause a dependency to be added to the top level project. All LaTeX files used in the project should be listed in this variable with the exception of the top level LaTeX file which is automatically included by LaTeX-Mk. 3.2.3 Per-Project Lgrind Variables ---------------------------------- -- Variable: LGRINDSRCS All files listed in this variable are assumed to be source code files to be processed by lgrind. Listing files in this variable will cause a dependency to be added to the top level project and will cause these files to be automatically re-formatted as required. -- Variable: LGRINDDIRS A list of directories containing source code can be listed in this variable. All files found in those directories which have extensions will be formated using lgrind. Files without a `.*' extension will be ignored. These files will be added to the top level dependency list and will be automatically re-formatted as required. -- Variable: foo_LGRIND_FLAGS This variable sets specific flags which should be passed to lgrind when processing the source file `foo'. For example, mymodule.v_LGRIND_FLAGS= -lverilog If `foo' is a directory which has been listed in LGRINDDIRS, then foo_LGRIND_FLAGS will be used for all files in the specified directory. You can define flags for an entire directory and then override it for a single file if needed. For example, suppose you want to use 4 as the tab width for all sources in the directory `srcs' except for `srcs/funny.c' where you want to use a tab width of 8. You would achieve this with srcs_LGRIND_FLAGS= -t 4 srcs/funny.c_LGRIND_FLAGS= -t 8 3.2.4 Per-Project META-post Variables ------------------------------------- -- Variable: MPOSTSRCS All files listed in this variable are assumed to be META-post `.mp' files. Listing files in this variable will cause a dependency to be added to the top level project and will cause these files to be automatically re-exported to Postscript and/or PDF as required. -- Variable: MPOSTDIRS A list of directories containing META-post figured can be listed in this variable. All `.mp' files found in those directories are assumed to be META-post `.mp' files. These files will be added to the top level dependency list and will be automatically re-exported to Postscript and/or PDF as required. -- Variable: MPOST_TWICE By default META-post is run once for each of its input files. Setting this variable will cause META-post to run twice on each input file. Some figures may require this and I haven't figured out if there is a way to automatically make this determination like there is with LaTeX. 3.2.5 Per-Project Tgif Variables -------------------------------- -- Variable: TGIFSRCS All files listed in this variable are assumed to be tgif `.obj' files. Listing files in this variable will cause a dependency to be added to the top level project and will cause these files to be automatically re-exported to Postscript as required. -- Variable: TGIFDIRS A list of directories containing tgif drawings can be listed in this variable. All `.obj' files found in those directories are assumed to be tgif `.obj' files. These files will be added to the top level dependency list and will be automatically re-exported to Postscript as required. 3.2.6 Per-Project Xfig Variables -------------------------------- -- Variable: XFIGSRCS All files listed in this variable are assumed to be xfig `.fig' files. Listing files in this variable will cause a dependency to be added to the top level project and will cause these files to be automatically re-exported to Postscript as required. -- Variable: XFIGDIRS A list of directories containing xfig drawings can be listed in this variable. All `.fig' files found in those directories are assumed to be xfig `.fig' files. These files will be added to the top level dependency list and will be automatically re-exported to Postscript as required.  File: latex-mk.info, Node: HTML, Next: Recursive, Prev: Variables, Up: Top 4 HTML Output ************* LaTeX-Mk includes support for generating HTML output. Currently Latex2HTML (see `http://www.latex2html.org'), HeVeA (see `http://para.inria.fr/~maranget/hevea/'), or tex2page (see `http://www.ccs.neu.edu/home/dorai/tex2page/') can be used for producing an HTML version of your document. The selection of which program to use is done with the USE_HEVEA, USE_LATEX2HTML, and USE_TEX2PAGE variables. Simply define one of these in your `${sysconfdir}/latex-mk.conf' file (for site-wide configuration) or `$HOME/.latex-mk.conf' (for per-user configuration). If you are using GNU make, the variable would be set in `${sysconfdir}/latex-gmk.conf' or `$HOME/.latex-gmk.conf' instead. You can also override this setting in your project `Makefile'. For example, to use Latex2HTML, add USE_LATEX2HTML= yes to your configuration file or to your project `Makefile'. To generate HTML output, simply run `make html'. The HTML output along with any image files will be placed in a subdirectory called `${NAME}.html_dir'. For example, if you have a project with two top level documents, your `Makefile' might look like: NAME= doc1 doc2 .include "/usr/pkg/share/latex-mk/latex.mk" After running `make html', you will have two new subdirectories called `doc1.html_dir' and `doc2.html_dir' containing HTML versions of the two documents. To keep track of which files have been generated during the conversion, a temporary file, `${NAME}.www_files' gets created and all generated files are recorded there. This allows the output produced by HeVeA to be moved to the correct subdirectory as well as allowing `make clean' to work. The HTML generation is still new and there are probably some bugs to work out. Please submit bug reports. There are also some features which may be useful that have not been integrated. For example the program `hacha' could be used for breaking the HeVeA output into several smaller files.  File: latex-mk.info, Node: Recursive, Next: Obtaining, Prev: HTML, Up: Top 5 Using LaTeX-Mk Recursively **************************** In some cases you may wish to organize multiple documents into their own subdirectories but still be able to build all of them with a single make call. This is supported in LaTeX-Mk via the use of the `latex.subdir.mk' makefile fragment. To use recursion, create a `Makefile', in your top level directory which looks something like the following example. SUBDIR+= project1 SUBDIR+= project2 SUBDIR+= project3 .include "/usr/local/share/latex-mk/latex.subdir.mk" Now create your usual LaTeX-Mk Makefiles in the `project1', `project2', and `project3' subdirectories. Additional subdirectories are added to the `SUBDIR' variable. Multiple levels of subdirectories make be used. Please note that currently the use of both `latex.mk' and `latex.subdir.mk' in a single Makefile is not supported.  File: latex-mk.info, Node: Obtaining, Next: Installation, Prev: Recursive, Up: Top 6 Obtaining LaTeX-Mk ******************** The latest information and version of LaTeX-Mk can be found on the main LaTeX-Mk web site at `http://latex-mk.sourceforge.net'. A package for the NetBSD operating system (see `http://www.NetBSD.org' for information about NetBSD) exists at `ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc/print/latex-mk/README.html'. A port for the FreeBSD operating system (see `http://www.FreeBSD.org' for information about FreeBSD) exists at `http://www.freshports.org/misc/latex-mk'.  File: latex-mk.info, Node: Installation, Next: Feedback, Prev: Obtaining, Up: Top 7 Installing LaTeX-Mk ********************* 7.1 System Requirements ======================= To configure and install LaTeX-Mk, you will need a Unix-like operating system or shell with a compatible make program. In addition, to use LaTeX-Mk, you will require: 1. `latex'. The development of LaTeX-Mk was done using Thomas Esser's TeX distribution, teTeX, version 1.0.7. More information on teTeX can be found at `http://www.tug.org/tetex/'. 2. Either GNU make version 3.80 or higher or a BSD make program. For information on GNU make, see `http://www.gnu.org/software/make/'. For information on the NetBSD operating system (which of course includes BSD make), see `http://www.netbsd.org'. If you wish to install BSD make on a non-BSD system, you can try downloading one of the bmake snapshots from files area of the LaTeX-Mk sourceforge project page at `http://www.sourceforge.net/projects/latex-mk'. The GNU make version requirement is firm. LaTeX-Mk will not work with versions of GNU make prior to 3.80. It is highly unlikely that LaTeX-Mk will be ported to older GNU make versions due to the lack of some important features in older versions. 7.2 Installation ================ Installation of LaTeX-Mk consists of three steps: configuration, building, and installing. In a typical installation, this is as simple as ./configure make make install This will configure LaTeX-Mk with the defaults, create the final files to be installed, and install them in the proper location. The `configure' script is a standard GNU autoconf script. The most common option is the `--prefix=' option. This causes LaTeX-Mk to use `' as the base directory for the installation. Running `configure --help' will give a list of the available configuration options. The ones which are specific to LaTeX-Mk, as opposed to being generic configure options are listed here. `--with-mkconf=': this option changes the default system configuration file for BSD make. This file defaults to `${sysconfdir}/latex-mk.conf'. `--with-gmkconf=': this option changes the default system configuration file for GNU make. This file defaults to `${sysconfdir}/latex-gmk.conf'. `--with-usermkconf=': this option changes the default user configuration file for BSD make. This file defaults to `$HOME/.latex-mk.conf'. `--with-usergmkconf=': this option changes the default user configuration file for GNU make. This file defaults to `$HOME/.latex-gmk.conf'.  File: latex-mk.info, Node: Feedback, Next: Alternatives, Prev: Installation, Up: Top 8 Feedback ********** To report bugs, provide feedback, suggest new features, etc. visit the LaTeX-Mk Project management page at `http://www.sourceforge.net/projects/latex-mk' or send email to the author at . For information on the current version of LaTeX-Mk, visit the LaTeX-Mk homepage at `http://latex-mk.sourceforge.net'.  File: latex-mk.info, Node: Alternatives, Next: History, Prev: Feedback, Up: Top 9 Alternatives ************** There are a few tools which are somewhat similar to LaTeX-Mk. I have not reviewed them in any detail and thus am unable to comment on how similar or different they are compared to LaTeX-Mk. 1. "mk" `http://www.servalys.nl/scripts/'  File: latex-mk.info, Node: History, Next: Target Index, Prev: Alternatives, Up: Top 10 History ********** 10.1 The Dark Ages ================== In the beginning I used a WYSIWYG word processor from a large software vendor in the Pacific Northwest of the US. It worked for short papers, it was horrible for medium to long documents, painful for equations, and painful for figures. Then I learned LaTeX and life was much much better. 10.2 The Giant Per-Project Makefile =================================== In graduate school, a friend showed me a makefile he had set up for his thesis. It contained all sorts of targets and some intelligence about running LaTeX multiple times for resolving references. I made a modified version of that for my thesis and even wrote a book where I used yet another modified version of that makefile. This approach was much better than doing everything by hand because I had added a lot of functionality over my friends makefile. In particular, my new makefile automatically dealt with tgif figures and I had many many figures in the thesis and the book. Despite the utility of the large customized makefile I had, it was not maintainable in the sense that every time I started a new document, I'd end up with another copy of a very large makefile to maintain. If I fixed a bug in one, I'd have several other documents in progress which needed updating. 10.3 Enter LaTeX-Mk =================== For those of you familiar with the build system used by the BSD operating systems, you'll know that for each program, there is a very simple makefile which lists the source files along with a couple of other variables which can optionally be set. Then a system makefile called `bsd.prog.mk' is included. That included makefile fragment has all the code required to provide all the standard targets, sets up the various compiler flags and correctly handles all the dependencies. It is maintainable because the bulk of the code is common and only needs to be maintained in one place. Being inspired by the BSD style makefile approach, I converted my most up to date giant per-project makefile into an `include'-able makefile fragment and spent some time defining the interface a bit more generically than I'd done in the past. Since that time I've used the result, LaTeX-Mk, for the last few documents at school, some papers I've worked on since then and also for work related documentation. So far, the makefile framework has proven to be very useful and a big time saver for me. Since I believe in open-source software I felt it was appropriate to document my efforts and provide a packaged solution that others could also use. 10.4 The Modern Era of LaTeX-Mk =============================== 10.4.1 Version 0.9 ------------------ Released on 2002-10-09, this was the first public release of LaTeX-Mk. My reason for using 0.9 instead of 1.0 is that LaTeX-Mk had not been tested or used much by others yet. Even though it works well for me, as with any product I'm sure others will quickly find other ways to use it that I had not anticipated. My goal is to collect feedback over the first few months of public consumption and come out with a 1.0 version which incorporates the primary improvements. 10.4.2 Version 0.9.1 -------------------- This is a bug fix version released on 2002-10-29. The significant changes over the previous version are: * Per-document Xfig dependencies are now supported. This was an oversight in the previous version. * A big non-portable GNU make hack has been removed. Starting with this version of LaTeX-Mk, you will need version 3.80 or newer of GNU make (run `gmake --version' to check your GNU make version) if you are using the GNU make interface to LaTeX-Mk. The new implementation is much cleaner and should continue to work with all newer versions of GNU make. * The history section of the manual was added. 10.4.3 Version 1.0 ------------------ This is the long awaited 1.0 release! Hopefully LaTeX-Mk can be considered production/stable at this point. This release was made on 2003-02-26. The significant changes/additions over the previous version are: * Support for dvipdfm (see `http://gaspra.kettering.edu/dvipdfm') is included. By setting the USE_DVIPDFM variable, the `dvipdfm' program can be used to generate `.pdf' files from the `.dvi' file generated by LaTeX. * Support for PDFLaTeX is included. By setting the USE_PDFLATEX variable, the `pdflatex' program can be used to generate `.pdf' files directly from the TeX sources. * A testsuite is now included. This has resulted in the fixing of a handful of small bugs and should greatly contribute to the reliability and stability of this tool. * Bugs related to processing multiple directories listed in TGIFDIRS and XFIGDIRS have been fixed. * Bugs related to per-project processing of foo_TGIFDIRS and foo_XFIGDIRS have been fixed. * A bug in `latex-mk' relating to BibTeX has been fixed. Previously, after a BibTeX run, `latex-mk' failed to run LaTeX the correct number of times. 10.4.4 Version 1.1 ------------------ This is the "HTML Support" release. Version 1.1 was released on 2003-06-15. The significant changes/additions over the previous version are: * Support for HTML output. Either LaTeX2HTML or HeVeA may be used. * Fixed a bug where bibtex was not run sometimes when it needed to be run. This problem showed up with some versions of LaTeX. * Added a POST_BIBTEX_HOOK variable which specifies a program to be run after a BibTeX run. This gives users the ability to insert an additional processing step if desired. 10.4.5 Version 1.2 ------------------ Version 1.2 was released on 2004-03-21. The significant changes/additions over the previous version are: * Fixed a bug which prevented the POST_BIBTEX_HOOK hook from actually doing anything. * Dropped -Ppdf from the default DVIPS_FLAGS. Users who wish to keep -Ppdf as part of DVIPS_FLAGS can add it to the site configuration file, user configuration file, or project Makefile. * Added DVIPDFM_ENV variable for running `dvipdfm' inside a customized environment. * Preliminary Rich Text Format (RTF) output support. The new `rtf' target will use `latex2rtf' to produce an RTF version of your document. Use this when sending your documents to the text-formatter-challenged. * Fixed a bug where a list of figures, list of tables, and table of contents were sometimes not fully up to date in the final output. * Added support for using ImageMagick to convert JPEG and PNG files to EPS for inclusion in a document. 10.4.6 Version 1.3 ------------------ Version 1.3 was released on 2004-05-29. The significant changes/additions over the previous version are: * Fixed a bug which prevented BibTeX from being run in the case where the source document did not have explicit \cite{} commands but rather used \nocite{}. Bug report #927068. * Fixed some file names in the examples/ directory to avoid a file name clash on file systems which are not case sensitive. This should fix a long standing bug where latex-mk would not build under cygwin. Bug report #946216. 10.4.7 Version 1.4 ------------------ Version 1.4 was released on 2005-10-04. The significant changes/additions over the previous version are: * Added support for lgrind. * Added a `dist' target for creating a distribution archive of all source files. * Added support for using tex2page for html output. * When using pdflatex, directly convert tgif and xfig drawings to PDF instead of to encapsulated Postscript. * When using pdflatex, do not create `.dvi' files as part of the default target. * Added a LANDSCAPE variable which when set will add landscape flags to various tools. * Make the default flag for exporting xfig drawings to encapsulated Postscript be `-L eps' instead of `-L ps'. 10.4.8 Version 1.5 ------------------ * When using tex2page or HeVeA for html output, do not force the running of LaTeX. With latex2html, LaTeX will still be run because latex2html makes use of the `.aux' files generated by LaTeX. * Fixed a bug where if the BibTeX input file was modified LaTeX would be run again but not BibTeX. * Added a `--tex2page' mode for `latex-mk' (the script) which allows `latex-mk' to run tex2page the appropriate number of times to resolves all references. * Improve the cleaning of tex2page generated output. * Added `latex.subdir.mk' to support recursive builds. 10.4.9 Version 1.6 ------------------ * Fix a syntax error in the (not used yet) ieee-copyout script. * Fix a bug in the `latex-mk' script when BibTeX is used. * Add quoting of command names in the BSD makefiles. This will properly deal with pathnames to the programs which contain spaces. Currently GNU make will not properly deal with this. 10.4.10 Version 1.7 ------------------- * Added support for makeindex. Suggested by Antoine Reilles who provided a preliminary patch. * Added a `--help' flag to the `latex-mk' script and documented the script a bit more there. It seems that some users are using the `latex-mk' script only and not the makefile system. Suggested by Reuben Thomas. * Added the ability in the `latex-mk' script to work with a read only current directory and use the TEXMFOUTPUT environment variable to control where the real output goes. Suggested by Reuben Thomas. 10.4.11 Version 1.8 ------------------- * Fix a syntax error in the `latex-mk' script which showed up with some shells. * Fix a bug in the `latex-mk' script where some of the `.old' files that are used for determining when to re-run various tools were not being cleaned up properly. * Add a few more files which latex and makeindex may generate to the list of files removed by the `clean' target. * Add a testsuite entry for the `clean' target. * Improve the makefile testsuite robustness. In particular it now deals with the bmake program having different names (make, bmake, bsdmake, etc). * Improve and expand the testsuite for the `latex-mk' script. 10.4.12 Version 1.9 ------------------- * Added support for per-document DVIPS_FLAGS and DVIPDFM_FLAGS. * Avoided the use of hardcoded csh in some scripts. * Removed claims of a BIBTEX_ENV variable in the documentation. It didn't do anything. * Added METAPOST support. * Fixed a bug when using BibTeX and PDFLaTeX at the same time. * Added glossary support. * Fixed a bug with GNU make draft output. * Put the actual installation prefix into the manual. * Avoid a case which caused the testsuite to hang. * Expanded the testsuite and fixed some bugs in the testsuite. * Fix a bug in cleaning xfig and tgif output. 10.4.13 Version 1.9.1 --------------------- * Fixed a bug in the `clean' target when METAPOST is in use. 10.4.14 Version 2.0 ------------------- * Added support for the bibunits LaTeX package. * Fixed a bug where PDFLATEX_FLAGS was not being properly passed down to the latex-mk script when bibtex was in use. * Fixed a bug where exporting Xfig figures to PDF actually produced postscript instead of PDF. 10.4.15 Version 2.1 ------------------- * Fixed a bug in the quoting of lgrind related variables. The result is that the clean target didn't quite work right. * Improved quoting in the latex-mk script to better handle the case of a file name with spaces in it.  File: latex-mk.info, Node: Target Index, Next: Variable Index, Prev: History, Up: Top Target Index ************ [index] * Menu: * clean: Targets. (line 18) * dist: Targets. (line 23) * dvi: Targets. (line 33) * html: Targets. (line 37) * pdf: Targets. (line 41) * pdf-draft: Targets. (line 82) * print: Targets. (line 45) * print-draft: Targets. (line 88) * print_: Targets. (line 106) * print_-draft: Targets. (line 120) * ps: Targets. (line 48) * ps-draft: Targets. (line 85) * ps_-draft: Targets. (line 123) * rtf: Targets. (line 52) * show-var: Targets. (line 58) * view: Targets. (line 65) * view_: Targets. (line 109) * view_-draft: Targets. (line 126) * viewpdf: Targets. (line 68) * viewpdf-draft: Targets. (line 91) * viewpdf_: Targets. (line 112) * viewpdf_-draft: Targets. (line 129) * viewps: Targets. (line 71) * viewps-draft: Targets. (line 94) * viewps_: Targets. (line 115) * viewps_-draft: Targets. (line 132)  File: latex-mk.info, Node: Variable Index, Next: General Index, Prev: Target Index, Up: Top Variable Index ************** [index] * Menu: * BIBTEX: Variables. (line 55) * BIBTEX_ENV: Variables. (line 58) * BIBTEX_FLAGS: Variables. (line 62) * BIBTEXSRCS: Variables. (line 432) * CLEAN_FILES: Variables. (line 438) * CONVERT: Variables. (line 66) * DVIPDFM: Variables. (line 71) * DVIPDFM_ENV: Variables. (line 78) * DVIPDFM_FLAGS: Variables. (line 82) * DVIPDFM_LANDSCAPE_FLAGS: Variables. (line 90) * DVIPS: Variables. (line 94) * DVIPS_ENV: Variables. (line 98) * DVIPS_FLAGS: Variables. (line 102) * DVIPS_LANDSCAPE_FLAGS: Variables. (line 113) * EXTRA_DIST: Variables. (line 447) * FIG2DEV: Variables. (line 374) * FIG2DEV_EPS_FLAGS: Variables. (line 383) * FIG2DEV_FLAGS: Variables. (line 378) * FIG2DEV_PDF_FLAGS: Variables. (line 388) * foo_LGRIND_FLAGS: Variables. (line 496) * GV: Variables. (line 117) * GV_FLAGS: Variables. (line 120) * GV_LANDSCAPE_FLAGS: Variables. (line 123) * GZCAT: Variables. (line 127) * GZIP: Variables. (line 130) * HEVEA: Variables. (line 133) * HEVEA_ENV: Variables. (line 136) * HEVEA_FLAGS: Variables. (line 142) * IMAGEN: Variables. (line 146) * JPG2EPS: Variables. (line 149) * LATEX: Variables. (line 153) * LATEX2HTML: Variables. (line 166) * LATEX2HTML_ENV: Variables. (line 169) * LATEX2HTML_FLAGS: Variables. (line 175) * LATEX2RTF: Variables. (line 179) * LATEX2RTF_ENV: Variables. (line 182) * LATEX2RTF_FLAGS: Variables. (line 186) * LATEX_ENV: Variables. (line 156) * LATEX_FLAGS: Variables. (line 162) * LGRIND: Variables. (line 333) * LGRIND_FLAGS: Variables. (line 337) * LGRINDDIRS: Variables. (line 488) * LGRINDSRCS: Variables. (line 481) * LPR: Variables. (line 190) * LPR_FLAGS: Variables. (line 194) * MAKECONF: Variables. (line 23) * MAKEGLS: Variables. (line 199) * MAKEGLS_FLAGS: Variables. (line 202) * MAKEIDX: Variables. (line 206) * MAKEIDX_FLAGS: Variables. (line 209) * MPOST: Variables. (line 213) * MPOST_FLAGS: Variables. (line 216) * MPOST_TWICE: Variables. (line 529) * MPOSTDIRS: Variables. (line 522) * MPOSTSRCS: Variables. (line 516) * NAME: Variables. (line 403) * OTHER: Variables. (line 452) * PDFLATEX: Variables. (line 220) * PDFLATEX_ENV: Variables. (line 223) * PDFLATEX_FLAGS: Variables. (line 229) * PNG2EPS: Variables. (line 233) * POST_BIBTEX_HOOK: Variables. (line 237) * PS2PDF: Variables. (line 251) * PS2PDF_FLAGS: Variables. (line 255) * TAR: Variables. (line 259) * TEX2PAGE: Variables. (line 262) * TEX2PAGE_ENV: Variables. (line 265) * TEX2PAGE_FLAGS: Variables. (line 271) * TEXSRCS: Variables. (line 470) * TGIF: Variables. (line 351) * TGIF_EPS_FLAGS: Variables. (line 359) * TGIF_FLAGS: Variables. (line 354) * TGIF_PDF_FLAGS: Variables. (line 363) * TGIFDIRS: Variables. (line 545) * TGIFSRCS: Variables. (line 539) * USE_DVIPDFM: Variables. (line 275) * USE_HEVEA: Variables. (line 283) * USE_LATEX2HTML: Variables. (line 287) * USE_PDFLATEX: Variables. (line 291) * USE_TEX2PAGE: Variables. (line 299) * USER_MAKECONF: Variables. (line 37) * VIEWPDF: Variables. (line 303) * VIEWPDF_FLAGS: Variables. (line 306) * VIEWPDF_LANDSCAPE_FLAGS: Variables. (line 310) * XDVI: Variables. (line 314) * XDVI_FLAGS: Variables. (line 317) * XDVI_LANDSCAPE_FLAGS: Variables. (line 321) * XFIGDIRS: Variables. (line 561) * XFIGSRCS: Variables. (line 555)  File: latex-mk.info, Node: General Index, Prev: Variable Index, Up: Top General Index ************* [index] * Menu: * alternatives to LaTeX-Mk: Alternatives. (line 6) * BSD make, versus GNU make <1>: Variables. (line 456) * BSD make, versus GNU make: Introduction. (line 31) * BUGS, reporting: Feedback. (line 6) * E-mail, bug reports: Feedback. (line 6) * GNU make, version required: History. (line 81) * GNU make, versus BSD make <1>: Introduction. (line 31) * GNU make, versus BSD make: Variables. (line 456) * include, Makefile syntax for: Introduction. (line 31) * make, differences between GNU and BSD <1>: Variables. (line 456) * make, differences between GNU and BSD: Introduction. (line 31) * Reporting BUGS: Feedback. (line 6) * wildcard, Makefile syntax for: Variables. (line 456)  Tag Table: Node: Top2108 Node: Introduction3043 Node: Targets6493 Node: Variables10704 Node: HTML32395 Node: Recursive34450 Node: Obtaining35434 Node: Installation36040 Node: Feedback38742 Node: Alternatives39193 Node: History39548 Node: Target Index51407 Node: Variable Index53447 Node: General Index60096  End Tag Table latex-mk-2.1/example/Makefile.am100644 000144 000000 00000005114 10560000626 0012242## $Id: Makefile.am,v 1.14 2006/06/07 17:56:48 dan Exp $ ## ## Copyright (c) 2002, 2003, 2004, 2006 Dan McMahill ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without ## modification, are permitted provided that the following conditions ## are met: ## 1. Redistributions of source code must retain the above copyright ## notice, this list of conditions and the following disclaimer. ## 2. Redistributions in binary form must reproduce the above copyright ## notice, this list of conditions and the following disclaimer in the ## documentation and/or other materials provided with the distribution. ## 3. All advertising materials mentioning features or use of this software ## must display the following acknowledgement: ## This product includes software developed by Dan McMahill ## 4. The name of the author may not be used to endorse or promote products ## derived from this software without specific prior written permission. ## ## THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ## IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ## OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ## INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ## BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ## LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED ## AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## MKSRCS= mkfile.in EXFILES= \ biblio.tex \ example.tex \ ex2.tex \ ex3.tex \ ex4.bib \ ex4.tex \ ex5.tex \ refs.bib BMKFILES= ${MKSRCS:.in=.mk} GMKFILES= ${MKSRCS:.in=.gmk} pkgexampledir= ${pkgdatadir}/example pkgexample_DATA= ${BMKFILES} ${GMKFILES} ${EXFILES} README-example.txt EXTRA_DIST= ${EXFILES} mkfile.in README-example.txt DISTCLEANFILES= \ ${BMKFILES} \ ${GMKFILES} \ example.conf SUBDIRS= tgif SUFFIXES= .in .mk .gmk SED_COMMON= -e 's;@latexmkdatadir@;$(pkgdatadir);g' \ -e 's;@latexmkconfdir@;${sysconfdir};g' \ -e 's;@latexmkbindir@;${bindir};g' \ -e '/^MAKECONF/d' SED_COMMON_TEST= -e 's;@latexmkdatadir@;$(top_srcdir);g' \ -e 's;@latexmkconfdir@;${sysconfdir};g' \ -e 's;@latexmkbindir@;${top_srcdir};g' .in.mk: sed -e 's/^BMK://g' -e '/^GMK:/d' ${SED_COMMON} $< > $@ .in.gmk: sed -e 's/^GMK://g' -e '/^BMK:/d' ${SED_COMMON} $< > $@ latex-mk-2.1/example/Makefile.in100644 000144 000000 00000040027 11506463231 0012263# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = example DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(pkgexampledir)" pkgexampleDATA_INSTALL = $(INSTALL_DATA) DATA = $(pkgexample_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BIBTEX = @BIBTEX@ BMAKE = @BMAKE@ CONVERT = @CONVERT@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DVIPDFM = @DVIPDFM@ DVIPS = @DVIPS@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ ENV_PROG = @ENV_PROG@ FALSE = @FALSE@ FIG2DEV = @FIG2DEV@ FIND = @FIND@ GMAKE = @GMAKE@ GMAKECONF = @GMAKECONF@ GREP = @GREP@ GV = @GV@ GZCAT = @GZCAT@ GZIP = @GZIP@ HACHA = @HACHA@ HEVEA = @HEVEA@ IMAGEN = @IMAGEN@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LATEX = @LATEX@ LATEX2HTML = @LATEX2HTML@ LATEX2RTF = @LATEX2RTF@ LGRIND = @LGRIND@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LPR = @LPR@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKECONF = @MAKECONF@ MAKEIDX = @MAKEIDX@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MPOST = @MPOST@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ PS2PDF = @PS2PDF@ RM = @RM@ RMDIR = @RMDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAR = @TAR@ TEX2PAGE = @TEX2PAGE@ TGIF = @TGIF@ USERGMAKECONF = @USERGMAKECONF@ USERMAKECONF = @USERMAKECONF@ VERSION = @VERSION@ XDVI = @XDVI@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ MKSRCS = mkfile.in EXFILES = \ biblio.tex \ example.tex \ ex2.tex \ ex3.tex \ ex4.bib \ ex4.tex \ ex5.tex \ refs.bib BMKFILES = ${MKSRCS:.in=.mk} GMKFILES = ${MKSRCS:.in=.gmk} pkgexampledir = ${pkgdatadir}/example pkgexample_DATA = ${BMKFILES} ${GMKFILES} ${EXFILES} README-example.txt EXTRA_DIST = ${EXFILES} mkfile.in README-example.txt DISTCLEANFILES = \ ${BMKFILES} \ ${GMKFILES} \ example.conf SUBDIRS = tgif SUFFIXES = .in .mk .gmk SED_COMMON = -e 's;@latexmkdatadir@;$(pkgdatadir);g' \ -e 's;@latexmkconfdir@;${sysconfdir};g' \ -e 's;@latexmkbindir@;${bindir};g' \ -e '/^MAKECONF/d' SED_COMMON_TEST = -e 's;@latexmkdatadir@;$(top_srcdir);g' \ -e 's;@latexmkconfdir@;${sysconfdir};g' \ -e 's;@latexmkbindir@;${top_srcdir};g' all: all-recursive .SUFFIXES: .SUFFIXES: .in .mk .gmk $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign example/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --foreign example/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-pkgexampleDATA: $(pkgexample_DATA) @$(NORMAL_INSTALL) test -z "$(pkgexampledir)" || $(MKDIR_P) "$(DESTDIR)$(pkgexampledir)" @list='$(pkgexample_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(pkgexampleDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgexampledir)/$$f'"; \ $(pkgexampleDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgexampledir)/$$f"; \ done uninstall-pkgexampleDATA: @$(NORMAL_UNINSTALL) @list='$(pkgexample_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(pkgexampledir)/$$f'"; \ rm -f "$(DESTDIR)$(pkgexampledir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(pkgexampledir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-pkgexampleDATA install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-pkgexampleDATA .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic ctags \ ctags-recursive distclean distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-pkgexampleDATA install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ uninstall-pkgexampleDATA .in.mk: sed -e 's/^BMK://g' -e '/^GMK:/d' ${SED_COMMON} $< > $@ .in.gmk: sed -e 's/^GMK://g' -e '/^BMK:/d' ${SED_COMMON} $< > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: latex-mk-2.1/example/biblio.tex100644 000144 000000 00000000654 10317043235 0012177%% $Id: biblio.tex,v 1.2 2004/05/29 12:28:06 dan Exp $ %% %% This defines the bibliography file (main.bib) and the bibliography style. %% If you want to create a bibliography file by hand, change the contents of %% this file to a `thebibliography' environment. For more information %% see section 4.3 of the LaTeX manual. %\bibliographystyle{apalike} \bibliographystyle{ieeetr} %\bibliographystyle{refer} \bibliography{refs} latex-mk-2.1/example/example.tex100644 000144 000000 00000001014 10317043235 0012361% $Id: example.tex,v 1.2 2004/05/29 12:28:07 dan Exp $ % \documentclass[11pt]{article} \title{Example Document} \author{Freddy K.} \date{\today} \usepackage{graphicx} \usepackage{fancyheadings} \pagestyle{fancy} \rhead{Notes on Sleep} \usepackage{hyperref} \begin{document} \maketitle \section{Introduction} Blah blah blah.... \begin{figure}[ht] \centering \includegraphics{tgif/myfig.eps} \caption{Example Figure} \label{fig:myfig} \end{figure} As shown in~\cite{en300.175-2v1.4.2}. \include{biblio} \end{document} latex-mk-2.1/example/ex2.tex100644 000144 000000 00000001013 10560000627 0011421% $Id: ex2.tex,v 1.4 2006/06/07 13:49:16 dan Exp $ % \documentclass[11pt]{article} \title{Example Document Number Two} \author{Jason} \date{\today} \usepackage{graphicx} \usepackage{fancyheadings} \pagestyle{fancy} \rhead{Notes on Sleep} \usepackage{hyperref} \begin{document} \maketitle \section{Introduction} Blah blah blah.... \begin{figure}[ht] \centering \includegraphics{tgif/myfig} \caption{Example Figure} \label{fig:myfig} \end{figure} As shown in~\cite{en300.175-2v1.4.2}. \include{biblio} \end{document} latex-mk-2.1/example/ex3.tex100644 000144 000000 00000000701 10317043235 0011427% $Id: ex3.tex,v 1.2 2004/05/29 12:28:07 dan Exp $ % \documentclass[11pt]{article} \title{Example Document Number Three} \author{Anonymous} \date{\today} \usepackage{fancyheadings} \pagestyle{fancy} \rhead{RE: LaTeX-Mk} \usepackage{hyperref} \begin{document} \maketitle \section{Introduction} I came across this really neat utility the other day... \section{Analysis} As shown in~\cite{en300.175-2v1.4.2}.... \include{biblio} \end{document} latex-mk-2.1/example/ex4.bib100644 000144 000000 00000000561 10056102443 0011365% -*- BibTeX -*- % % $Id: ex4.bib,v 1.1 2004/05/29 12:42:11 dan Exp $ % @article{en300.175-2v1.4.2, author = "European Telecommunications Standards Institute (ETSI)", title = "Digital Enhanced Cordless Telecommunications ({DECT}); Common Interface ({CI}); Part2: Physical Layer ({PHL})", journal = "ETSI EN 300 175-2 V1.4.2", year = 1999 } latex-mk-2.1/example/ex4.tex100644 000144 000000 00000000665 10056102444 0011437% $Id: ex4.tex,v 1.1 2004/05/29 12:42:12 dan Exp $ % \documentclass[11pt]{article} \title{Example Document Number 4} \author{Someone} \date{\today} \usepackage{fancyheadings} \pagestyle{fancy} \rhead{Unreferenced Notes} \usepackage{hyperref} \begin{document} \maketitle \section{Introduction} Blah blah blah.... % we include a bibliography, but no citations \nocite{*} \bibliographystyle{ieeetr} \bibliography{ex4} \end{document} latex-mk-2.1/example/ex5.tex100644 000144 000000 00000001110 10442334446 0011432% $Id: ex5.tex,v 1.2 2006/06/09 18:08:38 dan Exp $ % \documentclass[11pt]{article} \usepackage{makeidx} \title{Example Document Number 5} \author{Someone} \date{\today} \usepackage{fancyheadings} \pagestyle{fancy} \rhead{Indexed Doc} \usepackage{hyperref} \makeindex \makeglossary \begin{document} \maketitle \section{Introduction} This document\glossary{a document} includes\index{documents, with index} an index. \section{Section 2} We index words\index{words, indexed} from this section too. \section{Index} \printindex \section{Glossary} %\printglossary \end{document} latex-mk-2.1/example/refs.bib100644 000144 000000 00000000562 10317043236 0011631% -*- BibTeX -*- % % $Id: refs.bib,v 1.2 2004/05/29 12:28:07 dan Exp $ % @article{en300.175-2v1.4.2, author = "European Telecommunications Standards Institute (ETSI)", title = "Digital Enhanced Cordless Telecommunications ({DECT}); Common Interface ({CI}); Part2: Physical Layer ({PHL})", journal = "ETSI EN 300 175-2 V1.4.2", year = 1999 } latex-mk-2.1/example/mkfile.in100644 000144 000000 00000000501 10056001213 0011771# $Id: mkfile.in,v 1.1 2004/05/29 03:24:59 dan Exp $ # NAME= example ex2 ex3 # ex3 doesn't use the tgif figures example_TGIFDIRS= tgif ex2_TGIFDIRS= tgif # all 3 examples use this bibliography TEXSRCS= biblio.tex BIBTEXSRCS= refs.bib BMK:.include "${LATEX_MK_DIR}/latex.mk" GMK:include ${LATEX_MK_DIR}/latex.gmk latex-mk-2.1/example/README-example.txt100644 000144 000000 00000005214 10317043235 0013341# $Id: README-example.txt,v 1.4 2004/05/29 03:24:59 dan Exp $ # ---------------------------------------- Trying the example before installation ---------------------------------------- To try out LaTeX-Mk and this example before installation, you need to set the following environment variables: LATEX_MK_DIR This should be set to the top level build directory for LaTeX-Mk. In this example, assume that the sources were extracted and built in /tmp/latex-mk-0.2 LATEX_MK This should be set to the complete path to the latex-mk script. If you are using csh/tcsh: setenv LATEX_MK_DIR /tmp/latex-mk-0.2 setenv LATEX_MK /tmp/latex-mk-0.2/latex-mk In you are using sh/bash: LATEX_MK_DIR=/tmp/latex-mk-0.2 export LATEX_MK_DIR LATEX_MK=/tmp/latex-mk-0.2/latex-mk export LATEX_MK Now go to the "running the example" section. ---------------------------------------- Trying the example after installation ---------------------------------------- If you wish to try out the example after installation, you will need to copy the examples directory to a working directory where you have write permissions. Assuming that the examples directory was installed to /usr/local/share/latex-mk/example, you can do something like: mkdir /some/tmp/dir cp -r /usr/local/share/latex-mk/example /tmp/tmp/dir You will also need to set the enviroment variable LATEX_MK_DIR This should be set to the directory where the LaTeX-Mk .mk files have been installed to. This is usually something like /usr/local/bin/share/latex-mk f you are using csh/tcsh: setenv LATEX_MK_DIR /usr/local/bin/share/latex-mk In you are using sh/bash: LATEX_MK_DIR=/usr/local/bin/share/latex-mk export LATEX_MK_DIR Now go to the "running the example" section. ---------------------------------------- Running the example ---------------------------------------- The example includes two different makefiles. One is called "mkfile.mk" which uses the BSD make syntax. The other is "mkfile.gmk" and uses the GNU make syntax. Normally you would just use the name "Makefile" and use the syntax appropriate for your version of make. However, to provide both a GNU make and a BSD make example, I used two different names. In addition, I needed a name which would not conflict with the Makefile in this directory which handles packaging up this example. You can tell make which makefile to use via the -f flag. So to run GNU make, you'd do: gmake -f mkfile.gmk and for BSD make, make -f mkfile.mk Try various targets like make -f mkfile.mk pdf make -f mkfile.mk clean to see what make would run with actually having it run the commands use the -n flag like: make -f mkfile.mk -n viewpdf latex-mk-2.1/example/tgif/Makefile.am100644 000144 000000 00000000267 07550560677 0013225## $Id: Makefile.am,v 1.2 2002/10/08 13:46:39 dan Exp $ TGIFSRCS= myfig.obj pkgexampletgifdir= ${pkgdatadir}/example/tgif pkgexampletgif_DATA= ${TGIFSRCS} EXTRA_DIST= ${TGIFSRCS} latex-mk-2.1/example/tgif/Makefile.in100644 000144 000000 00000023555 11506463232 0013224# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = example/tgif DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(pkgexampletgifdir)" pkgexampletgifDATA_INSTALL = $(INSTALL_DATA) DATA = $(pkgexampletgif_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BIBTEX = @BIBTEX@ BMAKE = @BMAKE@ CONVERT = @CONVERT@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DVIPDFM = @DVIPDFM@ DVIPS = @DVIPS@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ ENV_PROG = @ENV_PROG@ FALSE = @FALSE@ FIG2DEV = @FIG2DEV@ FIND = @FIND@ GMAKE = @GMAKE@ GMAKECONF = @GMAKECONF@ GREP = @GREP@ GV = @GV@ GZCAT = @GZCAT@ GZIP = @GZIP@ HACHA = @HACHA@ HEVEA = @HEVEA@ IMAGEN = @IMAGEN@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LATEX = @LATEX@ LATEX2HTML = @LATEX2HTML@ LATEX2RTF = @LATEX2RTF@ LGRIND = @LGRIND@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LPR = @LPR@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKECONF = @MAKECONF@ MAKEIDX = @MAKEIDX@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MPOST = @MPOST@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ PS2PDF = @PS2PDF@ RM = @RM@ RMDIR = @RMDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAR = @TAR@ TEX2PAGE = @TEX2PAGE@ TGIF = @TGIF@ USERGMAKECONF = @USERGMAKECONF@ USERMAKECONF = @USERMAKECONF@ VERSION = @VERSION@ XDVI = @XDVI@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ TGIFSRCS = myfig.obj pkgexampletgifdir = ${pkgdatadir}/example/tgif pkgexampletgif_DATA = ${TGIFSRCS} EXTRA_DIST = ${TGIFSRCS} all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign example/tgif/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --foreign example/tgif/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-pkgexampletgifDATA: $(pkgexampletgif_DATA) @$(NORMAL_INSTALL) test -z "$(pkgexampletgifdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgexampletgifdir)" @list='$(pkgexampletgif_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(pkgexampletgifDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgexampletgifdir)/$$f'"; \ $(pkgexampletgifDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgexampletgifdir)/$$f"; \ done uninstall-pkgexampletgifDATA: @$(NORMAL_UNINSTALL) @list='$(pkgexampletgif_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(pkgexampletgifdir)/$$f'"; \ rm -f "$(DESTDIR)$(pkgexampletgifdir)/$$f"; \ done tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(pkgexampletgifdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-pkgexampletgifDATA install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-pkgexampletgifDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-pkgexampletgifDATA \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am uninstall uninstall-am \ uninstall-pkgexampletgifDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: latex-mk-2.1/example/tgif/myfig.obj100644 000144 000000 00000004337 07526613365 0012776%TGIF 4.1.42 state(0,37,100.000,0,0,0,16,1,9,1,1,0,0,0,0,1,0,'Times-Roman',0,115200,0,0,0,10,0,0,1,1,0,16,0,0,1,1,1,1,1088,1408,1,0,2880,0). % % @(#)$Header: /usr/cvsroot/localsrc/misc/latex-mk/example/tgif/myfig.obj,v 1.1 2002/08/15 02:50:29 dan Exp $ % %W% % unit("1 pixel/pixel"). color_info(11,65535,0,[ "magenta", 65535, 0, 65535, 65535, 0, 65535, 1, "red", 65535, 0, 0, 65535, 0, 0, 1, "green", 0, 65535, 0, 0, 65535, 0, 1, "blue", 0, 0, 65535, 0, 0, 65535, 1, "yellow", 65535, 65535, 0, 65535, 65535, 0, 1, "pink", 65535, 49344, 52171, 65535, 49344, 52171, 1, "cyan", 0, 65535, 65535, 0, 65535, 65535, 1, "CadetBlue", 24415, 40606, 41120, 24415, 40606, 41120, 1, "white", 65535, 65535, 65535, 65535, 65535, 65535, 1, "black", 0, 0, 0, 0, 0, 0, 1, "DarkSlateGray", 12079, 20303, 20303, 12079, 20303, 20303, 1 ]). script_frac("0.6"). fg_bg_colors('black','white'). dont_reencode("FFDingbests:ZapfDingbats"). page(1,"",1,''). oval('black','',54,94,170,210,0,1,1,0,0,0,0,0,0,'1',0,[ ]). oval('black','',80,120,96,136,0,1,1,1,0,0,0,0,0,'1',0,[ ]). oval('black','',128,120,144,136,0,1,1,2,0,0,0,0,0,'1',0,[ ]). oval('black','',112,152,128,168,0,1,1,3,0,0,0,0,0,'1',0,[ ]). rcbox('black','',80,176,144,192,0,1,1,0,16,4,0,0,0,0,'1',0,[ ]). group([ polygon('black','',16,[ 176,64,176,128,176,144,192,144,200,144,200,160,216,144,320,144, 336,144,336,128,336,64,336,48,320,48,192,48,176,48,176,64],0,1,1,0,5,0,0,0,0,0,'1',0, "2092",[ ]), box('black','',180,52,332,140,0,1,0,6,0,0,0,0,0,'1',0,[ attr("", "auto_center_attr", 0, 1, 0, text('black',256,51,1,1,1,127,22,7,18,4,0,0,0,0,2,127,22,0,0,"",0,0,0,0,69,'',[ minilines(127,22,0,0,1,0,0,[ mini_line(127,18,4,0,0,0,[ str_block(0,127,18,4,0,-1,0,0,0,[ str_seg('black','Times-Roman',0,115200,127,18,4,0,-1,0,0,0,0,0, "auto_center_attr")]) ]) ])])), attr("label=", "I was drawn in", 1, 0, 0, text('black',255,74,2,1,1,115,44,8,18,4,0,0,0,0,2,115,44,0,0,"",0,0,0,0,92,'',[ minilines(115,44,0,0,1,0,0,[ mini_line(115,18,4,0,0,0,[ str_block(0,115,18,4,0,-1,0,0,0,[ str_seg('black','Times-Roman',0,115200,115,18,4,0,-1,0,0,0,0,0, "I was drawn in")]) ]), mini_line(32,18,4,0,0,0,[ str_block(0,32,18,4,0,0,0,0,0,[ str_seg('black','Times-Roman',0,115200,32,18,4,0,0,0,0,0,0,0, "Tgif")]) ]) ])])) ]) ], 9,0,0,[ ]). latex-mk-2.1/testsuite/Makefile.am100644 000144 000000 00000005341 11506451552 0012653## $Id: Makefile.am,v 1.18 2010/12/28 21:15:22 dan Exp $ ## ## Copyright (c) 2003, 2006, 2010 Dan McMahill ## All rights reserved. ## ## This code is derived from software written by Dan McMahill ## ## Redistribution and use in source and binary forms, with or without ## modification, are permitted provided that the following conditions ## are met: ## 1. Redistributions of source code must retain the above copyright ## notice, this list of conditions and the following disclaimer. ## 2. Redistributions in binary form must reproduce the above copyright ## notice, this list of conditions and the following disclaimer in the ## documentation and/or other materials provided with the distribution. ## 3. All advertising materials mentioning features or use of this software ## must display the following acknowledgement: ## This product includes software developed by Dan McMahill ## 4. The name of the author may not be used to endorse or promote products ## derived from this software without specific prior written permission. ## ## THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ## IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ## OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ## INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ## BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ## LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED ## AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## SUBDIRS= bmake_ref gmake_ref latex_mk_ref TESTS_ENVIRONMENT= \ GMAKE=${GMAKE} \ BMAKE=${BMAKE} MKSRCS= testfile.mk.in RUN_TESTS= run_tests.sh script_tests.sh BMKFILES= ${MKSRCS:.mk.in=.mk} GMKFILES= ${MKSRCS:.mk.in=.gmk} #pkgtestdir= ${pkgdatadir}/testsuite #pkgtest_DATA= ${BMKFILES} ${GMKFILES} simple.mk tests.list script_tests.list #pkgtest_SCRIPTS= ${RUN_TESTS} check_SCRIPTS= ${RUN_TESTS} check_DATA= ${BMKFILES} ${GMKFILES} DISTCLEANFILES= \ configure.lineno \ ${BMKFILES} \ ${GMKFILES} TESTS= ${RUN_TESTS} EXTRA_DIST= ${MKSRCS} ${RUN_TESTS} tests.list script_tests.list golden.mk simple.mk README.txt \ texfiles all-local: ${BMKFILES} ${GMKFILES} SUFFIXES= .mk.in .mk .gmk SED_COMMON= -e 's;@pkgdatadir@;$(pkgdatadir);g' \ -e 's;@latexmkconfdir@;${sysconfdir};g' \ -e 's;@latexmkbindir@;${bindir};g' .mk.in.mk: sed -e 's/^BMK://g' -e '/^GMK:/d' ${SED_COMMON} $< > $@ .mk.in.gmk: sed -e 's/^GMK://g' -e '/^BMK:/d' ${SED_COMMON} $< > $@ latex-mk-2.1/testsuite/Makefile.in100644 000144 000000 00000042260 11506463234 0012665# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ TESTS = $(RUN_TESTS) subdir = testsuite DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BIBTEX = @BIBTEX@ BMAKE = @BMAKE@ CONVERT = @CONVERT@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DVIPDFM = @DVIPDFM@ DVIPS = @DVIPS@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ ENV_PROG = @ENV_PROG@ FALSE = @FALSE@ FIG2DEV = @FIG2DEV@ FIND = @FIND@ GMAKE = @GMAKE@ GMAKECONF = @GMAKECONF@ GREP = @GREP@ GV = @GV@ GZCAT = @GZCAT@ GZIP = @GZIP@ HACHA = @HACHA@ HEVEA = @HEVEA@ IMAGEN = @IMAGEN@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LATEX = @LATEX@ LATEX2HTML = @LATEX2HTML@ LATEX2RTF = @LATEX2RTF@ LGRIND = @LGRIND@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LPR = @LPR@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKECONF = @MAKECONF@ MAKEIDX = @MAKEIDX@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MPOST = @MPOST@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ PS2PDF = @PS2PDF@ RM = @RM@ RMDIR = @RMDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAR = @TAR@ TEX2PAGE = @TEX2PAGE@ TGIF = @TGIF@ USERGMAKECONF = @USERGMAKECONF@ USERMAKECONF = @USERMAKECONF@ VERSION = @VERSION@ XDVI = @XDVI@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = bmake_ref gmake_ref latex_mk_ref TESTS_ENVIRONMENT = \ GMAKE=${GMAKE} \ BMAKE=${BMAKE} MKSRCS = testfile.mk.in RUN_TESTS = run_tests.sh script_tests.sh BMKFILES = ${MKSRCS:.mk.in=.mk} GMKFILES = ${MKSRCS:.mk.in=.gmk} #pkgtestdir= ${pkgdatadir}/testsuite #pkgtest_DATA= ${BMKFILES} ${GMKFILES} simple.mk tests.list script_tests.list #pkgtest_SCRIPTS= ${RUN_TESTS} check_SCRIPTS = ${RUN_TESTS} check_DATA = ${BMKFILES} ${GMKFILES} DISTCLEANFILES = \ configure.lineno \ ${BMKFILES} \ ${GMKFILES} EXTRA_DIST = ${MKSRCS} ${RUN_TESTS} tests.list script_tests.list golden.mk simple.mk README.txt \ texfiles SUFFIXES = .mk.in .mk .gmk SED_COMMON = -e 's;@pkgdatadir@;$(pkgdatadir);g' \ -e 's;@latexmkconfdir@;${sysconfdir};g' \ -e 's;@latexmkbindir@;${bindir};g' all: all-recursive .SUFFIXES: .SUFFIXES: .mk.in .mk .gmk $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign testsuite/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --foreign testsuite/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_SCRIPTS) $(check_DATA) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-recursive all-am: Makefile all-local installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am all-local check check-TESTS check-am clean \ clean-generic ctags ctags-recursive distclean \ distclean-generic distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags tags-recursive uninstall uninstall-am all-local: ${BMKFILES} ${GMKFILES} .mk.in.mk: sed -e 's/^BMK://g' -e '/^GMK:/d' ${SED_COMMON} $< > $@ .mk.in.gmk: sed -e 's/^GMK://g' -e '/^BMK:/d' ${SED_COMMON} $< > $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: latex-mk-2.1/testsuite/testfile.mk.in100644 000144 000000 00000014445 11506314000 0013363# -*- Makefile -*- # $Id: testfile.mk.in,v 1.11 2007/06/15 19:48:33 dan Exp $ # # Copyright (c) 2003, 2004, 2005, 2006, 2007 Dan McMahill # All rights reserved. # # This code is derived from software written by Dan McMahill # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by Dan McMahill # 4. The name of the author may not be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # ####################################### # # TEST #1 (most basic) # ####################################### BMK:.if defined(TEST1) GMK:ifdef TEST1 NAME= test1 BMK:.endif GMK:endif ####################################### # # TEST #2 (simple with TGIFSRCS) # ####################################### BMK:.if defined(TEST2) GMK:ifdef TEST2 NAME= test2 TGIFSRCS= tgif1.obj tgif2.obj BMK:.endif GMK:endif ####################################### # # TEST #3 (simple with TGIFDIRS) # ####################################### BMK:.if defined(TEST3) GMK:ifdef TEST3 NAME= test3 TGIFDIRS= tgifdir1 tgifdir2 BMK:.endif GMK:endif ####################################### # # TEST #2A (simple with LGRINDSRCS) # ####################################### BMK:.if defined(TEST2A) GMK:ifdef TEST2A NAME= test2 LGRINDSRCS= src1.c src2.c src2.h BMK:.endif GMK:endif ####################################### # # TEST #3A (simple with LGRINDDIRS) # ####################################### BMK:.if defined(TEST3A) GMK:ifdef TEST3A NAME= test3 LGRINDDIRS= lgrinddir1 lgrinddir2 BMK:.endif GMK:endif ####################################### # # TEST #2B (simple with MPOSTSRCS) # ####################################### BMK:.if defined(TEST2B) GMK:ifdef TEST2B NAME= test2 MPOSTSRCS= figs1.mp figs2.mp BMK:.endif GMK:endif ####################################### # # TEST #3B (simple with MPOSTDIRS) # ####################################### BMK:.if defined(TEST3B) GMK:ifdef TEST3B NAME= test3 MPOSTDIRS= mpdir1 mpdir2 BMK:.endif GMK:endif ####################################### # # TEST #4 (simple with XFIGSRCS) # ####################################### BMK:.if defined(TEST4) GMK:ifdef TEST4 NAME= test XFIGSRCS= xfig1.fig xfig2.fig BMK:.endif GMK:endif ####################################### # # TEST #5 (simple with XFIGDIRS) # ####################################### BMK:.if defined(TEST5) GMK:ifdef TEST5 NAME= test XFIGDIRS= xfigdir1 xfigdir2 BMK:.endif GMK:endif ####################################### # # TEST #6 (multiple .tex files) # ####################################### BMK:.if defined(TEST6) GMK:ifdef TEST6 NAME= test TEXSRCS+= a.tex b.tex BMK:.endif GMK:endif ####################################### # # TEST #7 (multiple documents) # ####################################### BMK:.if defined(TEST7) GMK:ifdef TEST7 NAME= test1 test2 BMK:.endif GMK:endif ####################################### # # TEST #8 (BibTeX) # ####################################### BMK:.if defined(TEST8) GMK:ifdef TEST8 NAME= test BIBTEXSRCS= foo.bib BMK:.endif GMK:endif ####################################### # # TEST #9 (multiple documents with # foo_TEXSRCS # ####################################### BMK:.if defined(TEST9) GMK:ifdef TEST9 NAME= test1 test2 test1_TEXSRCS+= xtra1.tex test2_TEXSRCS+= xtra2.tex BMK:.endif GMK:endif ####################################### # # multiple documents with foo_LGRINDDIRS # ####################################### BMK:.if defined(TEST_MULTI_LGRINDDIRS) GMK:ifdef TEST_MULTI_LGRINDDIRS NAME= test1 test2 test1_LGRINDDIRS+= lgd1 test2_LGRINDDIRS+= lgd2 BMK:.endif GMK:endif ####################################### # # multiple documents with foo_LGRINDSRCS # ####################################### BMK:.if defined(TEST_MULTI_LGRINDSRCS) GMK:ifdef TEST_MULTI_LGRINDSRCS NAME= test1 test2 test1_LGRINDSRCS+= src1.c test2_LGRINDSRCS+= src2.c BMK:.endif GMK:endif ####################################### # # TEST #10 (multiple documents with # foo_TGIFSRCS # ####################################### BMK:.if defined(TEST10) GMK:ifdef TEST10 NAME= test1 test2 test1_TGIFSRCS+= fig1.obj test2_TGIFSRCS+= fig2.obj BMK:.endif GMK:endif ####################################### # # TEST #11 (graphic file conversions) # ####################################### BMK:.if defined(TEST11) GMK:ifdef TEST11 NAME= test1 JPGFILES= jpg1.jpg jpg2.jpg PNGFILES= png1.png png2.png OTHER+= $(JPGFILES:.jpg=.eps) OTHER+= $(PNGFILES:.png=.eps) BMK:.endif GMK:endif ####################################### # # Subdirectory tests # ####################################### BMK:.if defined(TEST_SUBDIR) GMK:ifdef TEST_SUBDIR SUBDIR= dir1 dir2 dir3 SKIP_LATEX_MK= yes BMK:.include "${LATEX_MK_DIR}/latex.subdir.mk" GMK:include ${LATEX_MK_DIR}/latex.subdir.gmk BMK:.endif GMK:endif ####################################### # # The LaTeX-Mk include # ####################################### BMK:.if !defined(SKIP_LATEX_MK) GMK:ifndef SKIP_LATEX_MK BMK:.include "${LATEX_MK_DIR}/latex.mk" GMK:include ${LATEX_MK_DIR}/latex.gmk BMK:.endif GMK:endif latex-mk-2.1/testsuite/run_tests.sh100755 000144 000000 00000024773 10634604071 0013213#!/bin/sh # # $Id: run_tests.sh,v 1.27 2007/06/15 21:44:25 dan Exp $ # # Copyright (c) 2003, 2004, 2005, 2006, 2007 Dan McMahill # All rights reserved. # # This code is derived from software written by Dan McMahill # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by Dan McMahill # 4. The name of the author may not be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # regen=no with_bmake=yes with_gmake=yes while test -n "$1" do case "$1" in -h|--help) echo "Sorry, help not available for this script yet" exit 0 ;; -r|--regen) # regenerate the 'golden' output files. Use this with caution. # In particular, all differences should be noted and understood. regen=yes shift ;; --without-bmake) # don't run the BSD make tests with_bmake=no shift ;; --without-gmake) # don't run the GNU make tests with_gmake=no shift ;; -*) echo "unknown option: $1" exit 1 ;; *) break ;; esac done if [ "X$regen" = "Xyes" ]; then sufx="ref" else sufx="log" fi LATEX_MK_DIR=${top_srcdir:-..} LATEX_MK_DIR=`cd ${LATEX_MK_DIR} && echo $PWD` export LATEX_MK_DIR echo "LATEX_MK_DIR = $LATEX_MK_DIR" # printenv ####################################### # # general latex stuff # ####################################### BIBTEX=bibtex CONVERT=convert DVIPDFM=dvipdfm DVIPDFM_ENV= DVIPDFM_FLAGS= DVIPS=dvips DVIPS_FLAGS= ECHO=echo ENV_PROG=env FALSE=false GZCAT=gzcat GZIP=gzip GV=gv GV_FLAGS= HACHA=hacha HACHA_ENV= HACHA_FLAGS= HEVEA=hevea HEVEA_ENV= HEVEA_FLAGS= IMAGEN=imagen IMAGEN_ENV= IMAGEN_FLAGS= LATEX_MK=latex-mk LATEX_MK_FLAGS= LATEX=latex LATEX_ENV= LATEX2HTML=latex2html LATEX2HTML_ENV= LATEX2HTML_FLAGS= LATEX2RTF=latex2rtf LATEX2RTF_ENV= LATEX2RTF_FLAGS= LGRIND=lgrind LGRIND_FLAGS=-i LPR=lpr LPR_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MPOST=mpost MPOST_FLAGS= PDFLATEX=pdflatex PDFLATEX_ENV= PDFLATEX_FLAGS= PS2PDF=ps2pdf PS2PDF_FLAGS= TAR=tar XDVI=xdvi XDVI_FLAGS= VIEWPDF=acroread VIEWPDF_FLAGS= export BIBTEX export CONVERT export DVIPDFM export DVIPDFM_ENV export DVIPDFM_FLAGS export DVIPS export DVIPS_FLAGS export ECHO export ENV_PROG export FALSE export GV export GV_FLAGS export GZCAT export GZIP export HACHA export HACHA_ENV export HACHA_FLAGS export HEVEA export HEVEA_ENV export HEVEA_FLAGS export IMAGEN export IMAGEN_ENV export IMAGEN_FLAGS export LATEX_MK export LATEX_MK_FLAGS export LATEX export LATEX_ENV export LATEX_FLAGS export LATEX2HTML export LATEX2HTML_ENV export LATEX2HTML_FLAGS export LATEX2RTF export LATEX2RTF_ENV export LATEX2RTF_FLAGS export LGRIND export LGRIND_FLAGS export LPR export LPR_FLAGS export MAKEGLS export MAKEGLS_FLAGS export MAKEIDX export MAKEIDX_FLAGS export MPOST export MPOST_FLAGS export PDFLATEX export PDFLATEX_ENV export PDFLATEX_FLAGS export PS2PDF export PS2PDF_FLAGS export TAR export XDVI export XDVI_FLAGS export VIEWPDF export VIEWPDF_FLAGS ####################################### # # tgif stuff # ####################################### TGIF=tgif TGIF_FLAGS="-color -print" TGIF_EPS_FLAGS="-eps" TGIF_PDF_FLAGS="-pdf" export TGIF export TGIF_FLAGS export TGIF_EPS_FLAGS export TGIF_PDF_FLAGS ####################################### # # xfig stuff # ####################################### FIG2DEV=fig2dev FIG2DEV_FLAGS="" FIG2DEV_EPS_FLAGS="-L eps" FIG2DEV_PDF_FLAGS="-L pdf" export FIG2DEV export FIG2DEV_FLAGS export FIG2DEV_EPS_FLAGS export FIG2DEV_PDF_FLAGS ####################################### # # Make stuff # ####################################### BMAKE=${BMAKE:-make} BMAKE_NAME=`basename $BMAKE` GMAKE=${GMAKE:-gmake} GMAKE_NAME=`basename $GMAKE` if test "X$BMAKE" = "Xnone" ; then with_bmake=no fi if test "X$GMAKE" = "Xnone" ; then with_gmake=no fi # golden directories BMAKE_REF=bmake_ref GMAKE_REF=gmake_ref # clear out some environment variables # which may be polluting the test MAKEFLAGS="" MAKELEVEL="" MFLAGS="" export MAKEFLAGS export MAKELEVEL export MFLAGS MAKECONF="/dev/null" USER_MAKECONF="/dev/null" export MAKECONF export USER_MAKECONF ####################################### # # System stuff # ####################################### AWK=awk FIND=find GREP=grep RM=rm RMDIR=rm export AWK export FIND export GREP export RM export RMDIR ####################################### # # # ####################################### BMKF=testfile.mk GMKF=testfile.gmk MFLAGS="LATEX_MK_DIR=${LATEX_MK_DIR}" BMAKE="${BMAKE} -f ../${BMKF} ${MFLAGS}" GMAKE="${GMAKE} -f ../${GMKF} ${MFLAGS}" # echo "BSD make command = $BMAKE" # echo "GNU make command = $GMAKE" # make sure we have the right paths when running this from inside the # source tree and also from outside the source tree. here=$PWD here=`cd $here && echo $PWD` srcdir=${srcdir:-$here} srcdir=`cd $srcdir && echo $PWD` rundir=${here}/run if [ ! -d ${BMAKE_REF} ]; then mkdir ${BMAKE_REF} fi if [ ! -d ${GMAKE_REF} ]; then mkdir ${GMAKE_REF} fi TESTLIST=${srcdir}/tests.list if [ ! -f $TESTLIST ]; then echo "ERROR: ($0) Test list $TESTLIST does not exist" exit 1 fi # fail/pass/total counts bfail=0 gfail=0 bpass=0 gpass=0 bskip=0 gskip=0 tot=0 if test -z "$1" ; then all_tests=`awk 'BEGIN{FS="|"} /^#/{next} {print $1}' $TESTLIST | sed 's; ;;g'` else all_tests=$* fi echo "Starting tests in $here." echo "Source directory is $srcdir" for t in $all_tests ; do noexec_mode=yes case "$t" in \**) t=`echo $t | sed 's;^\*;;g'` rt="\*${t}" noexec_mode=no ;; *) rt="${t}" ;; esac t=`echo $t | sed 's;^\*;;g'` dirs=`grep "^[ \t]*${rt}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $2}'` files=`grep "^[ \t]*${rt}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $3}'` args=`grep "^[ \t]*${rt}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $4}'` if [ "$noexec_mode" = "yes" ] ; then args="-n $args" fi tot=`expr $tot + 1` # create temporary run directory if [ ! -d $rundir ]; then mkdir -p $rundir fi # Create the subdirectories needed if [ ! -z "$dirs" ]; then for dir in $dirs ; do mkdir -p ${rundir}/${dir} done fi # Create the files needed if [ ! -z "$files" ]; then copy_mode=no for f in $files ; do case "$f" in @) sleep 2 ;; "<" ) copy="cp" copy_mode=yes ;; ">") eval $copy copy_mode=no ;; *) if [ "$copy_mode" = "yes" ]; then f=`echo $f | sed -e "s;@S@;${srcdir};g" -e "s;@R@;${rundir};g"` copy="$copy $f" else touch ${rundir}/${f} fi ;; esac done if [ "$copy_mode" = "yes" ]; then echo "ERROR: copy_mode is still yes for test ${t}" echo " This indicates a bug in tests.list" echo " " exit 1 fi fi # run the BSD make test # # normalize messages like: # make: stopped in /export/disk1/src/local-cvs/localsrc/misc/latex-mk/testsuite/run/dir1 # to avoid developer paths if [ "X$with_bmake" = "Xyes" ]; then echo "Test: (BSD make) $t" cd ${rundir} && ${BMAKE} $args | sed \ -e "s;stopped in .*/testsuite/run/;stopped in testsuite/run/;g" \ -e "s;${BMAKE_NAME};make;g" \ > ${here}/${BMAKE_REF}/${t}.${sufx} if [ "X$regen" != "Xyes" ]; then if [ -f ${srcdir}/${BMAKE_REF}/${t}.ref ]; then if diff -w ${srcdir}/${BMAKE_REF}/${t}.ref ${here}/${BMAKE_REF}/${t}.log >/dev/null ; then echo "PASS" bpass=`expr $bpass + 1` else echo "FAILED: See diff -w ${srcdir}/${BMAKE_REF}/${t}.ref ${here}/${BMAKE_REF}/${t}.log" bfail=`expr $bfail + 1` fi else echo "No reference file. Skipping" bskip=`expr $bskip + 1` fi else echo "Regenerated" fi fi # run the GNU make test if [ "X$with_gmake" = "Xyes" ]; then echo "Test: (GNU make) $t" # we have to replace the actual name of the GNU make program with 'gmake' because # some of the tests will contain the name of GNU make in the output. This way if # someone has installed GNU make as 'gnumake', the test will still pass even though # I use 'gmake' on my system # # Also, we have to watch out for the gmake entering/leaving directory messages. # those will have the full system path so we have to normalize it here cd ${rundir} && ${GMAKE} $args | sed -e "s;${GMAKE_NAME};gmake;g" \ -e "s;directory .*/testsuite/run/;directory \`testsuite/run/;g" \ > ${here}/${GMAKE_REF}/${t}.${sufx} if [ "X$regen" != "Xyes" ]; then if [ -f ${srcdir}/${GMAKE_REF}/${t}.ref ]; then if diff -w ${srcdir}/${GMAKE_REF}/${t}.ref ${here}/${GMAKE_REF}/${t}.log >/dev/null ; then echo "PASS" gpass=`expr $gpass + 1` else echo "FAILED: See diff -w ${srcdir}/${GMAKE_REF}/${t}.ref ${here}/${GMAKE_REF}/${t}.log" gfail=`expr $gfail + 1` fi else echo "No reference file. Skipping" gskip=`expr $gskip + 1` fi else echo "Regenerated" fi fi cd $here # clean up the rundirectory rm -fr ${rundir} done echo "BSD make version: Passed $bpass, failed $bfail, skipped $bskip out of $tot tests." echo "GNU make version: Passed $gpass, failed $gfail, skipped $gskip out of $tot tests." rc=0 if [ $bpass -ne $tot -a "X$with_bmake" = "Xyes" ]; then rc=1 fi if [ $gpass -ne $tot -a "X$with_gmake" = "Xyes" ]; then rc=1 fi exit $rc latex-mk-2.1/testsuite/script_tests.sh100755 000144 000000 00000022642 11506443040 0013700#!/bin/sh # # $Id: script_tests.sh,v 1.15 2010/12/28 20:18:40 dan Exp $ # # Copyright (c) 2006, 2007, 2010 Dan McMahill # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by Dan McMahill # 4. The name of the author may not be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # regen=no noclean=no usage() { cat </dev/null if test $? -ne 0 ; then echo "$0: Error, specified test ${t} does not exist in ${TESTLIST}" >/dev/stderr exit 1 fi tot=`expr $tot + 1` # test_name | directories to create | files needed | arguments to latex-mk | env vars dirs=`grep "^[ \t]*${t}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $2}'` files=`grep "^[ \t]*${t}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $3}'` args=`grep "^[ \t]*${t}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $4}'` vars=`grep "^[ \t]*${t}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $5}'` ret=`grep "^[ \t]*${t}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $6}' | sed 's; ;;g'` root=`grep "^[ \t]*${t}[ \t]*|" $TESTLIST | awk 'BEGIN{FS="|"} {print $7}' | sed 's; ;;g'` if test "X${root}" = "Xno" -a "X${root_user}" = "Xyes" ; then echo "Skipping ${t} which will fail if run as root (and you are running as root)" skip=`expr $skip + 1` continue fi if test "X${ret}" = "X" ; then ret=0 fi # create temporary run directory rm -fr ${rundir} mkdir -p $rundir # Create the subdirectories needed if [ ! -z "$dirs" ]; then for dir in $dirs ; do d=`echo $dir | sed 's;:.*;;g'` #echo "mkdir -p ${rundir}/${d}" mkdir -p ${rundir}/${d} done fi # Create the files needed if [ ! -z "$files" ]; then # this horrible ugly hack is supposed to deal with allowing file names that have # spaces in them. Surely there is a better way but it eludes me at the moment. cat > ${tmpdir}/files << EOF for f in ${files} ; do #echo "f = \"\${f}\"" echo "cp -f \"${srcdir}/texfiles/\${f}\" ${rundir}" cp -f "${srcdir}/texfiles/\${f}" ${rundir} done EOF #cat ${tmpdir}/files . ${tmpdir}/files fi # Set the permissions on the subdirectories if [ ! -z "$dirs" ]; then for dir in $dirs ; do d=`echo $dir | sed 's;:.*;;g'` m=`echo $dir | awk 'BEGIN{FS=":"} {print $2}'` if [ "X${m}" != "X" ]; then #echo "chmod ${m} ${rundir}/${d}" chmod ${m} ${rundir}/${d} fi done fi # run the test echo "Test: $t" testlog="/tmp/script_tests.$$$$" #echo "cd ${rundir} && env ${vars} ${here}/../latex-mk --testlog ${testlog} $args" # We redirect from /dev/null because if the latex installation isn't quite # right we may end up with latex waiting for input from stdin but we don't # ever want to do that. This is especially important since we are redirecting # stdout and stderr so the user won't even see whats going on. cat > ${tmpdir}/run << EOF cd ${rundir} && env ${vars} ${here}/../latex-mk --testlog ${testlog} $args 2>&1 \ > ${here}/${REF}/${t}.dlog < /dev/null rc=\$? EOF cat ${tmpdir}/run . ${tmpdir}/run if test $rc -ne $ret -a "X$regen" != "Xyes" ; then echo "FAIL due to wrong return code. Received $rc, expected $ret" fi # take care of some absolute paths which may appear in the test log file. if test -f ${testlog} ; then sed -e "s;${here};HERE;g" -e "s;current directory:.*run;current directory: HERE/run;g" \ ${testlog} > ${here}/${REF}/${t}.${sufx} rm ${testlog} else echo "latex-mk returned $rc" > ${here}/${REF}/${t}.${sufx} sed -e "s;${here};HERE;g" -e "s;current directory:.*run;current directory: HERE/run;g" \ ${here}/${REF}/${t}.dlog >> ${here}/${REF}/${t}.${sufx} fi if [ "X$regen" != "Xyes" ]; then if [ -f ${srcdir}/${REF}/${t}.ref ]; then if diff -w ${srcdir}/${REF}/${t}.ref ${here}/${REF}/${t}.log >/dev/null ; then echo "PASS" pass=`expr $pass + 1` else echo "FAILED: See diff -w ${srcdir}/${REF}/${t}.ref ${here}/${REF}/${t}.log" fail=`expr $fail + 1` fi else echo "No reference file. Skipping" skip=`expr $skip + 1` fi else echo "Regenerated" fi cd $here # clean up the rundirectory chmod -R a+w ${rundir} if test "X${noclean}" != "Xyes" ; then rm -fr ${rundir} else echo "Keeping run directory ${rundir}" fi done echo "LaTeX-Mk shell script syntax: Passed $spass, failed $sfail out of $stot tests." echo "LaTeX-Mk latex-mk script: Passed $pass, failed $fail, skipped $skip out of $tot tests." rc=0 if [ $spass -ne $stot ]; then rc=1 fi if [ $fail -ne 0 ]; then rc=1 fi rm -fr ${tmpdir} exit $rc latex-mk-2.1/testsuite/tests.list100644 000144 000000 00000043076 10634604072 0012663# $Id: tests.list,v 1.34 2007/06/15 21:44:26 dan Exp $ # # Copyright (c) 2003, 2004, 2005, 2006, 2007 Dan McMahill # All rights reserved. # # This code is derived from software written by Dan McMahill # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by Dan McMahill # 4. The name of the author may not be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # # # Format: # # test_name | directories to create | files to touch | arguments to make # # make will be called with -n just to see that the right set of steps # will be taken for each example. If the test_name is prefixed by a '*' # then make will be called _without_ -n. # # By using the special character '@' in the 'files to touch' field, # a pause will be inserted to help avoid any timestamp issues with # touch being called to rapidly. This may be unreasonable paranoia, # but I'd rather not have to deal with debugging someones buggy filesystem. # # Specific files can be copied into the run area by using the following # syntax in the "files to touch" section: # # < @S@/srcfile @R@/destfile > # # The @S@ refers to the source directory and the @R@ refers to the run # directory. The white space around the "<" and ">" are required. # # Please note that more tests should be added here but that each added # test should have the 'golden' output fully verified by hand. # # ----------------------------------------- # Single project, single latex source tests # ----------------------------------------- # # basic tests with the defaults # basic1_dvi1||test1.tex|dvi TEST1=yes basic1_dvi2||test1.tex|test1.dvi TEST1=yes basic1_ps1||test1.tex|ps TEST1=yes basic1_ps2||test1.tex|test1.ps TEST1=yes basic1_pdf1||test1.tex|pdf TEST1=yes basic1_pdf2||test1.tex|test1.pdf TEST1=yes basic1_landscape_pdf||test1.tex|pdf TEST1=yes LANDSCAPE=yes basic1_landscape_ps||test1.tex|ps TEST1=yes LANDSCAPE=yes basic1_landscape_view||test1.tex|view TEST1=yes LANDSCAPE=yes basic1_landscape_viewps||test1.tex|viewps TEST1=yes LANDSCAPE=yes basic1_landscape_viewpdf||test1.tex|viewpdf TEST1=yes LANDSCAPE=yes basic1_clean1||test1.tex|clean TEST1=yes # # Draft targets # draft1||draft.ps test1.tex|test1-draft.ps TEST1=yes DATED_DRAFT_PS=draft.ps # # HTML output -- LaTeX2HTML # basic1_html1||test1.tex|html TEST1=yes USE_LATEX2HTML=yes basic1_html2||test1.tex|test1.html TEST1=yes USE_LATEX2HTML=yes basic1_html3||test1.tex @ test1.dvi @ test1.html-stamp|test1.html TEST1=yes USE_LATEX2HTML=yes basic1_html4||test1.tex|html TEST1=yes # # HTML output -- HeVeA # basic1_html5||test1.tex|html TEST1=yes USE_HEVEA=yes basic1_html6||test1.tex|test1.html TEST1=yes USE_HEVEA=yes # # HTML output -- tex2page # basic1_html7||test1.tex|html TEST1=yes USE_TEX2PAGE=yes basic1_html8||test1.tex|test1.html TEST1=yes USE_TEX2PAGE=yes # # basic tests with USE_DVIPDFM # basic1_dvipdfm_dvi1||test1.tex|dvi TEST1=yes USE_DVIPDFM=yes basic1_dvipdfm_dvi2||test1.tex|test1.dvi TEST1=yes USE_DVIPDFM=yes basic1_landscape_dvipdfm||test1.tex|pdf TEST1=yes USE_DVIPDFM=yes LANDSCAPE=yes basic1_dvipdfm_ps1||test1.tex|ps TEST1=yes USE_DVIPDFM=yes basic1_dvipdfm_ps2||test1.tex|test1.ps TEST1=yes USE_DVIPDFM=yes basic1_dvipdfm_pdf1||test1.tex|pdf TEST1=yes USE_DVIPDFM=yes basic1_dvipdfm_pdf2||test1.tex|test1.pdf TEST1=yes USE_DVIPDFM=yes # # ----------------------------------------- # basic tests with USE_PDFLATEX # ----------------------------------------- # basic1_pdflatex_dvi1||test1.tex|dvi TEST1=yes USE_PDFLATEX=yes basic1_pdflatex_dvi2||test1.tex|test1.dvi TEST1=yes USE_PDFLATEX=yes basic1_pdflatex_ps1||test1.tex|ps TEST1=yes USE_PDFLATEX=yes basic1_pdflatex_ps2||test1.tex|test1.ps TEST1=yes USE_PDFLATEX=yes basic1_pdflatex_pdf1||test1.tex|pdf TEST1=yes USE_PDFLATEX=yes basic1_pdflatex_pdf2||test1.tex|test1.pdf TEST1=yes USE_PDFLATEX=yes # # ----------------------------------------- # BIBTEXSRCS test # ----------------------------------------- # basic_bibtexsrcs_dvi1||test.tex foo.bib|dvi TEST8=yes # this one shouldn't do anything: basic_bibtexsrcs_dvi2||test.tex foo.bib @ test.bib-stamp @ test.dvi @ |dvi TEST8=yes # this one should want to re-run basic_bibtexsrcs_dvi3||test.tex test.dvi @ foo.bib|dvi TEST8=yes # basic_bibtexsrcs_pdf1||test.tex foo.bib|pdf TEST8=yes basic_bibtexsrcs_pdf2||test.tex foo.bib|pdf TEST8=yes USE_PDFLATEX=yes # # ----------------------------------------- # LGRINDSRCS test # ----------------------------------------- # basic_lgrindsrcs||test2.tex src1.c src2.c src2.h|dvi TEST2A=yes basic_lgrindsrcs2||test2.tex src1.c src2.c src2.h|dvi TEST2A=yes src1.c_LGRIND_FLAGS=-myflag1 src2.c_LGRIND_FLAGS=-myflag2 # # ----------------------------------------- # LGRINDDIRS test # ----------------------------------------- # basic_lgrinddirs|lgrinddir1 lgrinddir2|test3.tex lgrinddir1/src1.c lgrinddir1/src1.h lgrinddir2/src3.c |dvi TEST3A=yes basic_lgrinddirs2|lgrinddir1 lgrinddir2|test3.tex lgrinddir1/src1.c lgrinddir1/src1.h lgrinddir2/src3.c |dvi TEST3A=yes lgrinddir1_LGRIND_FLAGS=-mydir1flags lgrinddir2_LGRIND_FLAGS=-mydir2flags # # make sure we can override the directory flags with a file specific flag # basic_lgrinddirs3|lgrinddir1 lgrinddir2|test3.tex lgrinddir1/src1.c lgrinddir1/src1.h lgrinddir2/src3.c |dvi TEST3A=yes lgrinddir1_LGRIND_FLAGS=-mydir1flags lgrinddir1/src1.h_LGRIND_FLAGS=-mysrcflag # # ----------------------------------------- # MPOSTSRCS test # ----------------------------------------- # basic_mpostsrcs1||test2.tex figs1.mp figs2.mp |dvi TEST2B=yes basic_mpostsrcs2||test2.tex figs1.mp figs2.mp |dvi TEST2B=yes USE_PDFLATEX=yes basic_mpostsrcs3||test2.tex figs1.mp figs2.mp |dvi TEST2B=yes MPOST_TWICE=yes mpostsrcs_clean1||test2.tex figs1.mp figs2.mp |clean TEST2B=yes mpostsrcs_clean2||test2.tex figs1.mp figs2.mp |clean TEST2B=yes USE_PDFLATEX=yes # # ----------------------------------------- # MPOSTDIRS test # ----------------------------------------- # basic_mpostdirs1|mpdir1 mpdir2|test3.tex mpdir1/f1.mp mpdir1/f2.mp mpdir2/f3.mp |dvi TEST3B=yes # # # ----------------------------------------- # TGIFSRCS test # ----------------------------------------- # basic_tgifsrcs||test2.tex tgif1.obj tgif2.obj|dvi TEST2=yes tgifsrcs_clean||test2.tex tgif1.obj tgif2.obj|clean TEST2=yes tgif_pdflatex_dvi1||test2.tex tgif1.obj tgif2.obj|dvi TEST2=yes USE_PDFLATEX=yes # # ----------------------------------------- # TGIFDIRS test # ----------------------------------------- # basic_tgifdirs|tgifdir1 tgifdir2|test3.tex tgifdir1/tgifa.obj tgifdir1/tgifb.obj tgifdir2/tgifc.obj |dvi TEST3=yes # # ----------------------------------------- # XFIGSRCS test # ----------------------------------------- # basic_xfigsrcs||test.tex xfig1.fig xfig2.fig|dvi TEST4=yes xfigsrcs_clean||test.tex xfig1.fig xfig2.fig|clean TEST4=yes xfig_pdflatex_dvi1||test.tex xfig1.fig xfig2.fig|dvi TEST4=yes USE_PDFLATEX=yes # # ----------------------------------------- # XFIGDIRS test # ----------------------------------------- # basic_xfigdirs|xfigdir1 xfigdir2|test.tex xfigdir1/xfiga.fig xfigdir1/xfigb.fig xfigdir2/xfigc.fig |dvi TEST5=yes # # ----------------------------------------- # Checks for various configuration variables # ----------------------------------------- # # BIBTEX = the BibTeX executable # BIBTEX_ENV = environment variables set when running the BibTeX executable vars_bibtex||test1.tex|dvi TEST1=yes BIBTEX=mybibtex BIBTEX_FLAGS=mybibtex_flags # # DVIPDFM = the dvipdfm executable # DVIPDFM_ENV = environment variables set when running the dvipdfm executable # DVIPDFM_FLAGS= flags passed to the dvipdfm executable vars_dvipdfm||test1.tex|pdf TEST1=yes DVIPDFM=mydvipdfm DVIPDFM_FLAGS=mydvipdfm_flags DVIPDFM_ENV=foo=dvipdfm USE_DVIPDFM=yes vars_dvipdfm_landscape||test1.tex|pdf TEST1=yes DVIPDFM=mydvipdfm DVIPDFM_ENV=foo=dvipdfm USE_DVIPDFM=yes DVIPDFM_LANDSCAPE_FLAGS=mydvipdfm_landscape LANDSCAPE=yes # # DVIPS = the dvips executable # DVIPS_FLAGS = flags passed to the dvips executable vars_dvips||test1.tex|ps TEST1=yes DVIPS=mydvips DVIPS_FLAGS=mydvips_flags DVIPS_ENV=foo=dvips vars_dvips_landscape||test1.tex|ps TEST1=yes DVIPS=mydvips DVIPS_LANDSCAPE_FLAGS=mydvips_landscape LANDSCAPE=yes # # GV = a postscript previewer executable # GV_FLAGS = flags passed to the postscript previewer executable vars_gv||test1.tex|viewps TEST1=yes GV=mygv GV_FLAGS=mygv_flags vars_gv_landscape||test1.tex|viewps TEST1=yes GV=mygv GV_LANDSCAPE_FLAGS=mygv_landscape LANDSCAPE=yes # # HEVEA = the Hevea executable # HEVEA_ENV = environment variables set when running the Hevea executable # HEVEA_FLAGS = flags passed to the LaTeX executable # IMAGEN = imagen executable vars_hevea||test1.tex|html TEST1=yes IMAGEN=myimagen HEVEA=myhevea HEVEA_FLAGS=myhevea_flags HEVEA_ENV=foo=bar USE_HEVEA=yes # # LATEX = the LaTeX executable # LATEX_ENV = environment variables set when running the LaTeX executable # LATEX_FLAGS = flags passed to the LaTeX executable # POST_BIBTEX_HOOK # = program to be run after a BibTeX run vars_latex||test1.tex|dvi TEST1=yes LATEX=mylatex LATEX_FLAGS=mylatex_flags LATEX_ENV=foo=bar POST_BIBTEX_HOOK=my_post_bibtex # # LATEX2HTML = the LaTeX2HTML executable # LATEX2HTML_ENV = environment variables set when running the LaTeX2HTML executable # LATEX2HTML_FLAGS = flags passed to the LaTeX2HTML executable vars_latex2html||test1.tex|html TEST1=yes LATEX2HTML=mylatex2html LATEX2HTML_FLAGS=mylatex2html_flags LATEX2HTML_ENV=foo=bar USE_LATEX2HTML=yes # # LATEX2RTF = the latex2rtf executable # LATEX2RTF_ENV = environment variables set when running the latex2rtf executable # LATEX2RTF_FLAGS = flags passed to the latex2rtf executable vars_latex2rtf||test1.tex|rtf TEST1=yes LATEX2RTF=mylatex2rtf LATEX2RTF_FLAGS=mylatex2rtf_flags LATEX2RTF_ENV=foortf=barrtf # # LGRIND = lgrind executable # LGRIND_FLAGS = flags passed to LGRIND vars_lgrind||test2.tex src1.c src2.c src2.h|dvi TEST2A=yes LGRIND=mylgrind LGRIND_FLAGS=mylgrind_flags # # LPR = executable to print postscript files # LPR_FLAGS = flags passed to the executable to print postscript files vars_lpr||test1.tex|print TEST1=yes LPR=mylpr LPR_FLAGS=mylpr_flags # # MAKEGLS = makeindex executable for glossaries # MAKEGLS_FLAGS= flags passed to the makeindex for glossaries executable vars_makegls||test1.tex|dvi TEST1=yes MAKEGLS=mymakegls MAKEGLS_FLAGS=mymakegls_flags # # MAKEIDX = makeindex executable # MAKEIDX_FLAGS= flags passed to the makeindex executable vars_makeindex||test1.tex|dvi TEST1=yes MAKEIDX=mymakeindex MAKEIDX_FLAGS=mymakeindex_flags # # MPOST = the METAPOST executable # MPOST_FLAGS = flags passed to ${MPOST} vars_mpost||test2.tex figs1.mp figs2.mp|dvi TEST2B=yes MPOST=mympost MPOST_FLAGS=mympost_flags # # PDFLATEX = pdflatex executable # PDFLATEX_ENV = environment variables set when running the PDFLaTeX executable # PDFLATEX_FLAGS= flags passed to the PDFLaTeX executable vars_pdflatex||test1.tex|pdf TEST1=yes PDFLATEX=mypdflatex PDFLATEX_FLAGS=mypdflatex_flags PDFLATEX_ENV=foo=bar USE_PDFLATEX=yes # # PS2PDF = ps2pdf executable # PS2PDF_FLAGS = flags passed to the ps2pdf executable vars_ps2pdf||test1.tex|pdf TEST1=yes PS2PDF=myps2pdf PS2PDF_FLAGS=myps2pdf_flags # # TEX2PAGE = the tex2page executable # TEX2PAGE_ENV = environment variables set when running the tex2page executable # TEX2PAGE_FLAGS = flags passed to the tex2page executable vars_tex2page||test1.tex|html TEST1=yes TEX2PAGE=mytex2page TEX2PAGE_FLAGS=mytex2page_flags TEX2PAGE_ENV=foo=bar USE_TEX2PAGE=yes # # # VIEWPDF = PDF viewer # VIEWPDF_FLAGS= PDF viewer flags vars_viewpdf||test1.tex|viewpdf TEST1=yes VIEWPDF=myviewpdf VIEWPDF_FLAGS=myviewpdf_flags vars_viewpdf_landscape||test1.tex|viewpdf TEST1=yes VIEWPDF=myviewpdf VIEWPDF_LANDSCAPE_FLAGS=myviewpdf_landscape LANDSCAPE=yes # # XDVI = a .dvi previewer executable # XDVI_FLAGS = flags passed to the .dvi previewer executable vars_xdvi||test1.tex|view TEST1=yes XDVI=myxdvi XDVI_FLAGS=myxdvi_flags vars_xdvi_landscape||test1.tex|view TEST1=yes XDVI=myxdvi XDVI_LANDSCAPE_FLAGS=myxdvi_landscape LANDSCAPE=yes # # ----------------------------------------- # Single project, multiple latex source tests # ----------------------------------------- # basic2_dvi1||test.tex a.tex b.tex|dvi TEST6=yes basic2_dvi2||test.tex @ test.dvi @ a.tex b.tex|dvi TEST6=yes basic2_dvi3||test.tex a.tex @ test.dvi @ b.tex|dvi TEST6=yes # # ----------------------------------------- # Multidocument project # ----------------------------------------- # multi1_dvi1||test1.tex test2.tex|test1.dvi TEST7=yes multi1_dvi2||test1.tex test2.tex|test2.dvi TEST7=yes multi1_dvi3||test1.tex test2.tex|dvi TEST7=yes # # foo_DVIPDFM_FLAGS # multi1_dvipdfm_flag1||test1.tex test2.tex|pdf TEST7=yes test1_DVIPDFM_FLAGS=dvipdfm1_flags test2_DVIPDFM_FLAGS=dvipdfm2_flags DVIPDFM_FLAGS=my_dvipdfm_flags USE_DVIPDFM=yes # # foo_DVIPS_FLAGS # multi1_dvips_flag1||test1.tex test2.tex|ps TEST7=yes test1_DVIPS_FLAGS=dvips1_flags test2_DVIPS_FLAGS=dvips2_flags # # foo_TEXSRCS # multi_texsrcs_dvi1||test1.tex test2.tex xtra1.tex xtra2.tex|test1.dvi TEST9=yes multi_texsrcs_dvi2||test1.tex test2.tex xtra1.tex xtra2.tex|test2.dvi TEST9=yes multi_texsrcs_dvi3||test1.tex test2.tex xtra1.tex xtra2.tex|dvi TEST9=yes multi_texsrcs_dvi4||test1.tex test2.tex xtra1.tex @ test1.dvi test2.dvi @ xtra2.tex|test1.dvi TEST9=yes multi_texsrcs_dvi5||test1.tex test2.tex xtra1.tex @ test1.dvi test2.dvi @ xtra2.tex|test2.dvi TEST9=yes # # distfiles # multi_distfile1||test1.tex test2.tex xtra1.tex xtra2.tex|dist TEST9=yes multi_distfile2||test1.tex test2.tex fig1.obj fig2.obj|dist TEST10=yes multi_distfile3||test1.tex test2.tex src1.c src2.c|dist TEST_MULTI_LGRINDSRCS=yes # # foo_LGRINDSRCS # multi_lgrindsrcs_dvi1||test1.tex test2.tex src1.c src2.c|test1.dvi TEST_MULTI_LGRINDSRCS=yes multi_lgrindsrcs_dvi2||test1.tex test2.tex src1.c src2.c|test2.dvi TEST_MULTI_LGRINDSRCS=yes multi_lgrindsrcs_dvi3||test1.tex test2.tex src1.c src2.c|dvi TEST_MULTI_LGRINDSRCS=yes multi_lgrindsrcs_dvi4||test1.tex test2.tex src1.c src2.c @ src1.c.tex @ test1.dvi test2.dvi|test1.dvi TEST_MULTI_LGRINDSRCS=yes multi_lgrindsrcs_dvi5||test1.tex test2.tex src1.c src2.c @ src1.c.tex @ test1.dvi test2.dvi|test2.dvi TEST_MULTI_LGRINDSRCS=yes multi_lgrindsrcs_dvi6||test1.tex test2.tex src1.c src2.c|dvi TEST_MULTI_LGRINDSRCS=yes src1.c_LGRIND_FLAGS=-myflag1 multi_lgrindsrcs_dvi7||test1.tex test2.tex src1.c src2.c|dvi TEST_MULTI_LGRINDSRCS=yes src1.c_LGRIND_FLAGS=-myflag1 src2.c_LGRIND_FLAGS=-myflag2 # # foo_LGRINDDIRS # multi_lgrinddirs_dvi1|lgd1 lgd2|test1.tex test2.tex lgd1/src1.c lgd1/src2.c lgd2/src1.c|test1.dvi TEST_MULTI_LGRINDDIRS=yes multi_lgrinddirs_dvi2|lgd1 lgd2|test1.tex test2.tex lgd1/src1.c lgd1/src2.c lgd2/src1.c|test2.dvi TEST_MULTI_LGRINDDIRS=yes multi_lgrinddirs_dvi3|lgd1 lgd2|test1.tex test2.tex lgd1/src1.c lgd1/src2.c lgd2/src1.c|dvi TEST_MULTI_LGRINDDIRS=yes multi_lgrinddirs_dvi4|lgd1 lgd2|test1.tex test2.tex lgd1/src1.c lgd1/src2.c lgd2/src1.c|dvi TEST_MULTI_LGRINDDIRS=yes lgd1_LGRIND_FLAGS=-myflags1 multi_lgrinddirs_dvi5|lgd1 lgd2|test1.tex test2.tex lgd1/src1.c lgd1/src2.c lgd2/src1.c|dvi TEST_MULTI_LGRINDDIRS=yes lgd1_LGRIND_FLAGS=-myflags1 lgd2_LGRIND_FLAGS=-myflags2 multi_lgrinddirs_dvi6|lgd1 lgd2|test1.tex test2.tex lgd1/src1.c lgd1/src2.c lgd2/src1.c|dvi TEST_MULTI_LGRINDDIRS=yes lgd1_LGRIND_FLAGS=-myflags1 lgd1/src1.c_LGRIND_FLAGS=-myspecialflag lgd2_LGRIND_FLAGS=-myflags2 # # foo_TGIFSRCS # multi_tgifsrcs_dvi1||test1.tex test2.tex fig1.obj fig2.obj|test1.dvi TEST10=yes multi_tgifsrcs_dvi2||test1.tex test2.tex fig1.obj fig2.obj|test2.dvi TEST10=yes multi_tgifsrcs_dvi3||test1.tex test2.tex fig1.obj fig2.obj|dvi TEST10=yes multi_tgifsrcs_dvi4||test1.tex test2.tex fig1.obj fig2.obj @ fig1.eps @ test1.dvi test2.dvi|test1.dvi TEST10=yes multi_tgifsrcs_dvi5||test1.tex test2.tex fig1.obj fig2.obj @ fig1.eps @ test1.dvi test2.dvi|test2.dvi TEST10=yes # # ----------------------------------------- # Graphic file conversions # ----------------------------------------- # graphic1_dvi1||test1.tex jpg1.jpg jpg2.jpg png1.png png2.png|dvi TEST11=yes # # # ----------------------------------------- # Graphic file conversions # ----------------------------------------- # *subdir1|||TEST_SUBDIR=yes *subdir2|dir2|< @S@/simple.mk @R@/dir2/Makefile >|TEST_SUBDIR=yes *subdir3|dir1 dir2|< @S@/simple.mk @R@/dir1/Makefile > < @S@/simple.mk @R@/dir2/Makefile >|TEST_SUBDIR=yes *subdir4|dir1 dir2 dir3|< @S@/simple.mk @R@/dir2/Makefile >|TEST_SUBDIR=yes *subdir5|dir2|< @S@/simple.mk @R@/dir2/Makefile >|TEST_SUBDIR=yes view latex-mk-2.1/testsuite/script_tests.list100644 000144 000000 00000013101 11506443037 0014232# $Id: script_tests.list,v 1.7 2010/12/28 20:18:39 dan Exp $ # # Copyright (c) 2006, 2007, 2010 Dan McMahill # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by Dan McMahill # 4. The name of the author may not be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # # # Format: # # test_name | directories to create | files needed | arguments to latex-mk | env vars | rc | ok as root? # # We may put "no" in the "ok as root?" field for tests that won't work right as root. # In particular some of the tests may experiment with directories that have 555 permissions. # The root user may not be constrained by such things. # # Basic document, no table of contents, index, bibliography, etc. # Verify that it works with writeable and read only ./ # basic1 | | basic1.tex | basic1 | basic2 | out:755 .:755 | basic1.tex | basic1 | TEXMFOUTPUT=out basic3 | out:755 .:555 | basic1.tex | basic1 | | 1 | no basic4 | out:755 .:555 | basic1.tex | basic1 | TEXMFOUTPUT=out | | no basic_space1 | | "basic space1.tex" | "basic space1" | # same thing with pdflatex pdf1 | | basic1.tex | --pdflatex basic1 | pdf2 | out:755 .:755 | basic1.tex | --pdflatex basic1 | TEXMFOUTPUT=out pdf3 | out:755 .:555 | basic1.tex | --pdflatex basic1 | | 1 | no pdf4 | out:755 .:555 | basic1.tex | --pdflatex basic1 | TEXMFOUTPUT=out | | no ###################################################################### # makeindex operation ###################################################################### makeindex1 | | index.tex | index | makeindex2 | out:755 .:755 | index.tex | index | TEXMFOUTPUT=out makeindex3 | out:755 .:555 | index.tex | index | | 1 | no makeindex4 | out:755 .:555 | index.tex | index | TEXMFOUTPUT=out | | no ###################################################################### # makeindex operation ###################################################################### makegls1 | | nomencl.tex | nomencl | ###################################################################### # bibtex operation ###################################################################### bibtex1 | | bibliography.tex bibliography.bib| bibliography | bibtex2 | out:755 .:755 | bibliography.tex bibliography.bib| bibliography | TEXMFOUTPUT=out bibtex3 | out:755 .:555 | bibliography.tex bibliography.bib| bibliography | | 1 | no bibtex4 | out:755 .:555 | bibliography.tex bibliography.bib| bibliography | TEXMFOUTPUT=out | | no bibtex5 | | bibliography2.tex bibliography.bib| bibliography2 | ###################################################################### # Use of the bibunits package ###################################################################### bibunits1 | | bibunits1.tex bibliography.bib | bibunits1 | bibunits2 | | bibunits2.tex bibliography.bib | bibunits2 | # see what happens with TEXMFOUTPUT set. Since "." is writable then things should # work as normal bibunits3 | out:755 .:755 | bibunits1.tex bibliography.bib| bibunits1 | TEXMFOUTPUT=out bibunits4 | out:755 .:755 | bibunits2.tex bibliography.bib| bibunits2 | TEXMFOUTPUT=out # in this case the output will be written to TEXMFOUTPUT since "." is read-only bibunits5 | out:755 .:555 | bibunits1.tex bibliography.bib| bibunits1 | TEXMFOUTPUT=out | | no bibunits6 | out:755 .:555 | bibunits2.tex bibliography.bib| bibunits2 | TEXMFOUTPUT=out | | no # in this case we should fail because of no write permissions to "." and no TEXMFOUTPUT set bibunits7 | out:755 .:555 | bibunits1.tex bibliography.bib| bibunits1 | | 1 | no bibunits8 | out:755 .:555 | bibunits2.tex bibliography.bib| bibunits2 | | 1 | no ###################################################################### # Reading of environment variables ###################################################################### vars1 | | basic1.tex | | BIBTEX=mybibtex BIBTEX_FLAGS=mybibtex_flags | 1 vars2 | | basic1.tex | | LATEX=mylatex LATEX_FLAGS=mylatex_flags | 1 vars3 | | basic1.tex | | MAKEIDX=mymakeindex MAKEIDX_FLAGS=mymakeindex_flags | 1 vars4 | | basic1.tex | | PDFLATEX=mypdflatex PDFLATEX_FLAGS=mypdflatex_flags | 1 vars5 | | basic1.tex | | TEX2PAGE=mytex2page TEX2PAGE_FLAGS=mytex2page_flags | 1 vars6 | | basic1.tex | | TEXMFOUTPUT=mytexmf | 1 vars7 | | basic1.tex | | LOG=mylog | 1 latex-mk-2.1/testsuite/golden.mk100644 000144 000000 00000011144 10634604745 0012423## $Id: golden.mk,v 1.28 2007/06/15 21:51:33 dan Exp $ ## ## Copyright (c) 2003, 2004, 2005, 2006, 2007 Dan McMahill ## All rights reserved. ## ## This code is derived from software written by Dan McMahill ## ## Redistribution and use in source and binary forms, with or without ## modification, are permitted provided that the following conditions ## are met: ## 1. Redistributions of source code must retain the above copyright ## notice, this list of conditions and the following disclaimer. ## 2. Redistributions in binary form must reproduce the above copyright ## notice, this list of conditions and the following disclaimer in the ## documentation and/or other materials provided with the distribution. ## 3. All advertising materials mentioning features or use of this software ## must display the following acknowledgement: ## This product includes software developed by Dan McMahill ## 4. The name of the author may not be used to endorse or promote products ## derived from this software without specific prior written permission. ## ## THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ## IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ## OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ## INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ## BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ## LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED ## AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## GOLDEN_FILES= \ basic_bibtexsrcs_dvi1.ref \ basic_bibtexsrcs_dvi2.ref \ basic_bibtexsrcs_dvi3.ref \ basic_bibtexsrcs_pdf1.ref \ basic_bibtexsrcs_pdf2.ref \ basic1_clean1.ref \ basic1_dvi1.ref \ basic1_dvi2.ref \ basic1_dvipdfm_dvi1.ref \ basic1_dvipdfm_dvi2.ref \ basic1_dvipdfm_pdf1.ref \ basic1_dvipdfm_pdf2.ref \ basic1_dvipdfm_ps1.ref \ basic1_dvipdfm_ps2.ref \ basic1_html1.ref \ basic1_html2.ref \ basic1_html3.ref \ basic1_html4.ref \ basic1_html5.ref \ basic1_html6.ref \ basic1_html7.ref \ basic1_html8.ref \ basic1_landscape_dvipdfm.ref \ basic1_landscape_pdf.ref \ basic1_landscape_ps.ref \ basic1_landscape_view.ref \ basic1_landscape_viewpdf.ref \ basic1_landscape_viewps.ref \ basic1_pdf1.ref \ basic1_pdf2.ref \ basic1_pdflatex_dvi1.ref \ basic1_pdflatex_dvi2.ref \ basic1_pdflatex_pdf1.ref \ basic1_pdflatex_pdf2.ref \ basic1_pdflatex_ps1.ref \ basic1_pdflatex_ps2.ref \ basic1_ps1.ref \ basic1_ps2.ref \ basic_lgrinddirs.ref \ basic_lgrinddirs2.ref \ basic_lgrinddirs3.ref \ basic_lgrindsrcs.ref \ basic_lgrindsrcs2.ref \ basic_mpostdirs1.ref \ basic_mpostsrcs1.ref \ basic_mpostsrcs2.ref \ basic_mpostsrcs3.ref \ basic_tgifdirs.ref \ basic_tgifsrcs.ref \ basic_xfigdirs.ref \ basic_xfigsrcs.ref \ basic2_dvi1.ref \ basic2_dvi2.ref \ basic2_dvi3.ref \ draft1.ref \ graphic1_dvi1.ref \ mpostsrcs_clean1.ref \ mpostsrcs_clean2.ref \ multi_distfile1.ref \ multi_distfile2.ref \ multi_distfile3.ref \ multi1_dvi1.ref \ multi1_dvi2.ref \ multi1_dvi3.ref \ multi1_dvipdfm_flag1.ref \ multi1_dvips_flag1.ref \ multi_lgrinddirs_dvi1.ref \ multi_lgrinddirs_dvi2.ref \ multi_lgrinddirs_dvi3.ref \ multi_lgrinddirs_dvi4.ref \ multi_lgrinddirs_dvi5.ref \ multi_lgrinddirs_dvi6.ref \ multi_lgrindsrcs_dvi1.ref \ multi_lgrindsrcs_dvi2.ref \ multi_lgrindsrcs_dvi3.ref \ multi_lgrindsrcs_dvi4.ref \ multi_lgrindsrcs_dvi5.ref \ multi_lgrindsrcs_dvi6.ref \ multi_lgrindsrcs_dvi7.ref \ multi_texsrcs_dvi1.ref \ multi_texsrcs_dvi2.ref \ multi_texsrcs_dvi3.ref \ multi_texsrcs_dvi4.ref \ multi_texsrcs_dvi5.ref \ multi_tgifsrcs_dvi1.ref \ multi_tgifsrcs_dvi2.ref \ multi_tgifsrcs_dvi3.ref \ multi_tgifsrcs_dvi4.ref \ multi_tgifsrcs_dvi5.ref \ subdir1.ref \ subdir2.ref \ subdir3.ref \ subdir4.ref \ subdir5.ref \ tgif_pdflatex_dvi1.ref \ tgifsrcs_clean.ref \ vars_bibtex.ref \ vars_dvipdfm.ref \ vars_dvipdfm_landscape.ref \ vars_dvips.ref \ vars_dvips_landscape.ref \ vars_gv.ref \ vars_gv_landscape.ref \ vars_hevea.ref \ vars_latex.ref \ vars_latex2html.ref \ vars_latex2rtf.ref \ vars_lgrind.ref \ vars_lpr.ref \ vars_makegls.ref \ vars_makeindex.ref \ vars_mpost.ref \ vars_pdflatex.ref \ vars_ps2pdf.ref \ vars_tex2page.ref \ vars_viewpdf.ref \ vars_viewpdf_landscape.ref \ vars_xdvi.ref \ vars_xdvi_landscape.ref \ xfig_pdflatex_dvi1.ref \ xfigsrcs_clean.ref latex-mk-2.1/testsuite/simple.mk100644 000144 000000 00000003517 10366473744 0012456# -*- Makefile -*- # $Id: simple.mk,v 1.1 2006/01/27 19:43:32 dan Exp $ # # Copyright (c) 2006 Dan McMahill # All rights reserved. # # This code is derived from software written by Dan McMahill # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # 3. All advertising materials mentioning features or use of this software # must display the following acknowledgement: # This product includes software developed by Dan McMahill # 4. The name of the author may not be used to endorse or promote products # derived from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # default: @echo "default target" all: @echo "all target" view: @echo "view target" latex-mk-2.1/testsuite/README.txt100644 000144 000000 00000001666 10560000633 0012310# $Id: README.txt,v 1.2 2006/06/09 16:56:49 dan Exp $ # Currently, the 'run_tests.sh' script looks at the environment variables 'BMAKE' and 'GMAKE' to figure out the name of the BSD make and GNU make programs. They will default to 'make' and 'gmake' respectively. If you do not have both of these installed on your system, you can either use --without-bmake or --without-gmake flags to the test script or simply ignore the error output. The testsuite as currently implemented simply runs a 'make -n' with various setups to see that the correct actions would be taken. This hopefully provides pretty good coverage of the make rules. The 'latex-mk' script is checked by the 'script_tests.sh' script. The tests here rely on having a working LaTeX installation. latex-mk includes the ability to log its actions to a file which can then be compared to a reference. Hopefully the actions will not vary with what version of LaTeX is installed. latex-mk-2.1/testsuite/texfiles/CVS/Root100644 000144 000000 00000000031 10560000667 0013726cowboy-burt:/usr/cvsroot latex-mk-2.1/testsuite/texfiles/CVS/Repository100644 000144 000000 00000000052 10560000667 0015165localsrc/misc/latex-mk/testsuite/texfiles latex-mk-2.1/testsuite/texfiles/CVS/Entries100644 000144 000000 00000001623 11506463173 0014432/README.txt/1.1/Thu Jun 8 11:49:05 2006//Tlatex-mk-2-1-RELEASE /basic1.tex/1.1/Thu Jun 8 11:45:25 2006//Tlatex-mk-2-1-RELEASE /bibliography.bib/1.2/Fri Mar 12 21:11:24 2010//Tlatex-mk-2-1-RELEASE /bibliography.tex/1.1/Sun Jun 11 12:00:30 2006//Tlatex-mk-2-1-RELEASE /bibliography2.tex/1.1/Sun Jun 11 12:00:30 2006//Tlatex-mk-2-1-RELEASE /bibunits1.tex/1.1/Fri Mar 12 21:11:24 2010//Tlatex-mk-2-1-RELEASE /bibunits2.tex/1.1/Fri Mar 12 21:11:24 2010//Tlatex-mk-2-1-RELEASE /figures.tex/1.1/Thu Jun 8 11:45:25 2006//Tlatex-mk-2-1-RELEASE /index.tex/1.1/Sat Jun 10 13:23:10 2006//Tlatex-mk-2-1-RELEASE /lof.tex/1.1/Thu Jun 8 11:45:25 2006//Tlatex-mk-2-1-RELEASE /lot.tex/1.1/Thu Jun 8 11:45:25 2006//Tlatex-mk-2-1-RELEASE /nomencl.tex/1.1/Fri Feb 2 01:26:02 2007//Tlatex-mk-2-1-RELEASE /tables.tex/1.1/Thu Jun 8 11:45:26 2006//Tlatex-mk-2-1-RELEASE /toc.tex/1.1/Thu Jun 8 11:45:26 2006//Tlatex-mk-2-1-RELEASE D latex-mk-2.1/testsuite/texfiles/CVS/Tag100644 000144 000000 00000000026 11506463173 0013530Nlatex-mk-2-1-RELEASE latex-mk-2.1/testsuite/texfiles/README.txt100644 000144 000000 00000000322 10442007261 0014122# $Id: README.txt,v 1.1 2006/06/08 11:49:05 dan Exp $ # This directory contains several LaTeX .tex files which are used by the automated regression testing to verify correct operation of the latex-mk script. latex-mk-2.1/testsuite/texfiles/basic1.tex100644 000144 000000 00000000240 10442006725 0014313% $Id: basic1.tex,v 1.1 2006/06/08 11:45:25 dan Exp $ % \documentclass[11pt]{article} \begin{document} This is a very basic \LaTeX document. \end{document} latex-mk-2.1/testsuite/texfiles/bibliography.bib100644 000144 000000 00000004157 11346526774 0015612% -*- BibTeX -*- % % $Id: bibliography.bib,v 1.2 2010/03/12 21:11:24 dan Exp $ % @string{prociee = "Proceedings of the {IEE}"} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % BOOKS % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @book{churchill84, author = "Ruel Vance Churchill and James Ward Brown", title = "Complex Variables and Applications", publisher = "McGraw-Hill", address = "New York", year = 1984, isbn = "0-07-010873-0", call = "QA331.C524 1984"} @book{cover91, author = "Thomas M. Cover and Joy A. Thomas", title = "Elements of Information Theory", publisher = "John Wiley and Sons", address = "New York", year = 1991, isbn = "0-471-06259-6"} @book{hildebrand76, author = "Francis B. Hildebrand", title = "Advanced Calculus for Applications", publisher = "Prentice-Hall", address = "Englewood Cliffs, New Jersey", year = 1976, isbn = "0-13-011189-9", call = "QA303.H55 1976" } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Papers % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @article{fano50, author = "R. M. Fano", affiliation = "MIT", title = "Theoretical Limitations on the Broadband Matching of Arbitrary Impedances", journal = "Journal of the Frankin Institute", year = 1950, month="February, June", pages = "57--83,130--155"} @article{green54, author = "E. Green", affiliation = "Marconi's Wireless Telegraph Co., Ltd.", title = "Synthesis of Ladder Networks to Give {B}utterworth or {C}hebyshev Response in the Pass Band", journal = prociee, volume = 101, number = 88, year = 1954, pages = "192--203"} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Standards % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @article{en300.175-2v1.4.2, author = "European Telecommunications Standards Institute (ETSI)", title = "Digital Enhanced Cordless Telecommunications ({DECT}); Common Interface ({CI}); Part2: Physical Layer ({PHL})", journal = "ETSI EN 300 175-2 V1.4.2", year = 1999 } latex-mk-2.1/testsuite/texfiles/bibliography.tex100644 000144 000000 00000000670 10443002736 0015632% $Id: bibliography.tex,v 1.1 2006/06/11 12:00:30 dan Exp $ % \documentclass[11pt]{article} \title{Example Document That Uses BibTeX} \author{Dan} \date{\today} \usepackage{fancyheadings} \pagestyle{fancy} \rhead{Referenced Notes} \usepackage{hyperref} \begin{document} \maketitle \section{Introduction} See the DECT standard\cite{en300.175-2v1.4.2} for details. \bibliographystyle{ieeetr} \bibliography{bibliography} \end{document} latex-mk-2.1/testsuite/texfiles/bibliography2.tex100644 000144 000000 00000001045 10443002736 0015711% $Id: bibliography2.tex,v 1.1 2006/06/11 12:00:30 dan Exp $ % \documentclass[11pt]{article} \usepackage{makeidx} \title{Example Document That Uses BibTeX} \author{Dan} \date{\today} \usepackage{fancyheadings} \pagestyle{fancy} \rhead{Referenced Notes} \usepackage{hyperref} \makeindex \begin{document} \maketitle \section{Introduction} See the DECT\index{standards, DECT} standard\cite{en300.175-2v1.4.2} for details. \section{Index} \printindex \section{References} \bibliographystyle{ieeetr} \bibliography{bibliography} \end{document} latex-mk-2.1/testsuite/texfiles/figures.tex100644 000144 000000 00000000674 10442006725 0014630% $Id: figures.tex,v 1.1 2006/06/08 11:45:25 dan Exp $ % \documentclass[11pt]{article} \begin{document} %\maketitle This is a \LaTeX document with figures in it that will produce a list of figures. \begin{figure}[ht] \centering Figure Goes Here \caption{Example Figure} \label{fig:myfig} \end{figure} \begin{figure}[ht] \centering Another Figure Goes Here \caption{Another Example Figure} \label{fig:yourfig} \end{figure} \end{document} latex-mk-2.1/testsuite/texfiles/index.tex100644 000144 000000 00000001005 10442543676 0014273% $Id: index.tex,v 1.1 2006/06/10 13:23:10 dan Exp $ % \documentclass[11pt]{article} \usepackage{makeidx} \title{Example Document With and Index} \author{Dan} \date{\today} \usepackage{fancyheadings} \pagestyle{fancy} \rhead{Indexed Doc} \usepackage{hyperref} \makeindex \begin{document} \maketitle \section{Introduction} This document includes\index{documents, with index} an index. \section{Section 2} We index words\index{words, indexed} from this section too. \section{Index} \printindex \end{document} latex-mk-2.1/testsuite/texfiles/lof.tex100644 000144 000000 00000000303 10442006725 0013731% $Id: lof.tex,v 1.1 2006/06/08 11:45:25 dan Exp $ % \documentclass[11pt]{article} \begin{document} \listoffigures This is a very basic \LaTeX document with a list of figures. \end{document} latex-mk-2.1/testsuite/texfiles/lot.tex100644 000144 000000 00000000301 10442006725 0013745% $Id: lot.tex,v 1.1 2006/06/08 11:45:25 dan Exp $ % \documentclass[11pt]{article} \begin{document} \listoftables This is a very basic \LaTeX document with a list of tables. \end{document} latex-mk-2.1/testsuite/texfiles/tables.tex100644 000144 000000 00000000703 10442006726 0014430% $Id: tables.tex,v 1.1 2006/06/08 11:45:26 dan Exp $ % \documentclass[11pt]{article} \begin{document} This is a basic \LaTeX document with tables. \begin{table}[htbp] \begin{center} \begin{tabular}{|| l | l ||} \hline \hline \emph{Name} & \emph{Value} \\ \hline \hline Row 1 & R1C2 \\ \hline Row 2 & R2C2 \\ \hline Row 3 & R3C2 \\ \hline \hline \end{tabular} \end{center} \caption{A Simple Table} \label{tab:mytab} \end{table} \end{document} latex-mk-2.1/testsuite/texfiles/toc.tex100644 000144 000000 00000000307 10442006726 0013743% $Id: toc.tex,v 1.1 2006/06/08 11:45:26 dan Exp $ % \documentclass[11pt]{article} \begin{document} \tableofcontents This is a very basic \LaTeX document with a table of contents. \end{document} latex-mk-2.1/testsuite/texfiles/nomencl.tex100644 000144 000000 00000001075 10560511452 0014612% $Id: nomencl.tex,v 1.1 2007/02/02 01:26:02 dan Exp $ % \documentclass[11pt]{article} \usepackage{nomencl} \title{Example Document With a Nomenclature List} \author{Dan} \date{\today} \usepackage{fancyheadings} \pagestyle{fancy} \rhead{Doc with Nomenclatures} \usepackage{hyperref} \makeglossary \begin{document} \maketitle \section{Introduction} Here is an example equation with nomenclatures: \begin{equation} E = m\:.\:c^2 \end{equation} \nomenclature{$E$}{Energy}% \nomenclature{$m$}{Mass}% \nomenclature{$c$}{Speed of light}% \printglossary \end{document} latex-mk-2.1/testsuite/texfiles/bibunits1.tex100644 000144 000000 00000001446 11346526774 0015101% $Id: bibunits1.tex,v 1.1 2010/03/12 21:11:24 dan Exp $ % Note: Do not use babel \documentclass[final, letterpaper, 10pt]{article} \usepackage{bibunits} \usepackage{cite} \begin{document} This document demonstrates the bibunits package and we see how it (the bibunit package) interacts with {\tt latex-mk}. \section*{Various References} \renewcommand{\refname}{} % BOOKS \subsection*{Books} \begin{bibunit}[IEEEtran] \nocite{churchill84, cover91} \putbib[IEEEabrv,bibliography] \end{bibunit} % JOURNAL ARTICLES \subsection*{Journal Articles} \begin{bibunit}[IEEEtran] \nocite{fano50, green54} \putbib[IEEEabrv,bibliography] \end{bibunit} % STANDARDS \subsection*{Standards} \begin{bibunit}[IEEEtran] \nocite{en300.175-2v1.4.2} \putbib[IEEEabrv,bibliography] \end{bibunit} \end{document} latex-mk-2.1/testsuite/texfiles/bibunits2.tex100644 000144 000000 00000002206 11346526774 0015075% $Id: bibunits2.tex,v 1.1 2010/03/12 21:11:24 dan Exp $ % Note: Do not use babel \documentclass[final, letterpaper, 10pt]{article} \usepackage{bibunits} \usepackage{cite} \begin{document} This document demonstrates the bibunits package and we see how it (the bibunit package) interacts with {\tt latex-mk}. \section*{Various References} \renewcommand{\refname}{} % BOOKS \subsection*{Books} \begin{bibunit}[IEEEtran] \nocite{churchill84, cover91} \putbib[IEEEabrv,bibliography] \end{bibunit} % JOURNAL ARTICLES \subsection*{Journal Articles} \begin{bibunit}[IEEEtran] \nocite{fano50, green54} \putbib[IEEEabrv,bibliography] \end{bibunit} % STANDARDS \subsection*{Standards} \begin{bibunit}[IEEEtran] \nocite{en300.175-2v1.4.2} \putbib[IEEEabrv,bibliography] \end{bibunit} \section{Appendix} I don't know if anyone would ever do this, but here is a section where we will have some citations and then we'll have a bibliography that is {\em not} handled by the bibunits package. We used \cite{hildebrand76} as the textbook in the calculus class I took freshman year. \bibliographystyle{ieeetr} \bibliography{bibliography} \end{document} latex-mk-2.1/testsuite/texfiles/basic space1.tex100644 000144 000000 00000000240 11506314133 0015364% $Id: basic1.tex,v 1.1 2006/06/08 11:45:25 dan Exp $ % \documentclass[11pt]{article} \begin{document} This is a very basic \LaTeX document. \end{document} latex-mk-2.1/testsuite/texfiles/bibunits1.tex~100644 000144 000000 00000002110 11346452314 0015250% $Id$ % Note: Do not use babel \documentclass[final, letterpaper, 10pt]{article} \usepackage{bibunits} \usepackage{cite} \begin{document} \section*{Scholarly Publications} \renewcommand{\refname}{} % BOOK CHAPTERS \subsection*{Book Chapters}\vspace*{-1cm} \begin{bibunit}[IEEEtran] \nocite{qca-chapter, rtd-chapter, testing-chapter, synthesis-chapter} \putbib[IEEEabrv,publications] \end{bibunit} % JOURNAL ARTICLES \subsection*{Refereed Journal Articles}\vspace*{-1cm} \begin{bibunit}[IEEEtran] \nocite{wang09-jrnl, iccd04-jrnl, date06-jrnl, vlsi05-jrnl, tcad06, date04-jrnl, date04-rui-jrnl, potentials01} \putbib[IEEEabrv,publications] \end{bibunit} % CONFERENCE PROCEEDINGS \subsection*{Refereed Conference Proceedings}\vspace*{-1cm} \begin{bibunit}[IEEEtran] \nocite{islped10, date06, dac05, vlsi05, iccd04, date04-rui-conf, date04, iccad03, ecbs01} \putbib[IEEEabrv,publications] \end{bibunit} %% REPRINTS \subsection*{Reprints}\vspace*{-1cm} \begin{bibunit}[IEEEtran] \nocite{date04-rui-repub} \putbib[IEEEabrv,publications] \end{bibunit} \end{document} latex-mk-2.1/testsuite/bmake_ref/Makefile.am100644 000144 000000 00000003650 07627254375 0014604## $Id: Makefile.am,v 1.3 2003/02/27 00:17:01 dan Exp $ ## ## Copyright (c) 2003 Dan McMahill ## All rights reserved. ## ## This code is derived from software written by Dan McMahill ## ## Redistribution and use in source and binary forms, with or without ## modification, are permitted provided that the following conditions ## are met: ## 1. Redistributions of source code must retain the above copyright ## notice, this list of conditions and the following disclaimer. ## 2. Redistributions in binary form must reproduce the above copyright ## notice, this list of conditions and the following disclaimer in the ## documentation and/or other materials provided with the distribution. ## 3. All advertising materials mentioning features or use of this software ## must display the following acknowledgement: ## This product includes software developed by Dan McMahill ## 4. The name of the author may not be used to endorse or promote products ## derived from this software without specific prior written permission. ## ## THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ## IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ## OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ## INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ## BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ## LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED ## AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## check_DATA= ${GOLDEN_FILES} DISTCLEANFILES= \ ${LOG_FILES} EXTRA_DIST= ${GOLDEN_FILES} LOG_FILES= ${GOLDEN_FILES:.ref=.log} include $(srcdir)/../golden.mk latex-mk-2.1/testsuite/bmake_ref/Makefile.in100644 000144 000000 00000027110 11506463235 0014576# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ DIST_COMMON = $(srcdir)/../golden.mk $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in subdir = testsuite/bmake_ref ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BIBTEX = @BIBTEX@ BMAKE = @BMAKE@ CONVERT = @CONVERT@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DVIPDFM = @DVIPDFM@ DVIPS = @DVIPS@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ ENV_PROG = @ENV_PROG@ FALSE = @FALSE@ FIG2DEV = @FIG2DEV@ FIND = @FIND@ GMAKE = @GMAKE@ GMAKECONF = @GMAKECONF@ GREP = @GREP@ GV = @GV@ GZCAT = @GZCAT@ GZIP = @GZIP@ HACHA = @HACHA@ HEVEA = @HEVEA@ IMAGEN = @IMAGEN@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LATEX = @LATEX@ LATEX2HTML = @LATEX2HTML@ LATEX2RTF = @LATEX2RTF@ LGRIND = @LGRIND@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LPR = @LPR@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKECONF = @MAKECONF@ MAKEIDX = @MAKEIDX@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MPOST = @MPOST@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ PS2PDF = @PS2PDF@ RM = @RM@ RMDIR = @RMDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAR = @TAR@ TEX2PAGE = @TEX2PAGE@ TGIF = @TGIF@ USERGMAKECONF = @USERGMAKECONF@ USERMAKECONF = @USERMAKECONF@ VERSION = @VERSION@ XDVI = @XDVI@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ check_DATA = ${GOLDEN_FILES} DISTCLEANFILES = \ ${LOG_FILES} EXTRA_DIST = ${GOLDEN_FILES} LOG_FILES = ${GOLDEN_FILES:.ref=.log} GOLDEN_FILES = \ basic_bibtexsrcs_dvi1.ref \ basic_bibtexsrcs_dvi2.ref \ basic_bibtexsrcs_dvi3.ref \ basic_bibtexsrcs_pdf1.ref \ basic_bibtexsrcs_pdf2.ref \ basic1_clean1.ref \ basic1_dvi1.ref \ basic1_dvi2.ref \ basic1_dvipdfm_dvi1.ref \ basic1_dvipdfm_dvi2.ref \ basic1_dvipdfm_pdf1.ref \ basic1_dvipdfm_pdf2.ref \ basic1_dvipdfm_ps1.ref \ basic1_dvipdfm_ps2.ref \ basic1_html1.ref \ basic1_html2.ref \ basic1_html3.ref \ basic1_html4.ref \ basic1_html5.ref \ basic1_html6.ref \ basic1_html7.ref \ basic1_html8.ref \ basic1_landscape_dvipdfm.ref \ basic1_landscape_pdf.ref \ basic1_landscape_ps.ref \ basic1_landscape_view.ref \ basic1_landscape_viewpdf.ref \ basic1_landscape_viewps.ref \ basic1_pdf1.ref \ basic1_pdf2.ref \ basic1_pdflatex_dvi1.ref \ basic1_pdflatex_dvi2.ref \ basic1_pdflatex_pdf1.ref \ basic1_pdflatex_pdf2.ref \ basic1_pdflatex_ps1.ref \ basic1_pdflatex_ps2.ref \ basic1_ps1.ref \ basic1_ps2.ref \ basic_lgrinddirs.ref \ basic_lgrinddirs2.ref \ basic_lgrinddirs3.ref \ basic_lgrindsrcs.ref \ basic_lgrindsrcs2.ref \ basic_mpostdirs1.ref \ basic_mpostsrcs1.ref \ basic_mpostsrcs2.ref \ basic_mpostsrcs3.ref \ basic_tgifdirs.ref \ basic_tgifsrcs.ref \ basic_xfigdirs.ref \ basic_xfigsrcs.ref \ basic2_dvi1.ref \ basic2_dvi2.ref \ basic2_dvi3.ref \ draft1.ref \ graphic1_dvi1.ref \ mpostsrcs_clean1.ref \ mpostsrcs_clean2.ref \ multi_distfile1.ref \ multi_distfile2.ref \ multi_distfile3.ref \ multi1_dvi1.ref \ multi1_dvi2.ref \ multi1_dvi3.ref \ multi1_dvipdfm_flag1.ref \ multi1_dvips_flag1.ref \ multi_lgrinddirs_dvi1.ref \ multi_lgrinddirs_dvi2.ref \ multi_lgrinddirs_dvi3.ref \ multi_lgrinddirs_dvi4.ref \ multi_lgrinddirs_dvi5.ref \ multi_lgrinddirs_dvi6.ref \ multi_lgrindsrcs_dvi1.ref \ multi_lgrindsrcs_dvi2.ref \ multi_lgrindsrcs_dvi3.ref \ multi_lgrindsrcs_dvi4.ref \ multi_lgrindsrcs_dvi5.ref \ multi_lgrindsrcs_dvi6.ref \ multi_lgrindsrcs_dvi7.ref \ multi_texsrcs_dvi1.ref \ multi_texsrcs_dvi2.ref \ multi_texsrcs_dvi3.ref \ multi_texsrcs_dvi4.ref \ multi_texsrcs_dvi5.ref \ multi_tgifsrcs_dvi1.ref \ multi_tgifsrcs_dvi2.ref \ multi_tgifsrcs_dvi3.ref \ multi_tgifsrcs_dvi4.ref \ multi_tgifsrcs_dvi5.ref \ subdir1.ref \ subdir2.ref \ subdir3.ref \ subdir4.ref \ subdir5.ref \ tgif_pdflatex_dvi1.ref \ tgifsrcs_clean.ref \ vars_bibtex.ref \ vars_dvipdfm.ref \ vars_dvipdfm_landscape.ref \ vars_dvips.ref \ vars_dvips_landscape.ref \ vars_gv.ref \ vars_gv_landscape.ref \ vars_hevea.ref \ vars_latex.ref \ vars_latex2html.ref \ vars_latex2rtf.ref \ vars_lgrind.ref \ vars_lpr.ref \ vars_makegls.ref \ vars_makeindex.ref \ vars_mpost.ref \ vars_pdflatex.ref \ vars_ps2pdf.ref \ vars_tex2page.ref \ vars_viewpdf.ref \ vars_viewpdf_landscape.ref \ vars_xdvi.ref \ vars_xdvi_landscape.ref \ xfig_pdflatex_dvi1.ref \ xfigsrcs_clean.ref all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../golden.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign testsuite/bmake_ref/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --foreign testsuite/bmake_ref/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_DATA) check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: latex-mk-2.1/testsuite/bmake_ref/basic_bibtexsrcs_dvi1.ref100644 000144 000000 00000000540 10560455611 0017457env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk --bibtex test.tex touch test.bib-stamp env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test.tex latex-mk-2.1/testsuite/bmake_ref/basic_bibtexsrcs_dvi2.ref100644 000144 000000 00000000000 10560455620 0017447latex-mk-2.1/testsuite/bmake_ref/basic_bibtexsrcs_dvi3.ref100644 000144 000000 00000000540 10560455623 0017464env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk --bibtex test.tex touch test.bib-stamp env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test.tex latex-mk-2.1/testsuite/bmake_ref/basic_bibtexsrcs_pdf1.ref100644 000144 000000 00000000624 10634270606 0017452env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk --bibtex test.tex touch test.bib-stamp env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test.tex env dvips -j0 -o test.ps test.dvi ps2pdf test.ps latex-mk-2.1/testsuite/bmake_ref/basic_bibtexsrcs_pdf2.ref100644 000144 000000 00000000610 11353565023 0017445env PDFLATEX=pdflatex PDFLATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk --pdflatex --bibtex test.tex touch test.bib-stamp env PDFLATEX=pdflatex PDFLATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk --pdflatex test.tex latex-mk-2.1/testsuite/bmake_ref/basic1_clean1.ref100644 000144 000000 00000001320 10560455561 0015611if [ -f test1.www_files ]; then for f in `awk '{print $2}' test1.www_files` ; do if [ -f $f ]; then rm -f $f ; fi ; done ; fi rm -f test1.www_files rm -f test1.html_dir/images.aux rm -f test1.html_dir/images.bbl rm -f test1.html_dir/images.log rm -f test1.html_dir/images.out rm -f test1.html_dir/images.tex if [ -d test1.html_dir ]; then rm test1.html_dir ; fi latex-mk --clean test1 rm -f *~ texput.log test1.aux test1.ps test1-draft.ps test1.pdf test1-draft.pdf test1.rtf test1.aux test1.log test1.dvi test1.log test1.bbl test1.blg test1.glo test1.gls test1.ilg test1.idx test1.ind test1.lof test1.lot test1.toc test1.out draft_stamp.ps test1.bib-stamp test1.html-stamp test1.www_files test1.haux test1.image.tex latex-mk-2.1/testsuite/bmake_ref/basic1_dvi1.ref100644 000144 000000 00000000242 10560455547 0015317env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/bmake_ref/basic1_dvi2.ref100644 000144 000000 00000000242 10560455550 0015312env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/bmake_ref/basic1_dvipdfm_dvi1.ref100644 000144 000000 00000000242 10560455577 0017033env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/bmake_ref/basic1_dvipdfm_dvi2.ref100644 000144 000000 00000000242 10560455577 0017034env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/bmake_ref/basic1_dvipdfm_pdf1.ref100644 000144 000000 00000000273 10560455603 0017014env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvipdfm test1.dvi latex-mk-2.1/testsuite/bmake_ref/basic1_dvipdfm_pdf2.ref100644 000144 000000 00000000273 10560455604 0017016env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvipdfm test1.dvi latex-mk-2.1/testsuite/bmake_ref/basic1_dvipdfm_ps1.ref100644 000144 000000 00000000310 10560455601 0016653env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi latex-mk-2.1/testsuite/bmake_ref/basic1_dvipdfm_ps2.ref100644 000144 000000 00000000310 10560455602 0016655env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi latex-mk-2.1/testsuite/bmake_ref/basic1_html1.ref100644 000144 000000 00000001472 10560455562 0015504env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using latex2html env latex2html -mkdir -dir test1.html_dir test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS -o -name \*.scm -o -name \*.hlog \) -newer test1.html-stamp1 -print` ; do fn=`basename $f` ; if grep "^$f " test1.www_files >/dev/null ; then echo "$f already recorded" ; else echo "recording file $f (test1.html_dir/$fn)" ; echo "$f test1.html_dir/$fn" >> test1.www_files ; fi ; done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/bmake_ref/basic1_html2.ref100644 000144 000000 00000001472 10560455564 0015507env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using latex2html env latex2html -mkdir -dir test1.html_dir test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS -o -name \*.scm -o -name \*.hlog \) -newer test1.html-stamp1 -print` ; do fn=`basename $f` ; if grep "^$f " test1.www_files >/dev/null ; then echo "$f already recorded" ; else echo "recording file $f (test1.html_dir/$fn)" ; echo "$f test1.html_dir/$fn" >> test1.www_files ; fi ; done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/bmake_ref/basic1_html3.ref100644 000144 000000 00000000000 10560455571 0015470latex-mk-2.1/testsuite/bmake_ref/basic1_html4.ref100644 000144 000000 00000001472 10560455572 0015510env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using latex2html env latex2html -mkdir -dir test1.html_dir test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS -o -name \*.scm -o -name \*.hlog \) -newer test1.html-stamp1 -print` ; do fn=`basename $f` ; if grep "^$f " test1.www_files >/dev/null ; then echo "$f already recorded" ; else echo "recording file $f (test1.html_dir/$fn)" ; echo "$f test1.html_dir/$fn" >> test1.www_files ; fi ; done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/bmake_ref/basic1_html5.ref100644 000144 000000 00000001474 10560455573 0015514touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using HeVeA mkdir -p test1.html_dir env hevea test1.tex env imagen `basename test1.tex .tex` env hevea test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS -o -name \*.scm -o -name \*.hlog \) -newer test1.html-stamp1 -print` ; do fn=`basename $f` ; if grep "^$f " test1.www_files >/dev/null ; then echo "$f already recorded" ; else echo "recording file $f (test1.html_dir/$fn)" ; echo "$f test1.html_dir/$fn" >> test1.www_files ; fi ; done for f in `awk '{print $1}' test1.www_files` ; do echo "Moving $f to test1.html_dir" ; mv $f test1.html_dir ; done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/bmake_ref/basic1_html6.ref100644 000144 000000 00000001474 10560455574 0015516touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using HeVeA mkdir -p test1.html_dir env hevea test1.tex env imagen `basename test1.tex .tex` env hevea test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS -o -name \*.scm -o -name \*.hlog \) -newer test1.html-stamp1 -print` ; do fn=`basename $f` ; if grep "^$f " test1.www_files >/dev/null ; then echo "$f already recorded" ; else echo "recording file $f (test1.html_dir/$fn)" ; echo "$f test1.html_dir/$fn" >> test1.www_files ; fi ; done for f in `awk '{print $1}' test1.www_files` ; do echo "Moving $f to test1.html_dir" ; mv $f test1.html_dir ; done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/bmake_ref/basic1_html7.ref100644 000144 000000 00000002430 10560455575 0015511touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using tex2page echo "test1.html_dir" > test1.hdir env TEX2PAGE=tex2page TEX2PAGE_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk --tex2page test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS -o -name \*.scm -o -name \*.hlog \) -newer test1.html-stamp1 -print` ; do fn=`basename $f` ; if grep "^$f " test1.www_files >/dev/null ; then echo "$f already recorded" ; else echo "recording file $f (test1.html_dir/$fn)" ; echo "$f test1.html_dir/$fn" >> test1.www_files ; fi ; done for f in `find . -type f \( -name \*-Z-G-\*.tex -o -name \*-Z-G-\*.aux -o -name \*-Z-G-\*.log -o -name \*-Z-G-\*.dvi -o -name \*-Z-G-\*.ps -o -name .Z\*.tex \) -newer test1.html-stamp1 -print` ; do fn=`basename $f` ; if grep "^$f " test1.www_files >/dev/null ; then echo "$f already recorded" ; elif test "`dirname $f`" != "." ; then echo "$f is not in this directory, skipping" ; else echo "recording file $f (./$fn)" ; echo "$f ./$fn" >> test1.www_files ; fi ; done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/bmake_ref/basic1_html8.ref100644 000144 000000 00000002430 10560455576 0015513touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using tex2page echo "test1.html_dir" > test1.hdir env TEX2PAGE=tex2page TEX2PAGE_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk --tex2page test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS -o -name \*.scm -o -name \*.hlog \) -newer test1.html-stamp1 -print` ; do fn=`basename $f` ; if grep "^$f " test1.www_files >/dev/null ; then echo "$f already recorded" ; else echo "recording file $f (test1.html_dir/$fn)" ; echo "$f test1.html_dir/$fn" >> test1.www_files ; fi ; done for f in `find . -type f \( -name \*-Z-G-\*.tex -o -name \*-Z-G-\*.aux -o -name \*-Z-G-\*.log -o -name \*-Z-G-\*.dvi -o -name \*-Z-G-\*.ps -o -name .Z\*.tex \) -newer test1.html-stamp1 -print` ; do fn=`basename $f` ; if grep "^$f " test1.www_files >/dev/null ; then echo "$f already recorded" ; elif test "`dirname $f`" != "." ; then echo "$f is not in this directory, skipping" ; else echo "recording file $f (./$fn)" ; echo "$f ./$fn" >> test1.www_files ; fi ; done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/bmake_ref/basic1_landscape_dvipdfm.ref100644 000144 000000 00000000276 10560455600 0020114env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvipdfm -l test1.dvi latex-mk-2.1/testsuite/bmake_ref/basic1_landscape_pdf.ref100644 000144 000000 00000000346 10560455555 0017243env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -t landscape -o test1.ps test1.dvi ps2pdf test1.ps latex-mk-2.1/testsuite/bmake_ref/basic1_landscape_ps.ref100644 000144 000000 00000000325 10560455556 0017112env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -t landscape -o test1.ps test1.dvi latex-mk-2.1/testsuite/bmake_ref/basic1_landscape_view.ref100644 000144 000000 00000000275 10560455556 0017446env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex xdvi -paper usr test1.dvi latex-mk-2.1/testsuite/bmake_ref/basic1_landscape_viewpdf.ref100644 000144 000000 00000000406 10560455560 0020127env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -t landscape -o test1.ps test1.dvi ps2pdf test1.ps acroread -landscape test1.pdf latex-mk-2.1/testsuite/bmake_ref/basic1_landscape_viewps.ref100644 000144 000000 00000000356 10560455557 0020012env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -t landscape -o test1.ps test1.dvi gv -landscape test1.ps latex-mk-2.1/testsuite/bmake_ref/basic1_pdf1.ref100644 000144 000000 00000000331 10560455553 0015302env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi ps2pdf test1.ps latex-mk-2.1/testsuite/bmake_ref/basic1_pdf2.ref100644 000144 000000 00000000331 10560455554 0015304env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi ps2pdf test1.ps latex-mk-2.1/testsuite/bmake_ref/draft1.ref100644 000144 000000 00000000420 10560455562 0014406env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex sed "s;DATE;`date`;g" draft.ps > draft_stamp.ps env dvips -h draft_stamp.ps -j0 -o test1-draft.ps test1.dvi latex-mk-2.1/testsuite/bmake_ref/basic1_pdflatex_dvi1.ref100644 000144 000000 00000000242 10560455604 0017200env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/bmake_ref/basic1_pdflatex_dvi2.ref100644 000144 000000 00000000242 10560455605 0017202env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/bmake_ref/basic1_pdflatex_pdf1.ref100644 000144 000000 00000000266 10560455610 0017172env PDFLATEX=pdflatex PDFLATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk --pdflatex test1.tex latex-mk-2.1/testsuite/bmake_ref/basic1_pdflatex_pdf2.ref100644 000144 000000 00000000266 10560455611 0017174env PDFLATEX=pdflatex PDFLATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk --pdflatex test1.tex latex-mk-2.1/testsuite/bmake_ref/basic1_pdflatex_ps1.ref100644 000144 000000 00000000310 10560455606 0017036env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi latex-mk-2.1/testsuite/bmake_ref/basic1_pdflatex_ps2.ref100644 000144 000000 00000000310 10560455607 0017040env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi latex-mk-2.1/testsuite/bmake_ref/basic1_ps1.ref100644 000144 000000 00000000310 10560455551 0015146env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi latex-mk-2.1/testsuite/bmake_ref/basic1_ps2.ref100644 000144 000000 00000000310 10560455552 0015150env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi latex-mk-2.1/testsuite/bmake_ref/basic_lgrinddirs.ref100644 000144 000000 00000000507 10560455626 0016536lgrind -i -o lgrinddir1/src1.c.tex lgrinddir1/src1.c lgrind -i -o lgrinddir1/src1.h.tex lgrinddir1/src1.h lgrind -i -o lgrinddir2/src3.c.tex lgrinddir2/src3.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test3.tex latex-mk-2.1/testsuite/bmake_ref/basic_lgrinddirs2.ref100644 000144 000000 00000000553 10560455627 0016622lgrind -i -mydir1flags -o lgrinddir1/src1.c.tex lgrinddir1/src1.c lgrind -i -mydir1flags -o lgrinddir1/src1.h.tex lgrinddir1/src1.h lgrind -i -mydir2flags -o lgrinddir2/src3.c.tex lgrinddir2/src3.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test3.tex latex-mk-2.1/testsuite/bmake_ref/basic_lgrinddirs3.ref100644 000144 000000 00000000535 10560455630 0016615lgrind -i -mydir1flags -o lgrinddir1/src1.c.tex lgrinddir1/src1.c lgrind -i -mysrcflag -o lgrinddir1/src1.h.tex lgrinddir1/src1.h lgrind -i -o lgrinddir2/src3.c.tex lgrinddir2/src3.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test3.tex latex-mk-2.1/testsuite/bmake_ref/basic_lgrindsrcs.ref100644 000144 000000 00000000405 10560455624 0016542lgrind -i -o src1.c.tex src1.c lgrind -i -o src2.c.tex src2.c lgrind -i -o src2.h.tex src2.h env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/basic_lgrindsrcs2.ref100644 000144 000000 00000000425 10560455625 0016627lgrind -i -myflag1 -o src1.c.tex src1.c lgrind -i -myflag2 -o src2.c.tex src2.c lgrind -i -o src2.h.tex src2.h env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/basic_mpostdirs1.ref100644 000144 000000 00000000341 10634565230 0016471mpost mpdir1/f1.mp mpost mpdir1/f2.mp mpost mpdir2/f3.mp env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test3.tex latex-mk-2.1/testsuite/bmake_ref/basic_mpostsrcs1.ref100644 000144 000000 00000000304 10634563717 0016511mpost figs1.mp mpost figs2.mp env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/basic_mpostsrcs2.ref100644 000144 000000 00000000730 10634564006 0016505mpost figs1.mp for f in figs1.ps figs1.[0-9]* "" ; do if test "X$f" != "X" ; then fn=`basename $f .ps` ; fn=${fn}.pdf ; ps2pdf $f $fn ; fi ; done mpost figs2.mp for f in figs2.ps figs2.[0-9]* "" ; do if test "X$f" != "X" ; then fn=`basename $f .ps` ; fn=${fn}.pdf ; ps2pdf $f $fn ; fi ; done env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/basic_mpostsrcs3.ref100644 000144 000000 00000000346 10634564064 0016515mpost figs1.mp mpost figs1.mp mpost figs2.mp mpost figs2.mp env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/basic_tgifdirs.ref100644 000144 000000 00000000443 10560455634 0016206tgif -color -print -eps tgifdir1/tgifa.obj tgif -color -print -eps tgifdir1/tgifb.obj tgif -color -print -eps tgifdir2/tgifc.obj env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test3.tex latex-mk-2.1/testsuite/bmake_ref/basic_tgifsrcs.ref100644 000144 000000 00000000346 10560455631 0016216tgif -color -print -eps tgif1.obj tgif -color -print -eps tgif2.obj env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/basic_xfigdirs.ref100644 000144 000000 00000000503 10560455637 0016212fig2dev -L eps xfigdir1/xfiga.fig xfigdir1/xfiga.eps fig2dev -L eps xfigdir1/xfigb.fig xfigdir1/xfigb.eps fig2dev -L eps xfigdir2/xfigc.fig xfigdir2/xfigc.eps env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test.tex latex-mk-2.1/testsuite/bmake_ref/basic_xfigsrcs.ref100644 000144 000000 00000000351 10560455634 0016221fig2dev -L eps xfig1.fig xfig1.eps fig2dev -L eps xfig2.fig xfig2.eps env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test.tex latex-mk-2.1/testsuite/bmake_ref/basic2_dvi1.ref100644 000144 000000 00000000241 10560455660 0015313env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test.tex latex-mk-2.1/testsuite/bmake_ref/basic2_dvi2.ref100644 000144 000000 00000000241 10560455664 0015320env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test.tex latex-mk-2.1/testsuite/bmake_ref/basic2_dvi3.ref100644 000144 000000 00000000241 10560455671 0015317env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test.tex latex-mk-2.1/testsuite/bmake_ref/graphic1_dvi1.ref100644 000144 000000 00000000412 10560455755 0015653convert jpg1.jpg jpg1.eps convert jpg2.jpg jpg2.eps convert png1.png png1.eps convert png2.png png2.eps env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/bmake_ref/mpostsrcs_clean1.ref100644 000144 000000 00000001677 11000730147 0016505rm -f figs1.mpx rm -f figs2.mpx for mp in figs1.mpx figs2.mpx ; do mpb=`basename ${mp} .mpx` ; for f in ${mpb}.ps ${mpb}.[0-9]* "" ; do if test "X$f" != "X" ; then fn=`basename $f .ps` ; fn=${fn}.pdf ; rm -f $f ; fi ; done ; done if [ -f test2.www_files ]; then for f in `awk '{print $2}' test2.www_files` ; do if [ -f $f ]; then rm -f $f ; fi ; done ; fi rm -f test2.www_files rm -f test2.html_dir/images.aux rm -f test2.html_dir/images.bbl rm -f test2.html_dir/images.log rm -f test2.html_dir/images.out rm -f test2.html_dir/images.tex if [ -d test2.html_dir ]; then rm test2.html_dir ; fi latex-mk --clean test2 rm -f *~ texput.log test2.aux test2.ps test2-draft.ps test2.pdf test2-draft.pdf test2.rtf test2.aux test2.log test2.dvi test2.log test2.bbl test2.blg test2.glo test2.gls test2.ilg test2.idx test2.ind test2.lof test2.lot test2.toc test2.out draft_stamp.ps test2.bib-stamp test2.html-stamp test2.www_files test2.haux test2.image.tex latex-mk-2.1/testsuite/bmake_ref/mpostsrcs_clean2.ref100644 000144 000000 00000001702 11000730147 0016473rm -f figs1.mpx rm -f figs2.mpx for mp in figs1.mpx figs2.mpx ; do mpb=`basename ${mp} .mpx` ; for f in ${mpb}.ps ${mpb}.[0-9]* "" ; do if test "X$f" != "X" ; then fn=`basename $f .ps` ; fn=${fn}.pdf ; rm -f $f $fn; fi ; done ; done if [ -f test2.www_files ]; then for f in `awk '{print $2}' test2.www_files` ; do if [ -f $f ]; then rm -f $f ; fi ; done ; fi rm -f test2.www_files rm -f test2.html_dir/images.aux rm -f test2.html_dir/images.bbl rm -f test2.html_dir/images.log rm -f test2.html_dir/images.out rm -f test2.html_dir/images.tex if [ -d test2.html_dir ]; then rm test2.html_dir ; fi latex-mk --clean test2 rm -f *~ texput.log test2.aux test2.ps test2-draft.ps test2.pdf test2-draft.pdf test2.rtf test2.aux test2.log test2.dvi test2.log test2.bbl test2.blg test2.glo test2.gls test2.ilg test2.idx test2.ind test2.lof test2.lot test2.toc test2.out draft_stamp.ps test2.bib-stamp test2.html-stamp test2.www_files test2.haux test2.image.tex latex-mk-2.1/testsuite/bmake_ref/multi_distfile1.ref100644 000144 000000 00000000772 10560455707 0016336tar cf - test1.tex xtra1.tex ../testfile.mk | gzip > test1.tar.gz echo "******* Distfile left in test1.tar.gz *******" tar cf - test2.tex xtra2.tex ../testfile.mk | gzip > test2.tar.gz echo "******* Distfile left in test2.tar.gz *******" rm -fr test1_test2 mkdir test1_test2 for f in test1.tar.gz test2.tar.gz ; do gzcat $f | (cd test1_test2 && tar xpf -) ; done tar cf - test1_test2 | gzip > test1_test2.tar.gz rm -fr test1_test2 echo "******* Distfile left in test1_test2.tar.gz *******" latex-mk-2.1/testsuite/bmake_ref/multi_distfile2.ref100644 000144 000000 00000001116 10560455710 0016322tgif -color -print -eps fig1.obj tar cf - fig1.obj test1.tex fig1.eps ../testfile.mk | gzip > test1.tar.gz echo "******* Distfile left in test1.tar.gz *******" tgif -color -print -eps fig2.obj tar cf - fig2.obj test2.tex fig2.eps ../testfile.mk | gzip > test2.tar.gz echo "******* Distfile left in test2.tar.gz *******" rm -fr test1_test2 mkdir test1_test2 for f in test1.tar.gz test2.tar.gz ; do gzcat $f | (cd test1_test2 && tar xpf -) ; done tar cf - test1_test2 | gzip > test1_test2.tar.gz rm -fr test1_test2 echo "******* Distfile left in test1_test2.tar.gz *******" latex-mk-2.1/testsuite/bmake_ref/multi_distfile3.ref100644 000144 000000 00000001116 10560455711 0016324lgrind -i -o src1.c.tex src1.c tar cf - src1.c test1.tex src1.c.tex ../testfile.mk | gzip > test1.tar.gz echo "******* Distfile left in test1.tar.gz *******" lgrind -i -o src2.c.tex src2.c tar cf - src2.c test2.tex src2.c.tex ../testfile.mk | gzip > test2.tar.gz echo "******* Distfile left in test2.tar.gz *******" rm -fr test1_test2 mkdir test1_test2 for f in test1.tar.gz test2.tar.gz ; do gzcat $f | (cd test1_test2 && tar xpf -) ; done tar cf - test1_test2 | gzip > test1_test2.tar.gz rm -fr test1_test2 echo "******* Distfile left in test1_test2.tar.gz *******" latex-mk-2.1/testsuite/bmake_ref/multi1_dvi1.ref100644 000144 000000 00000000242 10560455672 0015367env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/bmake_ref/multi1_dvi2.ref100644 000144 000000 00000000242 10560455672 0015370env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/multi1_dvi3.ref100644 000144 000000 00000000504 10560455673 0015373env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/multi1_dvipdfm_flag1.ref100644 000144 000000 00000000662 10634603510 0017221env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvipdfm dvipdfm1_flags my_dvipdfm_flags test1.dvi env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex env dvipdfm dvipdfm2_flags my_dvipdfm_flags test2.dvi latex-mk-2.1/testsuite/bmake_ref/multi1_dvips_flag1.ref100644 000144 000000 00000000652 10634603260 0016716env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips dvips1_flags -j0 -o test1.ps test1.dvi env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex env dvips dvips2_flags -j0 -o test2.ps test2.dvi latex-mk-2.1/testsuite/bmake_ref/multi_lgrinddirs_dvi1.ref100644 000144 000000 00000000370 10560455730 0017524lgrind -i -o lgd1/src1.c.tex lgd1/src1.c lgrind -i -o lgd1/src2.c.tex lgd1/src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/bmake_ref/multi_lgrinddirs_dvi2.ref100644 000144 000000 00000000315 10560455733 0017527lgrind -i -o lgd2/src1.c.tex lgd2/src1.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/multi_lgrinddirs_dvi3.ref100644 000144 000000 00000000705 10560455735 0017535lgrind -i -o lgd1/src1.c.tex lgd1/src1.c lgrind -i -o lgd1/src2.c.tex lgd1/src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex lgrind -i -o lgd2/src1.c.tex lgd2/src1.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/multi_lgrinddirs_dvi4.ref100644 000144 000000 00000000727 10560455735 0017542lgrind -i -myflags1 -o lgd1/src1.c.tex lgd1/src1.c lgrind -i -myflags1 -o lgd1/src2.c.tex lgd1/src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex lgrind -i -o lgd2/src1.c.tex lgd2/src1.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/multi_lgrinddirs_dvi5.ref100644 000144 000000 00000000740 10560455736 0017537lgrind -i -myflags1 -o lgd1/src1.c.tex lgd1/src1.c lgrind -i -myflags1 -o lgd1/src2.c.tex lgd1/src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex lgrind -i -myflags2 -o lgd2/src1.c.tex lgd2/src1.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/multi_lgrinddirs_dvi6.ref100644 000144 000000 00000000745 10560455740 0017540lgrind -i -myspecialflag -o lgd1/src1.c.tex lgd1/src1.c lgrind -i -myflags1 -o lgd1/src2.c.tex lgd1/src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex lgrind -i -myflags2 -o lgd2/src1.c.tex lgd2/src1.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/multi_lgrindsrcs_dvi1.ref100644 000144 000000 00000000303 10560455712 0017531lgrind -i -o src1.c.tex src1.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/bmake_ref/multi_lgrindsrcs_dvi2.ref100644 000144 000000 00000000303 10560455713 0017533lgrind -i -o src2.c.tex src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/multi_lgrindsrcs_dvi3.ref100644 000144 000000 00000000606 10560455714 0017543lgrind -i -o src1.c.tex src1.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex lgrind -i -o src2.c.tex src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/multi_lgrindsrcs_dvi4.ref100644 000144 000000 00000000033 10560455720 0017533`test1.dvi' is up to date. latex-mk-2.1/testsuite/bmake_ref/multi_lgrindsrcs_dvi5.ref100644 000144 000000 00000000303 10560455725 0017541lgrind -i -o src2.c.tex src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/multi_lgrindsrcs_dvi6.ref100644 000144 000000 00000000616 10560455726 0017552lgrind -i -myflag1 -o src1.c.tex src1.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex lgrind -i -o src2.c.tex src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/multi_lgrindsrcs_dvi7.ref100644 000144 000000 00000000626 10560455727 0017555lgrind -i -myflag1 -o src1.c.tex src1.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex lgrind -i -myflag2 -o src2.c.tex src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/multi_texsrcs_dvi1.ref100644 000144 000000 00000000242 10560455674 0017063env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/bmake_ref/multi_texsrcs_dvi2.ref100644 000144 000000 00000000242 10560455674 0017064env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/multi_texsrcs_dvi3.ref100644 000144 000000 00000000504 10560455675 0017067env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/multi_texsrcs_dvi4.ref100644 000144 000000 00000000033 10560455702 0017054`test1.dvi' is up to date. latex-mk-2.1/testsuite/bmake_ref/multi_texsrcs_dvi5.ref100644 000144 000000 00000000242 10560455706 0017063env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/multi_tgifsrcs_dvi1.ref100644 000144 000000 00000000303 10560455740 0017204tgif -color -print -eps fig1.obj env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/bmake_ref/multi_tgifsrcs_dvi2.ref100644 000144 000000 00000000303 10560455742 0017207tgif -color -print -eps fig2.obj env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/multi_tgifsrcs_dvi3.ref100644 000144 000000 00000000606 10560455743 0017217tgif -color -print -eps fig1.obj env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex tgif -color -print -eps fig2.obj env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/multi_tgifsrcs_dvi4.ref100644 000144 000000 00000000033 10560455747 0017216`test1.dvi' is up to date. latex-mk-2.1/testsuite/bmake_ref/multi_tgifsrcs_dvi5.ref100644 000144 000000 00000000303 10560455754 0017215tgif -color -print -eps fig2.obj env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/subdir1.ref100644 000144 000000 00000000105 10560455756 0014603===> dir1 non-existent ===> dir2 non-existent ===> dir3 non-existent latex-mk-2.1/testsuite/bmake_ref/subdir2.ref100644 000144 000000 00000000107 10560455757 0014607===> dir1 non-existent ===> dir2 default target ===> dir3 non-existent latex-mk-2.1/testsuite/bmake_ref/subdir3.ref100644 000144 000000 00000000111 10560455761 0014576===> dir1 default target ===> dir2 default target ===> dir3 non-existent latex-mk-2.1/testsuite/bmake_ref/subdir4.ref100644 000144 000000 00000000167 10560455763 0014614===> dir1 make: stopped in testsuite/run/dir1 ===> dir2 default target ===> dir3 make: stopped in testsuite/run/dir3 latex-mk-2.1/testsuite/bmake_ref/subdir5.ref100644 000144 000000 00000000104 10560455764 0014605===> dir1 non-existent ===> dir2 view target ===> dir3 non-existent latex-mk-2.1/testsuite/bmake_ref/tgif_pdflatex_dvi1.ref100644 000144 000000 00000000346 10560455632 0016775tgif -color -print -pdf tgif1.obj tgif -color -print -pdf tgif2.obj env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/tgifsrcs_clean.ref100644 000144 000000 00000001360 10560455631 0016214rm -f tgif1.eps rm -f tgif2.eps if [ -f test2.www_files ]; then for f in `awk '{print $2}' test2.www_files` ; do if [ -f $f ]; then rm -f $f ; fi ; done ; fi rm -f test2.www_files rm -f test2.html_dir/images.aux rm -f test2.html_dir/images.bbl rm -f test2.html_dir/images.log rm -f test2.html_dir/images.out rm -f test2.html_dir/images.tex if [ -d test2.html_dir ]; then rm test2.html_dir ; fi latex-mk --clean test2 rm -f *~ texput.log test2.aux test2.ps test2-draft.ps test2.pdf test2-draft.pdf test2.rtf test2.aux test2.log test2.dvi test2.log test2.bbl test2.blg test2.glo test2.gls test2.ilg test2.idx test2.ind test2.lof test2.lot test2.toc test2.out draft_stamp.ps test2.bib-stamp test2.html-stamp test2.www_files test2.haux test2.image.tex latex-mk-2.1/testsuite/bmake_ref/vars_bibtex.ref100644 000144 000000 00000000262 10560455640 0015536env LATEX=latex LATEX_FLAGS= BIBTEX=mybibtex BIBTEX_FLAGS=mybibtex_flags MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/bmake_ref/vars_dvipdfm.ref100644 000144 000000 00000000326 10560455641 0015714env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env foo=dvipdfm mydvipdfm mydvipdfm_flags test1.dvi latex-mk-2.1/testsuite/bmake_ref/vars_dvipdfm_landscape.ref100644 000144 000000 00000000334 10560455641 0017725env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env foo=dvipdfm mydvipdfm mydvipdfm_landscape test1.dvi latex-mk-2.1/testsuite/bmake_ref/vars_dvips.ref100644 000144 000000 00000000334 10560455642 0015410env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env foo=dvips mydvips mydvips_flags -o test1.ps test1.dvi latex-mk-2.1/testsuite/bmake_ref/vars_dvips_landscape.ref100644 000144 000000 00000000334 10560455643 0017423env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env mydvips -j0 mydvips_landscape -o test1.ps test1.dvi latex-mk-2.1/testsuite/bmake_ref/vars_gv.ref100644 000144 000000 00000000342 10560455643 0014677env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi mygv mygv_flags test1.ps latex-mk-2.1/testsuite/bmake_ref/vars_gv_landscape.ref100644 000144 000000 00000000364 10560455644 0016716env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -t landscape -o test1.ps test1.dvi mygv mygv_landscape test1.ps latex-mk-2.1/testsuite/bmake_ref/vars_hevea.ref100644 000144 000000 00000001561 10560455645 0015361touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using HeVeA mkdir -p test1.html_dir env foo=bar myhevea myhevea_flags test1.tex env foo=bar myimagen `basename test1.tex .tex` env foo=bar myhevea myhevea_flags test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS -o -name \*.scm -o -name \*.hlog \) -newer test1.html-stamp1 -print` ; do fn=`basename $f` ; if grep "^$f " test1.www_files >/dev/null ; then echo "$f already recorded" ; else echo "recording file $f (test1.html_dir/$fn)" ; echo "$f test1.html_dir/$fn" >> test1.www_files ; fi ; done for f in `awk '{print $1}' test1.www_files` ; do echo "Moving $f to test1.html_dir" ; mv $f test1.html_dir ; done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/bmake_ref/vars_latex.ref100644 000144 000000 00000000306 10560455646 0015403env LATEX=mylatex LATEX_FLAGS=mylatex_flags BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK=my_post_bibtex foo=bar latex-mk test1.tex latex-mk-2.1/testsuite/bmake_ref/vars_latex2html.ref100644 000144 000000 00000001525 10560455647 0016357env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using latex2html env foo=bar mylatex2html mylatex2html_flags -mkdir -dir test1.html_dir test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS -o -name \*.scm -o -name \*.hlog \) -newer test1.html-stamp1 -print` ; do fn=`basename $f` ; if grep "^$f " test1.www_files >/dev/null ; then echo "$f already recorded" ; else echo "recording file $f (test1.html_dir/$fn)" ; echo "$f test1.html_dir/$fn" >> test1.www_files ; fi ; done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/bmake_ref/vars_latex2rtf.ref100644 000144 000000 00000000351 10560455650 0016174env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env foortf=barrtf mylatex2rtf mylatex2rtf_flags -o test1.rtf test1.tex latex-mk-2.1/testsuite/bmake_ref/vars_lgrind.ref100644 000144 000000 00000000457 10560455651 0015550mylgrind mylgrind_flags -o src1.c.tex src1.c mylgrind mylgrind_flags -o src2.c.tex src2.c mylgrind mylgrind_flags -o src2.h.tex src2.h env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/vars_lpr.ref100644 000144 000000 00000000343 10560455651 0015060env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi mylpr mylpr_flags test1.ps latex-mk-2.1/testsuite/bmake_ref/vars_makegls.ref100644 000144 000000 00000000261 10560456411 0015700env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=mymakegls MAKEGLS_FLAGS=mymakegls_flags POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/bmake_ref/vars_makeindex.ref100644 000144 000000 00000000265 10560455652 0016234env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=mymakeindex MAKEIDX_FLAGS=mymakeindex_flags MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/bmake_ref/vars_mpost.ref100644 000144 000000 00000000342 10634565515 0015427mympost mympost_flags figs1.mp mympost mympost_flags figs2.mp env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/bmake_ref/vars_pdflatex.ref100644 000144 000000 00000000317 10560455653 0016075env PDFLATEX=mypdflatex PDFLATEX_FLAGS=mypdflatex_flags BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= foo=bar latex-mk --pdflatex test1.tex latex-mk-2.1/testsuite/bmake_ref/vars_ps2pdf.ref100644 000144 000000 00000000351 10560455653 0015462env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi myps2pdf myps2pdf_flags test1.ps latex-mk-2.1/testsuite/bmake_ref/vars_tex2page.ref100644 000144 000000 00000002461 10560455654 0016010touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using tex2page echo "test1.html_dir" > test1.hdir env TEX2PAGE=mytex2page TEX2PAGE_FLAGS=mytex2page_flags BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= foo=bar latex-mk --tex2page test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS -o -name \*.scm -o -name \*.hlog \) -newer test1.html-stamp1 -print` ; do fn=`basename $f` ; if grep "^$f " test1.www_files >/dev/null ; then echo "$f already recorded" ; else echo "recording file $f (test1.html_dir/$fn)" ; echo "$f test1.html_dir/$fn" >> test1.www_files ; fi ; done for f in `find . -type f \( -name \*-Z-G-\*.tex -o -name \*-Z-G-\*.aux -o -name \*-Z-G-\*.log -o -name \*-Z-G-\*.dvi -o -name \*-Z-G-\*.ps -o -name .Z\*.tex \) -newer test1.html-stamp1 -print` ; do fn=`basename $f` ; if grep "^$f " test1.www_files >/dev/null ; then echo "$f already recorded" ; elif test "`dirname $f`" != "." ; then echo "$f is not in this directory, skipping" ; else echo "recording file $f (./$fn)" ; echo "$f ./$fn" >> test1.www_files ; fi ; done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/bmake_ref/vars_xdvi.ref100644 000144 000000 00000000300 10560455656 0015233env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex myxdvi myxdvi_flags test1.dvi latex-mk-2.1/testsuite/bmake_ref/vars_viewpdf.ref100644 000144 000000 00000000376 10560455655 0015741env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi ps2pdf test1.ps myviewpdf myviewpdf_flags test1.pdf latex-mk-2.1/testsuite/bmake_ref/vars_viewpdf_landscape.ref100644 000144 000000 00000000420 10560455656 0017742env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -t landscape -o test1.ps test1.dvi ps2pdf test1.ps myviewpdf myviewpdf_landscape test1.pdf latex-mk-2.1/testsuite/bmake_ref/vars_xdvi_landscape.ref100644 000144 000000 00000000305 10560455657 0017253env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex myxdvi myxdvi_landscape test1.dvi latex-mk-2.1/testsuite/bmake_ref/xfig_pdflatex_dvi1.ref100644 000144 000000 00000000351 11345235514 0016772fig2dev -L pdf xfig1.fig xfig1.pdf fig2dev -L pdf xfig2.fig xfig2.pdf env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test.tex latex-mk-2.1/testsuite/bmake_ref/xfigsrcs_clean.ref100644 000144 000000 00000001313 10560455635 0016222rm -f xfig1.eps rm -f xfig2.eps if [ -f test.www_files ]; then for f in `awk '{print $2}' test.www_files` ; do if [ -f $f ]; then rm -f $f ; fi ; done ; fi rm -f test.www_files rm -f test.html_dir/images.aux rm -f test.html_dir/images.bbl rm -f test.html_dir/images.log rm -f test.html_dir/images.out rm -f test.html_dir/images.tex if [ -d test.html_dir ]; then rm test.html_dir ; fi latex-mk --clean test rm -f *~ texput.log test.aux test.ps test-draft.ps test.pdf test-draft.pdf test.rtf test.aux test.log test.dvi test.log test.bbl test.blg test.glo test.gls test.ilg test.idx test.ind test.lof test.lot test.toc test.out draft_stamp.ps test.bib-stamp test.html-stamp test.www_files test.haux test.image.tex latex-mk-2.1/testsuite/gmake_ref/Makefile.am100644 000144 000000 00000003647 07627254376 0014620## $Id: Makefile.am,v 1.3 2003/02/27 00:17:02 dan Exp $ ## ## Copyright (c) 2003 Dan McMahill ## All rights reserved. ## ## This code is derived from software written by Dan McMahill ## ## Redistribution and use in source and binary forms, with or without ## modification, are permitted provided that the following conditions ## are met: ## 1. Redistributions of source code must retain the above copyright ## notice, this list of conditions and the following disclaimer. ## 2. Redistributions in binary form must reproduce the above copyright ## notice, this list of conditions and the following disclaimer in the ## documentation and/or other materials provided with the distribution. ## 3. All advertising materials mentioning features or use of this software ## must display the following acknowledgement: ## This product includes software developed by Dan McMahill ## 4. The name of the author may not be used to endorse or promote products ## derived from this software without specific prior written permission. ## ## THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ## IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ## OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ## INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ## BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ## LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED ## AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## check_DATA= ${GOLDEN_FILES} DISTCLEANFILES= \ ${LOG_FILES} EXTRA_DIST= ${GOLDEN_FILES} LOG_FILES= ${GOLDEN_FILES:.ref=.log} include $(srcdir)/../golden.mk latex-mk-2.1/testsuite/gmake_ref/Makefile.in100644 000144 000000 00000027110 11506463236 0014604# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ DIST_COMMON = $(srcdir)/../golden.mk $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in subdir = testsuite/gmake_ref ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BIBTEX = @BIBTEX@ BMAKE = @BMAKE@ CONVERT = @CONVERT@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DVIPDFM = @DVIPDFM@ DVIPS = @DVIPS@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ ENV_PROG = @ENV_PROG@ FALSE = @FALSE@ FIG2DEV = @FIG2DEV@ FIND = @FIND@ GMAKE = @GMAKE@ GMAKECONF = @GMAKECONF@ GREP = @GREP@ GV = @GV@ GZCAT = @GZCAT@ GZIP = @GZIP@ HACHA = @HACHA@ HEVEA = @HEVEA@ IMAGEN = @IMAGEN@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LATEX = @LATEX@ LATEX2HTML = @LATEX2HTML@ LATEX2RTF = @LATEX2RTF@ LGRIND = @LGRIND@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LPR = @LPR@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKECONF = @MAKECONF@ MAKEIDX = @MAKEIDX@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MPOST = @MPOST@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ PS2PDF = @PS2PDF@ RM = @RM@ RMDIR = @RMDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAR = @TAR@ TEX2PAGE = @TEX2PAGE@ TGIF = @TGIF@ USERGMAKECONF = @USERGMAKECONF@ USERMAKECONF = @USERMAKECONF@ VERSION = @VERSION@ XDVI = @XDVI@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ check_DATA = ${GOLDEN_FILES} DISTCLEANFILES = \ ${LOG_FILES} EXTRA_DIST = ${GOLDEN_FILES} LOG_FILES = ${GOLDEN_FILES:.ref=.log} GOLDEN_FILES = \ basic_bibtexsrcs_dvi1.ref \ basic_bibtexsrcs_dvi2.ref \ basic_bibtexsrcs_dvi3.ref \ basic_bibtexsrcs_pdf1.ref \ basic_bibtexsrcs_pdf2.ref \ basic1_clean1.ref \ basic1_dvi1.ref \ basic1_dvi2.ref \ basic1_dvipdfm_dvi1.ref \ basic1_dvipdfm_dvi2.ref \ basic1_dvipdfm_pdf1.ref \ basic1_dvipdfm_pdf2.ref \ basic1_dvipdfm_ps1.ref \ basic1_dvipdfm_ps2.ref \ basic1_html1.ref \ basic1_html2.ref \ basic1_html3.ref \ basic1_html4.ref \ basic1_html5.ref \ basic1_html6.ref \ basic1_html7.ref \ basic1_html8.ref \ basic1_landscape_dvipdfm.ref \ basic1_landscape_pdf.ref \ basic1_landscape_ps.ref \ basic1_landscape_view.ref \ basic1_landscape_viewpdf.ref \ basic1_landscape_viewps.ref \ basic1_pdf1.ref \ basic1_pdf2.ref \ basic1_pdflatex_dvi1.ref \ basic1_pdflatex_dvi2.ref \ basic1_pdflatex_pdf1.ref \ basic1_pdflatex_pdf2.ref \ basic1_pdflatex_ps1.ref \ basic1_pdflatex_ps2.ref \ basic1_ps1.ref \ basic1_ps2.ref \ basic_lgrinddirs.ref \ basic_lgrinddirs2.ref \ basic_lgrinddirs3.ref \ basic_lgrindsrcs.ref \ basic_lgrindsrcs2.ref \ basic_mpostdirs1.ref \ basic_mpostsrcs1.ref \ basic_mpostsrcs2.ref \ basic_mpostsrcs3.ref \ basic_tgifdirs.ref \ basic_tgifsrcs.ref \ basic_xfigdirs.ref \ basic_xfigsrcs.ref \ basic2_dvi1.ref \ basic2_dvi2.ref \ basic2_dvi3.ref \ draft1.ref \ graphic1_dvi1.ref \ mpostsrcs_clean1.ref \ mpostsrcs_clean2.ref \ multi_distfile1.ref \ multi_distfile2.ref \ multi_distfile3.ref \ multi1_dvi1.ref \ multi1_dvi2.ref \ multi1_dvi3.ref \ multi1_dvipdfm_flag1.ref \ multi1_dvips_flag1.ref \ multi_lgrinddirs_dvi1.ref \ multi_lgrinddirs_dvi2.ref \ multi_lgrinddirs_dvi3.ref \ multi_lgrinddirs_dvi4.ref \ multi_lgrinddirs_dvi5.ref \ multi_lgrinddirs_dvi6.ref \ multi_lgrindsrcs_dvi1.ref \ multi_lgrindsrcs_dvi2.ref \ multi_lgrindsrcs_dvi3.ref \ multi_lgrindsrcs_dvi4.ref \ multi_lgrindsrcs_dvi5.ref \ multi_lgrindsrcs_dvi6.ref \ multi_lgrindsrcs_dvi7.ref \ multi_texsrcs_dvi1.ref \ multi_texsrcs_dvi2.ref \ multi_texsrcs_dvi3.ref \ multi_texsrcs_dvi4.ref \ multi_texsrcs_dvi5.ref \ multi_tgifsrcs_dvi1.ref \ multi_tgifsrcs_dvi2.ref \ multi_tgifsrcs_dvi3.ref \ multi_tgifsrcs_dvi4.ref \ multi_tgifsrcs_dvi5.ref \ subdir1.ref \ subdir2.ref \ subdir3.ref \ subdir4.ref \ subdir5.ref \ tgif_pdflatex_dvi1.ref \ tgifsrcs_clean.ref \ vars_bibtex.ref \ vars_dvipdfm.ref \ vars_dvipdfm_landscape.ref \ vars_dvips.ref \ vars_dvips_landscape.ref \ vars_gv.ref \ vars_gv_landscape.ref \ vars_hevea.ref \ vars_latex.ref \ vars_latex2html.ref \ vars_latex2rtf.ref \ vars_lgrind.ref \ vars_lpr.ref \ vars_makegls.ref \ vars_makeindex.ref \ vars_mpost.ref \ vars_pdflatex.ref \ vars_ps2pdf.ref \ vars_tex2page.ref \ vars_viewpdf.ref \ vars_viewpdf_landscape.ref \ vars_xdvi.ref \ vars_xdvi_landscape.ref \ xfig_pdflatex_dvi1.ref \ xfigsrcs_clean.ref all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/../golden.mk $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign testsuite/gmake_ref/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --foreign testsuite/gmake_ref/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_DATA) check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: latex-mk-2.1/testsuite/gmake_ref/basic_bibtexsrcs_dvi1.ref100644 000144 000000 00000000540 10560455612 0017465env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk --bibtex test.tex touch test.bib-stamp env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test.tex latex-mk-2.1/testsuite/gmake_ref/basic_bibtexsrcs_dvi2.ref100644 000144 000000 00000000045 10560455620 0017465gmake: Nothing to be done for `dvi'. latex-mk-2.1/testsuite/gmake_ref/basic_bibtexsrcs_dvi3.ref100644 000144 000000 00000000540 10560455623 0017471env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk --bibtex test.tex touch test.bib-stamp env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test.tex latex-mk-2.1/testsuite/gmake_ref/basic_bibtexsrcs_pdf1.ref100644 000144 000000 00000000624 10634270606 0017457env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk --bibtex test.tex touch test.bib-stamp env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test.tex env dvips -j0 -o test.ps test.dvi ps2pdf test.ps latex-mk-2.1/testsuite/gmake_ref/basic_bibtexsrcs_pdf2.ref100644 000144 000000 00000000610 11353565013 0017451env PDFLATEX=pdflatex PDFLATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk --pdflatex --bibtex test.tex touch test.bib-stamp env PDFLATEX=pdflatex PDFLATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk --pdflatex test.tex latex-mk-2.1/testsuite/gmake_ref/basic1_clean1.ref100644 000144 000000 00000001316 10560455561 0015623if [ -f test1.www_files ]; then for f in `awk '{print }' test1.www_files` ; do if [ -f $f ]; then rm -f $f ; fi ; done ; fi rm -f test1.www_files rm -f test1.html_dir/images.aux rm -f test1.html_dir/images.bbl rm -f test1.html_dir/images.log rm -f test1.html_dir/images.out rm -f test1.html_dir/images.tex if [ -d test1.html_dir ] ; then rm test1.html_dir ; fi latex-mk --clean test1 rm -f *~ texput.log test1.aux test1.ps test1-draft.ps test1.pdf test1-draft.pdf test1.rtf test1.aux test1.log test1.dvi test1.log test1.bbl test1.blg test1.glo test1.gls test1.ilg test1.idx test1.ind test1.lof test1.lot test1.toc test1.out draft_stamp.ps test1.bib-stamp test1.html-stamp test1.www_files test1.haux test1.image.tex latex-mk-2.1/testsuite/gmake_ref/basic1_dvi1.ref100644 000144 000000 00000000242 10560455550 0015316env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/gmake_ref/basic1_dvi2.ref100644 000144 000000 00000000242 10560455550 0015317env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/gmake_ref/basic1_dvipdfm_dvi1.ref100644 000144 000000 00000000242 10560455577 0017040env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/gmake_ref/basic1_dvipdfm_dvi2.ref100644 000144 000000 00000000242 10560455577 0017041env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/gmake_ref/basic1_dvipdfm_pdf1.ref100644 000144 000000 00000000273 10560455603 0017021env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvipdfm test1.dvi latex-mk-2.1/testsuite/gmake_ref/basic1_dvipdfm_pdf2.ref100644 000144 000000 00000000273 10560455604 0017023env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvipdfm test1.dvi latex-mk-2.1/testsuite/gmake_ref/basic1_dvipdfm_ps1.ref100644 000144 000000 00000000310 10560455601 0016660env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi latex-mk-2.1/testsuite/gmake_ref/basic1_dvipdfm_ps2.ref100644 000144 000000 00000000310 10560455602 0016662env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi latex-mk-2.1/testsuite/gmake_ref/basic1_html1.ref100644 000144 000000 00000001522 10560455563 0015506env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using latex2html env latex2html -mkdir -dir test1.html_dir test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif \ -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS \ -o -name \*.scm -o -name \*.hlog \) \ -newer test1.html-stamp1 -print` ; do \ fn=`basename $f` ; \ if grep "^$f " test1.www_files >/dev/null ; then \ echo "$f already recorded" ; \ else \ echo "recording file $f (test1.html_dir/$fn)" ; \ echo "$f test1.html_dir/$fn" >> test1.www_files ; \ fi ;\ done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/gmake_ref/basic1_html2.ref100644 000144 000000 00000001522 10560455564 0015510env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using latex2html env latex2html -mkdir -dir test1.html_dir test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif \ -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS \ -o -name \*.scm -o -name \*.hlog \) \ -newer test1.html-stamp1 -print` ; do \ fn=`basename $f` ; \ if grep "^$f " test1.www_files >/dev/null ; then \ echo "$f already recorded" ; \ else \ echo "recording file $f (test1.html_dir/$fn)" ; \ echo "$f test1.html_dir/$fn" >> test1.www_files ; \ fi ;\ done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/gmake_ref/basic1_html3.ref100644 000144 000000 00000000054 10560455571 0015506gmake: Nothing to be done for `test1.html'. latex-mk-2.1/testsuite/gmake_ref/basic1_html4.ref100644 000144 000000 00000001522 10560455572 0015511env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using latex2html env latex2html -mkdir -dir test1.html_dir test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif \ -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS \ -o -name \*.scm -o -name \*.hlog \) \ -newer test1.html-stamp1 -print` ; do \ fn=`basename $f` ; \ if grep "^$f " test1.www_files >/dev/null ; then \ echo "$f already recorded" ; \ else \ echo "recording file $f (test1.html_dir/$fn)" ; \ echo "$f test1.html_dir/$fn" >> test1.www_files ; \ fi ;\ done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/gmake_ref/basic1_html5.ref100644 000144 000000 00000001531 10560455573 0015513touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using HeVeA mkdir -p test1.html_dir env hevea test1.tex env imagen `basename test1.tex .tex` env hevea test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif \ -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS \ -o -name \*.scm -o -name \*.hlog \) \ -newer test1.html-stamp1 -print` ; do \ fn=`basename $f` ; \ if grep "^$f " test1.www_files >/dev/null ; then \ echo "$f already recorded" ; \ else \ echo "recording file $f (test1.html_dir/$fn)" ; \ echo "$f test1.html_dir/$fn" >> test1.www_files ; \ fi ;\ done for f in `awk '{print $1}' test1.www_files` ; do \ echo "Moving $f to test1.html_dir" ; mv $f test1.html_dir ; \ done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/gmake_ref/basic1_html6.ref100644 000144 000000 00000001531 10560455574 0015515touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using HeVeA mkdir -p test1.html_dir env hevea test1.tex env imagen `basename test1.tex .tex` env hevea test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif \ -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS \ -o -name \*.scm -o -name \*.hlog \) \ -newer test1.html-stamp1 -print` ; do \ fn=`basename $f` ; \ if grep "^$f " test1.www_files >/dev/null ; then \ echo "$f already recorded" ; \ else \ echo "recording file $f (test1.html_dir/$fn)" ; \ echo "$f test1.html_dir/$fn" >> test1.www_files ; \ fi ;\ done for f in `awk '{print $1}' test1.www_files` ; do \ echo "Moving $f to test1.html_dir" ; mv $f test1.html_dir ; \ done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/gmake_ref/basic1_html7.ref100644 000144 000000 00000002513 10560455575 0015520touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using tex2page echo "test1.html_dir" > test1.hdir env TEX2PAGE=tex2page TEX2PAGE_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk --tex2page test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif \ -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS \ -o -name \*.scm -o -name \*.hlog \) \ -newer test1.html-stamp1 -print` ; do \ fn=`basename $f` ; \ if grep "^$f " test1.www_files >/dev/null ; then \ echo "$f already recorded" ; \ else \ echo "recording file $f (test1.html_dir/$fn)" ; \ echo "$f test1.html_dir/$fn" >> test1.www_files ; \ fi ;\ done for f in `find . -type f \( -name \*-Z-G-\*.tex -o -name \*-Z-G-\*.aux \ -o -name \*-Z-G-\*.log -o -name \*-Z-G-\*.dvi -o -name \*-Z-G-\*.ps \ -o -name .Z\*.tex \) -newer test1.html-stamp1 -print` ; do \ fn=`basename $f` ; \ if grep "^$f " test1.www_files >/dev/null ; then \ echo "$f already recorded" ; \ elif test "`dirname $f`" != "." ; then \ echo "$f is not in this directory, skipping" ; \ else \ echo "recording file $f (./$fn)" ; \ echo "$f ./$fn" >> test1.www_files ; \ fi ;\ done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/gmake_ref/basic1_html8.ref100644 000144 000000 00000002513 10560455576 0015522touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using tex2page echo "test1.html_dir" > test1.hdir env TEX2PAGE=tex2page TEX2PAGE_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk --tex2page test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif \ -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS \ -o -name \*.scm -o -name \*.hlog \) \ -newer test1.html-stamp1 -print` ; do \ fn=`basename $f` ; \ if grep "^$f " test1.www_files >/dev/null ; then \ echo "$f already recorded" ; \ else \ echo "recording file $f (test1.html_dir/$fn)" ; \ echo "$f test1.html_dir/$fn" >> test1.www_files ; \ fi ;\ done for f in `find . -type f \( -name \*-Z-G-\*.tex -o -name \*-Z-G-\*.aux \ -o -name \*-Z-G-\*.log -o -name \*-Z-G-\*.dvi -o -name \*-Z-G-\*.ps \ -o -name .Z\*.tex \) -newer test1.html-stamp1 -print` ; do \ fn=`basename $f` ; \ if grep "^$f " test1.www_files >/dev/null ; then \ echo "$f already recorded" ; \ elif test "`dirname $f`" != "." ; then \ echo "$f is not in this directory, skipping" ; \ else \ echo "recording file $f (./$fn)" ; \ echo "$f ./$fn" >> test1.www_files ; \ fi ;\ done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/gmake_ref/basic1_landscape_dvipdfm.ref100644 000144 000000 00000000276 10560455600 0020121env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvipdfm -l test1.dvi latex-mk-2.1/testsuite/gmake_ref/basic1_landscape_pdf.ref100644 000144 000000 00000000346 10560455555 0017250env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -t landscape -o test1.ps test1.dvi ps2pdf test1.ps latex-mk-2.1/testsuite/gmake_ref/basic1_landscape_ps.ref100644 000144 000000 00000000325 10560455556 0017117env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -t landscape -o test1.ps test1.dvi latex-mk-2.1/testsuite/gmake_ref/basic1_landscape_view.ref100644 000144 000000 00000000275 10560455556 0017453env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex xdvi -paper usr test1.dvi latex-mk-2.1/testsuite/gmake_ref/basic1_landscape_viewpdf.ref100644 000144 000000 00000000406 10560455560 0020134env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -t landscape -o test1.ps test1.dvi ps2pdf test1.ps acroread -landscape test1.pdf latex-mk-2.1/testsuite/gmake_ref/basic1_landscape_viewps.ref100644 000144 000000 00000000356 10560455557 0020017env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -t landscape -o test1.ps test1.dvi gv -landscape test1.ps latex-mk-2.1/testsuite/gmake_ref/basic1_pdf1.ref100644 000144 000000 00000000331 10560455553 0015307env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi ps2pdf test1.ps latex-mk-2.1/testsuite/gmake_ref/basic1_pdf2.ref100644 000144 000000 00000000331 10560455554 0015311env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi ps2pdf test1.ps latex-mk-2.1/testsuite/gmake_ref/draft1.ref100644 000144 000000 00000000420 10560455562 0014413env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex sed "s;DATE;`date`;g" draft.ps > draft_stamp.ps env dvips -h draft_stamp.ps -j0 -o test1-draft.ps test1.dvi latex-mk-2.1/testsuite/gmake_ref/basic1_pdflatex_dvi1.ref100644 000144 000000 00000000242 10560455604 0017205env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/gmake_ref/basic1_pdflatex_dvi2.ref100644 000144 000000 00000000242 10560455605 0017207env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/gmake_ref/basic1_pdflatex_pdf1.ref100644 000144 000000 00000000266 10560455610 0017177env PDFLATEX=pdflatex PDFLATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk --pdflatex test1.tex latex-mk-2.1/testsuite/gmake_ref/basic1_pdflatex_pdf2.ref100644 000144 000000 00000000266 10560455611 0017201env PDFLATEX=pdflatex PDFLATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk --pdflatex test1.tex latex-mk-2.1/testsuite/gmake_ref/basic1_pdflatex_ps1.ref100644 000144 000000 00000000310 10560455606 0017043env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi latex-mk-2.1/testsuite/gmake_ref/basic1_pdflatex_ps2.ref100644 000144 000000 00000000310 10560455607 0017045env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi latex-mk-2.1/testsuite/gmake_ref/basic1_ps1.ref100644 000144 000000 00000000310 10560455551 0015153env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi latex-mk-2.1/testsuite/gmake_ref/basic1_ps2.ref100644 000144 000000 00000000310 10560455552 0015155env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi latex-mk-2.1/testsuite/gmake_ref/basic_lgrinddirs.ref100644 000144 000000 00000000504 10560455626 0016540lgrind -i -o lgrinddir1/src1.c.tex lgrinddir1/src1.c lgrind -i -o lgrinddir1/src1.h.tex lgrinddir1/src1.h lgrind -i -o lgrinddir2/src3.c.tex lgrinddir2/src3.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test3.tex latex-mk-2.1/testsuite/gmake_ref/basic_lgrinddirs2.ref100644 000144 000000 00000000550 10560455627 0016624lgrind -i -mydir1flags -o lgrinddir1/src1.c.tex lgrinddir1/src1.c lgrind -i -mydir1flags -o lgrinddir1/src1.h.tex lgrinddir1/src1.h lgrind -i -mydir2flags -o lgrinddir2/src3.c.tex lgrinddir2/src3.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test3.tex latex-mk-2.1/testsuite/gmake_ref/basic_lgrinddirs3.ref100644 000144 000000 00000000532 10560455630 0016617lgrind -i -mydir1flags -o lgrinddir1/src1.c.tex lgrinddir1/src1.c lgrind -i -mysrcflag -o lgrinddir1/src1.h.tex lgrinddir1/src1.h lgrind -i -o lgrinddir2/src3.c.tex lgrinddir2/src3.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test3.tex latex-mk-2.1/testsuite/gmake_ref/basic_lgrindsrcs.ref100644 000144 000000 00000000402 10560455624 0016544lgrind -i -o src1.c.tex src1.c lgrind -i -o src2.c.tex src2.c lgrind -i -o src2.h.tex src2.h env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/basic_lgrindsrcs2.ref100644 000144 000000 00000000422 10560455625 0016631lgrind -i -myflag1 -o src1.c.tex src1.c lgrind -i -myflag2 -o src2.c.tex src2.c lgrind -i -o src2.h.tex src2.h env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/basic_mpostdirs1.ref100644 000144 000000 00000000341 10634565230 0016476mpost mpdir1/f1.mp mpost mpdir1/f2.mp mpost mpdir2/f3.mp env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test3.tex latex-mk-2.1/testsuite/gmake_ref/basic_mpostsrcs1.ref100644 000144 000000 00000000304 10634563717 0016516mpost figs1.mp mpost figs2.mp env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/basic_mpostsrcs2.ref100644 000144 000000 00000000764 10634564006 0016521mpost figs1.mp for f in figs1.ps figs1.[0-9]* "" ; do \ if test "X$f" != "X" ; then \ fn=`basename $f .ps` ; \ fn=${fn}.pdf ; \ ps2pdf $f $fn ; \ fi ; \ done mpost figs2.mp for f in figs2.ps figs2.[0-9]* "" ; do \ if test "X$f" != "X" ; then \ fn=`basename $f .ps` ; \ fn=${fn}.pdf ; \ ps2pdf $f $fn ; \ fi ; \ done env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/basic_mpostsrcs3.ref100644 000144 000000 00000000346 10634564064 0016522mpost figs1.mp mpost figs1.mp mpost figs2.mp mpost figs2.mp env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/basic_tgifdirs.ref100644 000144 000000 00000000443 10560455634 0016213tgif -color -print -eps tgifdir1/tgifa.obj tgif -color -print -eps tgifdir1/tgifb.obj tgif -color -print -eps tgifdir2/tgifc.obj env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test3.tex latex-mk-2.1/testsuite/gmake_ref/basic_tgifsrcs.ref100644 000144 000000 00000000346 10560455631 0016223tgif -color -print -eps tgif1.obj tgif -color -print -eps tgif2.obj env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/basic_xfigdirs.ref100644 000144 000000 00000000503 10560455637 0016217fig2dev -L eps xfigdir1/xfiga.fig xfigdir1/xfiga.eps fig2dev -L eps xfigdir1/xfigb.fig xfigdir1/xfigb.eps fig2dev -L eps xfigdir2/xfigc.fig xfigdir2/xfigc.eps env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test.tex latex-mk-2.1/testsuite/gmake_ref/basic_xfigsrcs.ref100644 000144 000000 00000000351 10560455635 0016227fig2dev -L eps xfig1.fig xfig1.eps fig2dev -L eps xfig2.fig xfig2.eps env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test.tex latex-mk-2.1/testsuite/gmake_ref/basic2_dvi1.ref100644 000144 000000 00000000241 10560455660 0015320env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test.tex latex-mk-2.1/testsuite/gmake_ref/basic2_dvi2.ref100644 000144 000000 00000000241 10560455665 0015326env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test.tex latex-mk-2.1/testsuite/gmake_ref/basic2_dvi3.ref100644 000144 000000 00000000241 10560455671 0015324env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test.tex latex-mk-2.1/testsuite/gmake_ref/graphic1_dvi1.ref100644 000144 000000 00000000416 10560455755 0015664convert jpg1.jpg jpg1.eps convert jpg2.jpg jpg2.eps convert png1.png png1.eps convert png2.png png2.eps env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/gmake_ref/mpostsrcs_clean1.ref100644 000144 000000 00000001720 11000730152 0016473rm -f figs1.mpx figs2.mpx for mp in figs1.mpx figs2.mpx ; do \ mpb=`basename ${mp} .mpx` ; \ for f in ${mpb}.ps ${mpb}.[0-9]* "" ; do \ if test "X$f" != "X" ; then \ fn=`basename $f .ps` ; \ fn=${fn}.pdf ; \ rm -f $f ; \ fi ; \ done ; \ done if [ -f test2.www_files ]; then for f in `awk '{print }' test2.www_files` ; do if [ -f $f ]; then rm -f $f ; fi ; done ; fi rm -f test2.www_files rm -f test2.html_dir/images.aux rm -f test2.html_dir/images.bbl rm -f test2.html_dir/images.log rm -f test2.html_dir/images.out rm -f test2.html_dir/images.tex if [ -d test2.html_dir ] ; then rm test2.html_dir ; fi latex-mk --clean test2 rm -f *~ texput.log test2.aux test2.ps test2-draft.ps test2.pdf test2-draft.pdf test2.rtf test2.aux test2.log test2.dvi test2.log test2.bbl test2.blg test2.glo test2.gls test2.ilg test2.idx test2.ind test2.lof test2.lot test2.toc test2.out draft_stamp.ps test2.bib-stamp test2.html-stamp test2.www_files test2.haux test2.image.tex latex-mk-2.1/testsuite/gmake_ref/mpostsrcs_clean2.ref100644 000144 000000 00000001723 11000730152 0016477rm -f figs1.mpx figs2.mpx for mp in figs1.mpx figs2.mpx ; do \ mpb=`basename ${mp} .mpx` ; \ for f in ${mpb}.ps ${mpb}.[0-9]* "" ; do \ if test "X$f" != "X" ; then \ fn=`basename $f .ps` ; \ fn=${fn}.pdf ; \ rm -f $f $fn; \ fi ; \ done ; \ done if [ -f test2.www_files ]; then for f in `awk '{print }' test2.www_files` ; do if [ -f $f ]; then rm -f $f ; fi ; done ; fi rm -f test2.www_files rm -f test2.html_dir/images.aux rm -f test2.html_dir/images.bbl rm -f test2.html_dir/images.log rm -f test2.html_dir/images.out rm -f test2.html_dir/images.tex if [ -d test2.html_dir ] ; then rm test2.html_dir ; fi latex-mk --clean test2 rm -f *~ texput.log test2.aux test2.ps test2-draft.ps test2.pdf test2-draft.pdf test2.rtf test2.aux test2.log test2.dvi test2.log test2.bbl test2.blg test2.glo test2.gls test2.ilg test2.idx test2.ind test2.lof test2.lot test2.toc test2.out draft_stamp.ps test2.bib-stamp test2.html-stamp test2.www_files test2.haux test2.image.tex latex-mk-2.1/testsuite/gmake_ref/multi_distfile1.ref100644 000144 000000 00000000777 10560455707 0016350tar cf - test1.tex xtra1.tex ../testfile.gmk | gzip > test1.tar.gz echo "******* Distfile left in test1.tar.gz *******" tar cf - test2.tex xtra2.tex ../testfile.gmk | gzip > test2.tar.gz echo "******* Distfile left in test2.tar.gz *******" rm -fr test1_test2 mkdir test1_test2 for f in test1.tar.gz test2.tar.gz ; do \ gzcat $f | (cd test1_test2 && tar xpf -) ; \ done tar cf - test1_test2 | gzip > test1_test2.tar.gz rm -fr test1_test2 echo "******* Distfile left in test1_test2.tar.gz *******" latex-mk-2.1/testsuite/gmake_ref/multi_distfile2.ref100644 000144 000000 00000001125 10560455710 0016327tgif -color -print -eps fig1.obj tar cf - fig1.obj test1.tex fig1.eps ../testfile.gmk | gzip > test1.tar.gz echo "******* Distfile left in test1.tar.gz *******" tgif -color -print -eps fig2.obj tar cf - fig2.obj test2.tex fig2.eps ../testfile.gmk | gzip > test2.tar.gz echo "******* Distfile left in test2.tar.gz *******" rm -fr test1_test2 mkdir test1_test2 for f in test1.tar.gz test2.tar.gz ; do \ gzcat $f | (cd test1_test2 && tar xpf -) ; \ done tar cf - test1_test2 | gzip > test1_test2.tar.gz rm -fr test1_test2 echo "******* Distfile left in test1_test2.tar.gz *******" latex-mk-2.1/testsuite/gmake_ref/multi_distfile3.ref100644 000144 000000 00000001121 10560455712 0016326lgrind -i -o src1.c.tex src1.c tar cf - src1.c test1.tex src1.c.tex ../testfile.gmk | gzip > test1.tar.gz echo "******* Distfile left in test1.tar.gz *******" lgrind -i -o src2.c.tex src2.c tar cf - src2.c test2.tex src2.c.tex ../testfile.gmk | gzip > test2.tar.gz echo "******* Distfile left in test2.tar.gz *******" rm -fr test1_test2 mkdir test1_test2 for f in test1.tar.gz test2.tar.gz ; do \ gzcat $f | (cd test1_test2 && tar xpf -) ; \ done tar cf - test1_test2 | gzip > test1_test2.tar.gz rm -fr test1_test2 echo "******* Distfile left in test1_test2.tar.gz *******" latex-mk-2.1/testsuite/gmake_ref/multi1_dvi1.ref100644 000144 000000 00000000242 10560455672 0015374env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/gmake_ref/multi1_dvi2.ref100644 000144 000000 00000000242 10560455672 0015375env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/multi1_dvi3.ref100644 000144 000000 00000000504 10560455673 0015400env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/multi1_dvipdfm_flag1.ref100644 000144 000000 00000000662 10634603510 0017226env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvipdfm dvipdfm1_flags my_dvipdfm_flags test1.dvi env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex env dvipdfm dvipdfm2_flags my_dvipdfm_flags test2.dvi latex-mk-2.1/testsuite/gmake_ref/multi1_dvips_flag1.ref100644 000144 000000 00000000652 10634603260 0016723env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips dvips1_flags -j0 -o test1.ps test1.dvi env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex env dvips dvips2_flags -j0 -o test2.ps test2.dvi latex-mk-2.1/testsuite/gmake_ref/multi_lgrinddirs_dvi1.ref100644 000144 000000 00000000366 10560455730 0017536lgrind -i -o lgd1/src1.c.tex lgd1/src1.c lgrind -i -o lgd1/src2.c.tex lgd1/src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/gmake_ref/multi_lgrinddirs_dvi2.ref100644 000144 000000 00000000314 10560455733 0017533lgrind -i -o lgd2/src1.c.tex lgd2/src1.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/multi_lgrinddirs_dvi3.ref100644 000144 000000 00000000702 10560455735 0017537lgrind -i -o lgd1/src1.c.tex lgd1/src1.c lgrind -i -o lgd1/src2.c.tex lgd1/src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex lgrind -i -o lgd2/src1.c.tex lgd2/src1.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/multi_lgrinddirs_dvi4.ref100644 000144 000000 00000000724 10560455736 0017545lgrind -i -myflags1 -o lgd1/src1.c.tex lgd1/src1.c lgrind -i -myflags1 -o lgd1/src2.c.tex lgd1/src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex lgrind -i -o lgd2/src1.c.tex lgd2/src1.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/multi_lgrinddirs_dvi5.ref100644 000144 000000 00000000735 10560455736 0017550lgrind -i -myflags1 -o lgd1/src1.c.tex lgd1/src1.c lgrind -i -myflags1 -o lgd1/src2.c.tex lgd1/src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex lgrind -i -myflags2 -o lgd2/src1.c.tex lgd2/src1.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/multi_lgrinddirs_dvi6.ref100644 000144 000000 00000000742 10560455740 0017542lgrind -i -myspecialflag -o lgd1/src1.c.tex lgd1/src1.c lgrind -i -myflags1 -o lgd1/src2.c.tex lgd1/src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex lgrind -i -myflags2 -o lgd2/src1.c.tex lgd2/src1.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/multi_lgrindsrcs_dvi1.ref100644 000144 000000 00000000302 10560455712 0017535lgrind -i -o src1.c.tex src1.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/gmake_ref/multi_lgrindsrcs_dvi2.ref100644 000144 000000 00000000302 10560455713 0017537lgrind -i -o src2.c.tex src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/multi_lgrindsrcs_dvi3.ref100644 000144 000000 00000000604 10560455714 0017546lgrind -i -o src1.c.tex src1.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex lgrind -i -o src2.c.tex src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/multi_lgrindsrcs_dvi4.ref100644 000144 000000 00000000042 10560455721 0017541gmake: `test1.dvi' is up to date. latex-mk-2.1/testsuite/gmake_ref/multi_lgrindsrcs_dvi5.ref100644 000144 000000 00000000302 10560455726 0017546lgrind -i -o src2.c.tex src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/multi_lgrindsrcs_dvi6.ref100644 000144 000000 00000000614 10560455727 0017556lgrind -i -myflag1 -o src1.c.tex src1.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex lgrind -i -o src2.c.tex src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/multi_lgrindsrcs_dvi7.ref100644 000144 000000 00000000624 10560455727 0017560lgrind -i -myflag1 -o src1.c.tex src1.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex lgrind -i -myflag2 -o src2.c.tex src2.c env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/multi_texsrcs_dvi1.ref100644 000144 000000 00000000242 10560455674 0017070env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/gmake_ref/multi_texsrcs_dvi2.ref100644 000144 000000 00000000242 10560455675 0017072env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/multi_texsrcs_dvi3.ref100644 000144 000000 00000000504 10560455675 0017074env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/multi_texsrcs_dvi4.ref100644 000144 000000 00000000042 10560455702 0017061gmake: `test1.dvi' is up to date. latex-mk-2.1/testsuite/gmake_ref/multi_texsrcs_dvi5.ref100644 000144 000000 00000000242 10560455706 0017070env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/multi_tgifsrcs_dvi1.ref100644 000144 000000 00000000303 10560455741 0017212tgif -color -print -eps fig1.obj env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/gmake_ref/multi_tgifsrcs_dvi2.ref100644 000144 000000 00000000303 10560455742 0017214tgif -color -print -eps fig2.obj env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/multi_tgifsrcs_dvi3.ref100644 000144 000000 00000000606 10560455743 0017224tgif -color -print -eps fig1.obj env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex tgif -color -print -eps fig2.obj env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/multi_tgifsrcs_dvi4.ref100644 000144 000000 00000000042 10560455750 0017215gmake: `test1.dvi' is up to date. latex-mk-2.1/testsuite/gmake_ref/multi_tgifsrcs_dvi5.ref100644 000144 000000 00000000303 10560455755 0017223tgif -color -print -eps fig2.obj env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/subdir1.ref100644 000144 000000 00000000105 10560455756 0014610===> dir1 non-existent ===> dir2 non-existent ===> dir3 non-existent latex-mk-2.1/testsuite/gmake_ref/subdir2.ref100644 000144 000000 00000000252 10560455757 0014615===> dir1 non-existent ===> dir2 gmake[1]: Entering directory `testsuite/run/dir2' default target gmake[1]: Leaving directory `testsuite/run/dir2' ===> dir3 non-existent latex-mk-2.1/testsuite/gmake_ref/subdir3.ref100644 000144 000000 00000000417 10560455761 0014614===> dir1 gmake[1]: Entering directory `testsuite/run/dir1' default target gmake[1]: Leaving directory `testsuite/run/dir1' ===> dir2 gmake[1]: Entering directory `testsuite/run/dir2' default target gmake[1]: Leaving directory `testsuite/run/dir2' ===> dir3 non-existent latex-mk-2.1/testsuite/gmake_ref/subdir4.ref100644 000144 000000 00000000526 10560455763 0014620===> dir1 gmake[1]: Entering directory `testsuite/run/dir1' gmake[1]: Leaving directory `testsuite/run/dir1' ===> dir2 gmake[1]: Entering directory `testsuite/run/dir2' default target gmake[1]: Leaving directory `testsuite/run/dir2' ===> dir3 gmake[1]: Entering directory `testsuite/run/dir3' gmake[1]: Leaving directory `testsuite/run/dir3' latex-mk-2.1/testsuite/gmake_ref/subdir5.ref100644 000144 000000 00000000247 10560455764 0014622===> dir1 non-existent ===> dir2 gmake[1]: Entering directory `testsuite/run/dir2' view target gmake[1]: Leaving directory `testsuite/run/dir2' ===> dir3 non-existent latex-mk-2.1/testsuite/gmake_ref/tgif_pdflatex_dvi1.ref100644 000144 000000 00000000346 10560455632 0017002tgif -color -print -pdf tgif1.obj tgif -color -print -pdf tgif2.obj env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/tgifsrcs_clean.ref100644 000144 000000 00000001350 10560455631 0016220rm -f tgif1.eps tgif2.eps if [ -f test2.www_files ]; then for f in `awk '{print }' test2.www_files` ; do if [ -f $f ]; then rm -f $f ; fi ; done ; fi rm -f test2.www_files rm -f test2.html_dir/images.aux rm -f test2.html_dir/images.bbl rm -f test2.html_dir/images.log rm -f test2.html_dir/images.out rm -f test2.html_dir/images.tex if [ -d test2.html_dir ] ; then rm test2.html_dir ; fi latex-mk --clean test2 rm -f *~ texput.log test2.aux test2.ps test2-draft.ps test2.pdf test2-draft.pdf test2.rtf test2.aux test2.log test2.dvi test2.log test2.bbl test2.blg test2.glo test2.gls test2.ilg test2.idx test2.ind test2.lof test2.lot test2.toc test2.out draft_stamp.ps test2.bib-stamp test2.html-stamp test2.www_files test2.haux test2.image.tex latex-mk-2.1/testsuite/gmake_ref/vars_bibtex.ref100644 000144 000000 00000000262 10560455640 0015543env LATEX=latex LATEX_FLAGS= BIBTEX=mybibtex BIBTEX_FLAGS=mybibtex_flags MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/gmake_ref/vars_dvipdfm.ref100644 000144 000000 00000000326 10560455641 0015721env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env foo=dvipdfm mydvipdfm mydvipdfm_flags test1.dvi latex-mk-2.1/testsuite/gmake_ref/vars_dvipdfm_landscape.ref100644 000144 000000 00000000334 10560455641 0017732env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env foo=dvipdfm mydvipdfm mydvipdfm_landscape test1.dvi latex-mk-2.1/testsuite/gmake_ref/vars_dvips.ref100644 000144 000000 00000000334 10560455642 0015415env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env foo=dvips mydvips mydvips_flags -o test1.ps test1.dvi latex-mk-2.1/testsuite/gmake_ref/vars_dvips_landscape.ref100644 000144 000000 00000000334 10560455643 0017430env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env mydvips -j0 mydvips_landscape -o test1.ps test1.dvi latex-mk-2.1/testsuite/gmake_ref/vars_gv.ref100644 000144 000000 00000000342 10560455643 0014704env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi mygv mygv_flags test1.ps latex-mk-2.1/testsuite/gmake_ref/vars_gv_landscape.ref100644 000144 000000 00000000364 10560455644 0016723env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -t landscape -o test1.ps test1.dvi mygv mygv_landscape test1.ps latex-mk-2.1/testsuite/gmake_ref/vars_hevea.ref100644 000144 000000 00000001616 10560455645 0015367touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using HeVeA mkdir -p test1.html_dir env foo=bar myhevea myhevea_flags test1.tex env foo=bar myimagen `basename test1.tex .tex` env foo=bar myhevea myhevea_flags test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif \ -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS \ -o -name \*.scm -o -name \*.hlog \) \ -newer test1.html-stamp1 -print` ; do \ fn=`basename $f` ; \ if grep "^$f " test1.www_files >/dev/null ; then \ echo "$f already recorded" ; \ else \ echo "recording file $f (test1.html_dir/$fn)" ; \ echo "$f test1.html_dir/$fn" >> test1.www_files ; \ fi ;\ done for f in `awk '{print $1}' test1.www_files` ; do \ echo "Moving $f to test1.html_dir" ; mv $f test1.html_dir ; \ done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/gmake_ref/vars_latex.ref100644 000144 000000 00000000306 10560455646 0015410env LATEX=mylatex LATEX_FLAGS=mylatex_flags BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK=my_post_bibtex foo=bar latex-mk test1.tex latex-mk-2.1/testsuite/gmake_ref/vars_latex2html.ref100644 000144 000000 00000001555 10560455647 0016367env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using latex2html env foo=bar mylatex2html mylatex2html_flags -mkdir -dir test1.html_dir test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif \ -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS \ -o -name \*.scm -o -name \*.hlog \) \ -newer test1.html-stamp1 -print` ; do \ fn=`basename $f` ; \ if grep "^$f " test1.www_files >/dev/null ; then \ echo "$f already recorded" ; \ else \ echo "recording file $f (test1.html_dir/$fn)" ; \ echo "$f test1.html_dir/$fn" >> test1.www_files ; \ fi ;\ done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/gmake_ref/vars_latex2rtf.ref100644 000144 000000 00000000351 10560455650 0016201env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env foortf=barrtf mylatex2rtf mylatex2rtf_flags -o test1.rtf test1.tex latex-mk-2.1/testsuite/gmake_ref/vars_lgrind.ref100644 000144 000000 00000000454 10560455651 0015552mylgrind mylgrind_flags -o src1.c.tex src1.c mylgrind mylgrind_flags -o src2.c.tex src2.c mylgrind mylgrind_flags -o src2.h.tex src2.h env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/vars_lpr.ref100644 000144 000000 00000000343 10560455652 0015066env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi mylpr mylpr_flags test1.ps latex-mk-2.1/testsuite/gmake_ref/vars_makegls.ref100644 000144 000000 00000000261 10560456411 0015705env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=mymakegls MAKEGLS_FLAGS=mymakegls_flags POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/gmake_ref/vars_makeindex.ref100644 000144 000000 00000000265 10560455652 0016241env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=mymakeindex MAKEIDX_FLAGS=mymakeindex_flags MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex latex-mk-2.1/testsuite/gmake_ref/vars_mpost.ref100644 000144 000000 00000000342 10634565515 0015434mympost mympost_flags figs1.mp mympost mympost_flags figs2.mp env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test2.tex latex-mk-2.1/testsuite/gmake_ref/vars_pdflatex.ref100644 000144 000000 00000000317 10560455653 0016102env PDFLATEX=mypdflatex PDFLATEX_FLAGS=mypdflatex_flags BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= foo=bar latex-mk --pdflatex test1.tex latex-mk-2.1/testsuite/gmake_ref/vars_ps2pdf.ref100644 000144 000000 00000000351 10560455653 0015467env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi myps2pdf myps2pdf_flags test1.ps latex-mk-2.1/testsuite/gmake_ref/vars_tex2page.ref100644 000144 000000 00000002544 10560455654 0016017touch test1.html-stamp1 echo LaTeX-Mk: Creating HTML output using tex2page echo "test1.html_dir" > test1.hdir env TEX2PAGE=mytex2page TEX2PAGE_FLAGS=mytex2page_flags BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= foo=bar latex-mk --tex2page test1.tex if [ ! -f test1.www_files ]; then touch test1.www_files ; fi for f in `find . -type f \( -name \*.html -o -name \*.htm -o -name \*.gif \ -o -name \*.png -o -name \*.css -o -name \*.pl -o -name WARNINGS \ -o -name \*.scm -o -name \*.hlog \) \ -newer test1.html-stamp1 -print` ; do \ fn=`basename $f` ; \ if grep "^$f " test1.www_files >/dev/null ; then \ echo "$f already recorded" ; \ else \ echo "recording file $f (test1.html_dir/$fn)" ; \ echo "$f test1.html_dir/$fn" >> test1.www_files ; \ fi ;\ done for f in `find . -type f \( -name \*-Z-G-\*.tex -o -name \*-Z-G-\*.aux \ -o -name \*-Z-G-\*.log -o -name \*-Z-G-\*.dvi -o -name \*-Z-G-\*.ps \ -o -name .Z\*.tex \) -newer test1.html-stamp1 -print` ; do \ fn=`basename $f` ; \ if grep "^$f " test1.www_files >/dev/null ; then \ echo "$f already recorded" ; \ elif test "`dirname $f`" != "." ; then \ echo "$f is not in this directory, skipping" ; \ else \ echo "recording file $f (./$fn)" ; \ echo "$f ./$fn" >> test1.www_files ; \ fi ;\ done mv test1.html-stamp1 test1.html-stamp latex-mk-2.1/testsuite/gmake_ref/vars_xdvi.ref100644 000144 000000 00000000300 10560455657 0015241env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex myxdvi myxdvi_flags test1.dvi latex-mk-2.1/testsuite/gmake_ref/vars_viewpdf.ref100644 000144 000000 00000000376 10560455655 0015746env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -o test1.ps test1.dvi ps2pdf test1.ps myviewpdf myviewpdf_flags test1.pdf latex-mk-2.1/testsuite/gmake_ref/vars_viewpdf_landscape.ref100644 000144 000000 00000000420 10560455656 0017747env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex env dvips -j0 -t landscape -o test1.ps test1.dvi ps2pdf test1.ps myviewpdf myviewpdf_landscape test1.pdf latex-mk-2.1/testsuite/gmake_ref/vars_xdvi_landscape.ref100644 000144 000000 00000000305 10560455657 0017260env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test1.tex myxdvi myxdvi_landscape test1.dvi latex-mk-2.1/testsuite/gmake_ref/xfig_pdflatex_dvi1.ref100644 000144 000000 00000000351 11345235523 0016777fig2dev -L pdf xfig1.fig xfig1.pdf fig2dev -L pdf xfig2.fig xfig2.pdf env LATEX=latex LATEX_FLAGS= BIBTEX=bibtex BIBTEX_FLAGS= MAKEIDX=makeindex MAKEIDX_FLAGS= MAKEGLS=makeindex MAKEGLS_FLAGS= POST_BIBTEX_HOOK= latex-mk test.tex latex-mk-2.1/testsuite/gmake_ref/xfigsrcs_clean.ref100644 000144 000000 00000001303 10560455635 0016226rm -f xfig1.eps xfig2.eps if [ -f test.www_files ]; then for f in `awk '{print }' test.www_files` ; do if [ -f $f ]; then rm -f $f ; fi ; done ; fi rm -f test.www_files rm -f test.html_dir/images.aux rm -f test.html_dir/images.bbl rm -f test.html_dir/images.log rm -f test.html_dir/images.out rm -f test.html_dir/images.tex if [ -d test.html_dir ] ; then rm test.html_dir ; fi latex-mk --clean test rm -f *~ texput.log test.aux test.ps test-draft.ps test.pdf test-draft.pdf test.rtf test.aux test.log test.dvi test.log test.bbl test.blg test.glo test.gls test.ilg test.idx test.ind test.lof test.lot test.toc test.out draft_stamp.ps test.bib-stamp test.html-stamp test.www_files test.haux test.image.tex latex-mk-2.1/testsuite/latex_mk_ref/Makefile.am100644 000144 000000 00000004675 11506443040 0015315## $Id: Makefile.am,v 1.7 2010/12/28 20:18:40 dan Exp $ ## ## Copyright (c) 2006, 2007, 2010 Dan McMahill ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without ## modification, are permitted provided that the following conditions ## are met: ## 1. Redistributions of source code must retain the above copyright ## notice, this list of conditions and the following disclaimer. ## 2. Redistributions in binary form must reproduce the above copyright ## notice, this list of conditions and the following disclaimer in the ## documentation and/or other materials provided with the distribution. ## 3. All advertising materials mentioning features or use of this software ## must display the following acknowledgement: ## This product includes software developed by Dan McMahill ## 4. The name of the author may not be used to endorse or promote products ## derived from this software without specific prior written permission. ## ## THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR ## IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ## OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ## INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, ## BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; ## LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED ## AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## check_DATA= ${GOLDEN_FILES} DISTCLEANFILES= ${LOG_FILES} ${DLOG_FILES} CLEANFILES= ${LOG_FILES} ${DLOG_FILES} EXTRA_DIST= ${GOLDEN_FILES} LOG_FILES= ${GOLDEN_FILES:.ref=.log} DLOG_FILES= ${GOLDEN_FILES:.ref=.dlog} GOLDEN_FILES= \ basic_space1.ref \ basic1.ref \ basic2.ref \ basic3.ref \ basic4.ref \ bibtex1.ref \ bibtex2.ref \ bibtex3.ref \ bibtex4.ref \ bibtex5.ref \ bibunits1.ref \ bibunits2.ref \ bibunits3.ref \ bibunits4.ref \ bibunits5.ref \ bibunits6.ref \ bibunits7.ref \ bibunits8.ref \ makegls1.ref \ makeindex1.ref \ makeindex2.ref \ makeindex3.ref \ makeindex4.ref \ pdf1.ref \ pdf2.ref \ pdf3.ref \ pdf4.ref \ vars1.ref \ vars2.ref \ vars3.ref \ vars4.ref \ vars5.ref \ vars6.ref \ vars7.ref latex-mk-2.1/testsuite/latex_mk_ref/Makefile.in100644 000144 000000 00000022570 11506463236 0015331# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = testsuite/latex_mk_ref DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BIBTEX = @BIBTEX@ BMAKE = @BMAKE@ CONVERT = @CONVERT@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DVIPDFM = @DVIPDFM@ DVIPS = @DVIPS@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ ENV_PROG = @ENV_PROG@ FALSE = @FALSE@ FIG2DEV = @FIG2DEV@ FIND = @FIND@ GMAKE = @GMAKE@ GMAKECONF = @GMAKECONF@ GREP = @GREP@ GV = @GV@ GZCAT = @GZCAT@ GZIP = @GZIP@ HACHA = @HACHA@ HEVEA = @HEVEA@ IMAGEN = @IMAGEN@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LATEX = @LATEX@ LATEX2HTML = @LATEX2HTML@ LATEX2RTF = @LATEX2RTF@ LGRIND = @LGRIND@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LPR = @LPR@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKECONF = @MAKECONF@ MAKEIDX = @MAKEIDX@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MPOST = @MPOST@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ PS2PDF = @PS2PDF@ RM = @RM@ RMDIR = @RMDIR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TAR = @TAR@ TEX2PAGE = @TEX2PAGE@ TGIF = @TGIF@ USERGMAKECONF = @USERGMAKECONF@ USERMAKECONF = @USERMAKECONF@ VERSION = @VERSION@ XDVI = @XDVI@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ check_DATA = ${GOLDEN_FILES} DISTCLEANFILES = ${LOG_FILES} ${DLOG_FILES} CLEANFILES = ${LOG_FILES} ${DLOG_FILES} EXTRA_DIST = ${GOLDEN_FILES} LOG_FILES = ${GOLDEN_FILES:.ref=.log} DLOG_FILES = ${GOLDEN_FILES:.ref=.dlog} GOLDEN_FILES = \ basic_space1.ref \ basic1.ref \ basic2.ref \ basic3.ref \ basic4.ref \ bibtex1.ref \ bibtex2.ref \ bibtex3.ref \ bibtex4.ref \ bibtex5.ref \ bibunits1.ref \ bibunits2.ref \ bibunits3.ref \ bibunits4.ref \ bibunits5.ref \ bibunits6.ref \ bibunits7.ref \ bibunits8.ref \ makegls1.ref \ makeindex1.ref \ makeindex2.ref \ makeindex3.ref \ makeindex4.ref \ pdf1.ref \ pdf2.ref \ pdf3.ref \ pdf4.ref \ vars1.ref \ vars2.ref \ vars3.ref \ vars4.ref \ vars5.ref \ vars6.ref \ vars7.ref all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign testsuite/latex_mk_ref/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --foreign testsuite/latex_mk_ref/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_DATA) check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic distclean \ distclean-generic distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: latex-mk-2.1/testsuite/latex_mk_ref/basic_space1.ref100644 000144 000000 00000001046 11506434017 0016265latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [] TEXINPUTS [] BIBINPUTS [] ------------------------------------ Pass #0 run_latex() called rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/basic1.ref100644 000144 000000 00000001046 11506301624 0015107latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [] TEXINPUTS [] BIBINPUTS [] ------------------------------------ Pass #0 run_latex() called rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/basic2.ref100644 000144 000000 00000001051 11506301626 0015106latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [out] TEXINPUTS [] BIBINPUTS [] ------------------------------------ Pass #0 run_latex() called rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/basic3.ref100644 000144 000000 00000000213 11506301627 0015107latex-mk returned 1 HERE/../latex-mk: The current directory: HERE/run is not writeable and TEXMFOUTPUT is not set. LaTeX can not be run. latex-mk-2.1/testsuite/latex_mk_ref/basic4.ref100644 000144 000000 00000001074 11506301631 0015111latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [out/latex-mk.log] ODIR [out] TEXMFOUTPUT [out] TEXINPUTS [out:] BIBINPUTS [.:HERE/run:] ------------------------------------ Pass #0 run_latex() called rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/bibtex1.ref100644 000144 000000 00000002530 11506301660 0015302latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [] TEXINPUTS [] BIBINPUTS [] ------------------------------------ Pass #0 run_latex() called Citation undefined check_bib() called check_bib(): It is ok to run BibTex (found citation) check_bib(): It is ok to run BibTex (found bibdata) check_bib(): It is ok to run BibTex (found bibstyle) BibTex run #1 run_bibtex called cd "." && "bibtex" "bibliography" rerun = needbib = LaTeX Warning: Citation `en300.175-2v1.4.2' on page 1 undefined on input line 1 changed_file = Rerun is needed ------------------------------------ Pass #1 run_latex() called Citation undefined Try another latex run for the citations rerun = LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right. needbib = LaTeX Warning: Citation `en300.175-2v1.4.2' on page 1 undefined on input line 1 changed_file = Rerun is needed ------------------------------------ Pass #2 run_latex() called rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/bibtex2.ref100644 000144 000000 00000002533 11506301664 0015312latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [out] TEXINPUTS [] BIBINPUTS [] ------------------------------------ Pass #0 run_latex() called Citation undefined check_bib() called check_bib(): It is ok to run BibTex (found citation) check_bib(): It is ok to run BibTex (found bibdata) check_bib(): It is ok to run BibTex (found bibstyle) BibTex run #1 run_bibtex called cd "." && "bibtex" "bibliography" rerun = needbib = LaTeX Warning: Citation `en300.175-2v1.4.2' on page 1 undefined on input line 1 changed_file = Rerun is needed ------------------------------------ Pass #1 run_latex() called Citation undefined Try another latex run for the citations rerun = LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right. needbib = LaTeX Warning: Citation `en300.175-2v1.4.2' on page 1 undefined on input line 1 changed_file = Rerun is needed ------------------------------------ Pass #2 run_latex() called rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/bibtex3.ref100644 000144 000000 00000000213 11506301665 0015305latex-mk returned 1 HERE/../latex-mk: The current directory: HERE/run is not writeable and TEXMFOUTPUT is not set. LaTeX can not be run. latex-mk-2.1/testsuite/latex_mk_ref/bibtex4.ref100644 000144 000000 00000002560 11506301671 0015312latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [out/latex-mk.log] ODIR [out] TEXMFOUTPUT [out] TEXINPUTS [out:] BIBINPUTS [.:HERE/run:] ------------------------------------ Pass #0 run_latex() called Citation undefined check_bib() called check_bib(): It is ok to run BibTex (found citation) check_bib(): It is ok to run BibTex (found bibdata) check_bib(): It is ok to run BibTex (found bibstyle) BibTex run #1 run_bibtex called cd "out" && "bibtex" "bibliography" rerun = needbib = LaTeX Warning: Citation `en300.175-2v1.4.2' on page 1 undefined on input line 1 changed_file = Rerun is needed ------------------------------------ Pass #1 run_latex() called Citation undefined Try another latex run for the citations rerun = LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right. needbib = LaTeX Warning: Citation `en300.175-2v1.4.2' on page 1 undefined on input line 1 changed_file = Rerun is needed ------------------------------------ Pass #2 run_latex() called rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/bibtex5.ref100644 000144 000000 00000003271 11506301676 0015320latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [] TEXINPUTS [] BIBINPUTS [] ------------------------------------ Pass #0 run_latex() called Citation undefined check_bib() called check_bib(): It is ok to run BibTex (found citation) check_bib(): It is ok to run BibTex (found bibdata) check_bib(): It is ok to run BibTex (found bibstyle) BibTex run #1 run_bibtex called cd "." && "bibtex" "bibliography2" "./bibliography2.idx" is new "./bibliography2.idx" new or changed -> need to run makeindex run_makeindex() called cd "." && "makeindex" "bibliography2" "./bibliography2.ind" is new rerun = needbib = LaTeX Warning: Citation `en300.175-2v1.4.2' on page 1 undefined on input line 2 changed_file = "./bibliography2.ind" Rerun is needed ------------------------------------ Pass #1 run_latex() called Citation undefined Try another latex run for the citations "./bibliography2.idx" is not changed "./bibliography2.ind" is not changed rerun = LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right. needbib = LaTeX Warning: Citation `en300.175-2v1.4.2' on page 1 undefined on input line 2 changed_file = Rerun is needed ------------------------------------ Pass #2 run_latex() called "./bibliography2.idx" is not changed "./bibliography2.ind" is not changed rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/bibunits1.ref100644 000144 000000 00000003745 11506301702 0015652latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [] TEXINPUTS [] BIBINPUTS [] ------------------------------------ Pass #0 run_latex() called bibunits package detected Running bibtex on ./bu1.aux run_bibtex --skip-post-hook bu1 called cd "." && "bibtex" "bu1" Running bibtex on ./bu2.aux run_bibtex --skip-post-hook bu2 called cd "." && "bibtex" "bu2" Running bibtex on ./bu3.aux run_bibtex --skip-post-hook bu3 called cd "." && "bibtex" "bu3" Citation undefined check_bib() called Skip BibTex run #1 (due to check_bib) rerun = needbib = LaTeX Warning: Citation `churchill84' undefined on input line 17. LaTeX Warning: Citation `cover91' undefined on input line 17. LaTeX Warning: Citation `fano50' undefined on input line 24. LaTeX Warning: Citation `green54' undefined on input line 24. LaTeX Warning: Citation `en300.175-2v1.4.2' undefined on input line 31. changed_file = Rerun is needed ------------------------------------ Pass #1 run_latex() called bibunits package detected Citation undefined Try another latex run for the citations rerun = Package bibunits Warning: Label(s) may have changed. Rerun to get cross-referen needbib = LaTeX Warning: Citation `churchill84' undefined on input line 17. LaTeX Warning: Citation `cover91' undefined on input line 17. LaTeX Warning: Citation `fano50' undefined on input line 24. LaTeX Warning: Citation `green54' undefined on input line 24. LaTeX Warning: Citation `en300.175-2v1.4.2' undefined on input line 31. changed_file = Rerun is needed ------------------------------------ Pass #2 run_latex() called bibunits package detected rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/bibunits2.ref100644 000144 000000 00000004473 11506301707 0015657latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [] TEXINPUTS [] BIBINPUTS [] ------------------------------------ Pass #0 run_latex() called bibunits package detected Running bibtex on ./bu1.aux run_bibtex --skip-post-hook bu1 called cd "." && "bibtex" "bu1" Running bibtex on ./bu2.aux run_bibtex --skip-post-hook bu2 called cd "." && "bibtex" "bu2" Running bibtex on ./bu3.aux run_bibtex --skip-post-hook bu3 called cd "." && "bibtex" "bu3" Citation undefined check_bib() called check_bib(): It is ok to run BibTex (found citation) check_bib(): It is ok to run BibTex (found bibdata) check_bib(): It is ok to run BibTex (found bibstyle) BibTex run #1 run_bibtex called cd "." && "bibtex" "bibunits2" rerun = needbib = LaTeX Warning: Citation `churchill84' undefined on input line 17. LaTeX Warning: Citation `cover91' undefined on input line 17. LaTeX Warning: Citation `fano50' undefined on input line 24. LaTeX Warning: Citation `green54' undefined on input line 24. LaTeX Warning: Citation `en300.175-2v1.4.2' undefined on input line 31. LaTeX Warning: Citation `hildebrand76' on page 1 undefined on input line 39. changed_file = Rerun is needed ------------------------------------ Pass #1 run_latex() called bibunits package detected Citation undefined Try another latex run for the citations rerun = Package bibunits Warning: Label(s) may have changed. Rerun to get cross-referen needbib = LaTeX Warning: Citation `churchill84' undefined on input line 17. LaTeX Warning: Citation `cover91' undefined on input line 17. LaTeX Warning: Citation `fano50' undefined on input line 24. LaTeX Warning: Citation `green54' undefined on input line 24. LaTeX Warning: Citation `en300.175-2v1.4.2' undefined on input line 31. LaTeX Warning: Citation `hildebrand76' on page 1 undefined on input line 39. changed_file = Rerun is needed ------------------------------------ Pass #2 run_latex() called bibunits package detected rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/bibunits3.ref100644 000144 000000 00000003750 11506301713 0015652latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [out] TEXINPUTS [] BIBINPUTS [] ------------------------------------ Pass #0 run_latex() called bibunits package detected Running bibtex on ./bu1.aux run_bibtex --skip-post-hook bu1 called cd "." && "bibtex" "bu1" Running bibtex on ./bu2.aux run_bibtex --skip-post-hook bu2 called cd "." && "bibtex" "bu2" Running bibtex on ./bu3.aux run_bibtex --skip-post-hook bu3 called cd "." && "bibtex" "bu3" Citation undefined check_bib() called Skip BibTex run #1 (due to check_bib) rerun = needbib = LaTeX Warning: Citation `churchill84' undefined on input line 17. LaTeX Warning: Citation `cover91' undefined on input line 17. LaTeX Warning: Citation `fano50' undefined on input line 24. LaTeX Warning: Citation `green54' undefined on input line 24. LaTeX Warning: Citation `en300.175-2v1.4.2' undefined on input line 31. changed_file = Rerun is needed ------------------------------------ Pass #1 run_latex() called bibunits package detected Citation undefined Try another latex run for the citations rerun = Package bibunits Warning: Label(s) may have changed. Rerun to get cross-referen needbib = LaTeX Warning: Citation `churchill84' undefined on input line 17. LaTeX Warning: Citation `cover91' undefined on input line 17. LaTeX Warning: Citation `fano50' undefined on input line 24. LaTeX Warning: Citation `green54' undefined on input line 24. LaTeX Warning: Citation `en300.175-2v1.4.2' undefined on input line 31. changed_file = Rerun is needed ------------------------------------ Pass #2 run_latex() called bibunits package detected rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/bibunits4.ref100644 000144 000000 00000004476 11506301720 0015657latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [out] TEXINPUTS [] BIBINPUTS [] ------------------------------------ Pass #0 run_latex() called bibunits package detected Running bibtex on ./bu1.aux run_bibtex --skip-post-hook bu1 called cd "." && "bibtex" "bu1" Running bibtex on ./bu2.aux run_bibtex --skip-post-hook bu2 called cd "." && "bibtex" "bu2" Running bibtex on ./bu3.aux run_bibtex --skip-post-hook bu3 called cd "." && "bibtex" "bu3" Citation undefined check_bib() called check_bib(): It is ok to run BibTex (found citation) check_bib(): It is ok to run BibTex (found bibdata) check_bib(): It is ok to run BibTex (found bibstyle) BibTex run #1 run_bibtex called cd "." && "bibtex" "bibunits2" rerun = needbib = LaTeX Warning: Citation `churchill84' undefined on input line 17. LaTeX Warning: Citation `cover91' undefined on input line 17. LaTeX Warning: Citation `fano50' undefined on input line 24. LaTeX Warning: Citation `green54' undefined on input line 24. LaTeX Warning: Citation `en300.175-2v1.4.2' undefined on input line 31. LaTeX Warning: Citation `hildebrand76' on page 1 undefined on input line 39. changed_file = Rerun is needed ------------------------------------ Pass #1 run_latex() called bibunits package detected Citation undefined Try another latex run for the citations rerun = Package bibunits Warning: Label(s) may have changed. Rerun to get cross-referen needbib = LaTeX Warning: Citation `churchill84' undefined on input line 17. LaTeX Warning: Citation `cover91' undefined on input line 17. LaTeX Warning: Citation `fano50' undefined on input line 24. LaTeX Warning: Citation `green54' undefined on input line 24. LaTeX Warning: Citation `en300.175-2v1.4.2' undefined on input line 31. LaTeX Warning: Citation `hildebrand76' on page 1 undefined on input line 39. changed_file = Rerun is needed ------------------------------------ Pass #2 run_latex() called bibunits package detected rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/bibunits5.ref100644 000144 000000 00000004007 11506301724 0015652latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [out/latex-mk.log] ODIR [out] TEXMFOUTPUT [out] TEXINPUTS [out:] BIBINPUTS [.:HERE/run:] ------------------------------------ Pass #0 run_latex() called bibunits package detected Running bibtex on out/bu1.aux run_bibtex --skip-post-hook bu1 called cd "out" && "bibtex" "bu1" Running bibtex on out/bu2.aux run_bibtex --skip-post-hook bu2 called cd "out" && "bibtex" "bu2" Running bibtex on out/bu3.aux run_bibtex --skip-post-hook bu3 called cd "out" && "bibtex" "bu3" Citation undefined check_bib() called Skip BibTex run #1 (due to check_bib) rerun = needbib = LaTeX Warning: Citation `churchill84' undefined on input line 17. LaTeX Warning: Citation `cover91' undefined on input line 17. LaTeX Warning: Citation `fano50' undefined on input line 24. LaTeX Warning: Citation `green54' undefined on input line 24. LaTeX Warning: Citation `en300.175-2v1.4.2' undefined on input line 31. changed_file = Rerun is needed ------------------------------------ Pass #1 run_latex() called bibunits package detected Citation undefined Try another latex run for the citations rerun = Package bibunits Warning: Label(s) may have changed. Rerun to get cross-referen needbib = LaTeX Warning: Citation `churchill84' undefined on input line 17. LaTeX Warning: Citation `cover91' undefined on input line 17. LaTeX Warning: Citation `fano50' undefined on input line 24. LaTeX Warning: Citation `green54' undefined on input line 24. LaTeX Warning: Citation `en300.175-2v1.4.2' undefined on input line 31. changed_file = Rerun is needed ------------------------------------ Pass #2 run_latex() called bibunits package detected rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/bibunits6.ref100644 000144 000000 00000004537 11506301731 0015661latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [out/latex-mk.log] ODIR [out] TEXMFOUTPUT [out] TEXINPUTS [out:] BIBINPUTS [.:HERE/run:] ------------------------------------ Pass #0 run_latex() called bibunits package detected Running bibtex on out/bu1.aux run_bibtex --skip-post-hook bu1 called cd "out" && "bibtex" "bu1" Running bibtex on out/bu2.aux run_bibtex --skip-post-hook bu2 called cd "out" && "bibtex" "bu2" Running bibtex on out/bu3.aux run_bibtex --skip-post-hook bu3 called cd "out" && "bibtex" "bu3" Citation undefined check_bib() called check_bib(): It is ok to run BibTex (found citation) check_bib(): It is ok to run BibTex (found bibdata) check_bib(): It is ok to run BibTex (found bibstyle) BibTex run #1 run_bibtex called cd "out" && "bibtex" "bibunits2" rerun = needbib = LaTeX Warning: Citation `churchill84' undefined on input line 17. LaTeX Warning: Citation `cover91' undefined on input line 17. LaTeX Warning: Citation `fano50' undefined on input line 24. LaTeX Warning: Citation `green54' undefined on input line 24. LaTeX Warning: Citation `en300.175-2v1.4.2' undefined on input line 31. LaTeX Warning: Citation `hildebrand76' on page 1 undefined on input line 39. changed_file = Rerun is needed ------------------------------------ Pass #1 run_latex() called bibunits package detected Citation undefined Try another latex run for the citations rerun = Package bibunits Warning: Label(s) may have changed. Rerun to get cross-referen needbib = LaTeX Warning: Citation `churchill84' undefined on input line 17. LaTeX Warning: Citation `cover91' undefined on input line 17. LaTeX Warning: Citation `fano50' undefined on input line 24. LaTeX Warning: Citation `green54' undefined on input line 24. LaTeX Warning: Citation `en300.175-2v1.4.2' undefined on input line 31. LaTeX Warning: Citation `hildebrand76' on page 1 undefined on input line 39. changed_file = Rerun is needed ------------------------------------ Pass #2 run_latex() called bibunits package detected rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/bibunits7.ref100644 000144 000000 00000000213 11506301731 0015645latex-mk returned 1 HERE/../latex-mk: The current directory: HERE/run is not writeable and TEXMFOUTPUT is not set. LaTeX can not be run. latex-mk-2.1/testsuite/latex_mk_ref/bibunits8.ref100644 000144 000000 00000000213 11506301732 0015647latex-mk returned 1 HERE/../latex-mk: The current directory: HERE/run is not writeable and TEXMFOUTPUT is not set. LaTeX can not be run. latex-mk-2.1/testsuite/latex_mk_ref/makegls1.ref100644 000144 000000 00000001773 11506301654 0015463latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [] TEXINPUTS [] BIBINPUTS [] ------------------------------------ Pass #0 run_latex() called "./nomencl.glo" is new "./nomencl.glo" new or changed -> need to update glossary run_makeglossary() called cd "." && "makeindex" -s "nomencl.ist" "nomencl.glo" -o "nomencl.gls" "./nomencl.glo" is not changed "./nomencl.gls" is new rerun = needbib = changed_file = "./nomencl.gls" Rerun is needed ------------------------------------ Pass #1 run_latex() called "./nomencl.glo" is not changed "./nomencl.glo" is not changed "./nomencl.gls" is not changed rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/makeindex1.ref100644 000144 000000 00000001604 11506301641 0015772latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [] TEXINPUTS [] BIBINPUTS [] ------------------------------------ Pass #0 run_latex() called "./index.idx" is new "./index.idx" new or changed -> need to run makeindex run_makeindex() called cd "." && "makeindex" "index" "./index.ind" is new rerun = needbib = changed_file = "./index.ind" Rerun is needed ------------------------------------ Pass #1 run_latex() called "./index.idx" is not changed "./index.ind" is not changed rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/makeindex2.ref100644 000144 000000 00000001607 11506301644 0016001latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [out] TEXINPUTS [] BIBINPUTS [] ------------------------------------ Pass #0 run_latex() called "./index.idx" is new "./index.idx" new or changed -> need to run makeindex run_makeindex() called cd "." && "makeindex" "index" "./index.ind" is new rerun = needbib = changed_file = "./index.ind" Rerun is needed ------------------------------------ Pass #1 run_latex() called "./index.idx" is not changed "./index.ind" is not changed rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/makeindex3.ref100644 000144 000000 00000000213 11506301645 0015773latex-mk returned 1 HERE/../latex-mk: The current directory: HERE/run is not writeable and TEXMFOUTPUT is not set. LaTeX can not be run. latex-mk-2.1/testsuite/latex_mk_ref/makeindex4.ref100644 000144 000000 00000001650 11506301650 0015776latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [out/latex-mk.log] ODIR [out] TEXMFOUTPUT [out] TEXINPUTS [out:] BIBINPUTS [.:HERE/run:] ------------------------------------ Pass #0 run_latex() called "out/index.idx" is new "out/index.idx" new or changed -> need to run makeindex run_makeindex() called cd "out" && "makeindex" "index" "out/index.ind" is new rerun = needbib = changed_file = "out/index.ind" Rerun is needed ------------------------------------ Pass #1 run_latex() called "out/index.idx" is not changed "out/index.ind" is not changed rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/pdf1.ref100644 000144 000000 00000001062 11506301632 0014574latex-mk invoked with flags = pdflatex BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [pdflatex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [] TEXINPUTS [] BIBINPUTS [] ------------------------------------ Pass #0 run_latex() called rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/pdf2.ref100644 000144 000000 00000001065 11506301634 0014602latex-mk invoked with flags = pdflatex BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [pdflatex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [out] TEXINPUTS [] BIBINPUTS [] ------------------------------------ Pass #0 run_latex() called rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/pdf3.ref100644 000144 000000 00000000213 11506301635 0014576latex-mk returned 1 HERE/../latex-mk: The current directory: HERE/run is not writeable and TEXMFOUTPUT is not set. LaTeX can not be run. latex-mk-2.1/testsuite/latex_mk_ref/pdf4.ref100644 000144 000000 00000001110 11506301636 0014575latex-mk invoked with flags = pdflatex BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [pdflatex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [out/latex-mk.log] ODIR [out] TEXMFOUTPUT [out] TEXINPUTS [out:] BIBINPUTS [.:HERE/run:] ------------------------------------ Pass #0 run_latex() called rerun = needbib = changed_file = No rerun is needed Remove log and exit. latex-mk-2.1/testsuite/latex_mk_ref/vars1.ref100644 000144 000000 00000000636 11506301733 0015006latex-mk invoked with flags = BIBTEX [mybibtex] BIBTEX_FLAGS [mybibtex_flags] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [] TEXINPUTS [] BIBINPUTS [] latex-mk-2.1/testsuite/latex_mk_ref/vars2.ref100644 000144 000000 00000000635 11506301733 0015006latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [mylatex] LATEX_FLAGS [mylatex_flags] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [] TEXINPUTS [] BIBINPUTS [] latex-mk-2.1/testsuite/latex_mk_ref/vars3.ref100644 000144 000000 00000000641 11506301734 0015005latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [mymakeindex] MAKEIDX_FLAGS [mymakeindex_flags] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [] TEXINPUTS [] BIBINPUTS [] latex-mk-2.1/testsuite/latex_mk_ref/vars4.ref100644 000144 000000 00000000640 11506301734 0015005latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [mypdflatex] PDFLATEX_FLAGS [mypdflatex_flags] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [] TEXINPUTS [] BIBINPUTS [] latex-mk-2.1/testsuite/latex_mk_ref/vars5.ref100644 000144 000000 00000000640 11506301735 0015007latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [mytex2page] TEX2PAGE_FLAGS [mytex2page_flags] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [] TEXINPUTS [] BIBINPUTS [] latex-mk-2.1/testsuite/latex_mk_ref/vars6.ref100644 000144 000000 00000000625 11506301736 0015014latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./latex-mk.log] ODIR [.] TEXMFOUTPUT [mytexmf] TEXINPUTS [] BIBINPUTS [] latex-mk-2.1/testsuite/latex_mk_ref/vars7.ref100644 000144 000000 00000000607 11506301736 0015015latex-mk invoked with flags = BIBTEX [bibtex] BIBTEX_FLAGS [] LATEX [latex] LATEX_FLAGS [] MAKEIDX [makeindex] MAKEIDX_FLAGS [] MAKEGLS [makeindex] MAKEGLS_FLAGS [] PDFLATEX [pdflatex] PDFLATEX_FLAGS [] TEX2PAGE [tex2page] TEX2PAGE_FLAGS [] LATEX_MK_LOG [./mylog] ODIR [.] TEXMFOUTPUT [] TEXINPUTS [] BIBINPUTS []