aephea-12-248/0000777000402500021140000000000012021634011010020 500000000000000aephea-12-248/install-sh0000755000402500021140000001273611251177103011761 00000000000000#!/bin/sh # # 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 aephea-12-248/LICENSE0000644000402500021140000000217011546330241010752 00000000000000 This directory contains source code for the Aephea documentation framework, in the form of macro packages written in the zoem language. All zoem source files (with '.azm' and '.zmm' extensions) in the subdirectories of this directory are copyright (c) 2001-2011 Stijn van Dongen, stijn micans org, as are the documentation files derived from the zoem source files. This documentation framework 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 3 of the License, or (at your option) any later version. This documentation framework 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. aephea-12-248/configure0000755000402500021140000030012012021415204011640 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.65 for aephea 12-248. # # Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 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=: # Pre-4.2 versions of Zsh do 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_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } 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.) 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 $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do 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_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and stijn@micans.org $0: about your system, including any error possibly output $0: before this message. Then install a modern shell, or $0: manually run the script under such a shell if you do $0: have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_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 || $as_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" || as_fn_error "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error ERROR [LINENO LOG_FD] # --------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with status $?, using 1 if that was 0. as_fn_error () { as_status=$?; test $as_status -eq 0 && as_status=1 if test "$3"; then as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 fi $as_echo "$as_me: error: $1" >&2 as_fn_exit $as_status } # as_fn_error 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 if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # 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 as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # 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" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_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 } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac 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 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then 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 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='mkdir -p "$as_dir"' 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'" test -n "$DJDIR" || 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= # Identity of this package. PACKAGE_NAME='aephea' PACKAGE_TARNAME='aephea' PACKAGE_VERSION='12-248' PACKAGE_STRING='aephea 12-248' PACKAGE_BUGREPORT='stijn@micans.org' PACKAGE_URL='' ac_subst_vars='LTLIBOBJS LIBOBJS MAINT MAINTAINER_MODE_FALSE MAINTAINER_MODE_TRUE am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_maintainer_mode ' ac_precious_vars='build_alias host_alias target_alias' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # 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_TARNAME}' 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_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=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_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$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_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=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 ;; -*) as_fn_error "unrecognized option: \`$ac_option' Try \`$0 --help' for more information." ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_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'` as_fn_error "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. 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 # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" 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 $as_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 .` || as_fn_error "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error "pwd does not report name of working directory" # 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 -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | 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 .." as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" 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 aephea 12-248 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/aephea] --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 _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of aephea 12-248:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --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 Report bugs to . _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" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && 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=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_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 $as_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 aephea configure 12-248 generated by GNU Autoconf 2.65 Copyright (C) 2009 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 ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## 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 aephea $as_me 12-248, which was generated by GNU Autoconf 2.65. 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=. $as_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=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append 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 as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset 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_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; 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=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_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=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_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 && $as_echo "$as_me: caught signal $ac_signal" $as_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'; as_fn_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 $as_echo "/* confdefs.h */" > 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 cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then ac_site_file1=$CONFIG_SITE elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_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. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_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,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_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 # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_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. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## 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 PACKAGE=$PACKAGE_NAME VERSION=$PACKAGE_VERSION am__api_version="1.9" ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do for ac_t in install-sh install.sh shtool; do if test -f "$ac_dir/$ac_t"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/$ac_t -c" break 2 fi done done if test -z "$ac_aux_dir"; then as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 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. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then : $as_echo_n "(cached) " >&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 rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir 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 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$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' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&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". as_fn_error "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi test "$2" = conftest.file ) then # Ok. : else as_fn_error "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "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 $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # 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= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then # We used to keeping the `.' as first argument, in order to # allow $(mkdir_p) to be used without argument. As in # $(mkdir_p) $(somedir) # where $(somedir) is conditionally defined. However this is wrong # for two reasons: # 1. if the package is installed by a user who cannot write `.' # make install will fail, # 2. the above comment should most certainly read # $(mkdir_p) $(DESTDIR)$(somedir) # so it does not work when $(somedir) is undefined and # $(DESTDIR) is not. # To support the latter case, we have to write # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), # so the `.' trick is pointless. mkdir_p='mkdir -p --' else # On NextStep and OpenStep, the `mkdir' command does not # recognize any option. It will interpret all options as # directories to create, and then abort because `.' already # exists. for d in ./-p ./--version; do test -d $d && rmdir $d done # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. if test -f "$ac_aux_dir/mkinstalldirs"; then mkdir_p='$(mkinstalldirs)' else mkdir_p='$(install_sh) -d' fi fi 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 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AWK+set}" = set; then : $as_echo_n "(cached) " >&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" $as_echo "$as_me:${as_lineno-$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 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_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 : $as_echo_n "(cached) " >&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 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "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 # test to see if srcdir already configured if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 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=$PACKAGE VERSION=$VERSION 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-"$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 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then : $as_echo_n "(cached) " >&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" $as_echo "$as_me:${as_lineno-$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 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "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 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : $as_echo_n "(cached) " >&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" $as_echo "$as_me:${as_lineno-$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 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\${SHELL} \$(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 -' # add a `--enable-maintainer-mode' option to `configure'; `maintainer-only' rules turned off by # default in Makefile.in's { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&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 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5 $as_echo "$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 # AC_CONFIG_FILES([]) ac_config_files="$ac_config_files Makefile mac/Makefile mac/aephea/Makefile mac/pud/Makefile mac/doc/Makefile mac/contrib/Makefile" 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_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; 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" && { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_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=' :mline /\\$/{ N s,\\\n,, b mline } 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=`$as_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. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append 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 as_fn_error "conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $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} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## 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=: # Pre-4.2 versions of Zsh do 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_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } 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.) 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 $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error ERROR [LINENO LOG_FD] # --------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with status $?, using 1 if that was 0. as_fn_error () { as_status=$?; test $as_status -eq 0 && as_status=1 if test "$3"; then as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 fi $as_echo "$as_me: error: $1" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith 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 if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # 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 ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac 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 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then 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 else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_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 || $as_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" || as_fn_error "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' 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 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=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 aephea $as_me 12-248, which was generated by GNU Autoconf 2.65. 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 case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent 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_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ aephea config.status 12-248 configured by $0, generated by GNU Autoconf 2.65, with options \\"\$ac_cs_config\\" Copyright (C) 2009 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' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. 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 ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --he | --h | --help | --hel | -h ) $as_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. -*) as_fn_error "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append 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 || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "mac/Makefile") CONFIG_FILES="$CONFIG_FILES mac/Makefile" ;; "mac/aephea/Makefile") CONFIG_FILES="$CONFIG_FILES mac/aephea/Makefile" ;; "mac/pud/Makefile") CONFIG_FILES="$CONFIG_FILES mac/pud/Makefile" ;; "mac/doc/Makefile") CONFIG_FILES="$CONFIG_FILES mac/doc/Makefile" ;; "mac/contrib/Makefile") CONFIG_FILES="$CONFIG_FILES mac/contrib/Makefile" ;; *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; 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 'as_fn_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") } || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ || as_fn_error "could not setup config files machinery" "$LINENO" 5 _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 || ac_write_fail=1 fi # test -n "$CONFIG_FILES" eval set X " :F $CONFIG_FILES " shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; :[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 || as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append 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 '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; 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 || $as_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"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_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 _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # 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= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 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 || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;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 $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ || as_fn_error "could not create $ac_file" "$LINENO" 5 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"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 $as_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 \ || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 # 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 || as_fn_exit $? fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi aephea-12-248/INSTALL0000644000402500021140000002203011063270741010775 00000000000000Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. 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, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. (Caching is disabled by default to prevent problems with accidental use of stale cache files.) 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 you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You only need `configure.ac' 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. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix *Note Defining Variables::, for more details. 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 support 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' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS 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 machine type. If you are _building_ compiler tools for cross-compiling, you should use the `--target=TYPE' option to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. 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. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc will cause the specified gcc to be used as the C compiler (unless it is overridden in the site shell script). `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of the options to `configure', and exit. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--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. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. aephea-12-248/configure.ac0000644000402500021140000000131012021415166012225 00000000000000# configure.ac - generated from configure.ac.in by setversion. do not edit # configure.ac, but edit the master. # $Id: configure.ac.in,v 1.15 2004/06/09 16:42:58 flux Exp $ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.50) AC_INIT(aephea, 12-248, stijn@micans.org) PACKAGE=$PACKAGE_NAME VERSION=$PACKAGE_VERSION AM_INIT_AUTOMAKE($PACKAGE, $VERSION) # add a `--enable-maintainer-mode' option to `configure'; `maintainer-only' rules turned off by # default in Makefile.in's AM_MAINTAINER_MODE AC_SUBST(PACKAGE) AC_SUBST(VERSION) # AC_CONFIG_FILES([]) AC_OUTPUT([ Makefile mac/Makefile mac/aephea/Makefile mac/pud/Makefile mac/doc/Makefile mac/contrib/Makefile ]) aephea-12-248/THANKS0000644000402500021140000000031211251672135010660 00000000000000 Thanks to: Joost van Baal. The aephea build environment was derived from zoem's build environment, created by Joost. James Clark for writing a free troff implementation -- now GNU's groff. aephea-12-248/TODO0000644000402500021140000000240311672417333010444 00000000000000 ! when {$hut}{} is used, all widths and lengths are affected, but user should not have to specify them all. - once more go over positioning. absolute requires 'relative or absolute' parent. - can itemize framework be simplified? - several classes - several layers of divs -> are classes and layers logically and consistenly combined? - check html positioning for compact item with right align. :( the fact that new item or \end{itemize} closes the previous item continues to irk. - itemize: * nested itemize, control over offsets et cetera. (reaper.azm) * mcl web page intrinsic,fast etc fast is mis-aligned. -> itemize left/right alignment classes look weird. $ \begin{itemize}{ {$flow}{cascade} {$interitem}{1} {$textindent}{4} {$itemmargin}{25} {$align}{right} {$class_item}{config_entry} } itemmargin does not seem to be working. / all classes should have asd_ prefix? - application: small and flexible frameworks, a bunch of HTML documents that share certain styling components, terminology. - magicality: levels of. two goals aephea: not 'tied to'. tutorial: e-mail to Duke. - zpresenter package aephea-12-248/ChangeLog0000644000402500021140000000657112021634006011523 00000000000000 Sep, Wed 5 2012 * aephea-12-248 released. * The changes for this release can be accessed by loading simpledocument2.zmm and using http://micans.org/aephea or alternatively the file mac/doc/webindex.azm as an example. * Document-level lay-out logic was *removed* from aephea and simpledocument2 and should be supplied externally. Example CSS code is shipped in contrib/reaper2.css. Element-level lay-out rules such as used for styling lists are still very much part of simpledocument2. * A div with id selector asd_document now spans the entire document, and a few more css hooks were introduced: #asd_leftcolumn #asd_document_outer #asd_document #asd_toc * paragraph macros were updated to be fully CSS-controlled, with classes p.asd_par p.asd_cpar span.asd_cpar_caption p.asd_car p.asd_ccar span.asd_ccar_caption now available. Fri, Jan 8 2010 * aephea-10-008 released. * Aephea is a HTML document framework. The name stands, grandiosely, for Adaptable Exo-skeleton for Practical HTML Extension and Abstraction. Aephea documents are written in a language called zoem, which is a macro/programming language with a strict, compact and elegant syntax. Aephea provides support for a single output device, HTML. It uses CSS to a great extent to make document styling easily customized and controlled. * PUD (Portable Unix Documentation) used to be shipped with zoem itself but is now part of Aephea. PUD provides limited support for two mini languages (manuals and FAQs) for two output devices, troff and HTML. The troff device provides full-fledged UNIX manual pages. * Backwards incompatible changes in PUD require modification of existing documents. - The import has changed. It is now \import{pud/man.zmm} rather than \import{man.zmm}, similarly \import{pud/faq.zmm}. - \par and \car with no arguments have been removed, and so are \cpar#1 and \ccar#1. - The itemize controls have changed. NEW | OLD | Behaviour ----------------+-----------------+----------------------------- {flow}{cascade} | {compact}{0} | Description below item {flow}{compact} | {compact}{1} | Description follows item ----------------+-----------------+----------------------------- {interitem}{1} | {contiguous}{0} | Skip between item sections ---------------------------------------------------------------- - The document is now itself encoded as an environment. The pre-amble and post-ambles have gone (\"man::preamble" and \"man::postamble"). The pre-amble now becomes e.g. \begin{pud::man}{ {name}{apparix} {html_title}{apparix, augmenting the shell with directory bookmarks} {keywords}{cd, change directory, bookmarks, command line, cdpath, subdirectory, tab completion} {author}{Stijn van Dongen} {section}{1} {synstyle}{long} {defstyle}{long} {year}{2009} {day}{18} {month}{Jan} {stamp}{09-018} {tag}{Groovy Gazelle} } with post-amble \end{pud::man} aephea-12-248/COPYING0000644000402500021140000004311011063270741011001 00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 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 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. aephea-12-248/VERSION0000644000402500021140000000000712021415166011011 0000000000000012-248 aephea-12-248/README0000644000402500021140000000255511253257171010641 00000000000000 Aephea is an HTML authoring framework. It enforces HTML well-formedness with a simpler and stricter syntax, provides useful extensions and abstractions as well as facilities for adding new ones, all in a single unified approach that stays close to HTML itself. PUD (Portable Unix Documentation) is shipped with Aephea. It provides mini-languages for authoring Unix manual pages and FAQ documents with output both in HTML and troff. Both Aephea and PUD are written in zoem, a high-level macro/programming language with character filtering capabilities. It is recommended to install Aephea with ./configure --prefix=$PREFIX. Files will be installed in $PREFIX/share/aephea, e.g. $PREFIX/share/aephea/aephea/simpledocument.zmm $PREFIX/share/aephea/aephea/simpledocument.css $PREFIX/share/aephea/pud/man.zmm $PREFIX/share/aephea/pud/faq.zmm Files with suffix zmm are loaded in Aephea documents like this: \import{aephea/simpledocument.zmm} \: for HTML document. \import{pud/man.zmm} \: for (Unix) manual page. \import{pud/faq.zmm} \: for FAQ. In order to have zoem find the Aephea definition and CSS files automatically, install it (from the unpacked zoem sources) with ./configure --with-includepath=$PREFIX/share/aephea --prefix=$OTHERPREFIX aephea-12-248/mac/0000777000402500021140000000000012021634012010561 500000000000000aephea-12-248/mac/aephea/0000777000402500021140000000000012021634011012003 500000000000000aephea-12-248/mac/aephea/simpledocument2.zmm0000644000402500021140000001775212021624730015601 00000000000000 \'set{asd_requires_zoem}{2010-008} \'if{\'cmp{gq}{\__version__}{\asd_requires_zoem}}{}{ \'write{stderr}{txt}{Requires zoem version >= \asd_requires_zoem\|}\'exit } \if{\defined{data}{load::aephea::simpledocument2}}{ \done }{ \def{%{load::aephea::simpledocument2}}{1} } \import{aephea/base2.zmm} \switch{\__device__}{ {html}{}{ \write{stderr}{txt}{No support for device "\__device__" (in \__fnin__)\|}\exit } } \: _section_#3 is the main piece of work in here, together with all \: toc-related macros (note the dependencies). When hacking this \: stuff, pay attention that names do not shadow, (e.g. when using \: \_i_ in different macros), and note that some names are global. \: Toc-related macros are all hidden from user, except \"aephea::maketoc". \: _section_#3 is not a user-level macro, thee should call one of \: sec1#2, sec1#3, sec2#2, sec2#3, sec3#2, sec3#3 etc. \: first argument is toc yes/no ('*' for no) \: second is level, \: third is anchor, \: fourth is caption. \formatted{ \def{_section_#3}{\_section_{}{\1}{\2}{\3}} \def{_section_#4}{ \setx{_toc_}{\1} \setx{_lev_}{\2} \setx{_ank_}{\3} \: KDE or Dutch style anchor ('anker'). \setx{_cap_}{\4} \ctrinc{aephea::\_lev_} \: increment counter associated with this level. \: \_num_ is possibly appended to below. \setx{_num_}{\ctrput{aephea::1}} \: \: reset section numbers if necessary. \: \switch{\eqt{cp}{\_lev_}{\_asd_curlevel_}}{ {-1} { \ctrset{_i_}{\f{+}{\_lev_}{1}} \while{\eqt{lq}{\ctrput{_i_}}{\_asd_curlevel_}}{ \ctrset{aephea::\ctrput{_i_}}{0} \ctrinc{_i_} } } {0} { } {1} { \ctrset{aephea::\_lev_}{1} \: ^^^^^^ that line redundant? \if{\eqt{ne}{\f{+}{\_asd_curlevel_}{1}}{\_lev_}}{ \write {stderr} {txt} {\`{<}Section gap: from \_asd_curlevel_ to \_lev_\|\`{>}} \exit }{} } } \: \: create the section number, e.g. 2.5.4 \: \ctrset{_i_}{2} \while{\eqt{lq}{\ctrput{_i_}}{\_lev_}}{ \setx{_num_}{\_num_.\ctrput{aephea::\ctrput{_i_}}} \ctrinc{_i_} } \: \: create anchor if not given. \: \if{\cmp{eq}{\_ank_}{}}{ \setx{_ank_}{section_\tr{{from}{.}{to}{_}}{\_num_}} }{ } \: \: write toc entry unless forbidden. \: MQ need to cascade forbidden to nested sections. \: \setx{_tocnum_}{ \if{\eqt{eq}{\_lev_}{1}}{ \_anch{toc\ctrput{aephea::1}}{\_num_} }{ \_num_ } } \if{\cmp{eq}{\_toc_}{*}}{}{ \write{\__fnbase__.zmt}{copy}{ \!tocentry {\_ank_} {\_lev_} {Section} {\_tocnum_} {\_cap_} \`{n} \: interpreted by \formatted. } } \write{\__fnbase__.zmr}{copy}{ \!refload{\_ank_}{ {level}{\_lev_} {type}{Section} {num}{\_num_} {cap}{\_cap_} } \`{n} \: interpreted by \formatted. } \@{\C\P}\{} \
{ \
{\iref{\_ank_}{\_cap_}} \
{\iref{toc\ctrput{aephea::1}}{\{\_num_}}} } \setx{_asd_curlevel_}{\_lev_} } } \set{{modes}{wv}}{}{ {sec1#2} {\sec1{}{\1}{\2}} {sec1#3} {\_section_{\1}{1}{\2}{\3}} {sec2#2} {\sec2{}{\1}{\2}} {sec2#3} {\_section_{\1}{2}{\2}{\3}} {sec3#2} {\sec3{}{\1}{\2}} {sec3#3} {\_section_{\1}{3}{\2}{\3}} {sec4#2} {\sec4{}{\1}{\2}} {sec4#3} {\_section_{\1}{4}{\2}{\3}} {sec5#2} {\sec5{}{\1}{\2}} {sec5#3} {\_section_{\1}{5}{\2}{\3}} {sec6#2} {\sec6{}{\1}{\2}} {sec6#3} {\_section_{\1}{6}{\2}{\3}} } \def{hrule}{\<*hr noshade size="1">} \def{prule}{\
{\<*hr noshade size="1">}} \env{center}{\
}{\
} \def{center#1}{\
{\1}} \env{simpledocument2}{ {css_file_in}{} {css_file_out}{\__fnout__} {css_append}{} {css_import}{} {keywords}{} {doctype}{\} {title}{} {subtitle}{} {year}{1000} {body}{body} {toc_anchor}{TOC} {toc_date}{Aug 3, 1444} {charset}{ISO-8859-1} {html_title}{html-title} {head_append}{} {author}{author} {lc_data}{} {rc_data}{} }{ \: ENV clause 3; open text. \ctrset{aephea::sec1}{0} \ctrset{aephea::sec2}{0} \load{\__fnbase__.zmr} \setx{_asd_toclist}{\zinsert{\__fnbase__.zmt}} \$doctype \ \ \ \<*meta name="keywords" content="\get{simpledocument2}{$keywords}"> \<*meta http-equiv="Content-Type" content="text/html; charset=\get{simpledocument2}{$charset}"> \. \: \write{\$css_file_out}{device}{ \@{\w} \if{\length{\$css_file_in}}{\:/ \:/ ______________________________ /* open css_file_in */ \zinsert{\$css_file_in}\:/ /* close css_file_in */ }{\:/ \:/ ______________________________ /* open base2 */ \zinsert{aephea/base2.css}\:/ /* close base2 */ \:/ ______________________________ /* open simpledocument2 */ \zinsert{aephea/simpledocument2.css}\:/ /* close simpledocument2 */ }\:/ \:/ ______________________________ /* open css_append */ \$css_append /* close css_append */\@{\W}} \ \if{\cmp{ne}{\$css_file_out}{\__fnout__}}{ \<*link type="text/css" rel=stylesheet href="\get{simpledocument2}{$css_file_out}"> }{} \apply{_#1{\!{\<*link type="text/css" rel=stylesheet href="\1">\@{\N}}}}{ \get{simpledocument2}{$css_import} } \{\$html_title} \get{simpledocument2}{$head_append} \</head> \<\$body> }{ \: ENV clause 4; close text. \</body> \</html> } \env{quote}{\<blockquote>}{\</blockquote>} \env{cite}{\<cite>}{\</cite>} \def{secref#1}{\iref{\1}{\ref{\1}{cap}}} \constant{ {'e} {é} \: {`e} {è} \: {(c)} {©} \: {+-} {±} \: } \set{_asd_curlevel_}{1} \def{"asd::maketoc"}{ \<div id=asd_toc>{ \<div class="toc_toplevel">{ \: hmm, useful at all this class ? \_anch{thetoc}{} \_asd_toclist } } } \def{"asd::add-toc-end"#1}{ \<a name="asd_body_end">{} \write{\__fnbase__.zmt}{copy}{\!tocentry{asd_body_end}{1}{Section}{\iref{asd_body_end}{\1}}{\~}} } \def{"asd::add-toc-start"#1}{ \write{\__fnbase__.zmt}{copy}{\!tocentry{asd_body_start}{1}{Section}{\iref{asd_body_start}{\1}}{\~}} \<a name="asd_body_start">{} } \: tocentry arguments: anchor level type number caption \: \: arg 1: anchor \: arg 2: level \: arg 3: type \: arg 4: number arg. \: arg 5: caption \: \def{tocentry#5}{ \<div class="toc_leader">{ \<div class="toc_num toc_num\2">{\4.} \<div class="toc_title toc_title\2">{\_anch{toc_\1}{}\iref{\1}{\5}} } } ����������������������aephea-12-248/mac/aephea/base.css�������������������������������������������������������������������0000444�0004025�0002114�00000003563�11303030423�013347� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ /* START aephea.base.css */ body { text-align: justify; margin-left: 0%; margin-right: 0%; } a:link { text-decoration: none; } a:active { text-decoration: none; } a:visited { text-decoration: none; } a:link { color: #1111aa; } a:active { color: #1111aa; } a:visited { color: #111166; } a.local:link { color: #11aa11; } a.local:active { color: #11aa11; } a.local:visited { color: #116611; } a.intern:link { color: #1111aa; } a.intern:active { color: #1111aa; } a.intern:visited { color: #111166; } a.extern:link { color: #aa1111; } a.extern:active { color: #aa1111; } a.extern:visited { color: #661111; } a.quiet:link { color: black; } a.quiet:active { color: black; } a.quiet:visited { color: black; } div.verbatim { font-family: monospace; margin-top: 1em; margin-bottom: 1em; font-size: 10pt; margin-left: 2em; white-space: pre; } div.indent { margin-left: 8%; margin-right: 0%; } .right { text-align: right; } .left { text-align: left; } .nowrap { white-space: nowrap; } .item_leader { position: relative; margin-left: 8%; } .item_compact { position: absolute; vertical-align: baseline; } .item_cascade { position: relative; } .item_leftalign { text-align: left; } .item_rightalign { width: 2em; text-align: right; } .item_compact .item_rightalign { position: absolute; width: 52em; right: -2em; text-align: right; } .item_text { position: relative; margin-left: 3em; } .smallcaps { font-size: smaller; text-transform: uppercase } /* END aephea.base.css */ ���������������������������������������������������������������������������������������������������������������������������������������������aephea-12-248/mac/aephea/simpledocument.css���������������������������������������������������������0000644�0004025�0002114�00000004251�11251177076�015504� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ /* START aephea.asd.css */ .asd_title { text-align: center; font-size: 40px; margin-top: 1em; } .asd_subtitle { text-align: center; font-size: 25px; margin-top: 1em; } .sec_leader { margin-top: 1em; margin-bottom: 0em; position: relative; right: 0px; left: 0px; top: 0px; } .sec_title { color: black; position: relative; margin-bottom: 0px; margin-top: 0px; margin-right: 5em; margin-left: 5em; text-align: center } .sec_num { color: black; position: absolute; right: 0px; text-align: right; width: 5em; top: 0px; } .sec_lev1 { font-size: 20px; } .sec_lev2 { font-size: 18px; } .sec_lev3 { font-size: 16px; } .sec_lev4 { font-size: 14px; } .sec_lev5 { font-size: 12px; } .sec_lev6 { font-size: 12px; } .toc_toplevel { margin-top: 1em; } .toc_and_date { margin-top: 0em; margin-bottom: 0em; position: relative; right: 0px; left: 0px; top: 0px; } .toc_and_date_TOC { margin-top: 0em; margin-bottom: 0em; position: relative; left: 0px; } .toc_and_date_DATE { margin-top: 0em; position: absolute; vertical-align: top; right: 0px; top: 0px; } .toc_leader { margin-top: 0em; margin-bottom: 0em; position: relative; right: 0px; left: 0px; } .toc_title { position: relative; } .toc_num { position: absolute; text-align: left; top: 0px; left: 0px; } .toc_title1 { margin-left: 3em; } .toc_title2 { margin-left: 6em; } .toc_title3 { margin-left: 9em; } .toc_title4 { margin-left: 12em; } .toc_num1 { left: 1em; } .toc_num2 { left: 3em; } .toc_num3 { left: 6em; } .toc_num4 { left: 9em; } div.box { border:solid; border-width:thin; width:100%; padding:1em} div.flushright { text-align: right } /* END aephea.asd.css */ �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������aephea-12-248/mac/aephea/base.zmm�������������������������������������������������������������������0000444�0004025�0002114�00000030604�11303531232�013362� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ \: These definitions exist for both \: HTML and Roff \: \: Some of the roff definitions do less than the HTML version,, e.g. httpref#1. \: Some of the roff definitions do nothing, e.g. sc#1. \'set{reqver}{2009-250} \'if{\'cmp{gq}{\__version__}{\reqver}}{}{ \'write{stderr}{txt}{This Aephea release requires zoem version at least \reqver\|}\'exit} \import{aephea/ref.zmm} \import{aephea/ctr.zmm} \: iref#2, lref#2, enref#2, aref#2. \: evn{spacing} \: evn{itemize} \item \items \intermezzo \itemskip \: bf#1 it#1 v#1 tt#1 sc#1 \: ftinc#2 ftdec#2 \: httpref#1 sibref#2 \: (deprecated) par car cpar#1 ccar#1 \: par#1 car#1 cpar#2 ccar#2 \: verbatim#1 verbatix#1 \${html}{\set{{modes}{vw}}{}{ {div#2}{\<div class="\1">{\2}} {span#2}{\<span class="\1">{\2}} {_spacer#2} {\<*spacer type=block width=\1 height=\2>} {_anch#2} {\<a name="\1">{\2}} {iref#2} {\<a class="intern" href="#\1">{\2}} {lref#2} {\<a class="local" href="\1">{\2}} {aref#2} {\<a target="_parent" class="extern" href="\1">{\2}} {enref#2} {\<a name="\1">{\2}} {iref_quiet#2} {\<a class="quiet" href="#\1">{\2}} {lref_quiet#2} {\<a class="quiet" href="\1">{\2}} } } \${roff}{\set{{modes}{vw}}{}{ {iref#2} {\it{\2}} {aref#2} {\it{\2}} {lref#2} {\it{\2}} {enref#2} {\2} } } \formatted{ \env{spacing}{ {top}{0} \: not yet functional. {bottom}{0} \: not yet functional. {left}{0} \: only for indent. {right}{0} \: only for shrinking. }{ \${html}{ \<div style=" \if{\$top}{margin-top:\$top\,em;}{} \if{\$bottom}{margin-bottom:\$bottom\,em;}{} \if{\$left}{margin-left:\$left\,em;}{} \if{\$right}{margin-right:\$right\,em;}{} "> } \${roff}{ \if{\$left}{\@{\N.in +\&{\$left}m\N}}{} \if{\$right}{\@{\N.ll -\&{\$right}m\N}}{} } }{ \${html}{\</div>} \${roff}{ \if{\$left}{\@{\N.in -}\$left\@{m\N}}{} \if{\$right}{\@{\N.ll +}\$right\@{m\N}}{} } } } \switch{\__device__}{ {html}{ \set{{modes}{vw}}{}{ {bf#1} {\<b>{\1}} {em#1} {\<em>{\1}} {strong#1} {\<strong>{\1}} {sc#1} {\span{smallcaps}{\1}} {it#1} {\<i>{\1}} {v#1} {\<tt>{\1}} {vq#1} {\<tt>{\1}} {m#1} {\<tt>{\1}} {tt#1} {\<tt>{\1}} {ftinc#2} {\<span style="font-size:120%">{\2}} {ftdec#2} {\<span style="font-size:80%">{\2}} {httpref#1} {\<a class="extern" href="\1">{\1}} {httpref#2} {\<a class="extern" href="\1">{\2}} {sibref#1} {\<a class="local sibling" href="\1.html">{\1}} {sibref#2} {\<a class="local sibling" href="\1.html">{\2}} {sibref#3} {\<a class="local sibling" href="\1.html#\2">{\3}} }} {roff}{ \set{{modes}{vw}}{}{ {bf#1} {\@{\\fB}\1\@{\\fP}} {it#1} {\@{\\fI}\1\@{\\fP}} {strong#1} {\@{\\fB}\1\@{\\fP}} {sc#1} {\1} {em#1} {\@{\\fI}\1\@{\\fP}} {v#1} {\@{\\fC}\1\@{\\fP}} {vq#1} {'\v{\1}'} {m#1} {\@{\\fC}\1\@{\\fP}} {tt#1} {\@{\\fC}\1\@{\\fP}} {ftinc#2} {\@{\\s+\1}\2\@{\\s-\1}} {ftdec#2} {\@{\\s-\1}\2\@{\\s+\1}} {httpref#1} {\1} {httpref#2} {\1} \: the url-encoded thing. {sibref#1} {\bf{\1}} {sibref#2} {\bf{\2}} {sibref#3} {\bf{\3}} }} } \switch{\__device__}{ {html}{ \special{} \: remove existing definitions. \special{ {60} {<} \: less than sign {62} {>} \: greater than sign {38} {&} \: ampersand {-1} { } \: the zoem escape \~ {-2} {<br>} \: the zoem escape \| {-3} {—} \: the zoem escape \- } \constant{ {itembullet}{<span class="itembullet">•</span>} } } {roff}{ \special{} \: remove existing definitions. \special{ {34} {"} \: double quote is special in second layer only {34} {""} \: double quote is special in second layer only {46} {\\&.} \: a dot. {96} {\\&`} \: backquote. {39} {\\&'} \: quote {92} {\\e} \: backslash (default troff escape character). \: escaping by backslash may fail in \: diversions [for old roffs]. {-1} {\\ \\&} \: the zoem escape \~ {-2} {\!N.br\!N} \: the zoem escape \| {-3} {\\-} \: the zoem escape \- } \constant{ {itembullet}{\\(bu} } } } \formatted{ \env{itemize}{ {interitem}{0} \: space between items in ems {flow}{cascade} \: item and description on successive lines. {textindent}{2} \: (html device: text-margin offset) {itemmargin}{1} \: (html device: right-aligned item) {mark}{\*{itembullet}} {margintop}{1} \: NOTE anonalous unit (ems). mq. {align}{left} \: the way item is aligned. {lp}{} \: left parenthesis {rp}{} \: right parenthesis {type}{mark} \: affects \item. mark/roman/abc/arabic {itemcount}{1} {fontsize}{100} \: css percent-style sizing. {class_item}{} {class_itemtext}{} {class_itemize}{} {class_all}{} }{ \${html}{\<div class="\$class_all itemize \get{itemize}{$class_itemize}" \:/ style="margin-top:\$margintop\,em; font-size:\$fontsize\,%"> } \${roff}{ \if{\$margintop}{\@{\P}}{} } }{ \_itemend \${html}{\</div>} } \: fixme: <div>+<br> to introduce space is ugly. \: tricky to add margin to next item though. \: \def{_itemskip}{ \if{\let{\$itemcount > 1 && \$interitem}}{ \${html}{\<div style="margin-top:0em">{\~}} \${roff}{\@{\P}} }{} } \def{itemskip}{\_itemskip} \def{intermezzo#1}{ \_itemend \_itemskip \${html}{\<div style="position:relative; margin-left:0em">\1} \${roff}{\1} } \def{item#1}{ \_itemend \_itemskip \${html}{\<div class="\$class_all item_\get{itemize}{$flow}">{ \<div class="\$class_all item_\get{itemize}{$align}align nowrap \get{itemize}{$class_item}" \get{itemize}{$style_align}>{\1} }} \${roff}{ \if{\cmp{eq}{\get{itemize}{$align}}{left}} {\@{\+{2}.ZI }\$w3\@{m "}\1\@{"\+{1}}} {\@{\+{2}.ZJ }\$w1\@{m }\$w2\@{m "}\1\@{"\+{1}}} } \_itemdef \_iteminc } \def{items#1}{ \if{\cmp{eq}{\get{itemize}{$flow}}{compact}}{ \write{stderr}{txt}{\`{<}itemize: compact not supported with items#1\|\`{>}} \'exit }{} \_itemend \_itemskip \set{_items}{\1} \${html}{ \apply{_#1{\<div class="\$class_all item_cascade \get{itemize}{$class_item} item_\get{itemize}{$align}align nowrap" \$style_align>{\!1}} }{\_items} } \${roff}{ \: compact/not compact is accounted for by \_itemdef. \apply{ _#1{ \if{\cmp{eq}{\get{itemize}{$align}}{left}} {\@{\N\+{2}.ZI }\$w3\@{m "}\!1\@{"\+{1}}} {\@{\N\+{2}.ZJ }\$w1\@{m }\$w2\@{m "}\!1\@{"\+{1}}} \@{\N\\&\N'in -}\$w3\@{m\N} } }{ \_items } \@{\N'in\s+}\$w3\@{m\N} } \_itemdef \_iteminc } \def{item}{ \_itemend \_itemskip \${html}{\<div class="\$class_all item_\$flow">{ \<div class="\$class_all item_\get{itemize}{$align}align \get{itemize}{$class_item}" \$style_align>{\_putitemmark}} } \${roff}{ \if{\cmp{eq}{\get{itemize}{$align}}{left}} {\@{\N.ZI }\$w3\@{m \"}\_putitemmark\@{\"}} {\@{\N.ZJ }\$w1\@{m }\$w2\@{m }"\_putitemmark"} } \_itemdef \_iteminc } \def{_itemdef}{ \${html}{\<div class="\$class_all item_text \get{itemize}{$class_itemtext}" \:/ style="margin-left:\get{itemize}{$textindent}\,em"> } \${roff}{ \if{\cmp{eq}{\get{itemize}{$flow}}{compact}} {\@{\N}} {\@{\N\\&\N.br\N}} } } \def{_itemend}{ \: |<---w1---->|w2|, w3 = w1 + w2 \set{{modes}{xv}}{}{ {$w3}{\$textindent} {$w2}{\let{\$textindent - \$itemmargin}} {$w1}{\$itemmargin} } \set{{modes}{x}{dict}{itemize}}{$style_align}{ \if{\cmp{eq}{\get{itemize}{$align}}{right}}{style="right:-\get{itemize}{$itemmargin}em"}{} } \if{\let{\$itemcount > 1}}{ \${html}{\</div>} \${roff}{\@{\N.in\s-}\$w3\@{m\N}} }{} } \def{_iteminc}{\setx{$itemcount}{\let{\$itemcount+1}}} \def{_putitemmark}{ \get{itemize}{$lp} \switch{\$type}{ {mark}{\$mark} {roman}{\textmap{{number}{roman}}{\$itemcount}} {ROMAN}{\textmap{{number}{roman}{word}{ucase}}{\$itemcount}} {abc}{\textmap{{number}{alpha}}{\$itemcount}} {ABC}{\textmap{{number}{alpha}{word}{ucase}}{\$itemcount}} {arabic}{\$itemcount} {?} } \get{itemize}{$rp} } } \'${roff}{ \'def{"generic::troff-defs"}{ \@{\N .po 2m .de ZI .\\" Zoem Indent/Itemize macro I. .br 'in +\\\\$1 .nr xa 0 .nr xa -\\\\$1 .nr xb \\\\$1 .nr xb -\\\\w'\\\\$2' \\h'|\\\\n(xau'\\\\$2\\h'\\\\n(xbu'\\\\ .. .de ZJ .br .\\" Zoem Indent/Itemize macro II. 'in +\\\\$1 'in +\\\\$2 .nr xa 0 .nr xa -\\\\$2 .nr xa -\\\\w'\\\\$3' .nr xb \\\\$2 \\h'|\\\\n(xau'\\\\$3\\h'\\\\n(xbu'\\\\ ..\N} } } \formatted{ \switch{\__device__}{ {html}{ \""{ \: plain ole style paragraph (deprecated) \def{par}{\<*p>} \: ole style carry on paragraph. more or less html specific; it seems to be \: needed after e.g. verbatim environment. deprecated. \def{car}{ \<*p style="margin-top:0em; margin-bottom:0em"> } \: ole style caption paragraph. deprecated. \def{cpar#1}{ \<*p> \bf{\1} \| } \: old style caption carry on paragraph. \def{ccar#1}{ \<*p style="margin-top:0em; margin-bottom:0em"> \bf{\1} \| } } \: paragraph. \def{par#1}{ \<p style="margin-bottom:0" class="asd_par">{\1} } \: carry on paragraph. more or less html specific; it seems to be needed \: after e.g. verbatim environment. only use if spacing matters to you, \: otherwise better suffer and wait for more generic (html client side) \: solutions. \def{car#1}{ \<p style="margin-top:0em; margin-bottom:0em">{\1} } \: caption paragraph. \def{cpar#2}{ \<p style="margin-bottom:0">{ \bf{\1}\| \2 } } \: caption carry on paragraph. \def{ccar#2}{ \<p style="margin-top:0em; margin-bottom:0em">{ \bf{\1}\| \2 } } \def{verbatim#1}{ \: \@{\N<div class=copy>\w}\1 \@{\N<div class="verbatim">\w}\1 \@{\W</div>\N} } \def{verbatix#1}{\verbatim{\1}} } {roff}{ \set{{modes}{vw}}{}{ {par} {\@{\P}} {car} {\@{\N}} {cpar#1} {\@{\P}\bf{\1}\@{\N}\|} {ccar#1} {\@{\N}\bf{\1}\@{\N}\|} {par#1} {\@{\P}\1} {car#1} {\@{\N}\1} {cpar#2} {\@{\P}\bf{\1}\|\2\@{\N}} {ccar#2} {\@{\N}\bf{\1}\|\2\@{\N}} } \: the non-non-breaking variant of verbatim \def{verbatix#1}{ \@{\P.nf \\fC\N\w} \1 \@{\W\N.fi \\fR\P} } \def{verbatim#1}{ \@{\P.di ZV\N.in 0\N.nf \\fC\N\w} \1 \@{\W\N.fi \\fR\N.in\N.di\N.ne \\n(dnu\N} \@{\N.nf \\fC\N.ZV\N.fi \\fR\P} } \: Jan van der Steen is to blame for this :) \: .di ZV new diversion named ZV. \: .in 0 set indent to 0. \: .nf \fC no fill (no adjustment), fixed width font? \: .fi \fR fill on, Roman font. \: .in previous indent. \: .di end of diversion (ZV). \: .ne \n(dnu need 'dn' vspace (vsize of most recent diversion). \: .nf \fC set no fill mode, fixed width font. \: .ZV do diversion. \: .fi \fR fill mode on, Roman font. } } } ����������������������������������������������������������������������������������������������������������������������������aephea-12-248/mac/aephea/simpledocument2.css��������������������������������������������������������0000644�0004025�0002114�00000003115�12021410702�015542� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* start aephea.asd.css */ body { margin:0px; padding:0px; border: 0px; } .sec_leader { margin-top: 1em; margin-bottom: 0em; position: relative; right: 0px; left: 0px; top: 0px; } .sec_title { color: black; position: relative; margin-bottom: 0px; margin-top: 0px; margin-right: 5em; margin-left: 5em; text-align: center } .sec_num { color: black; position: absolute; right: 0px; text-align: right; width: 5em; top: 0px; } .sec_lev1 { font-size: 20px; } .sec_lev2 { font-size: 18px; } .sec_lev3 { font-size: 16px; } .sec_lev4 { font-size: 14px; } .sec_lev5 { font-size: 12px; } .sec_lev6 { font-size: 12px; } .toc_toplevel { margin-top: 1em; } .toc_leader { margin-top: 0em; margin-bottom: 0em; position: relative; right: 0px; left: 0px; } .toc_title { position: relative; } .toc_num { position: absolute; text-align: left; top: 0px; left: 0px; } .toc_title1 { margin-left: 3em; } .toc_title2 { margin-left: 6em; } .toc_title3 { margin-left: 9em; } .toc_title4 { margin-left: 12em; } .toc_num1 { left: 1em; } .toc_num2 { left: 3em; } .toc_num3 { left: 6em; } .toc_num4 { left: 9em; } div.box { border:solid; border-width:thin; width:100%; padding:1em} div.flushright { text-align: right } /* end aephea.asd.css */ ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������aephea-12-248/mac/aephea/base2.zmm������������������������������������������������������������������0000644�0004025�0002114�00000032063�11741547324�013466� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ \: These definitions exist for both \: HTML and Roff \: \: Some of the roff definitions do less than the HTML version,, e.g. httpref#1. \: Some of the roff definitions do nothing, e.g. sc#1. \'set{reqver}{2009-250} \'if{\'cmp{gq}{\__version__}{\reqver}}{}{ \'write{stderr}{txt}{This Aephea release requires zoem version at least \reqver\|}\'exit} \import{aephea/ref.zmm} \import{aephea/ctr.zmm} \: iref#2, lref#2, enref#2, aref#2. \: evn{spacing} \: evn{itemize} \item \items \intermezzo \itemskip \: bf#1 it#1 v#1 tt#1 sc#1 \: ftinc#2 ftdec#2 \: httpref#1 sibref#2 \: (deprecated) par car cpar#1 ccar#1 \: par#1 car#1 cpar#2 ccar#2 \: verbatim#1 verbatix#1 \${html}{\set{{modes}{vw}}{}{ {div#2}{\<div class="\1">{\2}} {span#2}{\<span class="\1">{\2}} {_spacer#2} {\<*spacer type=block width=\1 height=\2>} {_anch#2} {\<a name="\1">{\2}} {iref#2} {\<a class="intern" href="#\1">{\2}} {lref#2} {\<a class="local" href="\1">{\2}} {aref#2} {\<a target="_parent" class="extern" href="\1">{\2}} {enref#2} {\<a name="\1">{\2}} {iref_quiet#2} {\<a class="quiet" href="#\1">{\2}} {lref_quiet#2} {\<a class="quiet" href="\1">{\2}} } } \${roff}{\set{{modes}{vw}}{}{ {iref#2} {\it{\2}} {aref#2} {\it{\2}} {lref#2} {\it{\2}} {enref#2} {\2} } } \formatted{ \env{spacing}{ {hut}{em} \: Html UniT. {top}{0} \: not yet functional. {bottom}{0} \: not yet functional. {left}{0} \: only for indent. {right}{0} \: only for shrinking. }{ \${html}{ \<div style=" \if{\$top}{margin-top:\$top\$hut;}{} \if{\$bottom}{margin-bottom:\$bottom\$hut;}{} \if{\$left}{margin-left:\$left\$hut;}{} \if{\$right}{margin-right:\$right\$hut;}{} "> } \${roff}{ \if{\$left}{\@{\N.in +\&{\$left}m\N}}{} \if{\$right}{\@{\N.ll -\&{\$right}m\N}}{} } }{ \${html}{\</div>} \${roff}{ \if{\$left}{\@{\N.in -}\$left\@{m\N}}{} \if{\$right}{\@{\N.ll +}\$right\@{m\N}}{} } } } \switch{\__device__}{ {html}{ \set{{modes}{vw}}{}{ {bf#1} {\<b>{\1}} {em#1} {\<em>{\1}} {strong#1} {\<strong>{\1}} {sc#1} {\span{smallcaps}{\1}} {it#1} {\<i>{\1}} {v#1} {\<tt>{\1}} {vq#1} {\<tt>{\1}} {m#1} {\<tt>{\1}} {tt#1} {\<tt>{\1}} {ftinc#2} {\<span style="font-size:120%">{\2}} {ftdec#2} {\<span style="font-size:80%">{\2}} {httpref#1} {\<a class="extern" target="_parent" href="\1">{\1}} {httpref#2} {\<a class="extern" href="\1">{\2}} {sibref#1} {\<a class="local sibling" href="\1.html">{\1}} {sibref#2} {\<a class="local sibling" href="\1.html">{\2}} {sibref#3} {\<a class="local sibling" href="\1.html#\2">{\3}} }} {roff}{ \set{{modes}{vw}}{}{ {bf#1} {\@{\\fB}\1\@{\\fP}} {it#1} {\@{\\fI}\1\@{\\fP}} {strong#1} {\@{\\fB}\1\@{\\fP}} {sc#1} {\1} {em#1} {\@{\\fI}\1\@{\\fP}} {v#1} {\@{\\fC}\1\@{\\fP}} {vq#1} {'\v{\1}'} {m#1} {\@{\\fC}\1\@{\\fP}} {tt#1} {\@{\\fC}\1\@{\\fP}} {ftinc#2} {\@{\\s+\1}\2\@{\\s-\1}} {ftdec#2} {\@{\\s-\1}\2\@{\\s+\1}} {httpref#1} {\1} {httpref#2} {\1} \: the url-encoded thing. {sibref#1} {\bf{\1}} {sibref#2} {\bf{\2}} {sibref#3} {\bf{\3}} }} } \switch{\__device__}{ {html}{ \special{} \: remove existing definitions. \special{ {60} {<} \: less than sign {62} {>} \: greater than sign {38} {&} \: ampersand {-1} { } \: the zoem escape \~ {-2} {<br>} \: the zoem escape \| {-3} {—} \: the zoem escape \- } \constant{ {itembullet}{<span class="itembullet">•</span>} } } {roff}{ \special{} \: remove existing definitions. \special{ {34} {"} \: double quote is special in second layer only {34} {""} \: double quote is special in second layer only {46} {\\&.} \: a dot. {96} {\\&`} \: backquote. {39} {\\&'} \: quote {92} {\\e} \: backslash (default troff escape character). \: escaping by backslash may fail in \: diversions [for old roffs]. {-1} {\\ \\&} \: the zoem escape \~ {-2} {\!N.br\!N} \: the zoem escape \| {-3} {\\-} \: the zoem escape \- } \constant{ {itembullet}{\\(bu} } } } \formatted{ \env{itemize}{ {hut}{em} \: hTML uNIt. {interitem}{0} \: space between items in huts. {flow}{cascade} \: item and description on successive lines. {textindent}{2} \: (html device: text-margin offset) {itemmargin}{1} \: (html device: right-aligned item) {indent}{0} \: indent of everything {mark}{\*{itembullet}} {margintop}{1} \: {align}{left} \: the way item is aligned. {lp}{} \: left parenthesis {rp}{} \: right parenthesis {type}{mark} \: affects \item. mark/roman/abc/arabic {itemcount}{1} {fontsize}{100} \: css percent-style sizing. {class_item}{} {class_items}{} {class_itemtext}{} {class_itemize}{} {class_all}{} }{ \: hierverder \: - fix compact itemize. \${html}{\<div class="\$class_all itemize \get{itemize}{$class_itemize}" \:/ style="margin-top:\$margintop\$hut; margin-left:\$indent\$hut; font-size:\$fontsize\,%"> \set{{dict}{itemize}}{$style_vspace}{margin-top:\if{\let{\$itemcount > 1}}{\$interitem}{0}\$hut} } \${roff}{ \if{\$margintop}{\@{\P}}{} } }{ \_itemend \${html}{\</div>} } \def{_itemskip}{ \if{\let{\$itemcount > 1 && \$interitem}}{ \${roff}{\@{\P}} }{} } \def{itemskip}{ \${html}{\<div style="margin-top:\$interitem\$hut">{\~}} \: fixme bad style. \${roff}{\@{\P}} } \def{intermezzo#1}{ \_itemend \_itemskip \${html}{\<div style="position:relative; margin-left:0\$hut">\1} \${roff}{\1} } \def{item#1}{ \_itemend \_itemskip \${html}{ \<div style="position:relative; \get{itemize}{$style_vspace}">{ \<div class="\$class_all item_\get{itemize}{$flow}">{ \<div class="\$class_all item_\get{itemize}{$align}align nowrap \get{itemize}{$class_item}" style="\get{itemize}{$style_align}">{\1} }}} \${roff}{ \if{\cmp{eq}{\get{itemize}{$align}}{left}} {\@{\+{2}.ZI }\$w3\@{m "}\1\@{"\+{1}}} {\@{\+{2}.ZJ }\$w1\@{m }\$w2\@{m "}\1\@{"\+{1}}} } \_itemdef \_iteminc } \def{items#1}{ \if{\cmp{eq}{\get{itemize}{$flow}}{compact}}{ \write{stderr}{txt}{\`{<}itemize: compact not supported with items#1\|\`{>}} \'exit }{} \_itemend \_itemskip \set{_items}{\1} \${html}{ \<div class="\get{itemize}{$class_items}" style="\get{itemize}{$style_vspace}">{ \apply{_#1{\<div class="\$class_all item_cascade \get{itemize}{$class_item} item_\get{itemize}{$align}align nowrap" style="\$style_align">{\!1}} }{\_items} } } \${roff}{ \: compact/not compact is accounted for by \_itemdef. \apply{ _#1{ \if{\cmp{eq}{\get{itemize}{$align}}{left}} {\@{\N\+{2}.ZI }\$w3\@{m "}\!1\@{"\+{1}}} {\@{\N\+{2}.ZJ }\$w1\@{m }\$w2\@{m "}\!1\@{"\+{1}}} \@{\N\\&\N'in -}\$w3\@{m\N} } }{ \_items } \@{\N'in\s+}\$w3\@{m\N} } \_itemdef \_iteminc } \def{item}{ \_itemend \_itemskip \${html}{ \<div style="position:relative; \get{itemize}{$style_vspace}">{ \<div class="\$class_all item_\$flow">{ \<div class="\$class_all item_\get{itemize}{$align}align \get{itemize}{$class_item}" style="\$style_align">{\_putitemmark } } } } \${roff}{ \if{\cmp{eq}{\get{itemize}{$align}}{left}} {\@{\N.ZI }\$w3\@{m \"}\_putitemmark\@{\"}} {\@{\N.ZJ }\$w1\@{m }\$w2\@{m }"\_putitemmark"} } \_itemdef \_iteminc } \def{_itemdef}{ \${html}{\<div class="\$class_all item_text \get{itemize}{$class_itemtext}" \:/ style="margin-left:\get{itemize}{$textindent}\$hut"> } \${roff}{ \if{\cmp{eq}{\get{itemize}{$flow}}{compact}} {\@{\N}} {\@{\N\\&\N.br\N}} } } \def{_itemend}{ \: |<---w1---->|w2|, w3 = w1 + w2 \set{{modes}{xv}}{}{ {$w3}{\$textindent} {$w2}{\let{\$textindent - \$itemmargin}} \: dangersign, html could be 10px - 5px (but only used in roff) {$w1}{\$itemmargin} } \: todo. Necessary to define this right here? \: this has some funky relative positioning, apparently. \: looks dodgy. \set{{modes}{x}{dict}{itemize}}{$style_align}{ \if{\cmp{eq}{\get{itemize}{$align}}{right}}{right:-\get{itemize}{$itemmargin}\$hut}{} } \if{\let{\$itemcount > 1}}{ \${html}{\</div>} \${roff}{\@{\N.in\s-}\$w3\@{m\N}} }{} } \def{_iteminc}{\setx{$itemcount}{\let{\$itemcount+1}}} \def{_putitemmark}{ \get{itemize}{$lp} \switch{\$type}{ {mark}{\$mark} {roman}{\textmap{{number}{roman}}{\$itemcount}} {ROMAN}{\textmap{{number}{roman}{word}{ucase}}{\$itemcount}} {abc}{\textmap{{number}{alpha}}{\$itemcount}} {ABC}{\textmap{{number}{alpha}{word}{ucase}}{\$itemcount}} {arabic}{\$itemcount} {?} } \get{itemize}{$rp} } } \'${roff}{ \'def{"generic::troff-defs"}{ \@{\N .po 2m .de ZI .\\" Zoem Indent/Itemize macro I. .br 'in +\\\\$1 .nr xa 0 .nr xa -\\\\$1 .nr xb \\\\$1 .nr xb -\\\\w'\\\\$2' \\h'|\\\\n(xau'\\\\$2\\h'\\\\n(xbu'\\\\ .. .de ZJ .br .\\" Zoem Indent/Itemize macro II. 'in +\\\\$1 'in +\\\\$2 .nr xa 0 .nr xa -\\\\$2 .nr xa -\\\\w'\\\\$3' .nr xb \\\\$2 \\h'|\\\\n(xau'\\\\$3\\h'\\\\n(xbu'\\\\ ..\N} } } \formatted{ \switch{\__device__}{ {html}{ \: paragraph. \def{par#1}{\<p class="asd_par">{\1}} \: carry on paragraph. more or less html specific; it seems to be needed \: after e.g. verbatim environment. only use if spacing matters to you, \: otherwise better suffer and wait for more generic (html client side) \: solutions. \def{car#1}{\<p class="asd_car">{\1}} \: caption paragraph. \def{cpar#2}{\<p class="asd_cpar">{\<span class="asd_cpar_caption">{\1}\2}} \: caption carry on paragraph. \def{ccar#2}{\<p class="asd_ccar">{\<span class="asd_ccar_caption">{\1}\2}} \def{verbatim#1}{ \: \@{\N<div class=copy>\w}\1 \@{\N<div class="verbatim">\w}\1 \@{\W</div>\N} } \def{recipe#1}{ \@{\N<div class="recipe">\w}\1 \@{\W</div>\N} } \def{verbatix#1}{\verbatim{\1}} } {roff}{ \set{{modes}{vw}}{}{ {par} {\@{\P}} {car} {\@{\N}} {cpar#1} {\@{\P}\bf{\1}\@{\N}\|} {ccar#1} {\@{\N}\bf{\1}\@{\N}\|} {par#1} {\@{\P}\1} {car#1} {\@{\N}\1} {cpar#2} {\@{\P}\bf{\1}\|\2\@{\N}} {ccar#2} {\@{\N}\bf{\1}\|\2\@{\N}} } \: the non-non-breaking variant of verbatim \def{verbatix#1}{ \@{\P.nf \\fC\N\w} \1 \@{\W\N.fi \\fR\P} } \def{verbatim#1}{ \@{\P.di ZV\N.in 0\N.nf \\fC\N\w} \1 \@{\W\N.fi \\fR\N.in\N.di\N.ne \\n(dnu\N} \@{\N.nf \\fC\N.ZV\N.fi \\fR\P} } \: Jan van der Steen is to blame for this :) \: .di ZV new diversion named ZV. \: .in 0 set indent to 0. \: .nf \fC no fill (no adjustment), fixed width font? \: .fi \fR fill on, Roman font. \: .in previous indent. \: .di end of diversion (ZV). \: .ne \n(dnu need 'dn' vspace (vsize of most recent diversion). \: .nf \fC set no fill mode, fixed width font. \: .ZV do diversion. \: .fi \fR fill mode on, Roman font. } } } \: \: % percentage \: in inch \: cm centimeter \: mm millimeter \: em font size (originally m-width, no more) \: ex the x-height of a font \: pt point (1 pt is the same as 1/72 inch) \: pc pica (1 pc is the same as 12 points) \: px pixels (a dot on the computer screen) \: �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������aephea-12-248/mac/aephea/Makefile.in����������������������������������������������������������������0000644�0004025�0002114�00000021547�12021415202�013774� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Makefile.in generated by automake 1.9 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004 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@ # $Id: Makefile.am,v 1.22 2006-02-15 14:23:46 flux Exp $ # x_DATA xdir srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ 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 = : subdir = mac/aephea 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 = $(install_sh) -d 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)$(aepheaincludedir)" aepheaincludeDATA_INSTALL = $(INSTALL_DATA) DATA = $(aepheainclude_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ aepheaincludedir = $(datadir)/$(PACKAGE)/aephea aepheainclude_DATA = ctr.zmm ref.zmm simpledocument.zmm base.zmm base.css simpledocument.css simpledocument2.zmm base2.zmm base2.css simpledocument2.css EXTRA_DIST = $(aepheainclude_DATA) 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) --gnu mac/aephea/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu mac/aephea/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 uninstall-info-am: install-aepheaincludeDATA: $(aepheainclude_DATA) @$(NORMAL_INSTALL) test -z "$(aepheaincludedir)" || $(mkdir_p) "$(DESTDIR)$(aepheaincludedir)" @list='$(aepheainclude_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(aepheaincludeDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(aepheaincludedir)/$$f'"; \ $(aepheaincludeDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(aepheaincludedir)/$$f"; \ done uninstall-aepheaincludeDATA: @$(NORMAL_UNINSTALL) @list='$(aepheainclude_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(aepheaincludedir)/$$f'"; \ rm -f "$(DESTDIR)$(aepheaincludedir)/$$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)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ 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)$(aepheaincludedir)"; 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-aepheaincludeDATA install-exec-am: install-info: install-info-am install-man: 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-aepheaincludeDATA uninstall-info-am .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-aepheaincludeDATA install-am install-data \ install-data-am install-exec install-exec-am install-info \ install-info-am install-man install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am uninstall uninstall-aepheaincludeDATA \ uninstall-am uninstall-info-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: ���������������������������������������������������������������������������������������������������������������������������������������������������������aephea-12-248/mac/aephea/base2.css������������������������������������������������������������������0000644�0004025�0002114�00000004562�12021410662�013440� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������/* start aephea.base.css */ body { text-align: justify; margin-left: 0%; margin-right: 0%; } a:link { text-decoration: none; } a:active { text-decoration: none; } a:visited { text-decoration: none; } a:link { color: #1111aa; } a:active { color: #1111aa; } a:visited { color: #111166; } a.local:link { color: #11aa11; } a.local:active { color: #11aa11; } a.local:visited { color: #116611; } a.intern:link { color: #1111aa; } a.intern:active { color: #1111aa; } a.intern:visited { color: #111166; } a.extern:link { color: #aa1111; } a.extern:active { color: #aa1111; } a.extern:visited { color: #661111; } a.quiet:link { color: black; } a.quiet:active { color: black; } a.quiet:visited { color: black; } p.asd_par { margin-bottom:0em } p.asd_cpar { margin-bottom:0em } span.asd_cpar_caption { font-weight: bold; display: block } p.asd_car { margin-top:0em; margin-bottom:0em } p.asd_ccar { margin-top:0em; margin-bottom:0em } span.asd_ccar_caption { font-weight: bold; display: block } div.verbatim { font-family: monospace; margin-top: 1em; margin-bottom: 1em; font-size: 10pt; margin-left: 2em; white-space: pre; } div.indent { margin-left: 8%; margin-right: 0%; } .right { text-align: right; } .left { text-align: left; } .nowrap { white-space: nowrap; } .item_leader { position: relative; margin-left: 8%; } .item_compact { position: absolute; vertical-align: baseline; } .item_cascade { position: relative; } .item_leftalign { text-align: left; } .item_rightalign { width: 2em; text-align: right; } .item_compact .item_rightalign { position: absolute; width: 52em; right: -2em; text-align: right; } .item_text { position: relative; margin-left: 3em; } .smallcaps { font-size: smaller; text-transform: uppercase } .underline { text-decoration: underline } acronym.ucase { font-size: smaller; text-transform: uppercase } abbr.ucase { font-size: smaller; text-transform: uppercase } /* end aephea.base.css */ ����������������������������������������������������������������������������������������������������������������������������������������������aephea-12-248/mac/aephea/ctr.zmm��������������������������������������������������������������������0000644�0004025�0002114�00000001356�11251177075�013261� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ \'if{\'defined{data}{pud::load::counters}}{ \'done }{ \'def{%{pud::load::counters}}{1} } \'def{ctrdec#1}{\ctradd{\1}{-1}} \'formatted{ \'def{ctrset#2}{ \'setx{%{pud::ctr::entry::\1}}{\2} } \'def{ctradd#2}{ \'if{\'defined{data}{pud::ctr::entry::\1}}{ \'setx{%{pud::ctr::entry::\1}}{\'f{+}{\%{pud::ctr::entry::\1}}{\2}} }{ \'setx{%{pud::ctr::entry::\1}}{\2} } } \'def{ctrinc#1}{ \'if{\'defined{data}{pud::ctr::entry::\1}}{ \'setx{%{pud::ctr::entry::\1}}{\'f{+}{\%{pud::ctr::entry::\1}}{1}} }{ \'setx{%{pud::ctr::entry::\1}}{1} } } \'def{ctrput#1}{ \'if{\'defined{data}{pud::ctr::entry::\1}}{\%{pud::ctr::entry::\1}}{0} } \'def{ctrdefined#1}{ \'defined{data}{pud::ctr::entry::\1} } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������aephea-12-248/mac/aephea/Makefile.am����������������������������������������������������������������0000644�0004025�0002114�00000000764�11672616705�014007� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������## Process this file with automake to produce Makefile.in # $Id: Makefile.am,v 1.22 2006-02-15 14:23:46 flux Exp $ # x_DATA xdir ## zoemincludedir = `echo @ac_cv_use_zoemincludepath@ | sed 's/:.*$$//'` ## aepheadir = $(datadir)/$(PACKAGE)/mac/aephea aepheaincludedir = $(datadir)/$(PACKAGE)/aephea aepheainclude_DATA = ctr.zmm ref.zmm simpledocument.zmm base.zmm base.css simpledocument.css simpledocument2.zmm base2.zmm base2.css simpledocument2.css EXTRA_DIST = $(aepheainclude_DATA) ������������aephea-12-248/mac/aephea/ref.zmm��������������������������������������������������������������������0000644�0004025�0002114�00000003611�11727665727�013257� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ \: refload#2 load key-value attributes for a label, check defined \: refloadx#2 load key-value attributes for a label without checking \: ref#2 put value corresponding to key for label \: refcaption#1 put caption for label \: refnumber#1 put number for label \: reflevel#1 put level for label \: reference#2 put citation type reference in place. \: refer#1 refer to citation type reference. \'if{\'defined{data}{pud::load::refload}}{ \'done }{ \'def{%{pud::load::refload}}{1} } \import{aephea/ctr.zmm} \'def{refcaption#1}{\ref{\1}{cap}} \'def{refnumber#1}{\ref{\1}{num}} \'def{reflevel#1}{\ref{\1}{level}} \'def{refload#2}{ \'if{\'defined{data}{{pud::ref::tab}{\1}}}{ \'write{stderr}{device}{___ label "\1" already defined\@{\N}} }{ \'setx{%{pud::ref::tab}{\1}}{1} \'setx{%{pud::ref::entry::\1}}{\2} } } \'def{refloadx#2}{ \'setx{%{pud::ref::tab}{\1}}{1} \'setx{%{pud::ref::entry::\1}}{\2} } \'formatted{ \'def{ref#2}{ \'if{\'defined{data}{{pud::ref::entry::\1}{\2}}}{\%{pud::ref::entry::\1}{\2}}{ \`{<}\'write{stderr}{txt}{___ [REF] label/key "\1"/"\2" not found\|}\`{>} \ctrinc{pud::ref::misses} } } } \'formatted{ \'register{END}{ \'if{\ctrput{pud::ref::misses}}{ \`{<}\'write{stderr}{txt}{>>> [REF] \ctrput{pud::ref::misses} missing references\|}\`{>} }{} } } \'formatted{ \'def{reference#1}{ \ctrinc{pud::reference} \'write{\__fnbase__.zmr}{copy}{ \!refload{\1}{ {level}{1} {type}{Ref} {num}{\ctrput{pud::reference}} {cap}{[\ctrput{pud::reference}]} \`{n} } } \'${html}{\_anch{\1}{[\ctrput{pud::reference}]}} \'${roff}{[\ctrput{pud::reference}]} } \'def{refer#1}{ \'switch{\__device__}{ {html}{\iref{\1}{[\ref{\1}{num}]}} {roff}{[\ref{\1}{num}]} {[\ref{\1}{num}]} } } } �����������������������������������������������������������������������������������������������������������������������aephea-12-248/mac/aephea/simpledocument.zmm���������������������������������������������������������0000444�0004025�0002114�00000016524�11672617277�015534� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������ \if{\defined{data}{load::aephea::simpledocument}}{ \done }{ \def{%{load::aephea::simpledocument}}{1} } \import{aephea/base2.zmm} \switch{\__device__}{ {html}{}{ \write{stderr}{txt}{No support for device "\__device__" (in \__fnin__)\|}\exit } } \: _section_#3 is the main piece of work in here, together with all \: toc-related macros (note the dependencies). When hacking this \: stuff, pay attention that names do not shadow, (e.g. when using \: \_i_ in different macros), and note that some names are global. \: Toc-related macros are all hidden from user, except \"aephea::maketoc". \: _section_#3 is not a user-level macro, thee should call one of \: sec1#2, sec1#3, sec2#2, sec2#3, sec3#2, sec3#3 etc. \: first argument is toc yes/no ('*' for no) \: second is level, \: third is anchor, \: fourth is caption. \formatted{ \def{_section_#3}{\_section_{}{\1}{\2}{\3}} \def{_section_#4}{ \setx{_toc_}{\1} \setx{_lev_}{\2} \setx{_ank_}{\3} \: KDE or Dutch style anchor ('anker'). \setx{_cap_}{\4} \ctrinc{aephea::\_lev_} \: increment counter associated with this level. \: \_num_ is possibly appended to below. \setx{_num_}{\ctrput{aephea::1}} \: \: reset section numbers if necessary. \: \switch{\eqt{cp}{\_lev_}{\_asd_curlevel_}}{ {-1} { \ctrset{_i_}{\f{+}{\_lev_}{1}} \while{\eqt{lq}{\ctrput{_i_}}{\_asd_curlevel_}}{ \ctrset{aephea::\ctrput{_i_}}{0} \ctrinc{_i_} } } {0} { } {1} { \ctrset{aephea::\_lev_}{1} \: ^^^^^^ that line redundant? \if{\eqt{ne}{\f{+}{\_asd_curlevel_}{1}}{\_lev_}}{ \write {stderr} {txt} {\`{<}Section gap: from \_asd_curlevel_ to \_lev_\|\`{>}} \exit }{} } } \: \: create the section number, e.g. 2.5.4 \: \ctrset{_i_}{2} \while{\eqt{lq}{\ctrput{_i_}}{\_lev_}}{ \setx{_num_}{\_num_.\ctrput{aephea::\ctrput{_i_}}} \ctrinc{_i_} } \: \: create anchor if not given. \: \if{\cmp{eq}{\_ank_}{}}{ \setx{_ank_}{section_\tr{{from}{.}{to}{_}}{\_num_}} }{ } \: \: write toc entry unless forbidden. \: MQ need to cascade forbidden to nested sections. \: \setx{_tocnum_}{ \if{\eqt{eq}{\_lev_}{1}}{ \_anch{toc\ctrput{aephea::1}}{\_num_} }{ \_num_ } } \if{\cmp{eq}{\_toc_}{*}}{}{ \write{\__fnbase__.zmt}{copy}{ \!tocentry {\_ank_} {\_lev_} {Section} {\_tocnum_} {\_cap_} \`{n} \: interpreted by \formatted. } } \write{\__fnbase__.zmr}{copy}{ \!refload{\_ank_}{ {level}{\_lev_} {type}{Section} {num}{\_num_} {cap}{\_cap_} } \`{n} \: interpreted by \formatted. } \@{\C\P}\<a name="\_ank_">{} \<div class="sec_leader sec_lev\_lev_">{ \<div class="sec_title">{\_cap_} \<div class="sec_num">{\iref{toc\ctrput{aephea::1}}{\<span class="sec_num">{\_num_}}} } \setx{_asd_curlevel_}{\_lev_} } } \set{{modes}{wv}}{}{ {sec1#2} {\sec1{}{\1}{\2}} {sec1#3} {\_section_{\1}{1}{\2}{\3}} {sec2#2} {\sec2{}{\1}{\2}} {sec2#3} {\_section_{\1}{2}{\2}{\3}} {sec3#2} {\sec3{}{\1}{\2}} {sec3#3} {\_section_{\1}{3}{\2}{\3}} {sec4#2} {\sec4{}{\1}{\2}} {sec4#3} {\_section_{\1}{4}{\2}{\3}} {sec5#2} {\sec5{}{\1}{\2}} {sec5#3} {\_section_{\1}{5}{\2}{\3}} {sec6#2} {\sec6{}{\1}{\2}} {sec6#3} {\_section_{\1}{6}{\2}{\3}} } \def{hrule}{\<*hr noshade size="1">} \def{prule}{\<div style="margin-top:1em">{\<*hr noshade size="1">}} \env{center}{\<div align=center>}{\</div>} \env{simpledocument}{ {toc_and_date}{1} {css_file_in}{} {css_file_out}{\__fnout__} {css_append}{} {css_import}{} {keywords}{} {doctype}{\<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">} {title}{} {subtitle}{} {year}{1000} {body}{body} {toc_anchor}{TOC} {toc_date}{Aug 3, 1444} {charset}{ISO-8859-1} {html_title}{html-title} {head_append}{} {author}{author} }{ \: ENV clause 3; open text. \ctrset{aephea::sec1}{0} \ctrset{aephea::sec2}{0} \load{\__fnbase__.zmr} \setx{_asd_toclist}{\zinsert{\__fnbase__.zmt}} \$doctype \<html> \<!-- Copyright (c) \$year \$author --> \<head> \<*meta name="keywords" content="\get{simpledocument}{$keywords}"> \<*meta http-equiv="Content-Type" content="text/html; charset=\get{simpledocument}{$charset}"> \<style type="text/css"> \: so we never have empty style. .slartibartfast { background-color: pink; text-decoration: blink; } \: \: cannot do this in \<style>{ .. }; \: zoem \write#3 mixes up output order. \: So we use \<style> and \</style>. \: \write{\$css_file_out}{device}{ \@{\w} \if{\length{\$css_file_in}}{ \zinsert{\$css_file_in} }{ \zinsert{aephea/base2.css} \zinsert{aephea/simpledocument2.css} } \$css_append \@{\W} } \</style> \if{\cmp{ne}{\$css_file_out}{\__fnout__}}{ \<*link type="text/css" rel=stylesheet href="\get{simpledocument}{$css_file_out}"> }{} \apply{_#1{\!{\<*link type="text/css" rel=stylesheet href="\1">\@{\N}}}}{ \get{simpledocument}{$css_import} } \<title>{\$html_title} \get{simpledocument}{$head_append} \</head> \<\$body> \if{\$toc_and_date}{ \<div class="toc_and_date">{ \<div class="toc_and_date_TOC">{\iref{toc}{\$toc_anchor}} \<div class="toc_and_date_DATE">{\$toc_date} } }{} \if{\length{\$title}}{\<div class="asd_title">{\$title}}{} \if{\length{\$subtitle}}{\<div class="asd_subtitle">{\$subtitle}}{} }{ \: ENV clause 4; close text. \</body> \</html> } \env{quote}{\<blockquote>}{\</blockquote>} \env{cite}{\<cite>}{\</cite>} \def{secref#1}{ \iref{\1}{\ref{\1}{cap}} } \constant{ {'e} {é} \: {`e} {è} \: {(c)} {©} \: {+-} {±} \: } \set{_asd_curlevel_}{1} \def{"aephea::maketoc"}{ \<div class="toc_toplevel">{ \_anch{thetoc}{} \_asd_toclist } } \: tocentry arguments: anchor level type number caption \: \: arg 1: anchor \: arg 2: level \: arg 3: type \: arg 4: number arg. \: arg 5: caption \: \def{tocentry#5}{ \<div class="toc_leader">{ \<div class="toc_num toc_num\2">{\4.} \<div class="toc_title toc_title\2">{\_anch{toc_\1}{}\iref{\1}{\5}} } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������aephea-12-248/mac/doc/������������������������������������������������������������������������������0000777�0004025�0002114�00000000000�12021634012�011326� 5����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������aephea-12-248/mac/doc/aephea-base.txt���������������������������������������������������������������0000644�0004025�0002114�00000024667�11322640160�014161� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������aephea-base(7) MISCELLANEOUS aephea-base(7) NAME aephea-base - a description of Aephea base definitions The macros in this package have been ported to both html and troff. DESCRIPTION aephea-base - A description of Aephea base definitions. The macros in this package have been ported to both html and troff. This package is used by the Aephea simpledocument class and by the Portable Unix Docu- mentation (pud) mini-languages for authoring manual pages (pud-man) and the pud language for faq authoring (pud-faq). There is a small list of known issues in the ISSUES section, mostly con- cerning the troff device. These should generally be of no concern at all, but if you run into trouble look there first. A quick glance through the list before you run into trouble may be the wisest thing to do. INTRODUCTION TO THE ITEMIZE ENVIRONMENT The itemize environemnt is the Aephea workhorse for lists, enumerations, itemizations, and other tailed creatures. A simple and valid use is for example \begin{itemize} \item{\bf{foo}} \car{ For I am foo. } \items{ {\bf{barra}} {\bf{zuttelezut}} } \car{ For we are bar and zut. } \end{itemize} This source result in the following output: foo For I am foo. barra zuttelezut For we are bar and zut. This is not impressive at all, but it gives an idea of how itemize works. The following example is a single itemize environment providing a rollercoasterride through most of the features of the itemize environ- ment. As shown below, it is possible to change all the itemize settings and styles at will even within a single itemize instance. Of course this is not useful at all except for demonstrating the itemize capabilities, but it goes to show that the itemize macros are quite robust (by virtue of modularity). NOTE The entire listing below was put in Aephea's spacing environment, described further below. The environment was used to create extra mar- gins on the two sides. 1 Spacing modes compact and cascade are determined by the key flow. The current mode is compact, meaning that the itemize token and the ensuing text are on the same line. Below, compact mode is switched off (approximately) halfway. The interitem key determines the amount skipped between an item description and the next item. 2 Several item modes (custom, mark, enumeration). 3 Several enumeration modes (roman, arabic, alphabetic). iv) The style of a list can be changed while in the middle of it. v) Nuther item. vi) The list can be 'interupted' and resumed (by means of the \intermezzo#1 macro). Perhaps you wonder what good is THAT for, and justly so. The \intermezzo#1 macro should only be used inbetween different items, i.e. it should not split content belonging to a single item. [7] Items can be optionally and automatically right and/or left delim- ited. The current item is delimited with square brackets. [8] Items can be left or right aligned. [9] Items can be stacked, which is supported only when flow is set to cascade. [10] Beginning with this item, flow is set to cascade. Implying That Stacking is now possible. [12] (back to right-align) The itemcounter just keeps running by the way. [18] (back to compact) But the counter can be manipulated at will. o A bullet item. o Now interitem is set to 0 (affecting the current list), and a new list is started contiguous to the present text (by having its margintop set to 0). a. Hubris b. Laziness c. Impatience Are the three virtues of programming. o This concludes a listing showing most of the itemize capabilities. USING THE ITEMIZE ENVIRONMENT You steer the itemize environment by providing it with tag-value pairs like so: \begin{itemize}{ {flow}{compact} {interitem}{1} {align}{right} {type}{abc} {rp}{.} } This is the list of tags that you may use. margintop Top of table, anomalous unit (ems), default 0. interitem Paragraph skip in ems inbetween items, default 0. flow Set to compact or cascade textindent Width of text indent in ems. itemmargin Width of item margin in ems (for right-aligned items). mark E.g. \*{itembullet} (if type=mark), affects \item. align One of left or right (item alignment), default left. class_all class name assigned to all block-level elements lp What's printed immediately to the left of an item. rp What's printed immediately to the right of an item. type One of mark, roman, abc, arabic, affects \item. itemcount The count of items seen so far, e.g. 13 right now. You need to know that the itemize environment internally maps these tags to dollar keys simply by prepending a dollar. Thus, if you want to reset one of the values associated with such a tag, you need to do e.g. \set{$align}{right} \set{$itemcount}{30} A more robust to do this is to ensure that the modified key is retrieved from the right dictionary, i.e. the top-level itemize dictionary, as follows. \set{{dict}{itemize}}{$align}{right} \set{{dict}{itemize}}{$itemcount}{30} THE SPACING ENVIRONMENT Its syntax is identical to that of the itemize environment. It accepts tags left, right, top, and bottom. These should receive numeric values. The associated unit is em. The troff device does not yet support the top and bottom tags. MACROS \enref#2 \iref#2 \lref#2 \aref#2 \httpref#1 \sibref#1 \sibref#2 \sibref#3 \enref#2 creates a link for which the first argument is the anchor and for which the second argument is the content (which can be left empty). \iref#2 takes such an anchor as the first argument and it takes content that carries the link as the second argument. \lref#2 takes a file name (possibly including a relative or absolute path) as the first argument and content as the second argument. \aref#2 takes a URL (later possibly a URI) as the first argument and content as the second argument. \sibref#2 takes a label as argument which presumably is the name of some application. It may append an extension depending on the current device, and it assumes that label + extension is the name of a file in the current directory. The second argument is dis- played in the text. For \sibref#1 the displayed text is the same as the label. For \sibref#3 the second argument is an additional anchor within the file being linked to, and the third argument is the dis- played text. \httpref#1 simply prints a URL which will be active when html is output. \par#1 \cpar#2 \car#1 \ccar#2 These are all paragraph macros that carry the paragraph content as the last argument. The first argument of \cpar#2 and \ccar#2 is the cap- tion. These macros will ensure well-formedness for devices that sup- port it, such as html. Use \car#1 where you don't need a paragraph skip, but just need to indicate that you are in text mode again. You can simply always use \par#1 and never use \car#1. If you care about the details of spacing though, or if you have particular trouble for example in creating an itemize environment where you do not want top and bottom margins, then it could be worthwile to turn to \car#1. Examples for using \car#1 are: o After an environment that always carries a bottom margin. o After an environment that does not carry a bottom margin, and where you specifically want the environment to be contiguous to the enclosing text. The listing you are currently reading is an example of this. As promised. The \car macro may feel a little unusual. If you don't mind standing the chance of a little spurious vertical white-space just use \par all the time. If you really need it, such as in an 'inline' listing as above, the \car macro is ready to do the job. \bf#1 \it#1 \tt#1 \v#1 \ftinc#2 \ftdec#2 The first four items set their argument in the font specified. \tt#1 and \v#1 both denote a typewriter font. These macros should not be nested if troff is to be among the output devices. Support for the last two items is not yet very robust. They temporarily increment respectively decrement the font by the amount of the first argument and apply the resulting setting to the second argument. \verbatim#1 \verbatix#1 Make the device output the contents verbatim in a mono-spaced font, obeying spaces and newlines. This does not prohibit expansion of macros, use \protect#1 for that. The macro \verbatim#1 will create a non-breaking environment. ISSUES Nesting Do not nest \bf#1, \it#1, \tt#1, or \v#1 macros if troff is among the output devices. It will yield unexpected results. The rest of this list pertains to the itemize environment. Margins Do not use fractional values for textindent and itemmargin in the item- ize environment, if troff is among the output devices. The reason is that the Aephea macros use the difference between these two values and pass them on to the output devices. Troff rounds all values it gets and thus the additive relationship between the values may be lost. aephea-base 1.002, 10-008 8 Jan 2010 aephea-base(7) �������������������������������������������������������������������������aephea-12-248/mac/doc/stamp.tag���������������������������������������������������������������������0000644�0004025�0002114�00000000006�12021415166�013066� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1.002 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������aephea-12-248/mac/doc/aephea-ref.txt����������������������������������������������������������������0000644�0004025�0002114�00000004277�11322640157�014024� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������aephea-ref(7) MISCELLANEOUS aephea-ref(7) NAME aephea-ref - A description of the Aephea definitions for referencing DESCRIPTION The following definitions are used by the Aephea simpledocument class as well as the Portable Unix Documentation (pud) manual and faq classes (see pud-man(7) and pud-faq(7)). MACROS \refload#2 \refloadx#2 Both macros take as first argument a label that uniquely defines the reference. The second argument is a vararg containing key-value pairs. These macros are usually not needed in Aephea classes; they are lower level facilities. \ref#2 The first argument is a label. The second argument should be a key associated with that label. The result is the value associated with the label/key pair. These macros are usually not needed in Aephea classes; they are lower level facilities used by high level Aephea definitions (e.g. \iref#2, and \secref#1). \refcaption#1 \refnumber#1 \reflevel#1 The argument is a label. The result is respectively the caption, num- ber, or level associated with that label. \reference#1 \refer#1 The first associates a number with the label that is in the first argument, and prints it inbeween square brackets. The label is anchored to this location. The second outputs the associated number inbetween brackets, and makes it carry a link to the anchor. For exam- ple, I am about to create a link [1] and another link [2] to the items appearing below. [1] The first reference. [2] The second reference. If you prefer another bibliography style, find the macros and adapt them according to your needs - they are very simple. \reference#2 currently writes data to the file \__fnbase__.zmr, to be read back in using a \load{\__fnbase__.zmr} statement. This is auto- matically done when using any of the Aephea classes. aephea-ref 1.002, 10-008 8 Jan 2010 aephea-ref(7) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������aephea-12-248/mac/doc/pud.7�������������������������������������������������������������������������0000644�0004025�0002114�00000021407�11334633066�012144� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������.\" Copyright (c) 2010 Stijn van Dongen .TH "pud" 7 "8 Jan 2010" "pud 1\&.002, 10-008" "MISCELLANEOUS " .po 2m .de ZI .\" Zoem Indent/Itemize macro I. .br 'in +\\$1 .nr xa 0 .nr xa -\\$1 .nr xb \\$1 .nr xb -\\w'\\$2' \h'|\\n(xau'\\$2\h'\\n(xbu'\\ .. .de ZJ .br .\" Zoem Indent/Itemize macro II. 'in +\\$1 'in +\\$2 .nr xa 0 .nr xa -\\$2 .nr xa -\\w'\\$3' .nr xb \\$2 \h'|\\n(xau'\\$3\h'\\n(xbu'\\ .. .if n .ll -2m .am SH .ie n .in 4m .el .in 8m .. .SH NAME pud \- Portable Unix Documentation for manual pages and faq documents .SH DESCRIPTION Portable Unix Documentation or pud currently provides two mini-languages for authoring in the UNIX environment\&. The two mini-languages are for writing UNIX manual pages and faq documents\&. Source documents in pud languages can be compiled to either cross-linked html or to troff\&. The troff output can be further compiled into PostScript, pdf, and plain text\&. .SH Table of Contents .ZJ 3m 1m "1\&." NAME .in -4m .ZJ 3m 1m "2\&." DESCRIPTION .in -4m .ZJ 3m 1m "3\&." Table of Contents .in -4m .ZJ 3m 1m "4\&." Portable Unix Documentation extends Aephea and zoem .in -4m .ZJ 3m 1m "5\&." Getting started .in -4m .ZJ 3m 1m "6\&." UNIX manual pages in html, troff and PostScript .in -4m .ZJ 3m 1m "7\&." faq documents in html, troff and PostScript .in -4m .ZJ 3m 1m "8\&." Manuals and faq examples elsewhere .in -4m .ZJ 3m 1m "9\&." DocBook considered harmful .in -4m .ZJ 3m 1m "10\&." Info evil .in -4m .ZJ 3m 1m "11\&." AUTHOR .in -4m .ZJ 3m 1m "12\&." SEE ALSO .in -4m .SH Portable Unix Documentation extends Aephea and zoem Portable Unix Documentation (pud) is part of the \fIAephea documentation framework\fP\&. Aephea is built on top of \fBzoem\fP (http://micans\&.org/zoem), an all-purpose macro/programming language\&. Both Aephea and pud documents are processed by compiling them with the zoem processor\&. The documents themselves are generally well-structured, relatively free of formatting statements and compact to write\&. They can be easily extended since the full zoem language is available from within a pud document\&. Portable Unix Documentation is currently shipped with \fIAephea\fP\&. You will also need to install \fIzoem\fP\&. .SH Getting started .ZJ 4m 1m "i" Get and install both \fBAephea\fP (http://micans\&.org/aephea) and \fBzoem\fP (http://micans\&.org/zoem)\&. Follow the instructions in the Aephea README file, which boil down to this recipe: .di ZV .in 0 .nf \fC Aephea: \&./configure --prefix=$AEPHEAPREFIX make make install Zoem: \&./configure --with-includepath=$AEPHEAPREFIX/share/aephea --prefix=$OTHERPREFIX make make install .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR All pud files will be installed as you install Aephea\&. If you are reading this locally on your system, chances are zoem and Aephea are installed\&. .in -5m .ZJ 4m 1m "ii" On this page read the pointers in section \fISection\ \&6\fP if you want to write a manual page\&. Read the pointers in section \fISection\ \&7\fP if you want to write an faq\&. The fastest way to get up to speed is to copy and modify a template or existing source document\&. .in -5m .ZJ 4m 1m "iii" While writing your document, consult the \fBpud-man(7)\fP documentation, the \fBpud-faq(7)\fP documentation, and the \fBaephea-base(7)\fP documentation as necessary\&. .in -5m .ZJ 4m 1m "iv" Off you go\&. If you need macro facilities or programming facilities, zoem is there to assist you\&. Simple macro tasks are easy to accomplish\&. For more involved stuff you might want to consult the Zoem User Manual (or zum)\&. zum should be installed locally\&. Alternatively view the latest zum \fBat micans\fP (http://micans\&.org/zoem/doc/zum\&.html) or subscribe to the mailing list (http://micans\&.org/zoem/index\&.html#list)\&. .in -5m .SH UNIX manual pages in html, troff and PostScript With the \fBpud-man(7)\fP package you create manual pages for output in either \fItroff\fP (groff, nroff) or html\&. The first can be viewed from a terminal, the second in a browser\&. The fictitious \fIbuzzz\fP utility is described in a pud manual page\&. It is shipped with every zoem distribution and the manual page should be installed locally in the same location as its source\&. If the location is hard to find you can just obtain the pud source from the zoem source distribution, or alternatively you may view the latest \fBbuzzz source\fP (http://micans\&.org/aephea/src/aephea-latest/mac/doc/buzzz\&.azm) upstream at micans\&. Further links are to the \fBPostScript version\fP (http://micans\&.org/aephea/src/aephea-latest/mac/doc/buzzz\&.ps) and the \fBplain text format\fP (http://micans\&.org/aephea/src/aephea-latest/mac/doc/buzzz\&.txt)\&. For other examples consider the oldest pud manual page ever written: the \fBmcl manual page\fP (http://micans\&.org/mcl/man/mcl\&.html), the same in \fBPostScript output\fP (http://micans\&.org/mcl/man/mcl\&.ps), and the \fBsource for all this\fP (http://micans\&.org/mcl/man/mcl\&.azm)\&. By using the venerable \fIcol\fP program, the troff output can be converted to nice looking \fBplain text format\fP (http://micans\&.org/mcl/man/mcl\&.txt)\&. Find the \fBtroff output\fP (http://micans\&.org/mcl/man/mcl\&.1) disclosed as well\&. There are some 20+ manual pages for \fBdifferent utilities in the mcl family\fP (http://micans\&.org/mcl/man/)\&. .SH faq documents in html, troff and PostScript Create faq documents with \fBpud-faq(7)\fP for output in either \fItroff\fP (groff, nroff) or html\&. The former can be viewed in a terminal via the UNIX man page system, the latter can be viewed in a browser\&. The \fIpud faq mini-language\fP is described as a rather trivial faq itself\&. It can be viewed in \fIPostScript\fP (compiled from troff compiled from \fIthe zoem source\fP and in \fIplain text\fP (again compiled from troff)\&. For examples behold the \fBbrowsing delight\fP (http://micans\&.org/mcl/man/mclfaq\&.html) that is the mcl faq, and the \fBPostScript pleasure\fP (http://micans\&.org/mcl/man/mclfaq\&.ps)\&. Find the \fBnoblest format\fP (http://micans\&.org/mcl/man/mclfaq\&.txt), the \fBimpregnable troff\fP (http://micans\&.org/mcl/man/mclfaq\&.7), and the \fBsource\fP (http://micans\&.org/mcl/man/mclfaq\&.azm) for all that jazz\&. .SH Manuals and faq examples elsewhere \fBOther people\fP exist writing pud\&. Not many yet\&. Joost van Baal has used the pud-faq package and the pud-man package to create documentation for \fBGnuPG (in Dutch)\fP (http://mdcc\&.cx/gnupg/), \fBcaspar\fP (http://mdcc\&.cx/pub/caspar/caspar-latest/doc/), and the \fBstrong (fire)walls of uruk\fP (http://mdcc\&.cx/pub/uruk/uruk-latest/man/)\&. .SH DocBook considered harmful People justly wonder why pud turns away from the blazing light of goodness that is DocBook\&. DocBook does provide manual page elements and it does support gazillions of output devices\&. Nevertheless DocBook man pages are a cruelty, a curse and the bane of all things good and pure\&. DocBook cannot be written, it cannot be maintained, it cannot be programmed\&. Yes, XML and DocBook are not \fIsupposed\fP to be programmed, but where is the decree that man should toil and suffer so that his documentation would be transmogrifyable into all eternity? DocBook provides some sort of manual page ontology, describing supposedly every element you might ever need\&. Inevitably you will want to do things that are not provided and then you are stuck\&. DocBook lists and enumerations are painful and limited\&. The verbosity of DocBook makes a mountain out of what should be a mole hill\&. pud manual pages are concise and can be easily cross-referenced\&. The source is a pleasure to read and output from self-documenting commands can be imported\&. Zoem IO, macro and programming facilities make the source extendable so that new requirements can be coped with\&. Wise people argue that one cannot fathom the needs of future generations and urge the good people of UNIX to use DocBook\&. The fool knows that this particular premise disproves the thesis and that joy begets joy\&. Factor the present into the authoring sustainability equation and the scales tip\&. At this juncture, I am hesitantly willing to bet that the pud languages can easily be ported to DocBook\&. None of the pain, all of the gain\&. The pud \fIitemize\fP environment is a sticking point though\&. It provides, horrors, a few formatting options\&. Optional paragraphs skips, compact mode, right-alignment of items, automatic enumeration, and the fantabulous intermezzo feature\&. .SH Info evil The good people of info consider manual pages obsolete\&. What more is there to say? It is all written \fBhere\fP (http://micans\&.org/stijn/views/infoinferno\&.html)\&. .SH AUTHOR pud was written by Stijn van Dongen\&. .SH SEE ALSO .ZI 2m "\fBpud-man(7)\fP" \ \& .in -2m .ZI 2m "\fBpud-faq(7)\fP" \ \& .in -2m .ZI 2m "\fBaephea-base(7)\fP" \ \& .in -2m .ZI 2m "\fBaephea-ref(7)\fP" \ \& .in -2m ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������aephea-12-248/mac/doc/stamp.stamp�������������������������������������������������������������������0000644�0004025�0002114�00000000007�12021415166�013440� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������12-248 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������aephea-12-248/mac/doc/aephea-base.azm���������������������������������������������������������������0000644�0004025�0002114�00000031741�11322640151�014120� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������\import{../pud/man.zmm} \import{aephea.shared} \begin{pud::man}{ {name}{aephea-base} {html_title}{Aephea base definitions} {author}{Stijn van Dongen} {section}{7} {defstyle}{long} {synstyle}{long} {css_append}{ .debug { border: solid; border-width: 1px; } } \man_share } \${html}{\"pud::man::maketoc"} \: iref#2, lref#2, enref#2, aref#2. \: evn{spacing} \: bf#1 it#1 v#1 tt#1 \: ftinc#2 ftdec#2 \: httpref#1 sibref#2 \: par car cpar#1 ccar#1 \: par#1 car#1 cpar#2 ccar#2 \sec{name}{NAME} \NAME{aephea-base}{a description of Aephea base definitions} \par{ The macros in this package have been ported to both \html and troff.} \sec{description}{DESCRIPTION} \par{ \it{aephea-base} \- A description of Aephea base definitions. The macros in this package have been ported to both \html and troff. This package is used by the Aephea \v{simpledocument} class and by the Portable Unix Documentation (\pud) mini-languages for authoring manual pages (\sibref{pud-man}) and the \pud language for \faq authoring (\sibref{pud-faq}).} \par{ There is a small list of known issues in the \secref{issues} section, mostly concerning the troff device. These should generally be of no concern at all, but if you run into trouble look there first. A quick glance through the list \it{before} you run into trouble may be the wisest thing to do.} \sec{itemintro}{INTRODUCTION TO THE ITEMIZE ENVIRONMENT} \par{ The \it{itemize} environemnt is the Aephea workhorse for lists, enumerations, itemizations, and other tailed creatures. A simple and valid use is for example } \set{tmp}{\!{ \begin{itemize} \item{\bf{foo}} \car{ For I am foo. } \items{ {\bf{barra}} {\bf{zuttelezut}} } \car{ For we are bar and zut. } \end{itemize}}} \verbatim{\apply{protect#1}{{\tmp}}} \car{ This source result in the following output: } \apply{_#1{\1}}{{\tmp}} \par{ This is not impressive at all, but it gives an idea of how itemize works. The following example is a single itemize environment providing a rollercoasterride through most of the features of the itemize environment. As shown below, it is possible to change all the itemize settings and styles at will even within a single itemize instance. Of course this is not useful at all except for demonstrating the \it{itemize} capabilities, but it goes to show that the itemize macros are quite robust (by virtue of modularity). } \cpar{NOTE}{ The entire listing below was put in Aephea's \it{spacing} environment, described further below. The environment was used to create extra margins on the two sides. } \begin{spacing}{{left}{2}{right}{2}} \begin{itemize}{ {flow}{compact} {interitem}{1} {type}{arabic} {align}{right} {textindent}{4} {itemmargin}{2} {mark}{\*{itembullet}} {class_all}{} } \item \car{ Spacing modes \it{compact} and \it{cascade} are determined by the key \it{flow}. The current mode is \it{compact}, meaning that the itemize token and the ensuing text are on the same line. Below, compact mode is switched off (approximately) halfway. The \it{interitem} key determines the amount skipped between an item description and the next item. } \item \car{ Several item modes (custom, mark, enumeration). } \item \car{ Several enumeration modes (roman, arabic, alphabetic). } \set{$type}{roman} \set{$rp}{)} \item \car{ The style of a list can be changed while in the middle of it. } \item \car{ Nuther item. } \item \car{ The list can be 'interupted' and resumed (by means of the \mc{intermezzo#1} macro). } \intermezzo{ Perhaps you wonder what good is THAT for, and justly so. The \mc{intermezzo#1} macro should only be used inbetween different items, i.e. it should \it{not} split content belonging to a single item. } \set{$type}{arabic} \set{$rp}{]} \set{$lp}{[} \item \car{ Items can be optionally and automatically right and/or left delimited. The current item is delimited with square brackets. } \set{$align}{left} \item \car{ Items can be left or right aligned. } \item \car{ Items can be stacked, which is supported only when \it{flow} is set to \it{cascade}. } \set{{dict}{itemize}}{$flow}{cascade} \item \car{ Beginning with this item, \it{flow} is set to \it{cascade}. } \items{ {Implying} {That} {Stacking} } \car{ is now possible. } \set{$align}{right} \item \car{ (back to right-align) The itemcounter just keeps running by the way. } \set{{dict}{itemize}}{$flow}{compact} \setx{$itemcount}{\f{+}{\$itemcount}{5}} \item \car{ (back to compact) But the counter can be manipulated at will. } \set{$type}{mark} \set{$rp}{} \set{$lp}{} \item \car{ A bullet item. } \set{$interitem}{0} \item \car{ Now \it{interitem} is set to 0 (affecting the current list), and a new list is started contiguous to the present text (by having its margintop set to 0). } \begin{itemize}{ {margintop}{0} {flow}{compact} {interitem}{0} {textindent}{4} {itemmargin}{2} {align}{right} {type}{abc} {class_all}{} {rp}{.} } \item \car{Hubris} \item \car{Laziness} \item \car{Impatience} \end{itemize} \car{Are the three virtues of programming.} \item \car{ This concludes a listing showing most of the itemize capabilities. } \end{itemize} \end{spacing} \sec{itemuse}{USING THE ITEMIZE ENVIRONMENT} \par{ You steer the itemize environment by providing it with tag-value pairs like so: } \verbatim{\ \\begin{itemize}{ {flow}{compact} {interitem}{1} {align}{right} {type}{abc} {rp}{.} }} \car{ This is the list of tags that you may use. } \begin{itemize}{ {flow}{cascade} {interitem}{1} } \apply{_#2{\!item{\!it{\1}}\@{\N}\car{\2}}}{ {margintop} {Top of table, anomalous unit (ems), default 0.} {interitem} {Paragraph skip in \it{ems} inbetween items, default 0.} {flow} {Set to compact or cascade} {textindent} {Width of text indent in ems.} {itemmargin} {Width of item margin in ems (for right-aligned items).} {mark} {E.g. \v{\\*{itembullet}} (if type=mark), affects \mc{item}.} {align} {One of left or right (item alignment), default left.} {class_all} {class name assigned to all block-level elements} {lp} {What's printed immediately to the left of an item.} {rp} {What's printed immediately to the right of an item.} {type} {One of mark, roman, abc, arabic, affects \mc{item}.} \: hum ho, being clever we need \!$itemcount \: rather than \$itemcount. \: that's the downside of macro cleverness. {itemcount} {The count of items seen so far, e.g. \!$itemcount right now.} } \end{itemize} \par{ You need to know that the itemize environment internally maps these tags to dollar keys simply by prepending a dollar. Thus, if you want to reset one of the values associated with such a tag, you need to do e.g. } \verbatim{\:/ \\set{$align}{right} \\set{$itemcount}{30}} \car{ A more robust to do this is to ensure that the modified key is retrieved from the right dictionary, i.e. the top-level \it{itemize} dictionary, as follows. } \verbatim{\:/ \\set{{dict}{itemize}}{$align}{right} \\set{{dict}{itemize}}{$itemcount}{30}} \sec{spacing}{THE SPACING ENVIRONMENT} \par{ Its syntax is identical to that of the \it{itemize} environment. It accepts tags \it{left}, \it{right}, \it{top}, and \it{bottom}. These should receive numeric values. The associated unit is \it{em}. } \par{ The troff device does not yet support the \it{top} and \it{bottom} tags. } \sec{macros}{MACROS} \begin{itemize}{ {flow}{cascade} {interitem}{1} } \items{ {\defmac{enref2}{enref#2}} {\defmac{iref2}{iref#2}} {\defmac{lref2}{lref#2}} {\defmac{aref2}{aref#2}} {\defmac{httpref1}{httpref#1}} {\defmac{sibref1}{sibref#1}} {\defmac{sibref2}{sibref#2}} {\defmac{sibref3}{sibref#3}} } \car{ \mc{enref#2} \it{creates} a link for which the first argument is the anchor and for which the second argument is the content (which can be left empty). \mc{iref#2} takes such an anchor as the first argument and it takes content that carries the link as the second argument. \mc{lref#2} takes a file name (possibly including a relative or absolute path) as the first argument and content as the second argument. \mc{aref#2} takes a URL (later possibly a URI) as the first argument and content as the second argument. \mc{sibref#2} takes a label as argument which presumably is the name of some application. It may append an extension depending on the current device, and it assumes that \v{label + extension} is the name of a file in the current directory. The second argument is displayed in the text. For \mc{sibref#1} the displayed text is the same as the label. For \mc{sibref#3} the second argument is an additional anchor within the file being linked to, and the third argument is the displayed text. \mc{httpref#1} simply prints a URL which will be active when html is output.} \items{ {\defmac{par1}{par#1}} {\defmac{cpar2}{cpar#2}} {\defmac{car1}{car#1}} {\defmac{ccar2}{ccar#2}} } \car{ These are all paragraph macros that carry the paragraph content as the last argument. The first argument of \mc{cpar#2} and \mc{ccar#2} is the caption. These macros will ensure well-formedness for devices that support it, such as \html. Use \v{\\car#1} where you don't need a paragraph skip, but just need to indicate that you are in text mode again. You can simply always use \v{\\par#1} and never use \v{\\car#1}. If you care about the details of spacing though, or if you have particular trouble for example in creating an itemize environment where you do not want top and bottom margins, then it could be worthwile to turn to \v{\\car#1}. Examples for using \v{\\car#1} are: } \begin{itemize}{ {margintop}{0} {mark}{\*{itembullet}} {flow}{compact} {align}{right} {textindent}{2} {itemmargin}{1} {interitem}{0} {class_all}{} } \item \car{After an environment that always carries a bottom margin.} \""{ I do not follow this advice myself, actually. \item \car{ After a caption that always carries a bottom margin, such as most sectioning commands (e.g. \v{\\sec} in the manual macros). } } \item \car{ After an environment that does \it{not} carry a bottom margin, and where you specifically want the environment to be contiguous to the enclosing text. The listing you are currently reading is an example of this. } \end{itemize} \car{ As promised. The \v{\\car} macro may feel a little unusual. If you don't mind standing the chance of a little spurious vertical white-space just use \v{\\par} all the time. If you really need it, such as in an 'inline' listing as above, the \v{\\car} macro is ready to do the job. } \items{ {\defmac{bf1}{bf#1}} {\defmac{it1}{it#1}} {\defmac{tt1}{tt#1}} {\defmac{v1}{v#1}} {\defmac{ftinc2}{ftinc#2}} {\defmac{ftdec2}{ftdec#2}} } \car{ The first four items set their argument in the \bf{font} \it{specified}. \mc{tt#1} and \mc{v#1} both denote a typewriter font. \it{These macros should not be nested if troff is to be among the output devices}. Support for the last two items is not yet very robust. They temporarily \ftinc{1}{increment} respectively \ftdec{1}{decrement} the font by the amount of the first argument and apply the resulting setting to the second argument. } \items{ {\defmac{verbatim1}{verbatim#1}} {\defmac{verbatix1}{verbatix#1}} } \car{ Make the device output the contents verbatim in a mono-spaced font, obeying spaces and newlines. This does not prohibit expansion of macros, use \mc{protect#1} for that. The macro \mc{verbatim#1} will create a non-breaking environment. } \end{itemize} \sec{issues}{ISSUES} \begin{itemize}{ {margintop}{0} {flow}{cascade} {interitem}{1} } \item{\bf{Nesting}} \car{ Do not nest \mc{bf#1}, \mc{it#1}, \mc{tt#1}, or \mc{v#1} macros if troff is among the output devices. It will yield unexpected results. } \intermezzo{The rest of this list pertains to the \it{itemize} environment.} \""{ \item{\bf{Boldness}} \car{ There is currently not a way to get bold (Roman) numerals using the automatic enumeration mode within \it{itemize}, or to change the appearance of any of the other enumeration types. } should be possible now using CSS on the item class. } \item{\bf{Margins}} \car{ Do not use fractional values for \v{textindent} and \v{itemmargin} in the itemize environment, if troff is among the output devices. The reason is that the Aephea macros use the difference between these two values and pass them on to the output devices. Troff rounds all values it gets and thus the additive relationship between the values may be lost. } \end{itemize} \end{pud::man} �������������������������������aephea-12-248/mac/doc/buzzz.ps����������������������������������������������������������������������0000644�0004025�0002114�00000032430�11322640160�013000� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������%!PS-Adobe-3.0 %%Creator: groff version 1.18.1.1 %%CreationDate: Mon Jan 11 15:14:56 2010 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic %%+ font Courier %%DocumentSuppliedResources: procset grops 1.18 1 %%Pages: 2 %%PageOrder: Ascend %%Orientation: Portrait %%EndComments %%BeginProlog %%BeginResource: procset grops 1.18 1 /setpacking where{ pop currentpacking true setpacking }if /grops 120 dict dup begin /SC 32 def /A/show load def /B{0 SC 3 -1 roll widthshow}bind def /C{0 exch ashow}bind def /D{0 exch 0 SC 5 2 roll awidthshow}bind def /E{0 rmoveto show}bind def /F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def /G{0 rmoveto 0 exch ashow}bind def /H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /I{0 exch rmoveto show}bind def /J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def /K{0 exch rmoveto 0 exch ashow}bind def /L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /M{rmoveto show}bind def /N{rmoveto 0 SC 3 -1 roll widthshow}bind def /O{rmoveto 0 exch ashow}bind def /P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /Q{moveto show}bind def /R{moveto 0 SC 3 -1 roll widthshow}bind def /S{moveto 0 exch ashow}bind def /T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def /SF{ findfont exch [exch dup 0 exch 0 exch neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /MF{ findfont [5 2 roll 0 3 1 roll neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /level0 0 def /RES 0 def /PL 0 def /LS 0 def /MANUAL{ statusdict begin/manualfeed true store end }bind def /PLG{ gsave newpath clippath pathbbox grestore exch pop add exch pop }bind def /BP{ /level0 save def 1 setlinecap 1 setlinejoin 72 RES div dup scale LS{ 90 rotate }{ 0 PL translate }ifelse 1 -1 scale }bind def /EP{ level0 restore showpage }bind def /DA{ newpath arcn stroke }bind def /SN{ transform .25 sub exch .25 sub exch round .25 add exch round .25 add exch itransform }bind def /DL{ SN moveto SN lineto stroke }bind def /DC{ newpath 0 360 arc closepath }bind def /TM matrix def /DE{ TM currentmatrix pop translate scale newpath 0 0 .5 0 360 arc closepath TM setmatrix }bind def /RC/rcurveto load def /RL/rlineto load def /ST/stroke load def /MT/moveto load def /CL/closepath load def /Fr{ setrgbcolor fill }bind def /Fk{ setcmykcolor fill }bind def /Fg{ setgray fill }bind def /FL/fill load def /LW/setlinewidth load def /Cr/setrgbcolor load def /Ck/setcmykcolor load def /Cg/setgray load def /RE{ findfont dup maxlength 1 index/FontName known not{1 add}if dict begin { 1 index/FID ne{def}{pop pop}ifelse }forall /Encoding exch def dup/FontName exch def currentdict end definefont pop }bind def /DEFS 0 def /EBEGIN{ moveto DEFS begin }bind def /EEND/end load def /CNT 0 def /level1 0 def /PBEGIN{ /level1 save def translate div 3 1 roll div exch scale neg exch neg exch translate 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit []0 setdash /setstrokeadjust where{ pop false setstrokeadjust }if /setoverprint where{ pop false setoverprint }if newpath /CNT countdictstack def userdict begin /showpage{}def }bind def /PEND{ clear countdictstack CNT sub{end}repeat level1 restore }bind def end def /setpacking where{ pop setpacking }if %%EndResource %%IncludeResource: font Times-Roman %%IncludeResource: font Times-Bold %%IncludeResource: font Times-Italic %%IncludeResource: font Courier grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron /scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent /ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen /period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon /semicolon/less/equal/greater/question/at/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/bracketleft/backslash/bracketright/circumflex /underscore/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/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft /guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl /endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut /dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash /quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen /brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft /logicalnot/minus/registered/macron/degree/plusminus/twosuperior /threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior /ordmasculine/guilsinglright/onequarter/onehalf/threequarters /questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE /Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn /germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash /ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def /Courier@0 ENC0/Courier RE/Times-Italic@0 ENC0/Times-Italic RE /Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE %%EndProlog %%Page: 1 1 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.2<6275>20 48 S 151.995<7a7a7a2831292055534552> .2 F 154.495<434f4d4d414e44532062>2.5 F<757a7a7a283129>-.2 E/F1 10.95 /Times-Bold@0 SF -.219<4e41>20 84 S<4d45>.219 E F0 -.2<6275>100 96 S <7a7a7a20ad20676f2062>.2 E<757a7a7a2e>-.2 E F1<53594e4f50534953>20 112.8 Q/F2 10/Times-Bold@0 SF -.2<6275>100 124.8 S .049<7a7a7a202d6c>.2 F F0 2.549<6928>2.549 G/F3 10/Times-Italic@0 SF<6c6f75646e657373>-2.549 E F0 <29>A F2<2d64>2.549 E F0 2.549<6628>2.549 G F3<647572>-2.549 E <6174696f6e>-.15 E F0<29>A F2<5b2d66>2.548 E F0 2.548<6628>2.548 G F3 <6672>-2.548 E<657175656e6379>-.37 E F0<29>A F2 2.548<5d5b>C <2d2d647261676f6e8d79>-2.548 E F0<28>2.548 E F3<6472>A -.1<6167>-.15 G .048<6f6e207374796c65>.1 F F0<29>A F2 2.548<5d5b>C<2d2d62>-2.548 E <756d626c65626565>-.2 E F0<28>100 136.8 Q F3 -.2<6275>C .745 <6d626c65207374796c65>.2 F F0<29>A F2 3.245<5d5b>C<2d2d6469736b>-3.245 E F0<28>3.245 E F3 .745<636f6d7075746572207374796c65>B F0<29>A F2 3.245 <5d5b>C<2d7374796c65>-3.245 E F0<28>3.245 E F3 .745 <736f6d65207374796c65>B F0<29>A F2 3.245<5d5b>C<2d2d7363616e>-3.245 E F0 <28>3.246 E F3 .746<7363616e206d6f6465>B F0<29>A F2 3.246<5d5b>C<2d7364> -3.246 E F0 3.246<6928>3.246 G F3<7363616e>-3.246 E<647572>100 148.8 Q <6174696f6e>-.15 E F0<29>A F2 2.5<5d3c>C<8c6c652e627a7a7c6469723e>-2.5 E F0<28>2.5 E F3<74756e6520736f7572>A<6365>-.37 E F0<29>A F1 <4445534352495054494f4e>20 165.6 Q F2 -.2<6275>100 177.6 S<7a7a7a>.2 E F0 -.2<6275>3.039 G .539 <7a7a65732e2049742063616e20646f20736f20696e20646966>.2 F .539 <666572656e74207374796c65732c20617420646966>-.25 F .538 <666572656e742062617365206672657175656e636965732c20616e6420617420646966> -.25 F .538<666572656e742076>-.25 F<6f6c2d>-.2 E <756d65732e2053656520746865>100 189.6 Q F2<4f5054494f4e53>2.5 E F0<7365 6374696f6e20666f722061206465736372697074696f6e206f6620616c6c206f7074696f 6e732e>2.5 E<546865>100 213.6 Q F2<2d6c>2.987 E F3<6c6f75646e657373>2.5 E F0<616e64>2.987 E F2<2d64>2.987 E F3<647572>2.5 E<6174696f6e>-.15 E F0 .487<6f7074696f6e732061726520626f7468206d616e6461746f72792e20546865206c 617374206172>2.987 F .487<67756d656e74206769>-.18 F -.15<7665>-.25 G 2.987<6e6d>.15 G .488<7573742062652061>-2.987 F .257 <8c6c6520636f6e7461696e696e67207468652074756e6520746f2062>100 225.6 R .256<757a7a2c206f722061206469726563746f727920636f6e7461696e696e67207375 63682074756e65208c6c65732e>-.2 F .256 <5468652074756e65206d75737420626520636f6e2d>5.256 F <7461696e656420696e20616e20696e74657276>100 237.6 Q <616c206f66206174206d6f7374208c76>-.25 E 2.5<6574>-.15 G<6f6e65732e204e 6f6e2d636f6e666f726d696e672074756e6573206d61792064616d61676520796f757220 736f756e64636172642e>-2.5 E F1<4f5054494f4e53>20 254.4 Q F2<2d66>100 266.4 Q F0 2.5<6628>2.5 G F3<6672>-2.5 E<657175656e6379>-.37 E F0<29>A <4672657175656e63>120 278.4 Q 2.5<7969>-.15 G 2.5<6e48>-2.5 G <6572747a2c2063616e2062652073706563698c6564206173206120706f73697469>-2.5 E .3 -.15<76652072>-.25 H<65616c206e756d6265722e>.15 E F2<2d6c>100 302.4 Q F0 2.5<6928>2.5 G F3<6c6f75646e657373>-2.5 E F0<29>A<4c6f75646e657373 2c2077686963682069732073706563698c656420617320616e20696e7465>120 314.4 Q <67657220696e6265747765656e203020616e64203130302e>-.15 E F2<2d64>100 338.4 Q F0 2.5<6628>2.5 G F3<647572>-2.5 E<6174696f6e>-.15 E F0<29>A<44 75726174696f6e20696e20686f7572732c2063616e2062652073706563698c6564206173 206120706f73697469>120 350.4 Q .3 -.15<76652072>-.25 H<65616c2e>.15 E <54686520666f6c6c6f>100 374.4 Q<77696e67206f7074696f6e732061726520646973 63757373656420617320612067726f75703a>-.25 E F2<2d2d647261676f6e8d79>80 398.4 Q F0<28>2.5 E F3<6472>A -.1<6167>-.15 G<6f6e207374796c65>.1 E F0 <29>A F2<2d2d62>80 410.4 Q<756d626c65626565>-.2 E F0<28>2.5 E F3 -.2 <6275>C<6d626c65207374796c65>.2 E F0<29>A F2<2d2d6469736b>80 422.4 Q F0 <28>2.5 E F3<636f6d7075746572207374796c65>A F0<29>A F2 <2d2d6d6f73717569746f>80 434.4 Q F0<28>2.5 E F3<7374696e67207374796c65>A F0<29>A<54686573652061726520756e617279206f7074696f6e73207370656369667969 6e6720746865207374796c6520696e20776869636820746f2062>100 446.4 Q <757a7a2e>-.2 E F2<2d7374796c65>80 470.4 Q F0<7374722028>2.5 E F3 -.2 <6275>C<7a7a207374796c65>.2 E F0<29>A F3<737472>100 482.4 Q F0 <73686f756c64206265206f6e65206f66>2.5 E/F4 10/Courier@0 SF <62756d626c65626565>2.5 E F0<2c>A F4<647261676f6e666c79>2.5 E F0<2c>A F4 <6d6f73717569746f>2.5 E F0 2.5<2c6f>C<72>-2.5 E F4<6469736b>2.5 E F0<2e> A F2<2d2d7363616e>80 506.4 Q F0<28>2.5 E F3<7363616e206d6f6465>A F0<29>A <546869732077696c6c2062>100 518.4 Q<757a7a203130207365636f6e647320666f72 20656163682074756e652073706563698c65642e>-.2 E <526566657220616c736f20746f20746865>5 E F2<2d7364>2.5 E F0 <6f7074696f6e2e>2.5 E F2<2d7364>80 542.4 Q F0 2.5<6928>2.5 G F3 <7363616e20647572>-2.5 E<6174696f6e>-.15 E F0<29>A <5365747320746865207363616e2074696d6520696e2028616e20696e7465>100 554.4 Q<676572206e756d626572206f6629207365636f6e64732e2054686973206166>-.15 E <666563747320746865>-.25 E F2<2d2d7363616e>2.5 E F0<6f7074696f6e2e>2.5 E F1<46494c4553>20 571.2 Q F0<2f6574632f7a6f656d2f666f7269616d7a6f656d2e62 7a7a20636f6e7461696e7320746865207a6f656d206a696e676c652e>100 583.2 Q<2f 6574632f7a6f656d2f7a6f656d2e61736369692d61727420636f6e7461696e73207a6f65 6d2072656c61746564206173636969206172742e>100 595.2 Q<416e2065>5 E <7863657270742069732073686f>-.15 E<776e2062656c6f>-.25 E<772e>-.25 E -.2 <6275>20 768 S<7a7a7a20312e3030>.2 E<3239204665622032303030>165.88 E<31> 204 E 0 Cg EP %%Page: 2 2 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF -.2<6275>20 48 S 151.995<7a7a7a2831292055534552> .2 F 154.495<434f4d4d414e44532062>2.5 F<757a7a7a283129>-.2 E/F1 10 /Courier@0 SF <2e2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2e>100 84 Q 174<7c7c>100 96 S 108<7c5f>100 108 S 18 6<225f207c>-102 H 30<7c28>100 120 S 36<5c222f2920285f5c7c2f5f29>-30 F<7c>30 E 30<7c28>100 132 S 36 <2f7c5c2920285f2f7c5c5f29>-30 F<7c>30 E -18 42<7c7c207c>100 144 T<7c>6 E 78<7c28>100 156 S -18 30<297c207c>-78 H 60<7c2d>100 168 S 72 <2d2d2d2d25207c>-60 F 78<7c28>100 180 S 84<297c>-78 G 156<7c65>100 192 S <6a6d7c>-156 E <2e2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2e>100 204 Q/F2 10.95/Times-Bold@0 SF<454e564952>20 232.8 Q<4f4e4d454e54>-.329 E F0 <43757272656e746c79>100 244.8 Q 2.5<2c6e>-.65 G 2.5<6f65>-2.5 G -.4 <6e76>-2.5 G<69726f6e6d656e74616c206973737565732077697468>.4 E/F3 10 /Times-Bold@0 SF -.2<6275>2.5 G<7a7a7a>.2 E F0<2e>A F2<444941>20 261.6 Q <474e4f5354494353>-.602 E F0 1.718 <4966207468652074756e65207370616e7320616e20696e74657276>100 273.6 R 1.719<616c206c6172>-.25 F 1.719<676572207468616e203520746f6e65732c2062> -.18 F 1.719<757a7a7a2077696c6c20656d6974206c6974746c652062656570732e20 49662074686520696e74657276>-.2 F<616c>-.25 E -.15<6578>100 285.6 S <636565647320616e206f637461>.15 E -.15<7665>-.2 G 2.5<2c62>.15 G <757a7a7a2077696c6c20666f726b20616e642065>-2.7 E -.15<7865>-.15 G<63>.15 E F3<62656c6c>2.5 E F0<2e>A F2 -.11<4255>20 302.4 S<4753>.11 E F0 <536f6d6520646f2e>100 314.4 Q F2 -.548<4155>20 331.2 S<54484f52>.548 E F0<427567732042756e6e>100 343.2 Q<792e>-.15 E F2<48495354>20 360 Q<4f52> -.197 E<59>-.383 E F0 .516 <7265706561747320697473656c662c20657370656369616c6c792066726f6d20612062> 100 372 R .516<757a7a696e6720706f696e74206f6620766965>-.2 F 3.016 <772e205265666572>-.25 F .515 <746f205b315d20666f7220616e20696e2d646570746820616e616c797369732e>3.016 F<41>5.515 E<646966>100 384 Q<666572656e7420706f696e74206f6620766965> -.25 E 2.5<7769>-.25 G 2.5<7370>-2.5 G<726573656e74656420696e205b325d2e> -2.5 E F2<53454520414c534f>20 400.8 Q F0<546865>100 412.8 Q F3 <62656c6c283129206d616e75616c>2.5 E F0<2e>A<5b315d20427567732042756e6e> 100 436.8 Q<792e2046>-.15 E<6f6f204261722e>-.15 E 2.5<4168>5 G<6973746f 7279206f66206d616b696e672c206d61696e74656e616e63652c20726570616972>-2.5 E 2.5<2c61>-.4 G<6e6420646973706f73616c2e>-2.5 E <5b325d20446f6e616c64204475636b2e2054686520667574696c65206d697374616b> 100 460.8 Q<652c20616e6420686f>-.1 E 2.5<7769>-.25 G 2.5<7463>-2.5 G <68616e676573206d79206c6966652065>-2.5 E -.15<7665>-.25 G <7279206461792e>.15 E -.2<6275>20 768 S<7a7a7a20312e3030>.2 E <3239204665622032303030>165.88 E<32>204 E 0 Cg EP %%Trailer end %%EOF ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������aephea-12-248/mac/doc/pud-man.html������������������������������������������������������������������0000644�0004025�0002114�00000037411�11322640157�013511� �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <!-- Copyright (c) 2010 Stijn van Dongen --> <head> <meta name="keywords" content="manual"> <style type="text/css"> /* START aephea.base.css */ body { text-align: justify; margin-left: 0%; margin-right: 0%; } a:link { text-decoration: none; } a:active { text-decoration: none; } a:visited { text-decoration: none; } a:link { color: #1111aa; } a:active { color: #1111aa; } a:visited { color: #111166; } a.local:link { color: #11aa11; } a.local:active { color: #11aa11; } a.local:visited { color: #116611; } a.intern:link { color: #1111aa; } a.intern:active { color: #1111aa; } a.intern:visited { color: #111166; } a.extern:link { color: #aa1111; } a.extern:active { color: #aa1111; } a.extern:visited { color: #661111; } a.quiet:link { color: black; } a.quiet:active { color: black; } a.quiet:visited { color: black; } div.verbatim { font-family: monospace; margin-top: 1em; margin-bottom: 1em; font-size: 10pt; margin-left: 2em; white-space: pre; } div.indent { margin-left: 8%; margin-right: 0%; } .right { text-align: right; } .left { text-align: left; } .nowrap { white-space: nowrap; } .item_leader { position: relative; margin-left: 8%; } .item_compact { position: absolute; vertical-align: baseline; } .item_cascade { position: relative; } .item_leftalign { text-align: left; } .item_rightalign { width: 2em; text-align: right; } .item_compact .item_rightalign { position: absolute; width: 52em; right: -2em; text-align: right; } .item_text { position: relative; margin-left: 3em; } .smallcaps { font-size: smaller; text-transform: uppercase } acronym.ucase { font-size: smaller; text-transform: uppercase } abbr.ucase { font-size: smaller; text-transform: uppercase } /* END aephea.base.css */ body { font-family: "Garamond", "Gill Sans", "Verdana", sans-serif; } body { text-align: justify; margin-left: 8%; margin-right: 8%; } </style> <title>The PUD manual page mini-language

8 Jan 2010    pud-man 1.002, 10-008

NAME

pud-man — A description of the Portable Unix Documentation Language for writing manual pages

DESCRIPTION

This document describes the Portable Unix Documentation (PUD) manual page mini-language. PUD-man is built on top of the macro interpreter zoem. A PUD document is generally well-structured, relatively free of formatting statements, compact to write and easily extendable. It can be converted to both troff and html, for viewing in terminals and browsers. High quality Postscript and plain text formats can be derived from the troff output.

Write your own manual pages by copying the example page buzzz.azm and modifying it to your needs. If you are documenting foo, the usual approach is to create foo.azm, and from that create foo.1 and foo.html as follows:

zoem -i foo -d html zoem -i foo -d html zoem -i foo -d roff -o foo.1 zoem -i foo -d roff -o foo.1

This generates files foo.html and foo.1. Each device is run twice to be certain that references are found and linked. PostScript and text versions can be made from foo.1 as follows:

groff -man foo.1 > foo.ps groff -t -e -mandoc -Tascii foo.1 | col -bx > foo.txt

Note though that foo.1 does not use any groff specific extensions; it should be acceptable input to ancient roffs as well. Exceptions to this imply a bug in the PUD man macros.

You are advised to start by inspecting a template manual page such as buzzz.azm. The current manual page documents the facilities and macros made available by the PUD manual language by importing the file man.zmm. The structure of a manual page thus typically looks like this:

\import{man.zmm} \begin{pud::man}{ {name}{pud-man} {html_title}{The PUD manual page mini-language} {author}{Stijn van Dongen} {section}{7} {year}{2009} {month}{Jan} {day}{15} {tag}{1.002} {stamp}{09-015} {defstyle}{long} {synstyle}{long} } \${html}{\"pud::man::maketoc"} \sec{name}{NAME} \NAME{pud-man}{A description of the Portable Unix Documentation Language for writing manual pages} \sec{description}{DESCRIPTION} \par{ ..... .....} \sec{some}{SECTION} \par{ ..... .....} \end{pud::man}

The PUD manual page macro package automatically imports a set of generic macros from the aephea-base and aephea-ref packages. The aephea-base and aephea-ref manual pages document those macros, which are also essential for writing manual pages. The most important are

i)

The itemize environment (used as \begin{itemize}[{options}] ... \end{itemize}) and its associated macros \item#1, \items#1, \item \itemskip, \intermezzo, and others.

 
ii)

The font style/appearance macros \bf#1, \it#1, \tt#1, \v#1, the font size macros \ftinc#2 and \ftdec#2.

 
iii)

The paragraph mark \par#1 (required for each paragraph).

 
iv)

The verbatim macros \verbatim#1 and \verbatix#1.

 
v)

The link macros \httpref#1, \sibref#2, \iref#2, \lref#2, \aref#2.

 
vi)

In aephea-ref the pair of \reference#2 and \refer#1.

For the authorative listing consult the aephea-base manual page. The listing above includes a silly demonstration of some itemize features such as alignment and automatic numbering. Read the Zoem User Manual for a better understanding of zoem macro packages and the design of zoem.

MACROS

The \$man key in the pud::man environment can be used to set the centered heading found in all UNIX roff manual pages. If not set, a heading is derived from the \$section macro. Below is the listing of default headers. It can probably be improved.

1 USER COMMANDS 2 SYSTEM CALLS 3 LIBRARY CALLS 4 SPECIAL FILES 5 FILE FORMATS 6 GAMES 7 MACRO PACKAGES 8 SYSTEM ADMINISTRATION 9 KERNEL ROUTINES

The last textual item in a manual page must be the macro \end{pud::man}. See the example page buzzz.azm.

\sec#2
\secref#1

Start a section, refer to a section. The first argument of \sec#2 is the anchor for that section, the second argument is the title. The macro \secref#1 takes an anchor and outputs the title of the associated section.

The NAME section should be written like the example below, taken from the zoem interpreter manual.

\sec{name}{NAME} \NAME{zoem}{interpreter for the Zoem macro/programming language.}

Usage of the NAME macro ensures that the troff output complies with the format expected by apropos.

 
\defopt#2
\defopt#3
\defkvp#3

Write entry in the options section. typical usage is within an \item#1 macro. For all macros the first argument is the option being described, and the last argument is a short string describing the option. This string is printed in case the macro \"man::defstyle" is set to long. The macro \defopt#3 is used for options taking arguments; the second argument is the name describing the argument. The macro \defkvp#3 is used for long options of the form --mode=str, which you would enter as \defkvp{mode}{str}{set foo mode}. Long options of the form --verbose are simply entered using \defopt#2.

 
\optref#2

Refer to an option. The first argument is the option, the second argument is the text associated with the link. This text will indeed be linking in html, but nothing special will happen in troff - the text is printed as is.

 
\synoptopt#2
\synoptopt#3
\synreqopt#2
\synreqopt#3
Write entries in the synopsis section. This assumes that somewhere an option was created using one of the defopt family members described below.

For all 'syn' options the first argument is simply the option itself. From this argument the anchor is reconstructed that was created by one of the defopt macros. The last argument is always a short string describing the option. It depends on the style chosen, i.e. whether \"man::synstyle" is long or short, whether this string shows up or not. The macros in this group that take two arguments describe unary options that take no argument. The macros taking three arguments describe options that do take an argument.

Here is an example from the zoem manual page:

\synoptopt{--trace}{trace mode, default} \synoptopt{--trace-all-long}{long trace mode} \synoptopt{--trace-all-short}{short trace mode} \synoptopt{--trace-regex}{trace regexes} \synoptopt{--show-tracebits}{show trace bits} \synoptopt{-trace}{k}{trace mode, explicit} \synoptopt{--stats}{show symbol table stats after run}
 
\"man::synstyle"
\"man::defstyle"

Before importing the manual macros, set these to your prefered style. Each of these should be set either to short or long.

 
\genopt#1
\genopt#2
\genarg#1
\useopt#1
\useopt#2
\usearg#1
\genkvp#2
\usekvp#2

These are for creating a consistent style when refering to options. One is free to disregard these altogether. They are meant as convenience, but some may find the extra typing annoying.

The idea is that the 'gen' macros are used when generic mention is made of an option and possibly its argument. The 'use' macros are used when explicit usage is mentioned. An example is the following:

Modes can be chosen using -mode str where str is any of small, medium, or large. Use -mode small if your hardware is outdated.

Use --mileage=str to set the mileage, e.g. --mileage=high or --mileage=astronomical.

SEE ALSO

The pud manual page gives an overview of PUD.

aephea-12-248/mac/doc/aephea-base.ps0000644000402500021140000007766111322640160013766 00000000000000%!PS-Adobe-3.0 %%Creator: groff version 1.18.1.1 %%CreationDate: Mon Jan 11 15:14:56 2010 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic %%+ font Courier %%DocumentSuppliedResources: procset grops 1.18 1 %%Pages: 5 %%PageOrder: Ascend %%Orientation: Portrait %%EndComments %%BeginProlog %%BeginResource: procset grops 1.18 1 /setpacking where{ pop currentpacking true setpacking }if /grops 120 dict dup begin /SC 32 def /A/show load def /B{0 SC 3 -1 roll widthshow}bind def /C{0 exch ashow}bind def /D{0 exch 0 SC 5 2 roll awidthshow}bind def /E{0 rmoveto show}bind def /F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def /G{0 rmoveto 0 exch ashow}bind def /H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /I{0 exch rmoveto show}bind def /J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def /K{0 exch rmoveto 0 exch ashow}bind def /L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /M{rmoveto show}bind def /N{rmoveto 0 SC 3 -1 roll widthshow}bind def /O{rmoveto 0 exch ashow}bind def /P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /Q{moveto show}bind def /R{moveto 0 SC 3 -1 roll widthshow}bind def /S{moveto 0 exch ashow}bind def /T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def /SF{ findfont exch [exch dup 0 exch 0 exch neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /MF{ findfont [5 2 roll 0 3 1 roll neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /level0 0 def /RES 0 def /PL 0 def /LS 0 def /MANUAL{ statusdict begin/manualfeed true store end }bind def /PLG{ gsave newpath clippath pathbbox grestore exch pop add exch pop }bind def /BP{ /level0 save def 1 setlinecap 1 setlinejoin 72 RES div dup scale LS{ 90 rotate }{ 0 PL translate }ifelse 1 -1 scale }bind def /EP{ level0 restore showpage }bind def /DA{ newpath arcn stroke }bind def /SN{ transform .25 sub exch .25 sub exch round .25 add exch round .25 add exch itransform }bind def /DL{ SN moveto SN lineto stroke }bind def /DC{ newpath 0 360 arc closepath }bind def /TM matrix def /DE{ TM currentmatrix pop translate scale newpath 0 0 .5 0 360 arc closepath TM setmatrix }bind def /RC/rcurveto load def /RL/rlineto load def /ST/stroke load def /MT/moveto load def /CL/closepath load def /Fr{ setrgbcolor fill }bind def /Fk{ setcmykcolor fill }bind def /Fg{ setgray fill }bind def /FL/fill load def /LW/setlinewidth load def /Cr/setrgbcolor load def /Ck/setcmykcolor load def /Cg/setgray load def /RE{ findfont dup maxlength 1 index/FontName known not{1 add}if dict begin { 1 index/FID ne{def}{pop pop}ifelse }forall /Encoding exch def dup/FontName exch def currentdict end definefont pop }bind def /DEFS 0 def /EBEGIN{ moveto DEFS begin }bind def /EEND/end load def /CNT 0 def /level1 0 def /PBEGIN{ /level1 save def translate div 3 1 roll div exch scale neg exch neg exch translate 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit []0 setdash /setstrokeadjust where{ pop false setstrokeadjust }if /setoverprint where{ pop false setoverprint }if newpath /CNT countdictstack def userdict begin /showpage{}def }bind def /PEND{ clear countdictstack CNT sub{end}repeat level1 restore }bind def end def /setpacking where{ pop setpacking }if %%EndResource %%IncludeResource: font Times-Roman %%IncludeResource: font Times-Bold %%IncludeResource: font Times-Italic %%IncludeResource: font Courier grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron /scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent /ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen /period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon /semicolon/less/equal/greater/question/at/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/bracketleft/backslash/bracketright/circumflex /underscore/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/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft /guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl /endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut /dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash /quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen /brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft /logicalnot/minus/registered/macron/degree/plusminus/twosuperior /threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior /ordmasculine/guilsinglright/onequarter/onehalf/threequarters /questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE /Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn /germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash /ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def /Courier@0 ENC0/Courier RE/Times-Italic@0 ENC0/Times-Italic RE /Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE %%EndProlog %%Page: 1 1 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 128.065 <6165706865612d62617365283729204d495343454c4c414e454f5553>20 48 R <6165706865612d62617365283729>133.065 E/F1 10.95/Times-Bold@0 SF -.219 <4e41>20 84 S<4d45>.219 E F0<6165706865612d6261736520ad2061206465736372 697074696f6e206f662041657068656120626173652064658c6e6974696f6e73>100 96 Q<546865206d6163726f7320696e2074686973207061636b616765206861>100 120 Q .3 -.15<76652062>-.2 H <65656e20706f7274656420746f20626f74682068746d6c20616e642074726f66>.15 E <662e>-.25 E F1<4445534352495054494f4e>20 136.8 Q/F2 10/Times-Italic@0 SF<6165706865612d62617365>100 148.8 Q F0 2.8192.819 G .319<6573 6372697074696f6e206f662041657068656120626173652064658c6e6974696f6e732e> -2.819 F .318 <546865206d6163726f7320696e2074686973207061636b616765206861>5.319 F .618 -.15<76652062>-.2 H<65656e>.15 E 1.06 <706f7274656420746f20626f74682068746d6c20616e642074726f66>100 160.8 R 3.561<662e2054686973>-.25 F 1.061 <7061636b61676520697320757365642062792074686520416570686561>3.561 F/F3 10/Courier@0 SF<73696d706c65646f63756d656e74>3.561 E F0<636c617373>3.561 E 2.121<616e642062792074686520506f727461626c6520556e697820446f63756d656e 746174696f6e202870756429206d696e692d6c616e67756167657320666f722061757468 6f72696e67206d616e75616c207061676573>100 172.8 R<28>100 184.8 Q/F4 10 /Times-Bold@0 SF<7075642d6d616e>A F0 2.5<2961>C <6e642074686520707564206c616e677561676520666f722066>-2.5 E <617120617574686f72696e672028>-.1 E F4<7075642d666171>A F0<292e>A .34 <5468657265206973206120736d616c6c206c697374206f66206b6e6f>100 208.8 R .34<776e2069737375657320696e20746865>-.25 F F4<495353554553>2.84 E F0 .34 <73656374696f6e2c206d6f73746c7920636f6e6365726e696e67207468652074726f66> 2.84 F 2.84<6664>-.25 G -.25<6576>-2.84 G<6963652e>.25 E 1.23<5468657365 2073686f756c642067656e6572616c6c79206265206f66206e6f20636f6e6365726e2061 7420616c6c2c2062>100 220.8 R 1.23<757420696620796f752072756e20696e746f20 74726f75626c65206c6f6f6b207468657265208c7273742e2041>-.2 F <717569636b20676c616e6365207468726f75676820746865206c697374>100 232.8 Q F2<6265666f72>2.5 E<65>-.37 E F0<796f752072756e20696e746f2074726f75626c 65206d61792062652074686520776973657374207468696e6720746f20646f2e>2.5 E F1<494e5452>20 249.6 Q<4f44554354494f4e2054>-.329 E 2.738<4f54>-.197 G <4845204954454d495a4520454e564952>-2.738 E<4f4e4d454e54>-.329 E F0 <546865>100 261.6 Q F2<6974656d697a65>4.54 E F0<656e>4.54 E 2.04 <7669726f6e656d6e7420697320746865204165706865612077>-.4 F 2.04<6f726b68 6f72736520666f72206c697374732c20656e756d65726174696f6e732c206974656d697a 6174696f6e732c20616e64>-.1 F<6f74686572207461696c6564206372656174757265 732e20412073696d706c6520616e642076>100 273.6 Q <616c69642075736520697320666f722065>-.25 E<78616d706c65>-.15 E F3 <5c626567696e7b6974656d697a657d>112 297.6 Q <5c6974656d7b5c62667b666f6f7d7d>136 309.6 Q<5c6361727b>136 321.6 Q <466f72204920616d20666f6f2e>154 333.6 Q<7d>154 345.6 Q<5c6974656d737b> 136 357.6 Q<7b5c62667b62617272617d7d>154 369.6 Q <7b5c62667b7a757474656c657a75747d7d>154 381.6 Q<7d>136 393.6 Q <5c6361727b>136 405.6 Q<466f72207765206172652062617220616e64207a75742e> 154 417.6 Q<7d>154 429.6 Q<5c656e647b6974656d697a657d>118 441.6 Q F0 <5468697320736f7572636520726573756c7420696e2074686520666f6c6c6f>100 465.6 Q<77696e67206f75747075743a>-.25 E F4 -.25<666f>100 489.6 S<6f>.25 E F0 -.15<466f>120 501.6 S 2.5<724961>.15 G 2.5<6d66>-2.5 G<6f6f2e>-2.5 E F4<6261727261>100 513.6 Q<7a757474656c657a7574>100 525.6 Q F0 -.15 <466f>120 537.6 S 2.5<7277>.15 G 2.5<6561>-2.5 G <72652062617220616e64207a75742e>-2.5 E .51 <54686973206973206e6f7420696d707265737369>100 561.6 R .81 -.15<76652061> -.25 H 3.01<7461>.15 G .51<6c6c2c2062>-3.01 F .51<7574206974206769>-.2 F -.15<7665>-.25 G 3.01<7361>.15 G 3.01<6e69>-3.01 G .51 <646561206f6620686f>-3.01 F 3.01<7769>-.25 G .51<74656d697a652077>-3.01 F 3.01<6f726b732e20546865>-.1 F<666f6c6c6f>3.01 E .51<77696e672065>-.25 F<78616d706c65>-.15 E .456<697320612073696e676c65206974656d697a6520656e> 100 573.6 R .456<7669726f6e6d656e742070726f>-.4 F .457<766964696e672061 20726f6c6c6572636f617374657272696465207468726f756768206d6f7374206f662074 6865206665617475726573206f6620746865>-.15 F .157<6974656d697a6520656e> 100 585.6 R 2.657<7669726f6e6d656e742e204173>-.4 F<73686f>2.657 E .157 <776e2062656c6f>-.25 F 1.457 -.65<772c2069>-.25 H 2.657<7469>.65 G 2.657 <7370>-2.657 G .156<6f737369626c6520746f206368616e676520616c6c2074686520 6974656d697a652073657474696e677320616e64207374796c6573>-2.657 F .153 <61742077696c6c2065>100 597.6 R -.15<7665>-.25 G 2.654<6e77>.15 G .154< 697468696e20612073696e676c65206974656d697a6520696e7374616e63652e204f6620 636f757273652074686973206973206e6f742075736566756c20617420616c6c2065> -2.654 F .154<786365707420666f722064656d6f6e2d>-.15 F .526 <7374726174696e6720746865>100 609.6 R F2<6974656d697a65>3.026 E F0 .526 <6361706162696c69746965732c2062>3.026 F .526 <757420697420676f657320746f2073686f>-.2 F 3.026<7774>-.25 G .525<686174 20746865206974656d697a65206d6163726f732061726520717569746520726f62> -3.026 F .525<75737420286279>-.2 F <766972747565206f66206d6f64756c6172697479292e>100 621.6 Q F4<4e4f>100 645.6 Q<5445>-.4 E F0 .248 <54686520656e74697265206c697374696e672062656c6f>100 657.6 R 2.748<7777> -.25 G .248<61732070757420696e2041657068656127>-2.848 F<73>-.55 E F2 <73706163696e67>2.749 E F0<656e>2.749 E .249 <7669726f6e6d656e742c2064657363726962656420667572746865722062656c6f>-.4 F .249<772e20546865>-.25 F<656e>100 669.6 Q<7669726f6e6d656e742077>-.4 E <6173207573656420746f206372656174652065>-.1 E<78747261206d6172>-.15 E <67696e73206f6e20746865207477>-.18 E 2.5<6f73>-.1 G<696465732e>-2.5 E 20 <3153>135 693.6 S .983<706163696e67206d6f646573>-20 F F2<636f6d70616374> 3.483 E F0<616e64>3.483 E F2<63617363616465>3.483 E F0 .983 <6172652064657465726d696e656420627920746865206b>3.483 F -.15<6579>-.1 G F2<8d6f77>3.632 E F0 5.982<2e54>C<6865>-5.982 E 1.447 <63757272656e74206d6f6465206973>160 705.6 R F2<636f6d70616374>3.947 E F0 3.947<2c6d>C 1.447 <65616e696e67207468617420746865206974656d697a6520746f6b>-3.947 F 1.448 <656e20616e642074686520656e7375696e67>-.1 F<7465>160 717.6 Q 1.127 <787420617265206f6e207468652073616d65206c696e652e>-.15 F<42656c6f>6.127 E 2.427 -.65<772c2063>-.25 H 1.126 <6f6d70616374206d6f6465206973207377697463686564206f66>.65 F 3.626<6628> -.25 G<617070726f78692d>-3.626 E .162<6d6174656c79292068616c6677>160 729.6 R 2.662<61792e20546865>-.1 F F2<696e7465726974656d>2.662 E F0 -.1 <6b65>2.662 G 2.662<7964>-.05 G .162<657465726d696e65732074686520616d6f 756e7420736b6970706564206265747765656e>-2.662 F <6165706865612d6261736520312e3030322c2031302d303038>20 768 Q 2.5<384a> 105.145 G<616e2032303130>-2.5 E<31>207.335 E 0 Cg EP %%Page: 2 2 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 128.065 <6165706865612d62617365283729204d495343454c4c414e454f5553>20 48 R <6165706865612d62617365283729>133.065 E <616e206974656d206465736372697074696f6e20616e6420746865206e65>160 84 Q <7874206974656d2e>-.15 E 20<3253>135 108 S -2.15 -.25<65762065>-20 H<72 616c206974656d206d6f6465732028637573746f6d2c206d61726b2c20656e756d657261 74696f6e292e>.25 E 20<3353>135 132 S -2.15 -.25<65762065>-20 H<72616c20 656e756d65726174696f6e206d6f6465732028726f6d616e2c206172616269632c20616c 7068616265746963292e>.25 E -.25<6976>129.14 156 S 20<2954>.25 G<68652073 74796c65206f662061206c6973742063616e206265206368616e676564207768696c6520 696e20746865206d6964646c65206f662069742e>-20 E 17.5<7629204e7574686572> 131.67 180 R<6974656d2e>2.5 E 17.5<76692920546865>128.89 204 R 2.949<6c 6973742063616e2062652027696e74657275707465642720616e6420726573756d656420 286279206d65616e73206f6620746865>5.45 F/F1 10/Courier@0 SF <5c696e7465722d>5.449 E<6d657a7a6f2331>160 216 Q F0<6d6163726f292e>2.5 E .993<5065726861707320796f752077>120 240 R .993 <6f6e646572207768617420676f6f6420697320544841>-.1 F 3.493<5466>-1.11 G <6f72>-3.493 E 3.493<2c61>-.4 G .994<6e64206a7573746c7920736f2e>-3.493 F <546865>5.994 E F1<5c696e7465726d657a7a6f2331>3.494 E F0 1.15<6d6163726f 2073686f756c64206f6e6c79206265207573656420696e6265747765656e20646966>120 252 R 1.149<666572656e74206974656d732c20692e652e2069742073686f756c64> -.25 F/F2 10/Times-Italic@0 SF<6e6f74>3.649 E F0 1.149 <73706c697420636f6e74656e74>3.649 F <62656c6f6e67696e6720746f20612073696e676c65206974656d2e>120 264 Q 17.5 <5b375d204974656d73>88.34 288 R .277<63616e206265206f7074696f6e616c6c79 20616e64206175746f6d61746963616c6c7920726967687420616e642f6f72206c656674 2064656c696d697465642e205468652063757272656e74206974656d>2.776 F <69732064656c696d6974656420776974682073717561726520627261636b>120 300 Q <6574732e>-.1 E 25.84<5b385d204974656d73>80 324 R <63616e206265206c656674206f7220726967687420616c69676e65642e>2.5 E 25.84 <5b395d204974656d73>80 348 R<63616e20626520737461636b>2.5 E <65642c20776869636820697320737570706f72746564206f6e6c79207768656e>-.1 E F2<8d6f77>2.5 E F0<69732073657420746f>2.5 E F2<63617363616465>2.5 E F0 <2e>A<5b31305d>80 372 Q<4265>120 384 Q <67696e6e696e6720776974682074686973206974656d2c>-.15 E F2<8d6f77>2.5 E F0<69732073657420746f>2.5 E F2<63617363616465>2.5 E F0<2e>A <496d706c79696e67>80 408 Q<54686174>80 420 Q<537461636b696e67>80 432 Q <6973206e6f>120 444 Q 2.5<7770>-.25 G<6f737369626c652e>-2.5 E<5b31325d> 83.34 468 Q<286261636b20746f2072696768742d616c69676e2920546865206974656d 636f756e746572206a757374206b>120 480 Q <656570732072756e6e696e67206279207468652077>-.1 E<61792e>-.1 E 17.5 <5b31385d20286261636b>83.34 504 R<746f20636f6d70616374292042757420746865 20636f756e7465722063616e206265206d616e6970756c617465642061742077696c6c2e> 2.5 E 20<8341>96.5 528 S -.2<6275>-17.5 G<6c6c6574206974656d2e>.2 E 20 <834e>96.5 540 S -.25<6f77>-20 G F2<696e7465726974656d>2.762 E F0 .012 <69732073657420746f203020286166>2.512 F .011 <66656374696e67207468652063757272656e74206c697374292c20616e642061206e65> -.25 F 2.511<776c>-.25 G .011 <697374206973207374617274656420636f6e746967756f7573>-2.511 F <746f207468652070726573656e74207465>120 552 Q<787420286279206861>-.15 E <76696e6720697473206d6172>-.2 E<67696e746f702073657420746f2030292e>-.18 E 17.5<612e20487562726973>133.06 564 R 17.5<622e204c617a696e657373>132.5 576 R 17.5<632e20496d70617469656e6365>133.06 588 R<41726520746865207468 7265652076697274756573206f662070726f6772616d6d696e672e>120 600 Q 20 <8354>96.5 612 S<68697320636f6e636c756465732061206c697374696e672073686f> -20 E<77696e67206d6f7374206f6620746865206974656d697a65206361706162696c69 746965732e>-.25 E/F3 10.95/Times-Bold@0 SF <5553494e4720544845204954454d495a4520454e564952>20 628.8 Q<4f4e4d454e54> -.329 E F0 -1.1<596f>100 640.8 S 2.5<7573>1.1 G <7465657220746865206974656d697a6520656e>-2.5 E <7669726f6e6d656e742062792070726f>-.4 E <766964696e672069742077697468207461672d76>-.15 E <616c7565207061697273206c696b>-.25 E 2.5<6573>-.1 G<6f3a>-2.5 E <6165706865612d6261736520312e3030322c2031302d303038>20 768 Q 2.5<384a> 105.145 G<616e2032303130>-2.5 E<32>207.335 E 0 Cg EP %%Page: 3 3 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 128.065 <6165706865612d62617365283729204d495343454c4c414e454f5553>20 48 R <6165706865612d62617365283729>133.065 E/F1 10/Courier@0 SF <5c626567696e7b6974656d697a657d7b>118 84 Q <7b666c6f777d7b636f6d706163747d>136 96 Q<7b696e7465726974656d7d7b317d> 136 108 Q<7b616c69676e7d7b72696768747d>136 120 Q<7b747970657d7b6162637d> 136 132 Q<7b72707d7b2e7d>136 144 Q<7d>118 156 Q F0<54686973206973207468 65206c697374206f662074616773207468617420796f75206d6179207573652e>100 180 Q/F2 10/Times-Italic@0 SF<6d6172>100 204 Q<67696e746f70>-.37 E F0 -.8 <546f>120 216 S 2.5<706f>.8 G 2.5<6674>-2.5 G <61626c652c20616e6f6d616c6f757320756e69742028656d73292c20646566>-2.5 E <61756c7420302e>-.1 E F2<696e7465726974656d>100 240 Q F0 -.15<5061>120 252 S<7261677261706820736b697020696e>.15 E F2<656d73>2.5 E F0 <696e6265747765656e206974656d732c20646566>2.5 E<61756c7420302e>-.1 E F2 <8d6f77>100 276 Q F0<53657420746f20636f6d70616374206f722063617363616465> 120 288 Q F2<7465>100 312 Q<7874696e64656e74>-.2 E F0 -.4<5769>120 324 S <647468206f66207465>.4 E<787420696e64656e7420696e20656d732e>-.15 E F2 <6974656d6d6172>100 348 Q<67696e>-.37 E F0 -.4<5769>120 360 S <647468206f66206974656d206d6172>.4 E<67696e20696e20656d732028666f722072 696768742d616c69676e6564206974656d73292e>-.18 E F2<6d61726b>100 384 Q F0 <452e672e>120 396 Q F1<5c2a7b6974656d62756c6c65747d>2.5 E F0 <28696620747970653d6d61726b292c206166>2.5 E<6665637473>-.25 E F1 <5c6974656d>2.5 E F0<2e>A F2<616c69676e>100 420 Q F0<4f6e65206f66206c65 6674206f7220726967687420286974656d20616c69676e6d656e74292c20646566>120 432 Q<61756c74206c6566742e>-.1 E F2<636c6173735f616c6c>100 456 Q F0 <636c617373206e616d652061737369676e656420746f20616c6c20626c6f636b2d6c65> 120 468 Q -.15<7665>-.25 G 2.5<6c65>.15 G<6c656d656e7473>-2.5 E F2<6c70> 100 492 Q F0<5768617427>120 504 Q 2.5<7370>-.55 G<72696e74656420696d6d65 64696174656c7920746f20746865206c656674206f6620616e206974656d2e>-2.5 E F2 <7270>100 528 Q F0<5768617427>120 540 Q 2.5<7370>-.55 G<72696e7465642069 6d6d6564696174656c7920746f20746865207269676874206f6620616e206974656d2e> -2.5 E F2<74797065>100 564 Q F0 <4f6e65206f66206d61726b2c20726f6d616e2c206162632c206172616269632c206166> 120 576 Q<6665637473>-.25 E F1<5c6974656d>2.5 E F0<2e>A F2 <6974656d636f756e74>100 600 Q F0 <54686520636f756e74206f66206974656d73207365656e20736f2066>120 612 Q <6172>-.1 E 2.5<2c65>-.4 G<2e672e203133207269676874206e6f>-2.5 E<772e> -.25 E -1.1<596f>100 636 S 2.928<756e>1.1 G .428<65656420746f206b6e6f> -2.928 F 2.928<7774>-.25 G .428<68617420746865206974656d697a6520656e> -2.928 F .428<7669726f6e6d656e7420696e7465726e616c6c79206d61707320746865 7365207461677320746f20646f6c6c6172206b>-.4 F -.15<6579>-.1 G 2.928<7373> .15 G<696d706c79>-2.928 E .499 <62792070726570656e64696e67206120646f6c6c61722e>100 648 R .499 <546875732c20696620796f752077>5.499 F .498 <616e7420746f207265736574206f6e65206f66207468652076>-.1 F .498 <616c756573206173736f636961746564207769746820737563682061207461672c>-.25 F<796f75206e65656420746f20646f20652e672e>100 660 Q F1 <5c7365747b24616c69676e7d7b72696768747d>118 684 Q <5c7365747b246974656d636f756e747d7b33307d>118 696 Q F0 2.828<416d>100 720 S .328<6f726520726f62>-2.828 F .329<75737420746f20646f20746869732069 7320746f20656e73757265207468617420746865206d6f64698c6564206b>-.2 F .629 -.15<65792069>-.1 H 2.829<7372>.15 G<6574726965>-2.829 E -.15<7665>-.25 G 2.829<6466>.15 G .329 <726f6d207468652072696768742064696374696f6e617279>-2.829 F<2c>-.65 E <6165706865612d6261736520312e3030322c2031302d303038>20 768 Q 2.5<384a> 105.145 G<616e2032303130>-2.5 E<33>207.335 E 0 Cg EP %%Page: 4 4 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 128.065 <6165706865612d62617365283729204d495343454c4c414e454f5553>20 48 R <6165706865612d62617365283729>133.065 E<692e652e2074686520746f702d6c65> 100 84 Q -.15<7665>-.25 G<6c>.15 E/F1 10/Times-Italic@0 SF <6974656d697a65>2.5 E F0<64696374696f6e617279>2.5 E 2.5<2c61>-.65 G 2.5 <7366>-2.5 G<6f6c6c6f>-2.5 E<77732e>-.25 E/F2 10/Courier@0 SF<5c7365747b 7b646963747d7b6974656d697a657d7d7b24616c69676e7d7b72696768747d>118 108 Q <5c7365747b7b646963747d7b6974656d697a657d7d7b246974656d636f756e747d7b33 307d>118 120 Q/F3 10.95/Times-Bold@0 SF<544845205350>20 148.8 Q -.602 <4143>-.81 G<494e4720454e564952>.602 E<4f4e4d454e54>-.329 E F0 .398<4974 732073796e746178206973206964656e746963616c20746f2074686174206f6620746865> 100 160.8 R F1<6974656d697a65>2.898 E F0<656e>2.898 E 2.898 <7669726f6e6d656e742e204974>-.4 F .397<616363657074732074616773>2.898 F F1<6c656674>2.897 E F0<2c>A F1<7269676874>2.897 E F0<2c>A F1<746f70> 2.897 E F0 2.897<2c61>C<6e64>-2.897 E F1<626f742d>2.897 E<746f6d>100 172.8 Q F0 5<2e54>C<686573652073686f756c64207265636569>-5 E .3 -.15 <7665206e>-.25 H<756d657269632076>.15 E <616c7565732e20546865206173736f63696174656420756e6974206973>-.25 E F1 <656d>2.5 E F0<2e>A<5468652074726f66>100 196.8 Q 2.5<6664>-.25 G -.25 <6576>-2.5 G<69636520646f6573206e6f742079657420737570706f727420746865> .25 E F1<746f70>2.5 E F0<616e64>2.5 E F1<626f74746f6d>2.5 E F0 <746167732e>2.5 E F3<4d41>20 213.6 Q<4352>-.602 E<4f53>-.329 E F0<5c>100 225.6 Q/F4 10/Times-Bold@0 SF<656e72>A<65662332>-.18 E F0<5c>100 237.6 Q F4<6972>A<65662332>-.18 E F0<5c>100 249.6 Q F4<6c72>A<65662332>-.18 E F0 <5c>100 261.6 Q F4<6172>A<65662332>-.18 E F0<5c>100 273.6 Q F4 <6874747072>A<65662331>-.18 E F0<5c>100 285.6 Q F4<73696272>A<65662331> -.18 E F0<5c>100 297.6 Q F4<73696272>A<65662332>-.18 E F0<5c>100 309.6 Q F4<73696272>A<65662333>-.18 E F2<5c656e7265662332>120 321.6 Q F1<6372> 2.816 E<6561746573>-.37 E F0 2.816<616c>2.816 G .316 <696e6b20666f7220776869636820746865208c727374206172>-2.816 F .316<67756d 656e742069732074686520616e63686f7220616e6420666f722077686963682074686520 7365632d>-.18 F .405<6f6e64206172>120 333.6 R .405<67756d656e7420697320 74686520636f6e74656e74202877686963682063616e206265206c65667420656d707479 292e>-.18 F F2<5c697265662332>5.405 E F0<74616b>2.904 E .404 <6573207375636820616e20616e63686f72206173>-.1 F 2.85 <746865208c727374206172>120 345.6 R 2.85 <67756d656e7420616e642069742074616b>-.18 F 2.85<657320636f6e74656e742074 686174206361727269657320746865206c696e6b20617320746865207365636f6e642061 72>-.1 F<67756d656e742e>-.18 E F2<5c6c7265662332>120 357.6 Q F0<74616b> 2.597 E .097<65732061208c6c65206e616d652028706f737369626c7920696e636c75 64696e6720612072656c617469>-.1 F .397 -.15<7665206f>-.25 H 2.597<7261> .15 G .096<62736f6c75746520706174682920617320746865208c727374206172> -2.597 F<67752d>-.18 E .237 <6d656e7420616e6420636f6e74656e7420617320746865207365636f6e64206172>120 369.6 R<67756d656e742e>-.18 E F2<5c617265662332>2.737 E F0<74616b>2.737 E .238 <657320612055524c20286c6174657220706f737369626c7920612055524929206173> -.1 F .555<746865208c727374206172>120 381.6 R .554 <67756d656e7420616e6420636f6e74656e7420617320746865207365636f6e64206172> -.18 F<67756d656e742e>-.18 E F2<5c7369627265662332>3.054 E F0<74616b> 3.054 E .554<65732061206c6162656c206173206172>-.1 F<67752d>-.18 E 1.934< 6d656e742077686963682070726573756d61626c7920697320746865206e616d65206f66 20736f6d65206170706c69636174696f6e2e>120 393.6 R 1.934 <4974206d617920617070656e6420616e2065>6.934 F<7874656e73696f6e>-.15 E .47<646570656e64696e67206f6e207468652063757272656e74206465>120 405.6 R .469<766963652c20616e6420697420617373756d65732074686174>-.25 F F2 .469 <6c6162656c202b20657874656e73696f6e>2.969 F F0 .469 <697320746865206e616d65>2.969 F 2.568 <6f662061208c6c6520696e207468652063757272656e74206469726563746f72792e> 120 417.6 R 2.569<546865207365636f6e64206172>7.569 F 2.569 <67756d656e7420697320646973706c6179656420696e20746865207465>-.18 F 2.569 <78742e2046>-.15 F<6f72>-.15 E F2<5c7369627265662331>120 429.6 Q F0 .216 <74686520646973706c61796564207465>2.716 F .216 <7874206973207468652073616d6520617320746865206c6162656c2e2046>-.15 F <6f72>-.15 E F2<5c7369627265662333>2.715 E F0 .215 <746865207365636f6e64206172>2.715 F<67752d>-.18 E .918<6d656e7420697320 616e206164646974696f6e616c20616e63686f722077697468696e20746865208c6c6520 6265696e67206c696e6b>120 441.6 R .918 <656420746f2c20616e6420746865207468697264206172>-.1 F .919 <67756d656e7420697320746865>-.18 F .334<646973706c61796564207465>120 453.6 R<78742e>-.15 E F2<5c687474707265662331>5.334 E F0 .334<73696d706c 79207072696e747320612055524c2077686963682077696c6c2062652061637469>2.834 F .633 -.15<76652077>-.25 H .333<68656e2068746d6c206973206f75742d>.15 F <7075742e>120 465.6 Q<5c>100 489.6 Q F4<7061722331>A F0<5c>100 501.6 Q F4<637061722332>A F0<5c>100 513.6 Q F4<6361722331>A F0<5c>100 525.6 Q F4 <636361722332>A F0 .771<54686573652061726520616c6c2070617261677261706820 6d6163726f732074686174206361727279207468652070617261677261706820636f6e74 656e7420617320746865206c617374206172>120 537.6 R .771 <67756d656e742e20546865>-.18 F .753<8c727374206172>120 549.6 R .753 <67756d656e74206f66>-.18 F F2<5c637061722332>3.253 E F0<616e64>3.253 E F2<5c636361722332>3.252 E F0 .752<6973207468652063617074696f6e2e20546865 7365206d6163726f732077696c6c20656e737572652077656c6c2d>3.252 F .314 <666f726d65646e65737320666f72206465>120 561.6 R .314<766963657320746861 7420737570706f72742069742c20737563682061732068746d6c2e>-.25 F<557365> 5.314 E F2<5c6361722331>2.814 E F0 .314<776865726520796f7520646f6e27> 2.814 F 2.814<746e>-.18 G .314<6565642061>-2.814 F .944 <70617261677261706820736b69702c2062>120 573.6 R .944<7574206a757374206e 65656420746f20696e646963617465207468617420796f752061726520696e207465>-.2 F .944<7874206d6f6465206167>-.15 F .943<61696e2e2059>-.05 F .943 <6f752063616e2073696d706c79>-1.1 F<616c>120 585.6 Q -.1<7761>-.1 G 2.162 <797320757365>.1 F F2<5c7061722331>4.662 E F0 2.163<616e64206e65>4.663 F -.15<7665>-.25 G 4.663<7275>.15 G<7365>-4.663 E F2<5c6361722331>4.663 E F0 4.663<2e49>C 4.663<6679>-4.663 G 2.163<6f7520636172652061626f75742074 68652064657461696c73206f662073706163696e67>-4.663 F 1.246 <74686f7567682c206f7220696620796f75206861>120 597.6 R 1.546 -.15 <76652070>-.2 H 1.245<6172746963756c61722074726f75626c6520666f722065>.15 F 1.245 <78616d706c6520696e206372656174696e6720616e206974656d697a6520656e>-.15 F <7669726f6e6d656e74>-.4 E 1.861<776865726520796f7520646f206e6f742077>120 609.6 R 1.862<616e7420746f7020616e6420626f74746f6d206d6172>-.1 F 1.862 <67696e732c207468656e20697420636f756c642062652077>-.18 F 1.862 <6f72746877696c6520746f207475726e20746f>-.1 F F2<5c6361722331>120 621.6 Q F0 2.5<2e45>C<78616d706c657320666f72207573696e67>-2.5 E F2 <5c6361722331>2.5 E F0<6172653a>2.5 E 10<8341>126.5 633.6 S <6674657220616e20656e>-10 E<7669726f6e6d656e74207468617420616c>-.4 E -.1 <7761>-.1 G<79732063617272696573206120626f74746f6d206d6172>.1 E <67696e2e>-.18 E 10<8341>126.5 645.6 S .409<6674657220616e20656e>-10 F .409<7669726f6e6d656e74207468617420646f6573>-.4 F F1<6e6f74>2.909 E F0 .408<6361727279206120626f74746f6d206d6172>2.909 F .408 <67696e2c20616e6420776865726520796f752073706563698c63616c6c79>-.18 F -.1 <7761>140 657.6 S .773<6e742074686520656e>.1 F .773<7669726f6e6d656e7420 746f20626520636f6e746967756f757320746f2074686520656e636c6f73696e67207465> -.4 F .774<78742e20546865206c697374696e6720796f752061726520637572>-.15 F <2d>-.2 E<72656e746c792072656164696e6720697320616e2065>140 669.6 Q <78616d706c65206f6620746869732e>-.15 E 1.152 <41732070726f6d697365642e20546865>120 681.6 R F2<5c636172>3.652 E F0 1.151<6d6163726f206d6179206665656c2061206c6974746c6520756e757375616c2e20 496620796f7520646f6e27>3.652 F 3.651<746d>-.18 G 1.151 <696e64207374616e64696e6720746865>-3.651 F .003 <6368616e6365206f662061206c6974746c652073707572696f75732076>120 693.6 R .003<6572746963616c2077686974652d7370616365206a75737420757365>-.15 F F2 <5c706172>2.503 E F0 .003 <616c6c207468652074696d652e20496620796f75207265616c6c79206e656564>2.503 F<69742c207375636820617320696e20616e2027696e6c696e6527206c697374696e6720 61732061626f>120 705.6 Q -.15<7665>-.15 G 2.5<2c74>.15 G<6865>-2.5 E F2 <5c636172>2.5 E F0 <6d6163726f20697320726561647920746f20646f20746865206a6f622e>2.5 E<5c>100 729.6 Q F4<62662331>A F0 <6165706865612d6261736520312e3030322c2031302d303038>20 768 Q 2.5<384a> 105.145 G<616e2032303130>-2.5 E<34>207.335 E 0 Cg EP %%Page: 5 5 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 128.065 <6165706865612d62617365283729204d495343454c4c414e454f5553>20 48 R <6165706865612d62617365283729>133.065 E<5c>100 84 Q/F1 10/Times-Bold@0 SF<69742331>A F0<5c>100 96 Q F1<74742331>A F0<5c>100 108 Q F1<762331>A F0<5c>100 120 Q F1<6674696e632332>A F0<5c>100 132 Q F1<66746465632332>A F0 .28<546865208c72737420666f7572206974656d7320736574207468656972206172> 120 144 R .279<67756d656e7420696e20746865>-.18 F F1 -.25<666f>2.779 G <6e74>.25 E/F2 10/Times-Italic@0 SF<73706563698c6564>2.779 E F0<2e>A/F3 10/Courier@0 SF<5c74742331>5.279 E F0<616e64>2.779 E F3<5c762331>2.779 E F0 .279<626f74682064656e6f7465>2.779 F 4.143<6174>120 156 S<797065> -4.143 E 1.643<77726974657220666f6e742e>-.25 F F2 1.643 <5468657365206d616372>4.143 F 1.643 <6f732073686f756c64206e6f74206265206e6573746564206966207472>-.45 F<6f66> -.45 E 4.143<6669>-.18 G 4.143<7374>-4.143 G 4.143<6f62>-4.143 G 4.143 <6561>-4.143 G 1.644<6d6f6e6720746865206f7574707574>-4.143 F<6465>120 168 Q<7669636573>-.15 E F0 3.041<2e53>C .541 <7570706f727420666f7220746865206c617374207477>-3.041 F 3.041<6f69>-.1 G .541<74656d73206973206e6f74207965742076>-3.041 F .541<65727920726f62> -.15 F .54<7573742e20546865>-.2 F 3.04<7974>-.15 G<656d706f726172696c79> -3.04 E/F4 11/Times-Roman@0 SF<696e6372656d656e74>3.04 E F0 <7265737065637469>120 180 Q -.15<7665>-.25 G<6c79>.15 E/F5 9 /Times-Roman@0 SF<64656372656d656e74>3.176 E F0 .676<74686520666f6e7420 62792074686520616d6f756e74206f6620746865208c727374206172>3.176 F .676 <67756d656e7420616e64206170706c792074686520726573756c74696e67>-.18 F <73657474696e6720746f20746865207365636f6e64206172>120 192 Q <67756d656e742e>-.18 E<5c>100 216 Q F1 -.1<7665>C<72626174696d2331>.1 E F0<5c>100 228 Q F1 -.1<7665>C<7262617469782331>.1 E F0<4d616b>120 240 Q 3.384<6574>-.1 G .884<6865206465>-3.384 F .884 <76696365206f75747075742074686520636f6e74656e74732076>-.25 F .884 <6572626174696d20696e2061206d6f6e6f2d73706163656420666f6e742c206f6265> -.15 F .883<79696e672073706163657320616e64>-.15 F<6e65>120 252 Q 1.791 <776c696e65732e205468697320646f6573206e6f742070726f68696269742065>-.25 F 1.791<7870616e73696f6e206f66206d6163726f732c20757365>-.15 F F3 <5c70726f746563742331>4.291 E F0 1.791<666f7220746861742e20546865>4.291 F<6d6163726f>120 264 Q F3<5c766572626174696d2331>2.5 E F0 <77696c6c206372656174652061206e6f6e2d627265616b696e6720656e>2.5 E <7669726f6e6d656e742e>-.4 E/F6 10.95/Times-Bold@0 SF<495353554553>20 280.8 Q F1<4e657374696e67>100 292.8 Q F0 .21<446f206e6f74206e657374>120 304.8 R F3<5c62662331>2.71 E F0<2c>A F3<5c69742331>2.71 E F0<2c>A F3 <5c74742331>2.71 E F0 2.709<2c6f>C<72>-2.709 E F3<5c762331>2.709 E F0 .209<6d6163726f732069662074726f66>2.709 F 2.709<6669>-.25 G 2.709<7361> -2.709 G .209<6d6f6e6720746865206f7574707574206465>-2.709 F <76696365732e>-.25 E<49742077696c6c207969656c6420756e65>120 316.8 Q <7870656374656420726573756c74732e>-.15 E<5468652072657374206f6620746869 73206c697374207065727461696e7320746f20746865>100 340.8 Q F2 <6974656d697a65>2.5 E F0<656e>2.5 E<7669726f6e6d656e742e>-.4 E F1 <4d6172>80 364.8 Q<67696e73>-.1 E F0 .655 <446f206e6f7420757365206672616374696f6e616c2076>100 376.8 R .655 <616c75657320666f72>-.25 F F3<74657874696e64656e74>3.155 E F0<616e64> 3.155 E F3<6974656d6d617267696e>3.155 E F0 .655 <696e20746865206974656d697a6520656e>3.155 F<7669726f6e6d656e742c>-.4 E 1.074<69662074726f66>100 388.8 R 3.574<6669>-.25 G 3.573<7361>-3.574 G 1.073<6d6f6e6720746865206f7574707574206465>-3.573 F 3.573 <76696365732e20546865>-.25 F 1.073<726561736f6e206973207468617420746865 20416570686561206d6163726f73207573652074686520646966>3.573 F <666572656e6365>-.25 E .428<6265747765656e207468657365207477>100 400.8 R 2.928<6f76>-.1 G .428<616c75657320616e642070617373207468656d206f6e20746f 20746865206f7574707574206465>-3.178 F .428<76696365732e2054>-.25 F <726f66>-.35 E 2.928<6672>-.25 G .429<6f756e647320616c6c2076>-2.928 F .429<616c7565732069742067657473>-.25 F <616e6420746875732074686520616464697469>100 412.8 Q .3 -.15<76652072> -.25 H<656c6174696f6e73686970206265747765656e207468652076>.15 E <616c756573206d6179206265206c6f73742e>-.25 E <6165706865612d6261736520312e3030322c2031302d303038>20 768 Q 2.5<384a> 105.145 G<616e2032303130>-2.5 E<35>207.335 E 0 Cg EP %%Trailer end %%EOF aephea-12-248/mac/doc/aephea-ref.ps0000644000402500021140000002471111322640157013622 00000000000000%!PS-Adobe-3.0 %%Creator: groff version 1.18.1.1 %%CreationDate: Mon Jan 11 15:14:55 2010 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Courier %%DocumentSuppliedResources: procset grops 1.18 1 %%Pages: 1 %%PageOrder: Ascend %%Orientation: Portrait %%EndComments %%BeginProlog %%BeginResource: procset grops 1.18 1 /setpacking where{ pop currentpacking true setpacking }if /grops 120 dict dup begin /SC 32 def /A/show load def /B{0 SC 3 -1 roll widthshow}bind def /C{0 exch ashow}bind def /D{0 exch 0 SC 5 2 roll awidthshow}bind def /E{0 rmoveto show}bind def /F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def /G{0 rmoveto 0 exch ashow}bind def /H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /I{0 exch rmoveto show}bind def /J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def /K{0 exch rmoveto 0 exch ashow}bind def /L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /M{rmoveto show}bind def /N{rmoveto 0 SC 3 -1 roll widthshow}bind def /O{rmoveto 0 exch ashow}bind def /P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /Q{moveto show}bind def /R{moveto 0 SC 3 -1 roll widthshow}bind def /S{moveto 0 exch ashow}bind def /T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def /SF{ findfont exch [exch dup 0 exch 0 exch neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /MF{ findfont [5 2 roll 0 3 1 roll neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /level0 0 def /RES 0 def /PL 0 def /LS 0 def /MANUAL{ statusdict begin/manualfeed true store end }bind def /PLG{ gsave newpath clippath pathbbox grestore exch pop add exch pop }bind def /BP{ /level0 save def 1 setlinecap 1 setlinejoin 72 RES div dup scale LS{ 90 rotate }{ 0 PL translate }ifelse 1 -1 scale }bind def /EP{ level0 restore showpage }bind def /DA{ newpath arcn stroke }bind def /SN{ transform .25 sub exch .25 sub exch round .25 add exch round .25 add exch itransform }bind def /DL{ SN moveto SN lineto stroke }bind def /DC{ newpath 0 360 arc closepath }bind def /TM matrix def /DE{ TM currentmatrix pop translate scale newpath 0 0 .5 0 360 arc closepath TM setmatrix }bind def /RC/rcurveto load def /RL/rlineto load def /ST/stroke load def /MT/moveto load def /CL/closepath load def /Fr{ setrgbcolor fill }bind def /Fk{ setcmykcolor fill }bind def /Fg{ setgray fill }bind def /FL/fill load def /LW/setlinewidth load def /Cr/setrgbcolor load def /Ck/setcmykcolor load def /Cg/setgray load def /RE{ findfont dup maxlength 1 index/FontName known not{1 add}if dict begin { 1 index/FID ne{def}{pop pop}ifelse }forall /Encoding exch def dup/FontName exch def currentdict end definefont pop }bind def /DEFS 0 def /EBEGIN{ moveto DEFS begin }bind def /EEND/end load def /CNT 0 def /level1 0 def /PBEGIN{ /level1 save def translate div 3 1 roll div exch scale neg exch neg exch translate 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit []0 setdash /setstrokeadjust where{ pop false setstrokeadjust }if /setoverprint where{ pop false setoverprint }if newpath /CNT countdictstack def userdict begin /showpage{}def }bind def /PEND{ clear countdictstack CNT sub{end}repeat level1 restore }bind def end def /setpacking where{ pop setpacking }if %%EndResource %%IncludeResource: font Times-Roman %%IncludeResource: font Times-Bold %%IncludeResource: font Courier grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron /scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent /ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen /period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon /semicolon/less/equal/greater/question/at/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/bracketleft/backslash/bracketright/circumflex /underscore/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/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft /guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl /endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut /dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash /quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen /brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft /logicalnot/minus/registered/macron/degree/plusminus/twosuperior /threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior /ordmasculine/guilsinglright/onequarter/onehalf/threequarters /questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE /Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn /germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash /ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def /Courier@0 ENC0/Courier RE/Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE %%EndProlog %%Page: 1 1 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 134.735 <6165706865612d726566283729204d495343454c4c414e454f5553>20 48 R <6165706865612d726566283729>139.735 E/F1 10.95/Times-Bold@0 SF -.219 <4e41>20 84 S<4d45>.219 E F0<6165706865612d72656620ad204120646573637269 7074696f6e206f6620746865204165706865612064658c6e6974696f6e7320666f722072 65666572656e63696e67>100 96 Q F1<4445534352495054494f4e>20 112.8 Q F0 2.019<54686520666f6c6c6f>100 124.8 R 2.019<77696e672064658c6e6974696f6e 732061726520757365642062792074686520416570686561>-.25 F/F2 10/Courier@0 SF<73696d706c65646f63756d656e74>4.518 E F0 2.018 <636c6173732061732077656c6c20617320746865>4.518 F<506f727461626c6520556e 697820446f63756d656e746174696f6e202870756429206d616e75616c20616e642066> 100 136.8 Q<617120636c61737365732028736565>-.1 E/F3 10/Times-Bold@0 SF <7075642d6d616e283729>2.5 E F0<616e64>2.5 E F3<7075642d666171283729>2.5 E F0<292e>A F1<4d41>20 153.6 Q<4352>-.602 E<4f53>-.329 E F3<5c72>100 165.6 Q<658d6f61642332>-.18 E<5c72>100 177.6 Q<658d6f6164782332>-.18 E F0 .477<426f7468206d6163726f732074616b>120 189.6 R 2.978<6561>-.1 G 2.978<738c>-2.978 G .478<727374206172>-2.978 F .478<67756d656e742061206c 6162656c207468617420756e697175656c792064658c6e65732074686520726566657265 6e63652e>-.18 F .478<546865207365636f6e64>5.478 F<6172>120 201.6 Q <67756d656e7420697320612076>-.18 E<61726172>-.25 E 2.5<6763>-.18 G <6f6e7461696e696e67206b>-2.5 E -.15<6579>-.1 G<2d76>.15 E <616c75652070616972732e>-.25 E<5468657365206d6163726f732061726520757375 616c6c79206e6f74206e656564656420696e2041657068656120636c61737365733b2074 6865>120 225.6 Q 2.5<7961>-.15 G<7265206c6f>-2.5 E<776572206c65>-.25 E -.15<7665>-.25 G 2.5<6c66>.15 G<6163696c69746965732e>-2.6 E F3<5c72>100 249.6 Q<65662332>-.18 E F0 1.282<546865208c727374206172>120 261.6 R 1.282<67756d656e742069732061206c6162656c2e20546865207365636f6e64206172> -.18 F 1.281<67756d656e742073686f756c642062652061206b>-.18 F 1.581 -.15 <65792061>-.1 H 1.281<73736f63696174656420776974682074686174>.15 F <6c6162656c2e2054686520726573756c74206973207468652076>120 273.6 Q <616c7565206173736f636961746564207769746820746865206c6162656c2f6b>-.25 E .3 -.15<65792070>-.1 H<6169722e>.15 E .404<5468657365206d6163726f732061 726520757375616c6c79206e6f74206e656564656420696e2041657068656120636c6173 7365733b20746865>120 297.6 R 2.904<7961>-.15 G .405<7265206c6f>-2.904 F .405<776572206c65>-.25 F -.15<7665>-.25 G 2.905<6c66>.15 G .405 <6163696c69746965732075736564>-3.005 F<62792068696768206c65>120 309.6 Q -.15<7665>-.25 G 2.5<6c41>.15 G <65706865612064658c6e6974696f6e732028652e672e>-2.5 E F2<5c697265662332> 2.5 E F0 2.5<2c61>C<6e64>-2.5 E F2<5c7365637265662331>2.5 E F0<292e>A F3 <5c72>100 333.6 Q<656663617074696f6e2331>-.18 E<5c72>100 345.6 Q <65666e756d6265722331>-.18 E<5c72>100 357.6 Q<658d65>-.18 E -.1<7665> -.15 G<6c2331>.1 E F0 .655<546865206172>120 369.6 R .655<67756d656e7420 69732061206c6162656c2e2054686520726573756c74206973207265737065637469> -.18 F -.15<7665>-.25 G .655 <6c79207468652063617074696f6e2c206e756d626572>.15 F 3.155<2c6f>-.4 G 3.155<726c>-3.155 G -2.15 -.25<65762065>-3.155 H 3.155<6c61>.25 G <73736f636961746564>-3.155 E<776974682074686174206c6162656c2e>120 381.6 Q<5c>100 405.6 Q F3 -.18<7265>C<666572>.18 E<656e63652331>-.18 E F0<5c> 100 417.6 Q F3 -.18<7265>C<6665722331>.18 E F0 .548<546865208c7273742061 73736f6369617465732061206e756d626572207769746820746865206c6162656c207468 617420697320696e20746865208c727374206172>120 429.6 R .549 <67756d656e742c20616e64207072696e747320697420696e62652d>-.18 F .148 <7765656e2073717561726520627261636b>120 441.6 R .147<6574732e2054686520 6c6162656c20697320616e63686f72656420746f2074686973206c6f636174696f6e2e20 546865207365636f6e64206f75747075747320746865206173736f63692d>-.1 F .171 <61746564206e756d62657220696e6265747765656e20627261636b>120 453.6 R .172 <6574732c20616e64206d616b>-.1 F .172 <65732069742063617272792061206c696e6b20746f2074686520616e63686f722e2046> -.1 F .172<6f722065>-.15 F .172<78616d706c652c204920616d>-.15 F<61626f75 7420746f206372656174652061206c696e6b205b315d20616e6420616e6f74686572206c 696e6b205b325d20746f20746865206974656d7320617070656172696e672062656c6f> 120 465.6 Q<772e>-.25 E<5b315d20546865208c727374207265666572656e63652e> 120 489.6 Q<5b325d20546865207365636f6e64207265666572656e63652e>120 513.6 Q .481 <496620796f752070726566657220616e6f74686572206269626c696f6772617068>120 537.6 R 2.981<7973>-.05 G .481<74796c652c208c6e6420746865206d6163726f73 20616e64206164617074207468656d206163636f7264696e6720746f20796f7572> -2.981 F<6e6565647320ad20746865>120 549.6 Q 2.5<7961>-.15 G<72652076> -2.5 E<6572792073696d706c652e>-.15 E F2<5c7265666572656e63652332>120 573.6 Q F0 .202 <63757272656e746c7920777269746573206461746120746f20746865208c6c65>2.702 F F2<5c5f5f666e626173655f5f2e7a6d72>2.703 E F0 2.703<2c74>C 2.703<6f62> -2.703 G 2.703<6572>-2.703 G .203<656164206261636b20696e>-2.703 F .267 <7573696e672061>120 585.6 R F2 <5c6c6f61647b5c5f5f666e626173655f5f2e7a6d727d>2.767 E F0 2.767 <73746174656d656e742e2054686973>2.767 F .266 <6973206175746f6d61746963616c6c7920646f6e65207768656e207573696e67>2.767 F<616e>120 597.6 Q 2.5<796f>-.15 G 2.5<6674>-2.5 G <68652041657068656120636c61737365732e>-2.5 E <6165706865612d72656620312e3030322c2031302d303038>20 768 Q 2.5<384a> 111.815 G<616e2032303130>-2.5 E<31>207.335 E 0 Cg EP %%Trailer end %%EOF aephea-12-248/mac/doc/aephea-ref.azm0000644000402500021140000000501411322640151013754 00000000000000\import{../pud/man.zmm} \import{aephea.shared} \begin{pud::man}{ {name}{aephea-ref} {html_title}{The Aephea ref definitions} {author}{Stijn van Dongen} {section}{7} {defstyle}{long} {synstyle}{long} \man_share } \${html}{\"pud::man::maketoc"} \sec{name}{NAME} \NAME{aephea-ref}{A description of the Aephea definitions for referencing} \sec{description}{DESCRIPTION} \par{ The following definitions are used by the Aephea \v{simpledocument} class as well as the Portable Unix Documentation (\pud) manual and \faq classes (see \sibref7{pud-man} and \sibref7{pud-faq}). } \sec{macro}{MACROS} \begin{itemize}{ {flow}{cascade} {interitem}{1} } \items{ {\defmac{refload#2}} {\defmac{refloadx#2}} } \car{ Both macros take as first argument a label that uniquely defines the reference. The second argument is a vararg containing key-value pairs.} \par{ These macros are usually not needed in Aephea classes; they are lower level facilities. } \item{\defmac{ref#2}} \car{ The first argument is a label. The second argument should be a key associated with that label. The result is the value associated with the label/key pair.} \par{ These macros are usually not needed in Aephea classes; they are lower level facilities used by high level Aephea definitions (e.g. \mc{iref#2}, and \mc{secref#1}). } \items{ {\defmac{refcaption#1}} {\defmac{refnumber#1}} {\defmac{reflevel#1}} } \car{ The argument is a label. The result is respectively the caption, number, or level associated with that label.} \items{ {\defmac{reference}{reference#1}} {\defmac{refer}{refer#1}} } \car{ The first associates a number with the label that is in the first argument, and prints it inbeween square brackets. The label is anchored to this location. The second outputs the associated number inbetween brackets, and makes it carry a link to the anchor. For example, I am about to create a link\~\refer{pub1} and another link\~\refer{pub2} to the items appearing below.} \par{ \reference{pub1} The first reference.} \par{ \reference{pub2} The second reference.} \par{ If you prefer another bibliography style, find the macros and adapt them according to your needs \- they are very simple.} \par{ \mc{reference#2} currently writes data to the file \mc{__fnbase__.zmr}, to be read back in using a \mc{load{\\__fnbase__.zmr}} statement. This is automatically done when using any of the Aephea classes. } \end{itemize} \end{pud::man} aephea-12-248/mac/doc/webindex.azm0000644000402500021140000006320112021633716013574 00000000000000 \: normally one uses \import{aephea/simpledocument.zmm} \import{../aephea/simpledocument2.zmm} \: import some definitions shared with other documents. \import{aephea.shared} \: the sequence \: introduces a comment until end of line. \: Another way of commenting is this: \""{ Larger comments that span multiple lines can be made like this. This can be used to quickly outcomment portions of a document. At the end of this document it is shown how to outcomment a trailing portion with \done. } \set{{modes}{c}}{COLOUR1}{#F2E6E6} \set{{modes}{c}}{COLOUR2}{#006600} \begin{simpledocument2}{ {$toc_anchor}{Table of Contents} {$day}{\system{date}{{+%e}}} {$month}{\system{date}{{+%B}}} {$year}{\system{date}{{+%Y}}} {$toc_date}{\!$month \!$day, \!$year} {$keywords}{html abstraction and extension language, html with macros, html authoring framework } {$html_title}{A text-based authoring tool for HTML} {$title}{Aephea} {$subtitle}{Effective and adaptable HTML authoring} {$author}{Stijn van Dongen and Moniek Hopman} \: not used. \: example of usage would be {$css_import}{{url1}{url2}...{urlN}} {$css_import}{} {$css_append}{ \zinsert{contrib/reaper2.css} body { font-family: "Garamond", "Gill Sans", "Verdana", sans-serif; } } } \set{m#1}{\v{\protect{\1}}} \set{example#1}{\div{example}{\1}} \: ----- ::: ----- ::: ----- ::: ----- ::: ----- ::: ----- :/ \
{ \"asd::maketoc" } \
{ \"asd::add-toc-start"{Start} \
{ \
{\$toc_date} \
{aephea-\finsert{stamp.stamp}} \
{\$title} \
{\$subtitle} \:. .:. .:. .:. .:. .:. .:. .:. .:. .:. .:. .:/ \sec1{aepheanutshell}{Aephea in a nutshell} \par{ The Hyper Text Markup Language, abbreviated and more commonly known as \html, in conjunction with Cascading Style Sheets (\css), is well equipped to deliver documents with beautiful layout, consistent styling, good typography, and last but not least support for enhanced accessibility. Its use as a document typesetting technology will only increase, off-line as well as on-line. It is however cumbersome (although certainly possible) to write \html directly. Reasons for this are its verbosity, repetitiveness, and lack of abstraction mechanisms for authors. Aephea is a text-based authoring tool that aims to fill this gap. } \par{ Aephea enforces \html well-formedness with a simpler and stricter syntax. It provides useful extensions and abstractions as well as facilities for adding new ones. Aephea stays close to \html itself and utilizes \css extensively. It is possible to write near-raw \html and to build powerful abstractions in a single unified framework. } \par{ Aephea is pronounced \it{ay - 'fee - ah}, or \it{'ee - fee - ah}, or any amalgam of the two, and stands somewhat grandiosely for \em{Adaptable Exo-skeleton for Practical \html Extension and Abstraction}. It is a thin, expressive, and programmable framework for creating \html documents, aimed at people who are familiar with \html and Cascading Style Sheets, or intending to become so. Three micro-formats are currently shipped with it. } \begin{itemize}{ {$flow}{cascade} {$interitem}{1} {$align}{left} {$class_item}{namelist} } \item{pud::man} \car{ A format in the \lref{http://micans.org/pud}{Portable Unix Documentation} section for writing manual pages with output in both \html and troff, with further troff-derived outputs in \pdf, PostScript, and plain text. } \item{pud::faq} \car{ A format in the \lref{http://micans.org/pud}{Portable Unix Documentation} section for writing FAQ documents with output in both \html and troff, with further troff-derived outputs in \pdf, PostScript, and plain text. } \item{simpledocument} \car{ A base format for writing \html documents. The first goal is to push as much control to \css rules that are closely tied to the document. The second goal is for \v{aephea/simpledocument} to be an example format, to be extended, varied, and replaced wholesale. } \par{ The updated version is now called \v{aephea/simpledocument2}, and is used by this document. All the lay-out rules are contained in a separate style file with the idiosyncratic name \v{reaper2.css}. It is shipped with aephea and can be accessed as \v{contrib/reaper2.css}. The code below shows the essential make-up of an aephea document. The \sc{CSS} rules are included in the \sc{HTML} \v{} element so that the document is entirely self-contained. } \verbatim{\protect{begin{simpledocument2}{ {$toc_anchor}{Table of Contents} {$day}{\system{date}{{+%e}}} {$month}{\system{date}{{+%B}}} {$year}{\system{date}{{+%Y}}} {$toc_date}{\!$month \!$day, \!$year} {$keywords}{html abstraction and extension language, html with macros, html authoring framework } {$html_title}{A text-based authoring tool for HTML} {$title}{Aephea} {$subtitle}{Effective and adaptable HTML authoring} {$author}{Stijn van Dongen and Moniek Hopman} {$css_import}{} {$css_append}{ \zinsert{contrib/reaper2.css} body { font-family: "Garamond", "Gill Sans", "Verdana", sans-serif; } } }}}\:/ \car{ The file \v{contrib/reaper2.css} can be \lref{src/aephea-latest/mac/contrib/reaper2.css}{viewed here}. The result of omitting these rules from the document can be \lref{index-bare.html}{seen here}. } \end{itemize} \sec1{feat}{Features} \par{ Aephea has the following features. } \begin{itemize}{ {$flow}{cascade} {$interitem}{1} {$align}{left} {$class_item}{wordlist} } \item{thorough} \car{ As opposed to \it{ad hoc}. Lightweight mark-up languages are a dime a dozen, but nearly all of them have staggeringly improvised, free-style and brittle syntaxes. You can find many such languages on \lref{http://micans.org/zoem/ecosphere.html}{this list of macro and mark-up languages}. As for Aephea, its claim to thoroughness is advocated below. } \item{strict} \car{ Aephea makes it nearly impossible to write \html that is not conforming. Closing tags are enforced by a strict syntax, as accepted by by \aref{http://micans.org/zoem}{zoem}. Aephea files are processed by zoem and the latter will complain if scopes are not properly nested. Characters that are special to \html are recognized by virtue of zoem's scoping design and are automatically escaped. An example with its rendering is this: } \verbatim{\protect{\:/ \par{A paragraph with \strong{some & sundry} suggested strongly.}}} \example{\par{A paragraph with \strong{some & sundry} suggested strongly.}} \par{ \enref{ahtml}{This} example uses Aephea definitions for \it{paragraph} and \it{strong}. It can be gleaned from the example that zoem syntax is reminiscent of TeX syntax. It has only a single meta-character, the backslash. Aephea introduces a limited number of convenience authoring elements, and is very much designed to be adapted and extended. It is possible to write the preceding example in the same syntax in a style reflecting raw \html. } \verbatim{\protect{\:/ \

{A paragraph with \{some & sundry} suggested strongly}}} \par{ The syntax enforces correct nesting and closing of \html elements. In Aephea-related documentation this syntax is for ease of reference called \ahtml, for Aephea-\html. The \ahtml abbreviation is not used in any other way. In particular, Aephea documents are commonly given a \v{.azm} file name suffix, which is the established suffix for files processed by zoem. } \par{ These examples also show that ampersands do not require special treatment, as they, and angle brackets, are automatically escaped by zoem, Aephea's processor. It is however possible to inject raw \html if desired. The following example introduces the \it{plus-minus} \@e{plusmn} character entity and uses the same syntax for writing the ampersand character. } \verbatim{\protect{\:/ \par{A paragraph with \strong{\@e{plusmn} some \@e{amp} sundry} suggested strongly.}}} \example{\par{A paragraph with \strong{\@e{plusmn} some \@e{amp} sundry} suggested strongly.}} \par{ The \v{\\@e{txt}} syntax expects \v{txt} to be the name of a valid \html character entity. The existence of such an element is currently unchecked. For this and a few other cases it is recommended to follow Aephea document processing always with an \html checker such as \aref{http://tidy.sourceforge.net/}{tidy}. No errors or warnings should occur when using tidy. } \""{ Let's not go into this much detail for now; outcommented. Fully raw \html can be injected by using \v{\\@{text}} syntax. An equivalent form for \v{\\@e{amp}} is thus \v{\\@{&}}. However, arbitrarily long stretches of \html may be inserted. Another valid example is \v{\\@{


}}. The prefered form is in \ahtml however, and is written \v{\\<*hr noshade size="1">}, where the asterisk is used to indicate that the element does not need to be closed. The difference between \ahtml (\v{\\{content}}) and raw \html (\v{\\@{content}} or \v{\\@{} content \\@{}}) is that the former ensures correct closing and nesting of tags, whereas the latter is not checked. For that reason, \ahtml is recommended wherever possible. } \par{ Aephea is able to recognize ampersands and other characters that are special to \html because zoem distinguishes different scopes while it processes text. These are respectively called \em{device scope} and \em{plain scope}. Device scope is introduced by syntax such as \v{\\{ content; plain scope here }}, \v{\\@e{entity}}, and \v{\\@{raw html}}. For more information refer to the \aref{http://micans.org/zoem/doc/zum.html}{Zoem User's Manual}. } \item{cascading} \car{ Use of \css style rules and classes is favoured wherever possible. \css files can be imported and exported. The current listing for example, uses a \it{wordlist} class to style the listing of Aephea characteristics (of which you are now reading \it{cascading}). The class is defined in the preamble, and the listing is introduced as follows. } \verbatim{\protect{\:/ \begin{itemize}{ {$flow}{cascade} {$interitem}{1} {$align}{left} {$class_item}{wordlist} }}} \car{ If a particular element needs styling and no Aephea hook exists, the preferred way of styling it is to enclose it in an \ahtml div tag, as below. The class \v{myclass} can either be styled in the document preamble \""{TODO, css_append} or in a style sheet that is imported. } \verbatim{\protect{\:/ \
{ ... }}} \par{ For this particularly common case, a shorthand form \v{\protect{\div{myclass}{...}}} exists. Its definition is simple: } \verbatim{\protect{\:/ \def{div#2}{\
{\2}} \def{span#2}{\{\2}} }} \item{lay-out abstractions} \car{ Aephea supports lay-out abstractions such as lists for which the appearance can be styled to a great extent in a convenient, unobtrusive and localized manner, as indicated in the example above. These abstractions can nest, and their display properties are controlled using \css properties and classes. } \item{structuring abstractions} \car{ Aephea provides document structuring abstractions such as sections and subsections at arbitrary levels, table of contents, counters, labels and more. } \item{thin} \car{ Aephea introduces just a few convenient authoring constructs and interposes \html in a more succinct, powerful and expressive syntax called \iref{ahtml}{\ahtml}, for ease of reference. The authoring constructs are written in the same syntax and present only a thin abstraction layer by virtue of being small and simple. The result stays close to raw \html and new abstraction layers are easily created. Rather than introducing an entire ontology of document elements, Aephea introduces the ones most needed. For document elements not provided by Aephea either \ahtml is used or the means exist to encode them. } \par{ On the one hand it is possible to use Aephea or zoem itself as a thin convenience layer and generate \html directly. An example of this is to simply write the following. } \verbatim{\protect{\

{Opening statements}}} \par{ This results in an \html \v{

} element. On the other hand Aephea provides \m{sec1}, \m{sec2}, \m{sec3} \@{…} macros that create anchors to the introduced element, keep track of section counters, update the table of contents, and that can be styled using style sheets. The corresponding usage would be equally simple however. In the next example the string \v{os} defines the label for this element. It can be used elsewhere in the document to link to the element, in a variety of ways. } \verbatim{\protect{\:/ \sec1{os}{Opening statements}}} \par{ Aephea does not introduce a new element for block quotes. Instead one simply uses the \v{
} element, wrapped in \ahtml. } \verbatim{\protect{\:/ \
{ There has grown up in the minds of certain groups in this country the notion that because a man or a corporation has made a profit out of the public for a number of years, the government and the courts are charged with the duty of guaranteeing such profit in the future, even in the face of changing circumstances and contrary public interest. This strange doctrine is not supported by statute nor common law. Neither individuals nor corporations have any right to come into court and ask that the clock of history be stopped, or turned back, for their private benefit.} }} \par{ Aephea documents are thus a hybrid of higher-level Aephea elements and \ahtml. If desired, it is possible to encode a new element for a specific purpose (that could for example map to a styled \v{
} element) either in an Aephea document itself or in a definition file to be loaded by the document. } \item{adaptable} \car{ The full set of Aephea definitions, as written in zoem, comprises approximately 600 instructions. New Aephea definitions are easy to write. Repetitive elements and tasks can be controlled in zoem. } \item{encapsulation} \car{ A zoem facility called an environment is used to encapsulate larger scopes that require more state such as lists and enumerations. Environments may nest and the associated states are tracked automatically. Environment states are encoded in visually distinctive key-value lists. } \par{ Zoem provides the means to fully separate content from mark-up in the \m{apply} primitive, which takes a macro and applies it to a list. } \item{expressive} \car{ Programmable macro facilities provide abstraction and standard control operators including branching and iteration. Dictionary stacks provide nested namespaces. Comprehensive IO, arithmetic, system commands, regular expressions and other facilities make zoem a rich development platform and the Aephea definitions hopefully succinct and readable. } \end{itemize} \sec1{versioning}{Versioning} \par{ The \lref{src/aephea-latest/ChangeLog}{Change Log} may be of interest. } \par{ The Aephea packages \v{pud/man.zmm} and \v{pud/faq.zmm} are very stable. For now there is just a single stable version. } \par{ The package \v{simpledocument.zmm} is more actively developed. Changes that are not compatible with existing documents lead to a new version of the package. It is still early days, so the latest version is \v{simpledocument2.zmm}. } \sec1{aim}{Aims and constraints} \par{ The Aephea framework for now provides a small set of authoring components that should cover most if not all basic authoring needs. The design goals are: } \begin{itemize}{ {flow}{compact} {align}{right} {mark}{\@{–}} {interitem}{1} } \item \car{ Output \html should be fully conforming. } \item \car{ All authoring aspects of the output \html should be subject and amenable to styling by style sheets, either by \css preambles or import files. Note that \css preambles are visible in the Aephea documents themselves; for an example refer to \secref{example}. } \item \car{ Aephea source should be compact and easy to read. } \end{itemize} \sec1{short}{Costs, shortcomings and limitations (annotated)} \begin{itemize}{ {flow}{compact} {align}{right} {mark}{\@{–}} {interitem}{1} } \item \car{ The current set of Aephea definitions can undoubtedly be improved. It is the work of a single person, not nearly knowledgeable enough about document styling frameworks, with bad taste, working in their spare time. Without a doubt it would benefit from contributions and modifications by others, and these are very much welcome. } \par{ The \html and \css specifications offer a very rich document description and accession model. It is for example possible to generate section counters automatically via style sheet rules, and to control enumerations and lists to a great extent using style properties. The current Aephea definitions do not take advantage of this. It is conceivable that in these and other areas Aephea will increasingly use mechanisms provided by pure \html and \css. In most cases this should only affect the internal Aephea definitions rather than the Aephea elements themselves. } \item \car{ Importantly, Aephea for now only offers extended support for a single type of document called \v{simpledocument}, which can to some extent be styled using \css. The current document is an example of this type. Aephea's claim is, hopefully rightfully, that \v{simpledocument} is pleasant to use, extensible and customisable, and that other document types are easy to develop. } \item \car{ Attribute syntax is not yet verified. For this and other cases it is recommended to validate Aephea output with an \html checker such as \aref{http://tidy.sourceforge.net/}{tidy}. } \item \car{ Aephea is not Unicode-enabled in the sense that it cannot represent Unicode characters internally. It operates on simple byte streams. Documents encoded in UTF-8 should pass through Aephea without any issues. } \item \car{ Aephea source is defined in macros. The mechanistic process of correct replay of macro definition and expansion is much more magical than pure \xml transformational processing. James Clark, the author of groff and expat, and contributor to various \xml-related standards, offered the following on this subject: } \
{ The problem with TeX and troff is that you're trying to use one language to do three rather different things. You're using it to mark up your documents, like \xml; you're using it as a style language, like \css or \xsl; and you're using it to write programs to do the formatting. Using one language for all three separate requirements makes it suboptimal for all of them, in my view. It's suboptimal for markup because, if you have a document written in TeX or troff, it's very hard to do anything with it other than run it through TeX or troff, so that limits reuse. It's suboptimal for writing formatting programs because it got this bizarre syntax with backslashes all over the place, which makes the whole thing unreadable. And it's not a real programming language. One lesson I drew from TeX and groff is that you want a real programming language, not a macro processing language. } \div{quote_attribution}{ \it{A Triumph of Simplicity: James Clark on Markup Languages and XML}\| July 01, 2001, Dr.Dobb's Journal.} \par{ This is true enough. It is nonetheless not very pleasant to write \html or \xml directly due to their repetitiveness, verbosity, and lack of programmability, the issues addressed by Aephea. Regarding syntax, convenience is probably a matter of taste, and one person's bizarre is another person's favourite. Regarding formatting, Aephea is not a markup language, but simply extends and supports \html. Regarding a real programming language \@e{hellip} I've found zoem's \it{dictionary stacks} a veritable programmability boon. Finally, I realise that James Clark was addressing the titans troff and TeX, not the miniscule project that is presently aephea. } \par{ The gap between magical macro processing and transformational processing is very real, and provides a view on the gaping abyss between ease-of-writing for humans and ease-of-processing for programs. As Tim Berners-Lee once said (in an \{MIT} Technology review interview for which I have failed to find the original source so far), \html was never intended to be encoded manually. } \end{itemize} \sec1{question}{Questions and contributions} \par{ My current belief system includes the premise that only one other person (identified only as \v{J.}) uses Aephea, specifically the PUD macros. If you want to convince me otherwise, have questions to ask or contributions to share, please \aref{http://micans.org/stijn/contact.html}{contact me}. If at some point it seems that more than a handful of people use it, it would probably be a good idea to instigate a news group or mailing list. } \sec1{history}{History} \par{ The preceding section may sound like a sorry state of affairs, but the history of Aephea is simply that of a goal pursued and achieved (a.k.a. itch scrutinized and scratched). The goal I pursued was to have manual pages written in \html and troff for various bits of software I had written. Being unhappy about existing solutions, most of which utilised transformations of one format to another, I envisioned a bottom-up solution where micro-formats can be created at will. The formats derive expressive power from macro and programming facilities, and can be mapped to different external formats (a.k.a. \it{devices}) by a built-in character filtering mechanism that distinguishes between content scope and device scope. } \par{ The macro/programming facilities with character filtering capabilities resulted in \lref{http://micans.org/zoem}{zoem}, which was fun and instructive to create. The micro-format to create manual pages in \html and troff ended up as \lref{http://micans.org/pud}{\pud} (Portable Unix Documentation), and it does exactly what it needs to do. Having written \pud macros that output to \html manual pages, I began to use them to write web pages as well. This gradually took shape as a different authoring tool, unpublished, with many loose ends. For a long time zoem and \pud were shipped together, and the web page macros began to resemble spaghetti. The loose ends started to annoy, the web page macros were wrapped up and spun off as Aephea, with the \pud package shipped along. The end result is easier to maintain for me, the low-level language zoem finally separated from the micro-formats shipped in Aephea. } \par{ The \lref{src/aephea-latest/ChangeLog}{Aephea Change Log} contains a succinct summary of Aephea changes. } \sec1{install}{Installing Aephea} \par{ Download Aephea \lref{src}{here}. It is recommended to install with } \verbatim{\protect{./configure --prefix=$PREFIX}} \par{ Files will be installed in $PREFIX/share/aephea, e.g. } \verbatim{\protect{\:/ $PREFIX/share/aephea/aephea/simpledocument.zmm $PREFIX/share/aephea/aephea/simpledocument.css $PREFIX/share/aephea/pud/man.zmm $PREFIX/share/aephea/pud/faq.zmm}} \par{ Definition files are loaded in Aephea documents like this:} \verbatim{\protect{\:/ \import{aephea/simpledocument.zmm} \: for HTML document. \import{pud/man.zmm} \: for (Unix) manual page. \import{pud/faq.zmm} \: for FAQ. }} \par{ In order to have zoem find the Aephea definition and CSS files automatically, \lref{http://micans.org/zoem/src}{install it} (from the unpacked zoem sources) with } \verbatim{\protect{\:/ ./configure --with-includepath=$PREFIX/share/aephea --prefix=$OTHERPREFIX}} \par{ Of course, \v{$OTHERPREFIX} can be chosen the same as \v{$PREFIX}. } \""{ Bad idea. Docbook bad. Docbook BAD. Aephea good. \sec1{ideas}{Ideas} \begin{itemize}{ {flow}{compact} {align}{right} {mark}{\@{–}} {interitem}{1} } \item \car{ Mapping or extending the Aephea definitions to Docbook output. This should be doable, and take away a lot of pain from the creation of Docbook documents. } \end{itemize} } \sec1{example}{Example source of an Aephea document} \par{ As a comprehensive example, this last section contains the entire source for the page you are now reading. } \recipe{\finsert{webindex.azm}} \:. .:. .:. .:. .:. .:. .:. .:. .:. .:. .:. .:/ \"asd::add-toc-end"{End} }} \end{simpledocument2} \:. .:. .:. .:. .:. .:. .:. .:. .:. .:. .:. .:/ \done The zoem \done primitive as used above is not really necessary. What it does is to quit processing at the current interpretation level. For the preceding use the interpretation level is file level, so processing of the current file is stopped. It is possible to use the section after a \done primitive as scratch area and junk yard. This paragraph thus does not show up in the processed output. aephea-12-248/mac/doc/buzzz.10000644000402500021140000000776511322640160012533 00000000000000.\" Copyright (c) 2000 Stijn van Dongen .TH "buzzz" 1 "29 Feb 2000" "buzzz 1\&.00" "USER COMMANDS " .po 2m .de ZI .\" Zoem Indent/Itemize macro I. .br 'in +\\$1 .nr xa 0 .nr xa -\\$1 .nr xb \\$1 .nr xb -\\w'\\$2' \h'|\\n(xau'\\$2\h'\\n(xbu'\\ .. .de ZJ .br .\" Zoem Indent/Itemize macro II. 'in +\\$1 'in +\\$2 .nr xa 0 .nr xa -\\$2 .nr xa -\\w'\\$3' .nr xb \\$2 \h'|\\n(xau'\\$3\h'\\n(xbu'\\ .. .if n .ll -2m .am SH .ie n .in 4m .el .in 8m .. .SH NAME buzzz \- go buzzz\&. .SH SYNOPSIS \fBbuzzz\fP \fB-l\fP i (\fIloudness\fP) \fB-d\fP f (\fIduration\fP) \fB[-f\fP f (\fIfrequency\fP)\fB]\fP \fB[--dragonfly\fP (\fIdragon style\fP)\fB]\fP \fB[--bumblebee\fP (\fIbumble style\fP)\fB]\fP \fB[--disk\fP (\fIcomputer style\fP)\fB]\fP \fB[-style\fP (\fIsome style\fP)\fB]\fP \fB[--scan\fP (\fIscan mode\fP)\fB]\fP \fB[-sd\fP i (\fIscan duration\fP)\fB]\fP \fB\fP (\fItune source\fP) .SH DESCRIPTION \fBbuzzz\fP buzzes\&. It can do so in different styles, at different base frequencies, and at different volumes\&. See the \fBOPTIONS\fP section for a description of all options\&. The \fB-l\fP\ \&\fIloudness\fP and \fB-d\fP\ \&\fIduration\fP options are both mandatory\&. The last argument given must be a file containing the tune to buzz, or a directory containing such tune files\&. The tune must be contained in an interval of at most five tones\&. Non-conforming tunes may damage your soundcard\&. .SH OPTIONS .ZI 2m "\fB-f\fP f (\fIfrequency\fP)" \& .br Frequency in Hertz, can be specified as a positive real number\&. .in -2m .ZI 2m "\fB-l\fP i (\fIloudness\fP)" \& .br Loudness, which is specified as an integer inbetween 0 and 100\&. .in -2m .ZI 2m "\fB-d\fP f (\fIduration\fP)" \& .br Duration in hours, can be specified as a positive real\&. .in -2m The following options are discussed as a group: .in -2m .ZI 2m "\fB--dragonfly\fP (\fIdragon style\fP)" \& 'in -2m .ZI 2m "\fB--bumblebee\fP (\fIbumble style\fP)" \& 'in -2m .ZI 2m "\fB--disk\fP (\fIcomputer style\fP)" \& 'in -2m .ZI 2m "\fB--mosquito\fP (\fIsting style\fP)" \& 'in -2m 'in +2m \& .br These are unary options specifying the style in which to buzz\&. .in -2m .ZI 2m "\fB-style\fP str (\fIbuzz style\fP)" \& .br \fIstr\fP should be one of \fCbumblebee\fP, \fCdragonfly\fP, \fCmosquito\fP, or \fCdisk\fP\&. .in -2m .ZI 2m "\fB--scan\fP (\fIscan mode\fP)" \& .br This will buzz 10 seconds for each tune specified\&. Refer also to the \fB-sd\fP option\&. .in -2m .ZI 2m "\fB-sd\fP i (\fIscan duration\fP)" \& .br Sets the scan time in (an integer number of) seconds\&. This affects the \fB--scan\fP option\&. .in -2m .SH FILES /etc/zoem/foriamzoem\&.bzz contains the zoem jingle\&. .br /etc/zoem/zoem\&.ascii-art contains zoem related ascii art\&. An excerpt is shown below\&. .di ZV .in 0 .nf \fC \&.-----------------------------\&. | | | _ " _ | | (\e"/) (_\e|/_) | | (/|\e) (_/|\e_) | | | | | | () | | | -----% | | () | | ejm| \&.-----------------------------\&. .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR .SH ENVIRONMENT Currently, no environmental issues with \fBbuzzz\fP\&. .SH DIAGNOSTICS If the tune spans an interval larger than 5 tones, buzzz will emit little beeps\&. If the interval exceeds an octave, buzzz will fork and exec \fBbell\fP\&. .SH BUGS Some do\&. .SH AUTHOR Bugs Bunny\&. .SH HISTORY repeats itself, especially from a buzzing point of view\&. Refer to [1] for an in-depth analysis\&. A different point of view is presented in [2]\&. .SH SEE ALSO The \fBbell(1) manual\fP\&. [1] Bugs Bunny\&. Foo Bar\&. A history of making, maintenance, repair, and disposal\&. [2] Donald Duck\&. The futile mistake, and how it changes my life every day\&. aephea-12-248/mac/doc/stamp.day0000644000402500021140000000000312021415166013065 00000000000000 4 aephea-12-248/mac/doc/aephea-ref.html0000644000402500021140000001500611322640157014141 00000000000000 The Aephea ref definitions

8 Jan 2010    aephea-ref 1.002, 10-008

NAME

aephea-ref — A description of the Aephea definitions for referencing

DESCRIPTION

The following definitions are used by the Aephea simpledocument class as well as the Portable Unix Documentation (PUD) manual and FAQ classes (see pud-man and pud-faq).

MACROS

\refload#2
\refloadx#2

Both macros take as first argument a label that uniquely defines the reference. The second argument is a vararg containing key-value pairs.

These macros are usually not needed in Aephea classes; they are lower level facilities.

 
\ref#2

The first argument is a label. The second argument should be a key associated with that label. The result is the value associated with the label/key pair.

These macros are usually not needed in Aephea classes; they are lower level facilities used by high level Aephea definitions (e.g. \iref#2, and \secref#1).

 
\refcaption#1
\refnumber#1
\reflevel#1

The argument is a label. The result is respectively the caption, number, or level associated with that label.

 

The first associates a number with the label that is in the first argument, and prints it inbeween square brackets. The label is anchored to this location. The second outputs the associated number inbetween brackets, and makes it carry a link to the anchor. For example, I am about to create a link [1] and another link [2] to the items appearing below.

[1] The first reference.

[2] The second reference.

If you prefer another bibliography style, find the macros and adapt them according to your needs — they are very simple.

\reference#2 currently writes data to the file \__fnbase__.zmr, to be read back in using a \load{\__fnbase__.zmr} statement. This is automatically done when using any of the Aephea classes.

aephea-12-248/mac/doc/pud.html0000644000402500021140000004652211334633066012747 00000000000000 Portable Unix Documenation

8 Jan 2010    pud 1.002, 10-008

NAME

PUD — Portable Unix Documentation for manual pages and FAQ documents

DESCRIPTION

Portable Unix Documentation or PUD currently provides two mini-languages for authoring in the UNIX environment. The two mini-languages are for writing UNIX manual pages and FAQ documents. Source documents in PUD languages can be compiled to either cross-linked html or to troff. The troff output can be further compiled into PostScript, PDF, and plain text.

Table of Contents

Portable Unix Documentation extends Aephea and zoem

Portable Unix Documentation (PUD) is part of the Aephea documentation framework. Aephea is built on top of zoem, an all-purpose macro/programming language. Both Aephea and PUD documents are processed by compiling them with the zoem processor. The documents themselves are generally well-structured, relatively free of formatting statements and compact to write. They can be easily extended since the full zoem language is available from within a PUD document.

Portable Unix Documentation is currently shipped with Aephea. You will also need to install zoem.

Getting started

i

Get and install both Aephea and zoem. Follow the instructions in the Aephea README file, which boil down to this recipe:

Aephea: ./configure --prefix=$AEPHEAPREFIX make make install Zoem: ./configure --with-includepath=$AEPHEAPREFIX/share/aephea --prefix=$OTHERPREFIX make make install

All PUD files will be installed as you install Aephea. If you are reading this locally on your system, chances are zoem and Aephea are installed.

 
ii

On this page read the pointers in section Section 6 if you want to write a manual page. Read the pointers in section Section 7 if you want to write an FAQ. The fastest way to get up to speed is to copy and modify a template or existing source document.

 
iii

While writing your document, consult the pud-man documentation, the pud-faq documentation, and the aephea-base documentation as necessary.

 
iv

Off you go. If you need macro facilities or programming facilities, zoem is there to assist you. Simple macro tasks are easy to accomplish. For more involved stuff you might want to consult the Zoem User Manual (or ZUM). ZUM should be installed locally. Alternatively view the latest ZUM at micans or subscribe to the mailing list (http://micans.org/zoem/index.html#list).

UNIX manual pages in HTML, troff and PostScript

With the pud-man package you create manual pages for output in either troff (groff, nroff) or html. The first can be viewed from a terminal, the second in a browser.

The fictitious buzzz utility is described in a PUD manual page. It is shipped with every zoem distribution and the manual page should be installed locally in the same location as its source. If the location is hard to find you can just obtain the PUD source from the zoem source distribution, or alternatively you may view the latest buzzz source upstream at micans. Further links are to the PostScript version and the plain text format.

For other examples consider the oldest PUD manual page ever written: the MCL manual page, the same in PostScript output, and the source for all this. By using the venerable col program, the troff output can be converted to nice looking plain text format. Find the troff output disclosed as well.

There are some 20+ manual pages for different utilities in the mcl family.

FAQ documents in html, troff and PostScript

Create FAQ documents with pud-faq for output in either troff (groff, nroff) or html. The former can be viewed in a terminal via the UNIX man page system, the latter can be viewed in a browser.

The PUD FAQ mini-language is described as a rather trivial FAQ itself. It can be viewed in PostScript (compiled from troff compiled from the zoem source and in plain text (again compiled from troff).

For examples behold the browsing delight that is the mcl FAQ, and the PostScript pleasure. Find the noblest format, the impregnable troff, and the source for all that jazz.

Manuals and FAQ examples elsewhere

Other people exist writing PUD. Not many yet. Joost van Baal has used the pud-faq package and the pud-man package to create documentation for GnuPG (in Dutch), caspar, and the strong (fire)walls of uruk. The links point to directory listings; the zoem source files have .azm suffixes. The Makefile(.am) files might be of interest as well.

DocBook considered harmful

People justly wonder why PUD turns away from the blazing light of goodness that is DocBook. DocBook does provide manual page elements and it does support gazillions of output devices. Nevertheless DocBook man pages are a cruelty, a curse and the bane of all things good and pure.

DocBook cannot be written, it cannot be maintained, it cannot be programmed. Yes, XML and DocBook are not supposed to be programmed, but where is the decree that man should toil and suffer so that his documentation would be transmogrifyable into all eternity?

DocBook provides some sort of manual page ontology, describing supposedly every element you might ever need. Inevitably you will want to do things that are not provided and then you are stuck. DocBook lists and enumerations are painful and limited. The verbosity of DocBook makes a mountain out of what should be a mole hill.

PUD manual pages are concise and can be easily cross-referenced. The source is a pleasure to read and output from self-documenting commands can be imported. Zoem IO, macro and programming facilities make the source extendable so that new requirements can be coped with.

Wise people argue that one cannot fathom the needs of future generations and urge the good people of UNIX to use DocBook. The fool knows that this particular premise disproves the thesis and that joy begets joy. Factor the present into the authoring sustainability equation and the scales tip.

At this juncture, I am hesitantly willing to bet that the PUD languages can easily be ported to DocBook. None of the pain, all of the gain. The PUD itemize environment is a sticking point though. It provides, horrors, a few formatting options. Optional paragraphs skips, compact mode, right-alignment of items, automatic enumeration, and the fantabulous intermezzo feature.

Info evil

The good people of info consider manual pages obsolete. What more is there to say? It is all written here.

AUTHOR

PUD was written by Stijn van Dongen.

SEE ALSO

aephea-12-248/mac/doc/Makefile.in0000644000402500021140000003107512021415203013314 00000000000000# Makefile.in generated by automake 1.9 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004 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@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ 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 = : subdir = mac/doc 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 = $(install_sh) -d CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = man7dir = $(mandir)/man7 am__installdirs = "$(DESTDIR)$(man7dir)" "$(DESTDIR)$(docdir)" \ "$(DESTDIR)$(docexamplesdir)" NROFF = nroff MANS = $(man_MANS) 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|^.*/||'`; docDATA_INSTALL = $(INSTALL_DATA) docexamplesDATA_INSTALL = $(INSTALL_DATA) DATA = $(doc_DATA) $(docexamples_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = $(datadir)/$(PACKAGE)/doc dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ ZOEM = zoem -s __searchpath__=.. TIDY = tidy TROFF = groff COL = col doc_DATA = pud-man.html pud-man.ps pud-man.txt \ pud-faq.html pud-faq.ps pud-faq.txt \ aephea-ref.html aephea-ref.ps aephea-ref.txt \ aephea-base.html aephea-base.ps aephea-base.txt \ pud.html pud.ps pud.txt \ buzzz.azm buzzz.html buzzz.ps buzzz.txt buzzz.1 webindex.html docexamplesdir = $(datadir)/${PACKAGE}/examples docexamples_DATA = pud-man.azm pud-faq.azm aephea-base.azm aephea-ref.azm pud.azm webindex.azm man_MANS = pud-man.7 pud-faq.7 aephea-base.7 pud-man.7 aephea-ref.7 pud.7 stamp_foo = stamp.day stamp.month stamp.stamp stamp.tag stamp.year EXTRA_DIST = $(docexamples_DATA) $(doc_DATA) $(man_MANS) $(stamp_foo) aephea.shared webindex.azm SUFFIXES = .7 .azm .html .ps all: all-am .SUFFIXES: .SUFFIXES: .7 .azm .html .ps .1 .txt $(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) --gnu mac/doc/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu mac/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 uninstall-info-am: install-man7: $(man7_MANS) $(man_MANS) @$(NORMAL_INSTALL) test -z "$(man7dir)" || $(mkdir_p) "$(DESTDIR)$(man7dir)" @list='$(man7_MANS) $(dist_man7_MANS) $(nodist_man7_MANS)'; \ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ for i in $$l2; do \ case "$$i" in \ *.7*) list="$$list $$i" ;; \ esac; \ done; \ for i in $$list; do \ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ case "$$ext" in \ 7*) ;; \ *) ext='7' ;; \ esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man7dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man7dir)/$$inst"; \ done uninstall-man7: @$(NORMAL_UNINSTALL) @list='$(man7_MANS) $(dist_man7_MANS) $(nodist_man7_MANS)'; \ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ for i in $$l2; do \ case "$$i" in \ *.7*) list="$$list $$i" ;; \ esac; \ done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ case "$$ext" in \ 7*) ;; \ *) ext='7' ;; \ esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ echo " rm -f '$(DESTDIR)$(man7dir)/$$inst'"; \ rm -f "$(DESTDIR)$(man7dir)/$$inst"; \ done install-docDATA: $(doc_DATA) @$(NORMAL_INSTALL) test -z "$(docdir)" || $(mkdir_p) "$(DESTDIR)$(docdir)" @list='$(doc_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(docDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(docdir)/$$f'"; \ $(docDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(docdir)/$$f"; \ done uninstall-docDATA: @$(NORMAL_UNINSTALL) @list='$(doc_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(docdir)/$$f'"; \ rm -f "$(DESTDIR)$(docdir)/$$f"; \ done install-docexamplesDATA: $(docexamples_DATA) @$(NORMAL_INSTALL) test -z "$(docexamplesdir)" || $(mkdir_p) "$(DESTDIR)$(docexamplesdir)" @list='$(docexamples_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(docexamplesDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(docexamplesdir)/$$f'"; \ $(docexamplesDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(docexamplesdir)/$$f"; \ done uninstall-docexamplesDATA: @$(NORMAL_UNINSTALL) @list='$(docexamples_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(docexamplesdir)/$$f'"; \ rm -f "$(DESTDIR)$(docexamplesdir)/$$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)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ 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 $(MANS) $(DATA) installdirs: for dir in "$(DESTDIR)$(man7dir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(docexamplesdir)"; 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-docDATA install-docexamplesDATA install-man install-exec-am: install-info: install-info-am install-man: install-man7 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-docDATA uninstall-docexamplesDATA \ uninstall-info-am uninstall-man uninstall-man: uninstall-man7 .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-docDATA install-docexamplesDATA install-exec \ install-exec-am install-info install-info-am install-man \ install-man7 install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ uninstall-am uninstall-docDATA uninstall-docexamplesDATA \ uninstall-info-am uninstall-man uninstall-man7 .azm.1: $(ZOEM) -d roff -i $< -o $@ $(ZOEM) -d roff -i $< -o $@ .1.ps: $(TROFF) -man $< > $@ .1.txt: $(TROFF) -t -e -mandoc -Tascii $< | $(COL) -bx > $@ .azm.7: $(ZOEM) -d roff -i $< -o $@ $(ZOEM) -d roff -i $< -o $@ .7.ps: $(TROFF) -man $< > $@ .7.txt: $(TROFF) -t -e -mandoc -Tascii $< | $(COL) -bx > $@ .azm.html: local.css $(ZOEM) -d html -i $< -o $@ $(ZOEM) -d html -i $< -o $@ - $(TIDY) -e $@ pud-man: pud-man.7 pud-man.html pud-man.ps pud-faq: pud-faq.7 pud-faq.html pud-faq.ps aephea-base: aephea-base.7 aephea-base.html aephea-base.ps aephea-ref: aephea-ref.7 aephea-ref.html aephea-ref.ps pud: pud.7 pud.html pud.ps webindex.html: webindex.azm $(ZOEM) -i webindex.azm -o webindex.html -d html --allow=date $(ZOEM) -i webindex.azm -o webindex.html -d html --allow=date - $(TIDY) -e webindex.html buzzz: buzzz.1 buzzz.html buzzz.ps buzzz.txt # 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: aephea-12-248/mac/doc/stamp.month0000644000402500021140000000000412021415166013436 00000000000000Sep aephea-12-248/mac/doc/pud-man.txt0000644000402500021140000002073111322640157013361 00000000000000pud-man(7) MISCELLANEOUS pud-man(7) NAME pud-man - A description of the Portable Unix Documentation Language for writing manual pages DESCRIPTION This document describes the Portable Unix Documentation (PUD) manual page mini-language. PUD-man is built on top of the macro interpreter zoem. A PUD document is generally well-structured, relatively free of formatting statements, compact to write and easily extendable. It can be converted to both troff and html, for viewing in terminals and browsers. High quality Postscript and plain text formats can be derived from the troff output. Write your own manual pages by copying the example page buzzz.azm and modifying it to your needs. If you are documenting foo, the usual approach is to create foo.azm, and from that create foo.1 and foo.html as follows: zoem -i foo -d html zoem -i foo -d html zoem -i foo -d roff -o foo.1 zoem -i foo -d roff -o foo.1 This generates files foo.html and foo.1. Each device is run twice to be certain that references are found and linked. PostScript and text ver- sions can be made from foo.1 as follows: groff -man foo.1 > foo.ps groff -t -e -mandoc -Tascii foo.1 | col -bx > foo.txt Note though that foo.1 does not use any groff specific extensions; it should be acceptable input to ancient roffs as well. Exceptions to this imply a bug in the PUD man macros. You are advised to start by inspecting a template manual page such as buzzz.azm. The current manual page documents the facilities and macros made available by the PUD manual language by importing the file man.zmm. The structure of a manual page thus typically looks like this: \import{man.zmm} \begin{pud::man}{ {name}{pud-man} {html_title}{The PUD manual page mini-language} {author}{Stijn van Dongen} {section}{7} {year}{2009} {month}{Jan} {day}{15} {tag}{1.002} {stamp}{09-015} {defstyle}{long} {synstyle}{long} } \${html}{\"pud::man::maketoc"} \sec{name}{NAME} \NAME{pud-man}{A description of the Portable Unix Documentation Language for writing manual pages} \sec{description}{DESCRIPTION} \par{ ..... .....} \sec{some}{SECTION} \par{ ..... .....} \end{pud::man} The PUD manual page macro package automatically imports a set of generic macros from the aephea-base and aephea-ref packages. The aephea-base(7) and aephea-ref(7) manual pages document those macros, which are also essential for writing manual pages. The most important are i) The itemize environment (used as \begin{itemize}[{options}] ... \end{itemize}) and its associated macros \item#1, \items#1, \item \itemskip, \intermezzo, and others. ii) The font style/appearance macros \bf#1, \it#1, \tt#1, \v#1, the font size macros \ftinc#2 and \ftdec#2. iii) The paragraph mark \par#1 (required for each paragraph). iv) The verbatim macros \verbatim#1 and \verbatix#1. v) The link macros \httpref#1, \sibref#2, \iref#2, \lref#2, \aref#2. vi) In aephea-ref(7) the pair of \reference#2 and \refer#1. For the authorative listing consult the aephea-base manual page. The listing above includes a silly demonstration of some itemize features such as alignment and automatic numbering. Read the Zoem User Manual for a better understanding of zoem macro packages and the design of zoem. MACROS The \$man key in the pud::man environment can be used to set the cen- tered heading found in all UNIX roff manual pages. If not set, a heading is derived from the \$section macro. Below is the listing of default headers. It can probably be improved. 1 USER COMMANDS 2 SYSTEM CALLS 3 LIBRARY CALLS 4 SPECIAL FILES 5 FILE FORMATS 6 GAMES 7 MACRO PACKAGES 8 SYSTEM ADMINISTRATION 9 KERNEL ROUTINES The last textual item in a manual page must be the macro \end{pud::man}. See the example page buzzz.azm. \sec#2 \secref#1 Start a section, refer to a section. The first argument of \sec#2 is the anchor for that section, the second argument is the title. The macro \secref#1 takes an anchor and outputs the title of the associ- ated section. The NAME section should be written like the example below, taken from the zoem interpreter manual. \sec{name}{NAME} \NAME{zoem}{interpreter for the Zoem macro/programming language.} Usage of the NAME macro ensures that the troff output complies with the format expected by apropos. \defopt#2 \defopt#3 \defkvp#3 Write entry in the options section. typical usage is within an \item#1 macro. For all macros the first argument is the option being described, and the last argument is a short string describing the option. This string is printed in case the macro \"man::defstyle" is set to long. The macro \defopt#3 is used for options taking arguments; the second argument is the name describing the argument. The macro \defkvp#3 is used for long options of the form --mode=str, which you would enter as \defkvp{mode}{str}{set foo mode}. Long options of the form --verbose are simply entered using \defopt#2. \optref#2 Refer to an option. The first argument is the option, the second argu- ment is the text associated with the link. This text will indeed be linking in html, but nothing special will happen in troff - the text is printed as is. \synoptopt#2 \synoptopt#3 \synreqopt#2 \synreqopt#3 Write entries in the synopsis section. This assumes that somewhere an option was created using one of the defopt family members described below. For all 'syn' options the first argument is simply the option itself. From this argument the anchor is reconstructed that was created by one of the defopt macros. The last argument is always a short string describing the option. It depends on the style chosen, i.e. whether \"man::synstyle" is long or short, whether this string shows up or not. The macros in this group that take two arguments describe unary options that take no argument. The macros taking three arguments describe options that do take an argument. Here is an example from the zoem manual page: \synoptopt{--trace}{trace mode, default} \synoptopt{--trace-all-long}{long trace mode} \synoptopt{--trace-all-short}{short trace mode} \synoptopt{--trace-regex}{trace regexes} \synoptopt{--show-tracebits}{show trace bits} \synoptopt{-trace}{k}{trace mode, explicit} \synoptopt{--stats}{show symbol table stats after run} \"man::synstyle" \"man::defstyle" Before importing the manual macros, set these to your prefered style. Each of these should be set either to short or long. \genopt#1 \genopt#2 \genarg#1 \useopt#1 \useopt#2 \usearg#1 \genkvp#2 \usekvp#2 These are for creating a consistent style when refering to options. One is free to disregard these altogether. They are meant as conve- nience, but some may find the extra typing annoying. The idea is that the 'gen' macros are used when generic mention is made of an option and possibly its argument. The 'use' macros are used when explicit usage is mentioned. An example is the following: Modes can be chosen using -mode str where str is any of small, medium, or large. Use -mode small if your hardware is outdated. Use --mileage=str to set the mileage, e.g. --mileage=high or --mileage=astronomical. SEE ALSO The pud manual page gives an overview of PUD. pud-man 1.002, 10-008 8 Jan 2010 pud-man(7) aephea-12-248/mac/doc/pud-man.azm0000644000402500021140000002277211322640151013332 00000000000000\import{../pud/man.zmm} \import{aephea.shared} \begin{pud::man}{ {name}{pud-man} {html_title}{The PUD manual page mini-language} {author}{Stijn van Dongen} {section}{7} {defstyle}{long} {synstyle}{long} \man_share } \${html}{\"pud::man::maketoc"} \sec{name}{NAME} \NAME{pud-man}{A description of the Portable Unix Documentation Language for writing manual pages} \sec{description}{DESCRIPTION} \par{ This document describes the Portable Unix Documentation (PUD) manual page mini-language. PUD-man is built on top of the macro interpreter zoem. A PUD document is generally well-structured, relatively free of formatting statements, compact to write and easily extendable. It can be converted to both troff and html, for viewing in terminals and browsers. High quality Postscript and plain text formats can be derived from the troff output.} \par{ Write your own manual pages by copying the example page \lref{buzzz.azm}{buzzz.azm} and modifying it to your needs. If you are documenting \it{foo}, the usual approach is to create \it{foo.azm}, and from that create \it{foo.1} and \it{foo.html} as follows:} \verbatim{\ zoem -i foo -d html zoem -i foo -d html zoem -i foo -d roff -o foo.1 zoem -i foo -d roff -o foo.1} \car{ This generates files foo.html and foo.1. Each device is run twice to be certain that references are found and linked. PostScript and text versions can be made from \v{foo.1} as follows:} \verbatim{\ groff -man foo.1 > foo.ps groff -t -e -mandoc -Tascii foo.1 | col -bx > foo.txt} \par{ Note though that \v{foo.1} does not use any groff specific extensions; it should be acceptable input to ancient roffs as well. Exceptions to this imply a bug in the PUD man macros.} \par{ You are advised to start by inspecting a template manual page such as \lref{buzzz.azm}{buzzz.azm}. The current manual page documents the facilities and macros made available by the PUD manual language by importing the file \v{man.zmm}. The structure of a manual page thus typically looks like this: } \verbatim{\protect{\import{man.zmm} \begin{pud::man}{ {name}{pud-man} {html_title}{The PUD manual page mini-language} {author}{Stijn van Dongen} {section}{7} {year}{2009} {month}{Jan} {day}{15} {tag}{1.002} {stamp}{09-015} {defstyle}{long} {synstyle}{long} } \${html}{\"pud::man::maketoc"} \sec{name}{NAME} \NAME{pud-man}{A description of the Portable Unix Documentation Language for writing manual pages} \sec{description}{DESCRIPTION} \par{ ..... .....} \sec{some}{SECTION} \par{ ..... .....} \end{pud::man}}} \car{ The PUD manual page macro package automatically imports a set of generic macros from the \v{aephea-base} and \v{aephea-ref} packages. The \sibref7{aephea-base} and \sibref7{aephea-ref} manual pages document those macros, which are also essential for writing manual pages. The most important are } \begin{itemize}{ {flow}{compact} {interitem}{1} {mark}{\*{itembullet}} {type}{roman} {textindent}{3} {marginitem}{2} {rp}{)} {align}{right} } \item \car{ The \it{itemize} environment (used as \mc{begin{itemize}[{options}] ... \\end{itemize}}) and its associated macros \mc{item#1}, \mc{items#1}, \mc{item} \mc{itemskip}, \mc{intermezzo}, and others.} \item \car{ The font style/appearance macros \mc{bf#1}, \mc{it#1}, \mc{tt#1}, \mc{v#1}, the font size macros \mc{ftinc#2} and \mc{ftdec#2}. } \item \car{ The paragraph mark \mc{par#1} (required for each paragraph). } \item \car{ The verbatim macros \mc{verbatim#1} and \mc{verbatix#1}. } \item \car{ The link macros \mc{httpref#1}, \mc{sibref#2}, \mc{iref#2}, \mc{lref#2}, \mc{aref#2}. } \item \car{ In \sibref7{aephea-ref} the pair of \mc{reference#2} and \mc{refer#1}. } \end{itemize} \par{ For the authorative listing consult the \sibref{aephea-base}{aephea-base} manual page. The listing above includes a silly demonstration of some itemize features such as alignment and automatic numbering. Read the \sibref{../doc/zum}{Zoem User Manual} for a better understanding of zoem macro packages and the design of zoem. } \""{ \sec{doc}{DOCUMENT STRUCTURE} \par{It is best to start from an example, such as the manual page for the \lref{buzzz.azm}{fictitious buzzz utility}. It can also be helpful to simply look in the file \v{man.zmm}, which contains the definition for the PUD manual language. That said, the basic structure of a manual page is this: } } \sec{macros}{MACROS} \begin{itemize}{ {flow}{cascade} {interitem}{1} } \par{ The \mc{$man} key in the \v{pud::man} environment can be used to set the centered heading found in all UNIX roff manual pages. If not set, a heading is derived from the \mc{$section} macro. Below is the listing of default headers. It can probably be improved. } \verbatim{\:/ 1 USER COMMANDS 2 SYSTEM CALLS 3 LIBRARY CALLS 4 SPECIAL FILES 5 FILE FORMATS 6 GAMES 7 MACRO PACKAGES 8 SYSTEM ADMINISTRATION 9 KERNEL ROUTINES} \par{ The last textual item in a manual page must be the macro \mc{end{pud::man}}. See the example page \lref{buzzz.azm}{buzzz.azm}. } \items{ {\defmac{sec#2}} {\defmac{secref#1}} } \car{ Start a section, refer to a section. The first argument of \mc{sec#2} is the anchor for that section, the second argument is the title. The macro \mc{secref#1} takes an anchor and outputs the title of the associated section. } \par{ The NAME section should be written like the example below, taken from the zoem interpreter manual. } \verbatim{\protect{ \sec{name}{NAME} \NAME{zoem}{interpreter for the Zoem macro/programming language.}}} \car{ Usage of the NAME macro ensures that the troff output complies with the format expected by \bf{apropos}. } \items{ {\defmac{defopt#2}} {\defmac{defopt#3}} {\defmac{defkvp#3}} } \car{ Write entry in the options section. typical usage is within an \mc{item#1} macro. For all macros the first argument is the option being described, and the last argument is a short string describing the option. This string is printed in case the macro \mc{"man::defstyle"} is set to \v{long}. The macro \mc{defopt#3} is used for options taking arguments; the second argument is the name describing the argument. The macro \mc{defkvp#3} is used for long options of the form \v{--mode=str}, which you would enter as \mc{defkvp{mode}{str}{set foo mode}}. Long options of the form \v{--verbose} are simply entered using \mc{defopt#2}.} \item{\defmac{optref#2}} \car{ Refer to an option. The first argument is the option, the second argument is the text associated with the link. This text will indeed be linking in html, but nothing special will happen in troff - the text is printed as is.} \items{ {\defmac{synoptopt#2}} {\defmac{synoptopt#3}} {\defmac{synreqopt#2}} {\defmac{synreqopt#3}} } Write entries in the synopsis section. This assumes that somewhere an option was created using one of the \v{defopt} family members described below. \par{ For all 'syn' options the first argument is simply the option itself. From this argument the anchor is reconstructed that was created by one of the \v{defopt} macros. The last argument is always a short string describing the option. It depends on the style chosen, i.e. whether \mc{"man::synstyle"} is \v{long} or \v{short}, whether this string shows up or not. The macros in this group that take two arguments describe unary options that take no argument. The macros taking three arguments describe options that do take an argument.} \par{ Here is an example from the zoem manual page:} \verbatim{\ \\synoptopt{--trace}{trace mode, default} \\synoptopt{--trace-all-long}{long trace mode} \\synoptopt{--trace-all-short}{short trace mode} \\synoptopt{--trace-regex}{trace regexes} \\synoptopt{--show-tracebits}{show trace bits} \\synoptopt{-trace}{k}{trace mode, explicit} \\synoptopt{--stats}{show symbol table stats after run}} \items{ {\defmac{"man::synstyle"}} {\defmac{"man::defstyle"}} } \car{ Before importing the manual macros, set these to your prefered style. Each of these should be set either to \v{short} or \v{long}.} \items{ {\defmac{genopt#1}} {\defmac{genopt#2}} {\defmac{genarg#1}} {\defmac{useopt#1}} {\defmac{useopt#2}} {\defmac{usearg#1}} {\defmac{genkvp#2}} {\defmac{usekvp#2}} } \car{ These are for creating a consistent style when refering to options. One is free to disregard these altogether. They are meant as convenience, but some may find the extra typing annoying.} \par{ The idea is that the 'gen' macros are used when generic mention is made of an option and possibly its argument. The 'use' macros are used when explicit usage is mentioned. An example is the following:} \begin{spacing}{ {left}{2} {right}{3} } \par{ Modes can be chosen using \genopt{-mode}{str} where \genarg{str} is any of \usearg{small}, \usearg{medium}, or \usearg{large}. Use \useopt{-mode}{small} if your hardware is outdated.} \par{ Use \genkvp{--mileage}{str} to set the mileage, e.g. \usekvp{--mileage}{high} or \usekvp{--mileage}{astronomical}.} \end{spacing} \end{itemize} \sec{seealso}{SEE ALSO} \par{ The \sibref{pud} manual page gives an overview of PUD.} \end{pud::man} aephea-12-248/mac/doc/aephea-base.70000644000402500021140000002737311322640151013505 00000000000000.\" Copyright (c) 2010 Stijn van Dongen .TH "aephea-base" 7 "8 Jan 2010" "aephea-base 1\&.002, 10-008" "MISCELLANEOUS " .po 2m .de ZI .\" Zoem Indent/Itemize macro I. .br 'in +\\$1 .nr xa 0 .nr xa -\\$1 .nr xb \\$1 .nr xb -\\w'\\$2' \h'|\\n(xau'\\$2\h'\\n(xbu'\\ .. .de ZJ .br .\" Zoem Indent/Itemize macro II. 'in +\\$1 'in +\\$2 .nr xa 0 .nr xa -\\$2 .nr xa -\\w'\\$3' .nr xb \\$2 \h'|\\n(xau'\\$3\h'\\n(xbu'\\ .. .if n .ll -2m .am SH .ie n .in 4m .el .in 8m .. .SH NAME aephea-base \- a description of Aephea base definitions The macros in this package have been ported to both html and troff\&. .SH DESCRIPTION \fIaephea-base\fP \- A description of Aephea base definitions\&. The macros in this package have been ported to both html and troff\&. This package is used by the Aephea \fCsimpledocument\fP class and by the Portable Unix Documentation (pud) mini-languages for authoring manual pages (\fBpud-man\fP) and the pud language for faq authoring (\fBpud-faq\fP)\&. There is a small list of known issues in the \fBISSUES\fP section, mostly concerning the troff device\&. These should generally be of no concern at all, but if you run into trouble look there first\&. A quick glance through the list \fIbefore\fP you run into trouble may be the wisest thing to do\&. .SH INTRODUCTION TO THE ITEMIZE ENVIRONMENT The \fIitemize\fP environemnt is the Aephea workhorse for lists, enumerations, itemizations, and other tailed creatures\&. A simple and valid use is for example .di ZV .in 0 .nf \fC \ebegin{itemize} \eitem{\ebf{foo}} \ecar{ For I am foo\&. } \eitems{ {\ebf{barra}} {\ebf{zuttelezut}} } \ecar{ For we are bar and zut\&. } \eend{itemize} .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR This source result in the following output: .ZI 2m "\fBfoo\fP" \& .br For I am foo\&. .in -2m .ZI 2m "\fBbarra\fP" \& 'in -2m .ZI 2m "\fBzuttelezut\fP" \& 'in -2m 'in +2m \& .br For we are bar and zut\&. .in -2m This is not impressive at all, but it gives an idea of how itemize works\&. The following example is a single itemize environment providing a rollercoasterride through most of the features of the itemize environment\&. As shown below, it is possible to change all the itemize settings and styles at will even within a single itemize instance\&. Of course this is not useful at all except for demonstrating the \fIitemize\fP capabilities, but it goes to show that the itemize macros are quite robust (by virtue of modularity)\&. \fBNOTE\fP .br The entire listing below was put in Aephea\&'s \fIspacing\fP environment, described further below\&. The environment was used to create extra margins on the two sides\&. .in +2m .ll -2m .ZJ 2m 2m "1" Spacing modes \fIcompact\fP and \fIcascade\fP are determined by the key \fIflow\fP\&. The current mode is \fIcompact\fP, meaning that the itemize token and the ensuing text are on the same line\&. Below, compact mode is switched off (approximately) halfway\&. The \fIinteritem\fP key determines the amount skipped between an item description and the next item\&. .in -4m .ZJ 2m 2m "2" Several item modes (custom, mark, enumeration)\&. .in -4m .ZJ 2m 2m "3" Several enumeration modes (roman, arabic, alphabetic)\&. .in -4m .ZJ 2m 2m "iv)" The style of a list can be changed while in the middle of it\&. .in -4m .ZJ 2m 2m "v)" Nuther item\&. .in -4m .ZJ 2m 2m "vi)" The list can be \&'interupted\&' and resumed (by means of the \fC\eintermezzo#1\fP macro)\&. .in -4m Perhaps you wonder what good is THAT for, and justly so\&. The \fC\eintermezzo#1\fP macro should only be used inbetween different items, i\&.e\&. it should \fInot\fP split content belonging to a single item\&. .in -4m .ZJ 2m 2m "[7]" Items can be optionally and automatically right and/or left delimited\&. The current item is delimited with square brackets\&. .in -4m .ZI 4m "[8]" Items can be left or right aligned\&. .in -4m .ZI 4m "[9]" Items can be stacked, which is supported only when \fIflow\fP is set to \fIcascade\fP\&. .in -4m .ZI 4m "[10]" \& .br Beginning with this item, \fIflow\fP is set to \fIcascade\fP\&. .in -4m .ZI 4m "Implying" \& 'in -4m .ZI 4m "That" \& 'in -4m .ZI 4m "Stacking" \& 'in -4m 'in +4m \& .br is now possible\&. .in -4m .ZJ 2m 2m "[12]" \& .br (back to right-align) The itemcounter just keeps running by the way\&. .in -4m .ZJ 2m 2m "[18]" (back to compact) But the counter can be manipulated at will\&. .in -4m .ZJ 2m 2m "\(bu" A bullet item\&. .in -4m .ZJ 2m 2m "\(bu" Now \fIinteritem\fP is set to 0 (affecting the current list), and a new list is started contiguous to the present text (by having its margintop set to 0)\&. .ZJ 2m 2m "a\&." Hubris .in -4m .ZJ 2m 2m "b\&." Laziness .in -4m .ZJ 2m 2m "c\&." Impatience .in -4m Are the three virtues of programming\&. .in -4m .ZJ 2m 2m "\(bu" This concludes a listing showing most of the itemize capabilities\&. .in -4m .in -2m .ll +2m .SH USING THE ITEMIZE ENVIRONMENT You steer the itemize environment by providing it with tag-value pairs like so: .di ZV .in 0 .nf \fC \ebegin{itemize}{ {flow}{compact} {interitem}{1} {align}{right} {type}{abc} {rp}{\&.} } .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR This is the list of tags that you may use\&. .ZI 2m "\fImargintop\fP" \& .br Top of table, anomalous unit (ems), default 0\&. .in -2m .ZI 2m "\fIinteritem\fP" \& .br Paragraph skip in \fIems\fP inbetween items, default 0\&. .in -2m .ZI 2m "\fIflow\fP" \& .br Set to compact or cascade .in -2m .ZI 2m "\fItextindent\fP" \& .br Width of text indent in ems\&. .in -2m .ZI 2m "\fIitemmargin\fP" \& .br Width of item margin in ems (for right-aligned items)\&. .in -2m .ZI 2m "\fImark\fP" \& .br E\&.g\&. \fC\e*{itembullet}\fP (if type=mark), affects \fC\eitem\fP\&. .in -2m .ZI 2m "\fIalign\fP" \& .br One of left or right (item alignment), default left\&. .in -2m .ZI 2m "\fIclass_all\fP" \& .br class name assigned to all block-level elements .in -2m .ZI 2m "\fIlp\fP" \& .br What\&'s printed immediately to the left of an item\&. .in -2m .ZI 2m "\fIrp\fP" \& .br What\&'s printed immediately to the right of an item\&. .in -2m .ZI 2m "\fItype\fP" \& .br One of mark, roman, abc, arabic, affects \fC\eitem\fP\&. .in -2m .ZI 2m "\fIitemcount\fP" \& .br The count of items seen so far, e\&.g\&. 13 right now\&. .in -2m You need to know that the itemize environment internally maps these tags to dollar keys simply by prepending a dollar\&. Thus, if you want to reset one of the values associated with such a tag, you need to do e\&.g\&. .di ZV .in 0 .nf \fC \eset{$align}{right} \eset{$itemcount}{30} .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR A more robust to do this is to ensure that the modified key is retrieved from the right dictionary, i\&.e\&. the top-level \fIitemize\fP dictionary, as follows\&. .di ZV .in 0 .nf \fC \eset{{dict}{itemize}}{$align}{right} \eset{{dict}{itemize}}{$itemcount}{30} .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR .SH THE SPACING ENVIRONMENT Its syntax is identical to that of the \fIitemize\fP environment\&. It accepts tags \fIleft\fP, \fIright\fP, \fItop\fP, and \fIbottom\fP\&. These should receive numeric values\&. The associated unit is \fIem\fP\&. The troff device does not yet support the \fItop\fP and \fIbottom\fP tags\&. .SH MACROS .ZI 2m "\e\fBenref#2\fP" \& 'in -2m .ZI 2m "\e\fBiref#2\fP" \& 'in -2m .ZI 2m "\e\fBlref#2\fP" \& 'in -2m .ZI 2m "\e\fBaref#2\fP" \& 'in -2m .ZI 2m "\e\fBhttpref#1\fP" \& 'in -2m .ZI 2m "\e\fBsibref#1\fP" \& 'in -2m .ZI 2m "\e\fBsibref#2\fP" \& 'in -2m .ZI 2m "\e\fBsibref#3\fP" \& 'in -2m 'in +2m \& .br \fC\eenref#2\fP \fIcreates\fP a link for which the first argument is the anchor and for which the second argument is the content (which can be left empty)\&. \fC\eiref#2\fP takes such an anchor as the first argument and it takes content that carries the link as the second argument\&. \fC\elref#2\fP takes a file name (possibly including a relative or absolute path) as the first argument and content as the second argument\&. \fC\earef#2\fP takes a URL (later possibly a URI) as the first argument and content as the second argument\&. \fC\esibref#2\fP takes a label as argument which presumably is the name of some application\&. It may append an extension depending on the current device, and it assumes that \fClabel + extension\fP is the name of a file in the current directory\&. The second argument is displayed in the text\&. For \fC\esibref#1\fP the displayed text is the same as the label\&. For \fC\esibref#3\fP the second argument is an additional anchor within the file being linked to, and the third argument is the displayed text\&. \fC\ehttpref#1\fP simply prints a URL which will be active when html is output\&. .in -2m .ZI 2m "\e\fBpar#1\fP" \& 'in -2m .ZI 2m "\e\fBcpar#2\fP" \& 'in -2m .ZI 2m "\e\fBcar#1\fP" \& 'in -2m .ZI 2m "\e\fBccar#2\fP" \& 'in -2m 'in +2m \& .br These are all paragraph macros that carry the paragraph content as the last argument\&. The first argument of \fC\ecpar#2\fP and \fC\eccar#2\fP is the caption\&. These macros will ensure well-formedness for devices that support it, such as html\&. Use \fC\ecar#1\fP where you don\&'t need a paragraph skip, but just need to indicate that you are in text mode again\&. You can simply always use \fC\epar#1\fP and never use \fC\ecar#1\fP\&. If you care about the details of spacing though, or if you have particular trouble for example in creating an itemize environment where you do not want top and bottom margins, then it could be worthwile to turn to \fC\ecar#1\fP\&. Examples for using \fC\ecar#1\fP are: .ZJ 1m 1m "\(bu" After an environment that always carries a bottom margin\&. .in -2m .ZJ 1m 1m "\(bu" After an environment that does \fInot\fP carry a bottom margin, and where you specifically want the environment to be contiguous to the enclosing text\&. The listing you are currently reading is an example of this\&. .in -2m As promised\&. The \fC\ecar\fP macro may feel a little unusual\&. If you don\&'t mind standing the chance of a little spurious vertical white-space just use \fC\epar\fP all the time\&. If you really need it, such as in an \&'inline\&' listing as above, the \fC\ecar\fP macro is ready to do the job\&. .in -2m .ZI 2m "\e\fBbf#1\fP" \& 'in -2m .ZI 2m "\e\fBit#1\fP" \& 'in -2m .ZI 2m "\e\fBtt#1\fP" \& 'in -2m .ZI 2m "\e\fBv#1\fP" \& 'in -2m .ZI 2m "\e\fBftinc#2\fP" \& 'in -2m .ZI 2m "\e\fBftdec#2\fP" \& 'in -2m 'in +2m \& .br The first four items set their argument in the \fBfont\fP \fIspecified\fP\&. \fC\ett#1\fP and \fC\ev#1\fP both denote a typewriter font\&. \fIThese macros should not be nested if troff is to be among the output devices\fP\&. Support for the last two items is not yet very robust\&. They temporarily \s+1increment\s-1 respectively \s-1decrement\s+1 the font by the amount of the first argument and apply the resulting setting to the second argument\&. .in -2m .ZI 2m "\e\fBverbatim#1\fP" \& 'in -2m .ZI 2m "\e\fBverbatix#1\fP" \& 'in -2m 'in +2m \& .br Make the device output the contents verbatim in a mono-spaced font, obeying spaces and newlines\&. This does not prohibit expansion of macros, use \fC\eprotect#1\fP for that\&. The macro \fC\everbatim#1\fP will create a non-breaking environment\&. .in -2m .SH ISSUES .ZI 2m "\fBNesting\fP" \& .br Do not nest \fC\ebf#1\fP, \fC\eit#1\fP, \fC\ett#1\fP, or \fC\ev#1\fP macros if troff is among the output devices\&. It will yield unexpected results\&. .in -2m The rest of this list pertains to the \fIitemize\fP environment\&. .in -2m .ZI 2m "\fBMargins\fP" \& .br Do not use fractional values for \fCtextindent\fP and \fCitemmargin\fP in the itemize environment, if troff is among the output devices\&. The reason is that the Aephea macros use the difference between these two values and pass them on to the output devices\&. Troff rounds all values it gets and thus the additive relationship between the values may be lost\&. .in -2m aephea-12-248/mac/doc/webindex.html0000644000402500021140000020756012021633733013760 00000000000000 A text-based authoring tool for HTML
September 5, 2012
aephea-12-248
Aephea
Effective and adaptable HTML authoring

The Hyper Text Markup Language, abbreviated and more commonly known as HTML, in conjunction with Cascading Style Sheets (CSS), is well equipped to deliver documents with beautiful layout, consistent styling, good typography, and last but not least support for enhanced accessibility. Its use as a document typesetting technology will only increase, off-line as well as on-line. It is however cumbersome (although certainly possible) to write HTML directly. Reasons for this are its verbosity, repetitiveness, and lack of abstraction mechanisms for authors. Aephea is a text-based authoring tool that aims to fill this gap.

Aephea enforces HTML well-formedness with a simpler and stricter syntax. It provides useful extensions and abstractions as well as facilities for adding new ones. Aephea stays close to HTML itself and utilizes CSS extensively. It is possible to write near-raw HTML and to build powerful abstractions in a single unified framework.

Aephea is pronounced ay - 'fee - ah, or 'ee - fee - ah, or any amalgam of the two, and stands somewhat grandiosely for Adaptable Exo-skeleton for Practical HTML Extension and Abstraction. It is a thin, expressive, and programmable framework for creating HTML documents, aimed at people who are familiar with HTML and Cascading Style Sheets, or intending to become so. Three micro-formats are currently shipped with it.

pud::man

A format in the Portable Unix Documentation section for writing manual pages with output in both HTML and troff, with further troff-derived outputs in PDF, PostScript, and plain text.

pud::faq

A format in the Portable Unix Documentation section for writing FAQ documents with output in both HTML and troff, with further troff-derived outputs in PDF, PostScript, and plain text.

simpledocument

A base format for writing HTML documents. The first goal is to push as much control to CSS rules that are closely tied to the document. The second goal is for aephea/simpledocument to be an example format, to be extended, varied, and replaced wholesale.

The updated version is now called aephea/simpledocument2, and is used by this document. All the lay-out rules are contained in a separate style file with the idiosyncratic name reaper2.css. It is shipped with aephea and can be accessed as contrib/reaper2.css. The code below shows the essential make-up of an aephea document. The CSS rules are included in the HTML <head> element so that the document is entirely self-contained.

begin{simpledocument2}{ {$toc_anchor}{Table of Contents} {$day}{\system{date}{{+%e}}} {$month}{\system{date}{{+%B}}} {$year}{\system{date}{{+%Y}}} {$toc_date}{\!$month \!$day, \!$year} {$keywords}{html abstraction and extension language, html with macros, html authoring framework } {$html_title}{A text-based authoring tool for HTML} {$title}{Aephea} {$subtitle}{Effective and adaptable HTML authoring} {$author}{Stijn van Dongen and Moniek Hopman} {$css_import}{} {$css_append}{ \zinsert{contrib/reaper2.css} body { font-family: "Garamond", "Gill Sans", "Verdana", sans-serif; } } }

The file contrib/reaper2.css can be viewed here. The result of omitting these rules from the document can be seen here.

Aephea has the following features.

thorough

As opposed to ad hoc. Lightweight mark-up languages are a dime a dozen, but nearly all of them have staggeringly improvised, free-style and brittle syntaxes. You can find many such languages on this list of macro and mark-up languages. As for Aephea, its claim to thoroughness is advocated below.

strict

Aephea makes it nearly impossible to write HTML that is not conforming. Closing tags are enforced by a strict syntax, as accepted by by zoem. Aephea files are processed by zoem and the latter will complain if scopes are not properly nested. Characters that are special to HTML are recognized by virtue of zoem's scoping design and are automatically escaped. An example with its rendering is this:

\par{A paragraph with \strong{some & sundry} suggested strongly.}

A paragraph with some & sundry suggested strongly.

This example uses Aephea definitions for paragraph and strong. It can be gleaned from the example that zoem syntax is reminiscent of TeX syntax. It has only a single meta-character, the backslash. Aephea introduces a limited number of convenience authoring elements, and is very much designed to be adapted and extended. It is possible to write the preceding example in the same syntax in a style reflecting raw HTML.

\<p class="myclass">{A paragraph with \<strong>{some & sundry} suggested strongly}

The syntax enforces correct nesting and closing of HTML elements. In Aephea-related documentation this syntax is for ease of reference called A-HTML, for Aephea-HTML. The A-HTML abbreviation is not used in any other way. In particular, Aephea documents are commonly given a .azm file name suffix, which is the established suffix for files processed by zoem.

These examples also show that ampersands do not require special treatment, as they, and angle brackets, are automatically escaped by zoem, Aephea's processor. It is however possible to inject raw HTML if desired. The following example introduces the plus-minus ± character entity and uses the same syntax for writing the ampersand character.

\par{A paragraph with \strong{\@e{plusmn} some \@e{amp} sundry} suggested strongly.}

A paragraph with ± some & sundry suggested strongly.

The \@e{txt} syntax expects txt to be the name of a valid HTML character entity. The existence of such an element is currently unchecked. For this and a few other cases it is recommended to follow Aephea document processing always with an HTML checker such as tidy. No errors or warnings should occur when using tidy.

Aephea is able to recognize ampersands and other characters that are special to HTML because zoem distinguishes different scopes while it processes text. These are respectively called device scope and plain scope. Device scope is introduced by syntax such as \<tag attr="value" title="device scope here">{ content; plain scope here }, \@e{entity}, and \@{raw html}. For more information refer to the Zoem User's Manual.

cascading

Use of CSS style rules and classes is favoured wherever possible. CSS files can be imported and exported. The current listing for example, uses a wordlist class to style the listing of Aephea characteristics (of which you are now reading cascading). The class is defined in the preamble, and the listing is introduced as follows.

\begin{itemize}{ {$flow}{cascade} {$interitem}{1} {$align}{left} {$class_item}{wordlist} }

If a particular element needs styling and no Aephea hook exists, the preferred way of styling it is to enclose it in an A-HTML div tag, as below. The class myclass can either be styled in the document preamble or in a style sheet that is imported.

\<div class="myclass">{ ... }

For this particularly common case, a shorthand form \div{myclass}{...} exists. Its definition is simple:

\def{div#2}{\<div class="\1">{\2}} \def{span#2}{\<span class="\1">{\2}}
lay-out abstractions

Aephea supports lay-out abstractions such as lists for which the appearance can be styled to a great extent in a convenient, unobtrusive and localized manner, as indicated in the example above. These abstractions can nest, and their display properties are controlled using CSS properties and classes.

structuring abstractions

Aephea provides document structuring abstractions such as sections and subsections at arbitrary levels, table of contents, counters, labels and more.

thin

Aephea introduces just a few convenient authoring constructs and interposes HTML in a more succinct, powerful and expressive syntax called A-HTML, for ease of reference. The authoring constructs are written in the same syntax and present only a thin abstraction layer by virtue of being small and simple. The result stays close to raw HTML and new abstraction layers are easily created. Rather than introducing an entire ontology of document elements, Aephea introduces the ones most needed. For document elements not provided by Aephea either A-HTML is used or the means exist to encode them.

On the one hand it is possible to use Aephea or zoem itself as a thin convenience layer and generate HTML directly. An example of this is to simply write the following.

\<h1>{Opening statements}

This results in an HTML <h1> element. On the other hand Aephea provides sec1, sec2, sec3 … macros that create anchors to the introduced element, keep track of section counters, update the table of contents, and that can be styled using style sheets. The corresponding usage would be equally simple however. In the next example the string os defines the label for this element. It can be used elsewhere in the document to link to the element, in a variety of ways.

\sec1{os}{Opening statements}

Aephea does not introduce a new element for block quotes. Instead one simply uses the <blockquote> element, wrapped in A-HTML.

\<blockquote>{ There has grown up in the minds of certain groups in this country the notion that because a man or a corporation has made a profit out of the public for a number of years, the government and the courts are charged with the duty of guaranteeing such profit in the future, even in the face of changing circumstances and contrary public interest. This strange doctrine is not supported by statute nor common law. Neither individuals nor corporations have any right to come into court and ask that the clock of history be stopped, or turned back, for their private benefit.}

Aephea documents are thus a hybrid of higher-level Aephea elements and A-HTML. If desired, it is possible to encode a new element for a specific purpose (that could for example map to a styled <blockquote> element) either in an Aephea document itself or in a definition file to be loaded by the document.

adaptable

The full set of Aephea definitions, as written in zoem, comprises approximately 600 instructions. New Aephea definitions are easy to write. Repetitive elements and tasks can be controlled in zoem.

encapsulation

A zoem facility called an environment is used to encapsulate larger scopes that require more state such as lists and enumerations. Environments may nest and the associated states are tracked automatically. Environment states are encoded in visually distinctive key-value lists.

Zoem provides the means to fully separate content from mark-up in the apply primitive, which takes a macro and applies it to a list.

expressive

Programmable macro facilities provide abstraction and standard control operators including branching and iteration. Dictionary stacks provide nested namespaces. Comprehensive IO, arithmetic, system commands, regular expressions and other facilities make zoem a rich development platform and the Aephea definitions hopefully succinct and readable.

The Change Log may be of interest.

The Aephea packages pud/man.zmm and pud/faq.zmm are very stable. For now there is just a single stable version.

The package simpledocument.zmm is more actively developed. Changes that are not compatible with existing documents lead to a new version of the package. It is still early days, so the latest version is simpledocument2.zmm.

The Aephea framework for now provides a small set of authoring components that should cover most if not all basic authoring needs. The design goals are:

Output HTML should be fully conforming.

All authoring aspects of the output HTML should be subject and amenable to styling by style sheets, either by CSS preambles or import files. Note that CSS preambles are visible in the Aephea documents themselves; for an example refer to Example source of an Aephea document.

Aephea source should be compact and easy to read.

The current set of Aephea definitions can undoubtedly be improved. It is the work of a single person, not nearly knowledgeable enough about document styling frameworks, with bad taste, working in their spare time. Without a doubt it would benefit from contributions and modifications by others, and these are very much welcome.

The HTML and CSS specifications offer a very rich document description and accession model. It is for example possible to generate section counters automatically via style sheet rules, and to control enumerations and lists to a great extent using style properties. The current Aephea definitions do not take advantage of this. It is conceivable that in these and other areas Aephea will increasingly use mechanisms provided by pure HTML and CSS. In most cases this should only affect the internal Aephea definitions rather than the Aephea elements themselves.

Importantly, Aephea for now only offers extended support for a single type of document called simpledocument, which can to some extent be styled using CSS. The current document is an example of this type. Aephea's claim is, hopefully rightfully, that simpledocument is pleasant to use, extensible and customisable, and that other document types are easy to develop.

Attribute syntax is not yet verified. For this and other cases it is recommended to validate Aephea output with an HTML checker such as tidy.

Aephea is not Unicode-enabled in the sense that it cannot represent Unicode characters internally. It operates on simple byte streams. Documents encoded in UTF-8 should pass through Aephea without any issues.

Aephea source is defined in macros. The mechanistic process of correct replay of macro definition and expansion is much more magical than pure XML transformational processing. James Clark, the author of groff and expat, and contributor to various XML-related standards, offered the following on this subject:

The problem with TeX and troff is that you're trying to use one language to do three rather different things. You're using it to mark up your documents, like XML; you're using it as a style language, like CSS or XSL; and you're using it to write programs to do the formatting. Using one language for all three separate requirements makes it suboptimal for all of them, in my view. It's suboptimal for markup because, if you have a document written in TeX or troff, it's very hard to do anything with it other than run it through TeX or troff, so that limits reuse. It's suboptimal for writing formatting programs because it got this bizarre syntax with backslashes all over the place, which makes the whole thing unreadable. And it's not a real programming language. One lesson I drew from TeX and groff is that you want a real programming language, not a macro processing language.
A Triumph of Simplicity: James Clark on Markup Languages and XML
July 01, 2001, Dr.Dobb's Journal.

This is true enough. It is nonetheless not very pleasant to write HTML or XML directly due to their repetitiveness, verbosity, and lack of programmability, the issues addressed by Aephea. Regarding syntax, convenience is probably a matter of taste, and one person's bizarre is another person's favourite. Regarding formatting, Aephea is not a markup language, but simply extends and supports HTML. Regarding a real programming language … I've found zoem's dictionary stacks a veritable programmability boon. Finally, I realise that James Clark was addressing the titans troff and TeX, not the miniscule project that is presently aephea.

The gap between magical macro processing and transformational processing is very real, and provides a view on the gaping abyss between ease-of-writing for humans and ease-of-processing for programs. As Tim Berners-Lee once said (in an MIT Technology review interview for which I have failed to find the original source so far), HTML was never intended to be encoded manually.

My current belief system includes the premise that only one other person (identified only as J.) uses Aephea, specifically the PUD macros. If you want to convince me otherwise, have questions to ask or contributions to share, please contact me. If at some point it seems that more than a handful of people use it, it would probably be a good idea to instigate a news group or mailing list.

The preceding section may sound like a sorry state of affairs, but the history of Aephea is simply that of a goal pursued and achieved (a.k.a. itch scrutinized and scratched). The goal I pursued was to have manual pages written in HTML and troff for various bits of software I had written. Being unhappy about existing solutions, most of which utilised transformations of one format to another, I envisioned a bottom-up solution where micro-formats can be created at will. The formats derive expressive power from macro and programming facilities, and can be mapped to different external formats (a.k.a. devices) by a built-in character filtering mechanism that distinguishes between content scope and device scope.

The macro/programming facilities with character filtering capabilities resulted in zoem, which was fun and instructive to create. The micro-format to create manual pages in HTML and troff ended up as PUD (Portable Unix Documentation), and it does exactly what it needs to do. Having written PUD macros that output to HTML manual pages, I began to use them to write web pages as well. This gradually took shape as a different authoring tool, unpublished, with many loose ends. For a long time zoem and PUD were shipped together, and the web page macros began to resemble spaghetti. The loose ends started to annoy, the web page macros were wrapped up and spun off as Aephea, with the PUD package shipped along. The end result is easier to maintain for me, the low-level language zoem finally separated from the micro-formats shipped in Aephea.

The Aephea Change Log contains a succinct summary of Aephea changes.

Download Aephea here. It is recommended to install with

./configure --prefix=$PREFIX

Files will be installed in $PREFIX/share/aephea, e.g.

$PREFIX/share/aephea/aephea/simpledocument.zmm $PREFIX/share/aephea/aephea/simpledocument.css $PREFIX/share/aephea/pud/man.zmm $PREFIX/share/aephea/pud/faq.zmm

Definition files are loaded in Aephea documents like this:

\import{aephea/simpledocument.zmm} \import{pud/man.zmm} \import{pud/faq.zmm}

In order to have zoem find the Aephea definition and CSS files automatically, install it (from the unpacked zoem sources) with

./configure --with-includepath=$PREFIX/share/aephea --prefix=$OTHERPREFIX

Of course, $OTHERPREFIX can be chosen the same as $PREFIX.

As a comprehensive example, this last section contains the entire source for the page you are now reading.

\: normally one uses \import{aephea/simpledocument.zmm} \import{../aephea/simpledocument2.zmm} \: import some definitions shared with other documents. \import{aephea.shared} \: the sequence \: introduces a comment until end of line. \: Another way of commenting is this: \""{ Larger comments that span multiple lines can be made like this. This can be used to quickly outcomment portions of a document. At the end of this document it is shown how to outcomment a trailing portion with \done. } \set{{modes}{c}}{COLOUR1}{#F2E6E6} \set{{modes}{c}}{COLOUR2}{#006600} \begin{simpledocument2}{ {$toc_anchor}{Table of Contents} {$day}{\system{date}{{+%e}}} {$month}{\system{date}{{+%B}}} {$year}{\system{date}{{+%Y}}} {$toc_date}{\!$month \!$day, \!$year} {$keywords}{html abstraction and extension language, html with macros, html authoring framework } {$html_title}{A text-based authoring tool for HTML} {$title}{Aephea} {$subtitle}{Effective and adaptable HTML authoring} {$author}{Stijn van Dongen and Moniek Hopman} \: not used. \: example of usage would be {$css_import}{{url1}{url2}...{urlN}} {$css_import}{} {$css_append}{ \zinsert{contrib/reaper2.css} body { font-family: "Garamond", "Gill Sans", "Verdana", sans-serif; } } } \set{m#1}{\v{\protect{\1}}} \set{example#1}{\div{example}{\1}} \: ----- ::: ----- ::: ----- ::: ----- ::: ----- ::: ----- :/ \<div id=asd_leftcolumn>{ \"asd::maketoc" } \<div id=asd_document_outer>{ \"asd::add-toc-start"{Start} \<div id=asd_document>{ \<div id="asd_date">{\$toc_date} \<div id="asd_version">{aephea-\finsert{stamp.stamp}} \<div id="asd_title">{\$title} \<div id="asd_subtitle">{\$subtitle} \:. .:. .:. .:. .:. .:. .:. .:. .:. .:. .:. .:/ \sec1{aepheanutshell}{Aephea in a nutshell} \par{ The Hyper Text Markup Language, abbreviated and more commonly known as \html, in conjunction with Cascading Style Sheets (\css), is well equipped to deliver documents with beautiful layout, consistent styling, good typography, and last but not least support for enhanced accessibility. Its use as a document typesetting technology will only increase, off-line as well as on-line. It is however cumbersome (although certainly possible) to write \html directly. Reasons for this are its verbosity, repetitiveness, and lack of abstraction mechanisms for authors. Aephea is a text-based authoring tool that aims to fill this gap. } \par{ Aephea enforces \html well-formedness with a simpler and stricter syntax. It provides useful extensions and abstractions as well as facilities for adding new ones. Aephea stays close to \html itself and utilizes \css extensively. It is possible to write near-raw \html and to build powerful abstractions in a single unified framework. } \par{ Aephea is pronounced \it{ay - 'fee - ah}, or \it{'ee - fee - ah}, or any amalgam of the two, and stands somewhat grandiosely for \em{Adaptable Exo-skeleton for Practical \html Extension and Abstraction}. It is a thin, expressive, and programmable framework for creating \html documents, aimed at people who are familiar with \html and Cascading Style Sheets, or intending to become so. Three micro-formats are currently shipped with it. } \begin{itemize}{ {$flow}{cascade} {$interitem}{1} {$align}{left} {$class_item}{namelist} } \item{pud::man} \car{ A format in the \lref{http://micans.org/pud}{Portable Unix Documentation} section for writing manual pages with output in both \html and troff, with further troff-derived outputs in \pdf, PostScript, and plain text. } \item{pud::faq} \car{ A format in the \lref{http://micans.org/pud}{Portable Unix Documentation} section for writing FAQ documents with output in both \html and troff, with further troff-derived outputs in \pdf, PostScript, and plain text. } \item{simpledocument} \car{ A base format for writing \html documents. The first goal is to push as much control to \css rules that are closely tied to the document. The second goal is for \v{aephea/simpledocument} to be an example format, to be extended, varied, and replaced wholesale. } \par{ The updated version is now called \v{aephea/simpledocument2}, and is used by this document. All the lay-out rules are contained in a separate style file with the idiosyncratic name \v{reaper2.css}. It is shipped with aephea and can be accessed as \v{contrib/reaper2.css}. The code below shows the essential make-up of an aephea document. The \sc{CSS} rules are included in the \sc{HTML} \v{<head>} element so that the document is entirely self-contained. } \verbatim{\protect{begin{simpledocument2}{ {$toc_anchor}{Table of Contents} {$day}{\system{date}{{+%e}}} {$month}{\system{date}{{+%B}}} {$year}{\system{date}{{+%Y}}} {$toc_date}{\!$month \!$day, \!$year} {$keywords}{html abstraction and extension language, html with macros, html authoring framework } {$html_title}{A text-based authoring tool for HTML} {$title}{Aephea} {$subtitle}{Effective and adaptable HTML authoring} {$author}{Stijn van Dongen and Moniek Hopman} {$css_import}{} {$css_append}{ \zinsert{contrib/reaper2.css} body { font-family: "Garamond", "Gill Sans", "Verdana", sans-serif; } } }}}\:/ \car{ The file \v{contrib/reaper2.css} can be \lref{src/aephea-latest/mac/contrib/reaper2.css}{viewed here}. The result of omitting these rules from the document can be \lref{index-bare.html}{seen here}. } \end{itemize} \sec1{feat}{Features} \par{ Aephea has the following features. } \begin{itemize}{ {$flow}{cascade} {$interitem}{1} {$align}{left} {$class_item}{wordlist} } \item{thorough} \car{ As opposed to \it{ad hoc}. Lightweight mark-up languages are a dime a dozen, but nearly all of them have staggeringly improvised, free-style and brittle syntaxes. You can find many such languages on \lref{http://micans.org/zoem/ecosphere.html}{this list of macro and mark-up languages}. As for Aephea, its claim to thoroughness is advocated below. } \item{strict} \car{ Aephea makes it nearly impossible to write \html that is not conforming. Closing tags are enforced by a strict syntax, as accepted by by \aref{http://micans.org/zoem}{zoem}. Aephea files are processed by zoem and the latter will complain if scopes are not properly nested. Characters that are special to \html are recognized by virtue of zoem's scoping design and are automatically escaped. An example with its rendering is this: } \verbatim{\protect{\:/ \par{A paragraph with \strong{some & sundry} suggested strongly.}}} \example{\par{A paragraph with \strong{some & sundry} suggested strongly.}} \par{ \enref{ahtml}{This} example uses Aephea definitions for \it{paragraph} and \it{strong}. It can be gleaned from the example that zoem syntax is reminiscent of TeX syntax. It has only a single meta-character, the backslash. Aephea introduces a limited number of convenience authoring elements, and is very much designed to be adapted and extended. It is possible to write the preceding example in the same syntax in a style reflecting raw \html. } \verbatim{\protect{\:/ \<p class="myclass">{A paragraph with \<strong>{some & sundry} suggested strongly}}} \par{ The syntax enforces correct nesting and closing of \html elements. In Aephea-related documentation this syntax is for ease of reference called \ahtml, for Aephea-\html. The \ahtml abbreviation is not used in any other way. In particular, Aephea documents are commonly given a \v{.azm} file name suffix, which is the established suffix for files processed by zoem. } \par{ These examples also show that ampersands do not require special treatment, as they, and angle brackets, are automatically escaped by zoem, Aephea's processor. It is however possible to inject raw \html if desired. The following example introduces the \it{plus-minus} \@e{plusmn} character entity and uses the same syntax for writing the ampersand character. } \verbatim{\protect{\:/ \par{A paragraph with \strong{\@e{plusmn} some \@e{amp} sundry} suggested strongly.}}} \example{\par{A paragraph with \strong{\@e{plusmn} some \@e{amp} sundry} suggested strongly.}} \par{ The \v{\\@e{txt}} syntax expects \v{txt} to be the name of a valid \html character entity. The existence of such an element is currently unchecked. For this and a few other cases it is recommended to follow Aephea document processing always with an \html checker such as \aref{http://tidy.sourceforge.net/}{tidy}. No errors or warnings should occur when using tidy. } \""{ Let's not go into this much detail for now; outcommented. Fully raw \html can be injected by using \v{\\@{text}} syntax. An equivalent form for \v{\\@e{amp}} is thus \v{\\@{&amp;}}. However, arbitrarily long stretches of \html may be inserted. Another valid example is \v{\\@{<hr noshade size="1">}}. The prefered form is in \ahtml however, and is written \v{\\<*hr noshade size="1">}, where the asterisk is used to indicate that the element does not need to be closed. The difference between \ahtml (\v{\\<tag attr="value">{content}}) and raw \html (\v{\\@{<tag attr="value">content</tag>}} or \v{\\@{<tag attr="value">} content \\@{</tag>}}) is that the former ensures correct closing and nesting of tags, whereas the latter is not checked. For that reason, \ahtml is recommended wherever possible. } \par{ Aephea is able to recognize ampersands and other characters that are special to \html because zoem distinguishes different scopes while it processes text. These are respectively called \em{device scope} and \em{plain scope}. Device scope is introduced by syntax such as \v{\\<tag attr="value" title="device scope here">{ content; plain scope here }}, \v{\\@e{entity}}, and \v{\\@{raw html}}. For more information refer to the \aref{http://micans.org/zoem/doc/zum.html}{Zoem User's Manual}. } \item{cascading} \car{ Use of \css style rules and classes is favoured wherever possible. \css files can be imported and exported. The current listing for example, uses a \it{wordlist} class to style the listing of Aephea characteristics (of which you are now reading \it{cascading}). The class is defined in the preamble, and the listing is introduced as follows. } \verbatim{\protect{\:/ \begin{itemize}{ {$flow}{cascade} {$interitem}{1} {$align}{left} {$class_item}{wordlist} }}} \car{ If a particular element needs styling and no Aephea hook exists, the preferred way of styling it is to enclose it in an \ahtml div tag, as below. The class \v{myclass} can either be styled in the document preamble \""{TODO, css_append} or in a style sheet that is imported. } \verbatim{\protect{\:/ \<div class="myclass">{ ... }}} \par{ For this particularly common case, a shorthand form \v{\protect{\div{myclass}{...}}} exists. Its definition is simple: } \verbatim{\protect{\:/ \def{div#2}{\<div class="\1">{\2}} \def{span#2}{\<span class="\1">{\2}} }} \item{lay-out abstractions} \car{ Aephea supports lay-out abstractions such as lists for which the appearance can be styled to a great extent in a convenient, unobtrusive and localized manner, as indicated in the example above. These abstractions can nest, and their display properties are controlled using \css properties and classes. } \item{structuring abstractions} \car{ Aephea provides document structuring abstractions such as sections and subsections at arbitrary levels, table of contents, counters, labels and more. } \item{thin} \car{ Aephea introduces just a few convenient authoring constructs and interposes \html in a more succinct, powerful and expressive syntax called \iref{ahtml}{\ahtml}, for ease of reference. The authoring constructs are written in the same syntax and present only a thin abstraction layer by virtue of being small and simple. The result stays close to raw \html and new abstraction layers are easily created. Rather than introducing an entire ontology of document elements, Aephea introduces the ones most needed. For document elements not provided by Aephea either \ahtml is used or the means exist to encode them. } \par{ On the one hand it is possible to use Aephea or zoem itself as a thin convenience layer and generate \html directly. An example of this is to simply write the following. } \verbatim{\protect{\<h1>{Opening statements}}} \par{ This results in an \html \v{<h1>} element. On the other hand Aephea provides \m{sec1}, \m{sec2}, \m{sec3} \@{&hellip;} macros that create anchors to the introduced element, keep track of section counters, update the table of contents, and that can be styled using style sheets. The corresponding usage would be equally simple however. In the next example the string \v{os} defines the label for this element. It can be used elsewhere in the document to link to the element, in a variety of ways. } \verbatim{\protect{\:/ \sec1{os}{Opening statements}}} \par{ Aephea does not introduce a new element for block quotes. Instead one simply uses the \v{<blockquote>} element, wrapped in \ahtml. } \verbatim{\protect{\:/ \<blockquote>{ There has grown up in the minds of certain groups in this country the notion that because a man or a corporation has made a profit out of the public for a number of years, the government and the courts are charged with the duty of guaranteeing such profit in the future, even in the face of changing circumstances and contrary public interest. This strange doctrine is not supported by statute nor common law. Neither individuals nor corporations have any right to come into court and ask that the clock of history be stopped, or turned back, for their private benefit.} }} \par{ Aephea documents are thus a hybrid of higher-level Aephea elements and \ahtml. If desired, it is possible to encode a new element for a specific purpose (that could for example map to a styled \v{<blockquote>} element) either in an Aephea document itself or in a definition file to be loaded by the document. } \item{adaptable} \car{ The full set of Aephea definitions, as written in zoem, comprises approximately 600 instructions. New Aephea definitions are easy to write. Repetitive elements and tasks can be controlled in zoem. } \item{encapsulation} \car{ A zoem facility called an environment is used to encapsulate larger scopes that require more state such as lists and enumerations. Environments may nest and the associated states are tracked automatically. Environment states are encoded in visually distinctive key-value lists. } \par{ Zoem provides the means to fully separate content from mark-up in the \m{apply} primitive, which takes a macro and applies it to a list. } \item{expressive} \car{ Programmable macro facilities provide abstraction and standard control operators including branching and iteration. Dictionary stacks provide nested namespaces. Comprehensive IO, arithmetic, system commands, regular expressions and other facilities make zoem a rich development platform and the Aephea definitions hopefully succinct and readable. } \end{itemize} \sec1{versioning}{Versioning} \par{ The \lref{src/aephea-latest/ChangeLog}{Change Log} may be of interest. } \par{ The Aephea packages \v{pud/man.zmm} and \v{pud/faq.zmm} are very stable. For now there is just a single stable version. } \par{ The package \v{simpledocument.zmm} is more actively developed. Changes that are not compatible with existing documents lead to a new version of the package. It is still early days, so the latest version is \v{simpledocument2.zmm}. } \sec1{aim}{Aims and constraints} \par{ The Aephea framework for now provides a small set of authoring components that should cover most if not all basic authoring needs. The design goals are: } \begin{itemize}{ {flow}{compact} {align}{right} {mark}{\@{&ndash;}} {interitem}{1} } \item \car{ Output \html should be fully conforming. } \item \car{ All authoring aspects of the output \html should be subject and amenable to styling by style sheets, either by \css preambles or import files. Note that \css preambles are visible in the Aephea documents themselves; for an example refer to \secref{example}. } \item \car{ Aephea source should be compact and easy to read. } \end{itemize} \sec1{short}{Costs, shortcomings and limitations (annotated)} \begin{itemize}{ {flow}{compact} {align}{right} {mark}{\@{&ndash;}} {interitem}{1} } \item \car{ The current set of Aephea definitions can undoubtedly be improved. It is the work of a single person, not nearly knowledgeable enough about document styling frameworks, with bad taste, working in their spare time. Without a doubt it would benefit from contributions and modifications by others, and these are very much welcome. } \par{ The \html and \css specifications offer a very rich document description and accession model. It is for example possible to generate section counters automatically via style sheet rules, and to control enumerations and lists to a great extent using style properties. The current Aephea definitions do not take advantage of this. It is conceivable that in these and other areas Aephea will increasingly use mechanisms provided by pure \html and \css. In most cases this should only affect the internal Aephea definitions rather than the Aephea elements themselves. } \item \car{ Importantly, Aephea for now only offers extended support for a single type of document called \v{simpledocument}, which can to some extent be styled using \css. The current document is an example of this type. Aephea's claim is, hopefully rightfully, that \v{simpledocument} is pleasant to use, extensible and customisable, and that other document types are easy to develop. } \item \car{ Attribute syntax is not yet verified. For this and other cases it is recommended to validate Aephea output with an \html checker such as \aref{http://tidy.sourceforge.net/}{tidy}. } \item \car{ Aephea is not Unicode-enabled in the sense that it cannot represent Unicode characters internally. It operates on simple byte streams. Documents encoded in UTF-8 should pass through Aephea without any issues. } \item \car{ Aephea source is defined in macros. The mechanistic process of correct replay of macro definition and expansion is much more magical than pure \xml transformational processing. James Clark, the author of groff and expat, and contributor to various \xml-related standards, offered the following on this subject: } \<blockquote>{ The problem with TeX and troff is that you're trying to use one language to do three rather different things. You're using it to mark up your documents, like \xml; you're using it as a style language, like \css or \xsl; and you're using it to write programs to do the formatting. Using one language for all three separate requirements makes it suboptimal for all of them, in my view. It's suboptimal for markup because, if you have a document written in TeX or troff, it's very hard to do anything with it other than run it through TeX or troff, so that limits reuse. It's suboptimal for writing formatting programs because it got this bizarre syntax with backslashes all over the place, which makes the whole thing unreadable. And it's not a real programming language. One lesson I drew from TeX and groff is that you want a real programming language, not a macro processing language. } \div{quote_attribution}{ \it{A Triumph of Simplicity: James Clark on Markup Languages and XML}\| July 01, 2001, Dr.Dobb's Journal.} \par{ This is true enough. It is nonetheless not very pleasant to write \html or \xml directly due to their repetitiveness, verbosity, and lack of programmability, the issues addressed by Aephea. Regarding syntax, convenience is probably a matter of taste, and one person's bizarre is another person's favourite. Regarding formatting, Aephea is not a markup language, but simply extends and supports \html. Regarding a real programming language \@e{hellip} I've found zoem's \it{dictionary stacks} a veritable programmability boon. Finally, I realise that James Clark was addressing the titans troff and TeX, not the miniscule project that is presently aephea. } \par{ The gap between magical macro processing and transformational processing is very real, and provides a view on the gaping abyss between ease-of-writing for humans and ease-of-processing for programs. As Tim Berners-Lee once said (in an \<abbr class="ucase">{MIT} Technology review interview for which I have failed to find the original source so far), \html was never intended to be encoded manually. } \end{itemize} \sec1{question}{Questions and contributions} \par{ My current belief system includes the premise that only one other person (identified only as \v{J.}) uses Aephea, specifically the PUD macros. If you want to convince me otherwise, have questions to ask or contributions to share, please \aref{http://micans.org/stijn/contact.html}{contact me}. If at some point it seems that more than a handful of people use it, it would probably be a good idea to instigate a news group or mailing list. } \sec1{history}{History} \par{ The preceding section may sound like a sorry state of affairs, but the history of Aephea is simply that of a goal pursued and achieved (a.k.a. itch scrutinized and scratched). The goal I pursued was to have manual pages written in \html and troff for various bits of software I had written. Being unhappy about existing solutions, most of which utilised transformations of one format to another, I envisioned a bottom-up solution where micro-formats can be created at will. The formats derive expressive power from macro and programming facilities, and can be mapped to different external formats (a.k.a. \it{devices}) by a built-in character filtering mechanism that distinguishes between content scope and device scope. } \par{ The macro/programming facilities with character filtering capabilities resulted in \lref{http://micans.org/zoem}{zoem}, which was fun and instructive to create. The micro-format to create manual pages in \html and troff ended up as \lref{http://micans.org/pud}{\pud} (Portable Unix Documentation), and it does exactly what it needs to do. Having written \pud macros that output to \html manual pages, I began to use them to write web pages as well. This gradually took shape as a different authoring tool, unpublished, with many loose ends. For a long time zoem and \pud were shipped together, and the web page macros began to resemble spaghetti. The loose ends started to annoy, the web page macros were wrapped up and spun off as Aephea, with the \pud package shipped along. The end result is easier to maintain for me, the low-level language zoem finally separated from the micro-formats shipped in Aephea. } \par{ The \lref{src/aephea-latest/ChangeLog}{Aephea Change Log} contains a succinct summary of Aephea changes. } \sec1{install}{Installing Aephea} \par{ Download Aephea \lref{src}{here}. It is recommended to install with } \verbatim{\protect{./configure --prefix=$PREFIX}} \par{ Files will be installed in $PREFIX/share/aephea, e.g. } \verbatim{\protect{\:/ $PREFIX/share/aephea/aephea/simpledocument.zmm $PREFIX/share/aephea/aephea/simpledocument.css $PREFIX/share/aephea/pud/man.zmm $PREFIX/share/aephea/pud/faq.zmm}} \par{ Definition files are loaded in Aephea documents like this:} \verbatim{\protect{\:/ \import{aephea/simpledocument.zmm} \: for HTML document. \import{pud/man.zmm} \: for (Unix) manual page. \import{pud/faq.zmm} \: for FAQ. }} \par{ In order to have zoem find the Aephea definition and CSS files automatically, \lref{http://micans.org/zoem/src}{install it} (from the unpacked zoem sources) with } \verbatim{\protect{\:/ ./configure --with-includepath=$PREFIX/share/aephea --prefix=$OTHERPREFIX}} \par{ Of course, \v{$OTHERPREFIX} can be chosen the same as \v{$PREFIX}. } \""{ Bad idea. Docbook bad. Docbook BAD. Aephea good. \sec1{ideas}{Ideas} \begin{itemize}{ {flow}{compact} {align}{right} {mark}{\@{&ndash;}} {interitem}{1} } \item \car{ Mapping or extending the Aephea definitions to Docbook output. This should be doable, and take away a lot of pain from the creation of Docbook documents. } \end{itemize} } \sec1{example}{Example source of an Aephea document} \par{ As a comprehensive example, this last section contains the entire source for the page you are now reading. } \recipe{\finsert{webindex.azm}} \:. .:. .:. .:. .:. .:. .:. .:. .:. .:. .:. .:/ \"asd::add-toc-end"{End} }} \end{simpledocument2} \:. .:. .:. .:. .:. .:. .:. .:. .:. .:. .:. .:/ \done The zoem \done primitive as used above is not really necessary. What it does is to quit processing at the current interpretation level. For the preceding use the interpretation level is file level, so processing of the current file is stopped. It is possible to use the section after a \done primitive as scratch area and junk yard. This paragraph thus does not show up in the processed output.
aephea-12-248/mac/doc/Makefile.am0000644000402500021140000000340111734561562013317 00000000000000## Process this file with automake to produce Makefile.in ## ZOEM = zoem -s __searchpath__=.. TIDY = tidy TROFF = groff COL = col docdir = $(datadir)/$(PACKAGE)/doc doc_DATA = pud-man.html pud-man.ps pud-man.txt \ pud-faq.html pud-faq.ps pud-faq.txt \ aephea-ref.html aephea-ref.ps aephea-ref.txt \ aephea-base.html aephea-base.ps aephea-base.txt \ pud.html pud.ps pud.txt \ buzzz.azm buzzz.html buzzz.ps buzzz.txt buzzz.1 webindex.html docexamplesdir = $(datadir)/${PACKAGE}/examples docexamples_DATA = pud-man.azm pud-faq.azm aephea-base.azm aephea-ref.azm pud.azm webindex.azm man_MANS = pud-man.7 pud-faq.7 aephea-base.7 pud-man.7 aephea-ref.7 pud.7 stamp_foo = stamp.day stamp.month stamp.stamp stamp.tag stamp.year EXTRA_DIST = $(docexamples_DATA) $(doc_DATA) $(man_MANS) $(stamp_foo) aephea.shared webindex.azm SUFFIXES = .7 .azm .html .ps .azm.1: $(ZOEM) -d roff -i $< -o $@ $(ZOEM) -d roff -i $< -o $@ .1.ps: $(TROFF) -man $< > $@ .1.txt: $(TROFF) -t -e -mandoc -Tascii $< | $(COL) -bx > $@ .azm.7: $(ZOEM) -d roff -i $< -o $@ $(ZOEM) -d roff -i $< -o $@ .7.ps: $(TROFF) -man $< > $@ .7.txt: $(TROFF) -t -e -mandoc -Tascii $< | $(COL) -bx > $@ .azm.html: local.css $(ZOEM) -d html -i $< -o $@ $(ZOEM) -d html -i $< -o $@ - $(TIDY) -e $@ pud-man: pud-man.7 pud-man.html pud-man.ps pud-faq: pud-faq.7 pud-faq.html pud-faq.ps aephea-base: aephea-base.7 aephea-base.html aephea-base.ps aephea-ref: aephea-ref.7 aephea-ref.html aephea-ref.ps pud: pud.7 pud.html pud.ps webindex.html: webindex.azm $(ZOEM) -i webindex.azm -o webindex.html -d html --allow=date $(ZOEM) -i webindex.azm -o webindex.html -d html --allow=date - $(TIDY) -e webindex.html buzzz: buzzz.1 buzzz.html buzzz.ps buzzz.txt aephea-12-248/mac/doc/pud-man.ps0000644000402500021140000006361011322640157013167 00000000000000%!PS-Adobe-3.0 %%Creator: groff version 1.18.1.1 %%CreationDate: Mon Jan 11 15:14:55 2010 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic %%+ font Courier %%DocumentSuppliedResources: procset grops 1.18 1 %%Pages: 4 %%PageOrder: Ascend %%Orientation: Portrait %%EndComments %%BeginProlog %%BeginResource: procset grops 1.18 1 /setpacking where{ pop currentpacking true setpacking }if /grops 120 dict dup begin /SC 32 def /A/show load def /B{0 SC 3 -1 roll widthshow}bind def /C{0 exch ashow}bind def /D{0 exch 0 SC 5 2 roll awidthshow}bind def /E{0 rmoveto show}bind def /F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def /G{0 rmoveto 0 exch ashow}bind def /H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /I{0 exch rmoveto show}bind def /J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def /K{0 exch rmoveto 0 exch ashow}bind def /L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /M{rmoveto show}bind def /N{rmoveto 0 SC 3 -1 roll widthshow}bind def /O{rmoveto 0 exch ashow}bind def /P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /Q{moveto show}bind def /R{moveto 0 SC 3 -1 roll widthshow}bind def /S{moveto 0 exch ashow}bind def /T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def /SF{ findfont exch [exch dup 0 exch 0 exch neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /MF{ findfont [5 2 roll 0 3 1 roll neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /level0 0 def /RES 0 def /PL 0 def /LS 0 def /MANUAL{ statusdict begin/manualfeed true store end }bind def /PLG{ gsave newpath clippath pathbbox grestore exch pop add exch pop }bind def /BP{ /level0 save def 1 setlinecap 1 setlinejoin 72 RES div dup scale LS{ 90 rotate }{ 0 PL translate }ifelse 1 -1 scale }bind def /EP{ level0 restore showpage }bind def /DA{ newpath arcn stroke }bind def /SN{ transform .25 sub exch .25 sub exch round .25 add exch round .25 add exch itransform }bind def /DL{ SN moveto SN lineto stroke }bind def /DC{ newpath 0 360 arc closepath }bind def /TM matrix def /DE{ TM currentmatrix pop translate scale newpath 0 0 .5 0 360 arc closepath TM setmatrix }bind def /RC/rcurveto load def /RL/rlineto load def /ST/stroke load def /MT/moveto load def /CL/closepath load def /Fr{ setrgbcolor fill }bind def /Fk{ setcmykcolor fill }bind def /Fg{ setgray fill }bind def /FL/fill load def /LW/setlinewidth load def /Cr/setrgbcolor load def /Ck/setcmykcolor load def /Cg/setgray load def /RE{ findfont dup maxlength 1 index/FontName known not{1 add}if dict begin { 1 index/FID ne{def}{pop pop}ifelse }forall /Encoding exch def dup/FontName exch def currentdict end definefont pop }bind def /DEFS 0 def /EBEGIN{ moveto DEFS begin }bind def /EEND/end load def /CNT 0 def /level1 0 def /PBEGIN{ /level1 save def translate div 3 1 roll div exch scale neg exch neg exch translate 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit []0 setdash /setstrokeadjust where{ pop false setstrokeadjust }if /setoverprint where{ pop false setoverprint }if newpath /CNT countdictstack def userdict begin /showpage{}def }bind def /PEND{ clear countdictstack CNT sub{end}repeat level1 restore }bind def end def /setpacking where{ pop setpacking }if %%EndResource %%IncludeResource: font Times-Roman %%IncludeResource: font Times-Bold %%IncludeResource: font Times-Italic %%IncludeResource: font Courier grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron /scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent /ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen /period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon /semicolon/less/equal/greater/question/at/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/bracketleft/backslash/bracketright/circumflex /underscore/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/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft /guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl /endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut /dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash /quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen /brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft /logicalnot/minus/registered/macron/degree/plusminus/twosuperior /threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior /ordmasculine/guilsinglright/onequarter/onehalf/threequarters /questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE /Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn /germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash /ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def /Courier@0 ENC0/Courier RE/Times-Italic@0 ENC0/Times-Italic RE /Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE %%EndProlog %%Page: 1 1 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 141.375 <7075642d6d616e283729204d495343454c4c414e454f5553>20 48 R <7075642d6d616e283729>146.375 E/F1 10.95/Times-Bold@0 SF -.219<4e41>20 84 S<4d45>.219 E F0 1.683<7075642d6d616e20ad2041206465736372697074696f6e 206f662074686520506f727461626c6520556e697820446f63756d656e746174696f6e20 4c616e677561676520666f722077726974696e67206d616e75616c>100 96 R <7061676573>100 108 Q F1<4445534352495054494f4e>20 124.8 Q F0 .611<5468 697320646f63756d656e74206465736372696265732074686520506f727461626c652055 6e697820446f63756d656e746174696f6e202850554429206d616e75616c207061676520 6d696e692d6c616e67756167652e>100 136.8 R 1.328<5055442d6d616e2069732062> 100 148.8 R 1.328<75696c74206f6e20746f70206f6620746865206d6163726f20696e 746572707265746572207a6f656d2e20412050554420646f63756d656e74206973206765 6e6572616c6c792077656c6c2d>-.2 F 1.297 <737472756374757265642c2072656c617469>100 160.8 R -.15<7665>-.25 G 1.297 <6c792066726565206f6620666f726d617474696e672073746174656d656e74732c2063 6f6d7061637420746f20777269746520616e6420656173696c792065>.15 F 1.298 <7874656e6461626c652e204974>-.15 F 1.383<63616e20626520636f6e>100 172.8 R -.15<7665>-.4 G 1.383<7274656420746f20626f74682074726f66>.15 F 3.883 <6661>-.25 G 1.383<6e642068746d6c2c20666f7220766965>-3.883 F 1.382 <77696e6720696e207465726d696e616c7320616e642062726f>-.25 F 1.382 <77736572732e2048696768207175616c697479>-.25 F <506f737473637269707420616e6420706c61696e207465>100 184.8 Q <787420666f726d6174732063616e2062652064657269>-.15 E -.15<7665>-.25 G 2.5<6466>.15 G<726f6d207468652074726f66>-2.5 E 2.5<666f>-.25 G <75747075742e>-2.5 E .36<577269746520796f7572206f>100 208.8 R .36 <776e206d616e75616c20706167657320627920636f70>-.25 F .361 <79696e67207468652065>-.1 F .361<78616d706c652070616765>-.15 F/F2 10 /Times-Italic@0 SF -.2<6275>2.861 G<7a7a7a2e617a6d>.2 E F0 .361 <616e64206d6f64696679696e6720697420746f20796f7572>2.861 F .402 <6e656564732e20496620796f752061726520646f63756d656e74696e67>100 220.8 R F2<666f6f>2.901 E F0 2.901<2c74>C .401 <686520757375616c20617070726f61636820697320746f20637265617465>-2.901 F F2<666f6f2e617a6d>2.901 E F0 2.901<2c61>C .401 <6e642066726f6d207468617420637265617465>-2.901 F F2<666f6f2e31>100 232.8 Q F0<616e64>2.5 E F2<666f6f2e68746d6c>2.5 E F0<617320666f6c6c6f>2.5 E <77733a>-.25 E/F3 10/Courier@0 SF <7a6f656d202d6920666f6f202d642068746d6c>118 256.8 Q <7a6f656d202d6920666f6f202d642068746d6c>118 268.8 Q <7a6f656d202d6920666f6f202d6420726f6666202d6f20666f6f2e31>118 280.8 Q <7a6f656d202d6920666f6f202d6420726f6666202d6f20666f6f2e31>118 292.8 Q F0 .07<546869732067656e657261746573208c6c657320666f6f2e68746d6c20616e642066 6f6f2e312e>100 316.8 R .071<45616368206465>5.07 F .071<7669636520697320 72756e20747769636520746f206265206365727461696e2074686174207265666572656e 63657320617265>-.25 F<666f756e6420616e64206c696e6b>100 328.8 Q <65642e20506f737453637269707420616e64207465>-.1 E<78742076>-.15 E <657273696f6e732063616e206265206d6164652066726f6d>-.15 E F3<666f6f2e31> 2.5 E F0<617320666f6c6c6f>2.5 E<77733a>-.25 E F3 <67726f6666202d6d616e20666f6f2e31203e20666f6f2e7073>118 352.8 Q<67726f66 66202d74202d65202d6d616e646f63202d54617363696920666f6f2e31207c20636f6c20 2d6278203e20666f6f2e747874>118 364.8 Q F0 1.646 <4e6f74652074686f7567682074686174>100 388.8 R F3<666f6f2e31>4.146 E F0 1.646<646f6573206e6f742075736520616e>4.146 F 4.146<7967>-.15 G<726f66> -4.146 E 4.146<6673>-.25 G 1.646<706563698c632065>-4.146 F 1.645 <7874656e73696f6e733b2069742073686f756c642062652061636365707461626c65> -.15 F<696e70757420746f20616e6369656e7420726f66>100 400.8 Q <66732061732077656c6c2e>-.25 E <457863657074696f6e7320746f207468697320696d706c7920612062>5 E <756720696e2074686520505544206d616e206d6163726f732e>-.2 E -1.1<596f>100 424.8 S 3.513<7561>1.1 G 1.013<7265206164766973656420746f20737461727420 627920696e7370656374696e6720612074656d706c617465206d616e75616c2070616765 2073756368206173>-3.513 F F2 -.2<6275>3.514 G<7a7a7a2e617a6d>.2 E F0 3.514<2e54>C 1.014<68652063757272656e74>-3.514 F .685 <6d616e75616c207061676520646f63756d656e7473207468652066>100 436.8 R .685 <6163696c697469657320616e64206d6163726f73206d6164652061>-.1 F -.25<7661> -.2 G .684 <696c61626c652062792074686520505544206d616e75616c206c616e6775616765>.25 F<627920696d706f7274696e6720746865208c6c65>100 448.8 Q F3 <6d616e2e7a6d6d>2.5 E F0 5<2e54>C<686520737472756374757265206f662061206d 616e75616c20706167652074687573207479706963616c6c79206c6f6f6b73206c696b> -5 E 2.5<6574>-.1 G<6869733a>-2.5 E <7075642d6d616e20312e3030322c2031302d303038>20 768 Q 2.5<384a>118.455 G <616e2032303130>-2.5 E<31>207.335 E 0 Cg EP %%Page: 2 2 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 141.375 <7075642d6d616e283729204d495343454c4c414e454f5553>20 48 R <7075642d6d616e283729>146.375 E/F1 10/Courier@0 SF <5c696d706f72747b6d616e2e7a6d6d7d>100 84 Q <5c626567696e7b7075643a3a6d616e7d7b>118 108 Q <7b6e616d657d7b7075642d6d616e7d>136 132 Q<7b68746d6c5f7469746c657d7b5468 6520505544206d616e75616c2070616765206d696e692d6c616e67756167657d>136 144 Q<7b617574686f727d7b5374696a6e2076616e20446f6e67656e7d>136 156 Q <7b73656374696f6e7d7b377d>136 168 Q<7b796561727d7b323030397d>136 180 Q <7b6d6f6e74687d7b4a616e7d>136 192 Q<7b6461797d7b31357d>136 204 Q <7b7461677d7b312e3030327d>136 216 Q<7b7374616d707d7b30392d3031357d>136 228 Q<7b6465667374796c657d7b6c6f6e677d>136 240 Q <7b73796e7374796c657d7b6c6f6e677d>136 252 Q<7d>118 276 Q <5c247b68746d6c7d7b5c227075643a3a6d616e3a3a6d616b65746f63227d>118 300 Q <5c7365637b6e616d657d7b4e414d457d>118 324 Q<5c4e414d457b7075642d6d616e7d 7b41206465736372697074696f6e206f662074686520506f727461626c6520556e697820 446f63756d656e746174696f6e204c616e677561676520666f722077726974696e67206d 616e75616c2070616765737d>118 336 Q <5c7365637b6465736372697074696f6e7d7b4445534352495054494f4e7d>118 360 Q <5c7061727b202e2e2e2e2e>118 372 Q<2e2e2e2e2e7d>12 E <5c7365637b736f6d657d7b53454354494f4e7d>118 396 Q <5c7061727b202e2e2e2e2e>118 408 Q<2e2e2e2e2e7d>12 E <5c656e647b7075643a3a6d616e7d>118 432 Q F0 .895<54686520505544206d616e75 616c2070616765206d6163726f207061636b616765206175746f6d61746963616c6c7920 696d706f727473206120736574206f662067656e65726963206d6163726f732066726f6d 20746865>100 456 R F1<6165706865612d62617365>100 468 Q F0<616e64>3.51 E F1<6165706865612d726566>3.51 E F0 1.01<7061636b616765732e20546865>3.51 F /F2 10/Times-Bold@0 SF<6165706865612d62617365283729>3.51 E F0<616e64> 3.51 E F2<6165706865612d72>3.51 E<6566283729>-.18 E F0<6d616e75616c>3.51 E 1.795<706167657320646f63756d656e742074686f7365206d6163726f732c20776869 63682061726520616c736f20657373656e7469616c20666f722077726974696e67206d61 6e75616c2070616765732e20546865206d6f7374>100 480 R <696d706f7274616e7420617265>100 492 Q 17.5<692920546865>103.89 516 R/F3 10/Times-Italic@0 SF<6974656d697a65>9.414 E F0<656e>9.414 E 6.913 <7669726f6e6d656e74202875736564206173>-.4 F F1 6.913 <5c626567696e7b6974656d697a657d5b7b6f7074696f6e737d5d202e2e2e>9.413 F <5c656e647b6974656d697a657d>130 528 Q F0 2.725<2961>C .225 <6e6420697473206173736f636961746564206d6163726f73>-2.725 F F1 <5c6974656d2331>2.725 E F0<2c>A F1<5c6974656d732331>2.725 E F0<2c>A F1 -3.275<5c6974656d205c6974656d2d>2.725 F<736b6970>130 540 Q F0<2c>A F1 <5c696e7465726d657a7a6f>2.5 E F0 2.5<2c61>C<6e64206f74686572732e>-2.5 E 17.5<69692920546865>101.11 564 R .597 <666f6e74207374796c652f617070656172616e6365206d6163726f73>3.097 F F1 <5c62662331>3.097 E F0<2c>A F1<5c69742331>3.096 E F0<2c>A F1<5c74742331> 3.096 E F0<2c>A F1<5c762331>3.096 E F0 3.096<2c74>C .596 <686520666f6e742073697a65206d6163726f73>-3.096 F F1<5c6674696e632332>130 576 Q F0<616e64>2.5 E F1<5c66746465632332>2.5 E F0<2e>A 17.5 <6969692920546865>98.33 600 R<706172616772617068206d61726b>2.5 E F1 <5c7061722331>2.5 E F0 <28726571756972656420666f72206561636820706172616772617068292e>2.5 E -.25 <6976>99.14 624 S 20<2954>.25 G<68652076>-20 E <6572626174696d206d6163726f73>-.15 E F1<5c766572626174696d2331>2.5 E F0 <616e64>2.5 E F1<5c76657262617469782331>2.5 E F0<2e>A 17.5<762920546865> 101.67 648 R<6c696e6b206d6163726f73>2.5 E F1<5c687474707265662331>2.5 E F0<2c>A F1<5c7369627265662332>2.5 E F0<2c>A F1<5c697265662332>2.5 E F0 <2c>A F1<5c6c7265662332>2.5 E F0<2c>A F1<5c617265662332>2.5 E F0<2e>A 17.5<76692920496e>98.89 672 R F2<6165706865612d72>2.5 E<6566283729>-.18 E F0<7468652070616972206f66>2.5 E F1<5c7265666572656e63652332>2.5 E F0 <616e64>2.5 E F1<5c72656665722331>2.5 E F0<2e>A -.15<466f>100 696 S 3.567<7274>.15 G 1.067<686520617574686f72617469>-3.567 F 1.367 -.15 <7665206c>-.25 H 1.067<697374696e6720636f6e73756c7420746865>.15 F F2 <6165706865612d62617365>3.568 E F0 1.068 <6d616e75616c20706167652e20546865206c697374696e672061626f>3.568 F 1.368 -.15<76652069>-.15 H 1.068<6e636c756465732061>.15 F .508<73696c6c792064 656d6f6e7374726174696f6e206f6620736f6d65206974656d697a652066656174757265 73207375636820617320616c69676e6d656e7420616e64206175746f6d61746963206e75 6d626572696e672e2052656164>100 708 R<746865>100 720 Q F2 .816 <5a6f656d2055736572204d616e75616c>3.316 F F0 .817<666f722061206265747465 7220756e6465727374616e64696e67206f66207a6f656d206d6163726f207061636b6167 657320616e64207468652064657369676e206f66>3.316 F <7075642d6d616e20312e3030322c2031302d303038>20 768 Q 2.5<384a>118.455 G <616e2032303130>-2.5 E<32>207.335 E 0 Cg EP %%Page: 3 3 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 141.375 <7075642d6d616e283729204d495343454c4c414e454f5553>20 48 R <7075642d6d616e283729>146.375 E<7a6f656d2e>100 84 Q/F1 10.95 /Times-Bold@0 SF<4d41>20 100.8 Q<4352>-.602 E<4f53>-.329 E F0<546865>100 112.8 Q/F2 10/Courier@0 SF<5c246d616e>2.545 E F0 -.1<6b65>2.545 G 2.545 <7969>-.05 G 2.545<6e74>-2.545 G<6865>-2.545 E F2<7075643a3a6d616e>2.545 E F0<656e>2.545 E .044<7669726f6e6d656e742063616e206265207573656420746f 20736574207468652063656e74657265642068656164696e6720666f756e6420696e>-.4 F 1.833<616c6c20554e495820726f66>100 124.8 R 4.333<666d>-.25 G 1.833<61 6e75616c2070616765732e204966206e6f74207365742c20612068656164696e67206973 2064657269>-4.333 F -.15<7665>-.25 G 4.334<6466>.15 G 1.834 <726f6d20746865>-4.334 F F2<5c2473656374696f6e>4.334 E F0<6d6163726f2e> 4.334 E<42656c6f>100 136.8 Q 2.5<7769>-.25 G 2.5<7374>-2.5 G <6865206c697374696e67206f6620646566>-2.5 E<61756c7420686561646572732e20 49742063616e2070726f6261626c7920626520696d70726f>-.1 E -.15<7665>-.15 G <642e>.15 E F2 30<3155>136 160.8 S<53455220434f4d4d414e4453>-30 E 30 <3253>136 172.8 S<595354454d2043414c4c53>-30 E 30<334c>136 184.8 S <4942524152592043414c4c53>-30 E 30<3453>136 196.8 S <50454349414c2046494c4553>-30 E 30<3546>136 208.8 S <494c4520464f524d415453>-30 E 30<3647>136 220.8 S<414d4553>-30 E 30 <374d>136 232.8 S<4143524f205041434b41474553>-30 E 30<3853>136 244.8 S <595354454d2041444d494e495354524154494f4e>-30 E 30<394b>136 256.8 S <45524e454c20524f5554494e4553>-30 E F0 .012<546865206c617374207465>100 280.8 R .012<787475616c206974656d20696e2061206d616e75616c2070616765206d 75737420626520746865206d6163726f>-.15 F F2<5c656e647b7075643a3a6d616e7d> 2.512 E F0 5.012<2e53>C .012<6565207468652065>-5.012 F<78616d706c65>-.15 E<70616765>100 292.8 Q/F3 10/Times-Italic@0 SF -.2<6275>2.5 G <7a7a7a2e617a6d>.2 E F0<2e>A/F4 10/Times-Bold@0 SF<5c7365632332>100 304.8 Q<5c73656372>100 316.8 Q<65662331>-.18 E F0 .443<5374617274206120 73656374696f6e2c20726566657220746f20612073656374696f6e2e20546865208c7273 74206172>120 328.8 R .443<67756d656e74206f66>-.18 F F2<5c7365632332> 2.943 E F0 .443<69732074686520616e63686f7220666f722074686174207365632d> 2.943 F .349<74696f6e2c20746865207365636f6e64206172>120 340.8 R .349 <67756d656e7420697320746865207469746c652e20546865206d6163726f>-.18 F F2 <5c7365637265662331>2.848 E F0<74616b>2.848 E .348 <657320616e20616e63686f7220616e64206f757470757473>-.1 F<746865207469746c 65206f6620746865206173736f6369617465642073656374696f6e2e>120 352.8 Q .882<546865204e>120 376.8 R .883 <414d452073656374696f6e2073686f756c64206265207772697474656e206c696b>-.35 F 3.383<6574>-.1 G .883<68652065>-3.383 F .883<78616d706c652062656c6f> -.15 F 2.183 -.65<772c2074>-.25 H<616b>.65 E .883 <656e2066726f6d20746865207a6f656d20696e746572>-.1 F<2d>-.2 E <707265746572206d616e75616c2e>120 388.8 Q F2 <5c7365637b6e616d657d7b4e414d457d>120 424.8 Q<5c4e414d457b7a6f656d7d7b69 6e74657270726574657220666f7220746865205a6f656d206d6163726f2f70726f677261 6d6d696e67206c616e67756167652e7d>120 436.8 Q F0 .353 <5573616765206f6620746865204e>120 460.8 R .352 <414d45206d6163726f20656e73757265732074686174207468652074726f66>-.35 F 2.852<666f>-.25 G .352 <757470757420636f6d706c69657320776974682074686520666f726d61742065>-2.852 F<78706563746564>-.15 E<6279>120 472.8 Q F4<617072>2.5 E<6f706f73>-.18 E F0<2e>A F4<5c646566>100 496.8 Q<6f70742332>-.25 E<5c646566>100 508.8 Q <6f70742333>-.25 E<5c6465666b76702333>100 520.8 Q F0 1.751<577269746520 656e74727920696e20746865206f7074696f6e732073656374696f6e2e20747970696361 6c2075736167652069732077697468696e20616e>120 532.8 R F2<5c6974656d2331> 4.251 E F0 1.751<6d6163726f2e2046>4.251 F 1.751<6f7220616c6c>-.15 F 1.301<6d6163726f7320746865208c727374206172>120 544.8 R 1.301<67756d656e 7420697320746865206f7074696f6e206265696e67206465736372696265642c20616e64 20746865206c617374206172>-.18 F 1.3<67756d656e7420697320612073686f7274> -.18 F 2.46<737472696e672064657363726962696e6720746865206f7074696f6e2e20 5468697320737472696e67206973207072696e74656420696e206361736520746865206d 6163726f>120 556.8 R F2<5c226d616e3a3a6465662d>4.96 E<7374796c6522>120 568.8 Q F0 .201<69732073657420746f>2.701 F F2<6c6f6e67>2.701 E F0 2.701 <2e54>C .201<6865206d6163726f>-2.701 F F2<5c6465666f70742333>2.701 E F0 .2<6973207573656420666f72206f7074696f6e732074616b696e67206172>2.701 F .2 <67756d656e74733b20746865>-.18 F .147<7365636f6e64206172>120 580.8 R .147<67756d656e7420697320746865206e616d652064657363726962696e6720746865 206172>-.18 F 2.648<67756d656e742e20546865>-.18 F<6d6163726f>2.648 E F2 <5c6465666b76702333>2.648 E F0 .148<6973207573656420666f72>2.648 F 10.062<6c6f6e67206f7074696f6e73206f662074686520666f726d>120 592.8 R F2 <2d2d6d6f64653d737472>12.562 E F0 12.562<2c77>C 10.062 <6869636820796f752077>-12.562 F 10.062<6f756c6420656e746572206173>-.1 F F2 1.743 <5c6465666b76707b6d6f64657d7b7374727d7b73657420666f6f206d6f64657d>120 604.8 R F0 4.244<2e4c>C 1.744 <6f6e67206f7074696f6e73206f662074686520666f726d>-4.244 F F2 <2d2d766572626f7365>4.244 E F0 <6172652073696d706c7920656e7465726564207573696e67>120 616.8 Q F2 <5c6465666f70742332>2.5 E F0<2e>A F4<5c6f707472>100 640.8 Q<65662332> -.18 E F0 .361 <526566657220746f20616e206f7074696f6e2e20546865208c727374206172>120 652.8 R .361 <67756d656e7420697320746865206f7074696f6e2c20746865207365636f6e64206172> -.18 F .36<67756d656e7420697320746865207465>-.18 F .36 <7874206173736f63692d>-.15 F .417 <61746564207769746820746865206c696e6b2e2054686973207465>120 664.8 R .418 <78742077696c6c20696e64656564206265206c696e6b696e6720696e2068746d6c2c20 62>-.15 F .418 <7574206e6f7468696e67207370656369616c2077696c6c2068617070656e>-.2 F <696e2074726f66>120 676.8 Q 2.5<662d74>-.25 G<6865207465>-2.5 E <7874206973207072696e7465642061732069732e>-.15 E F4 <5c73796e6f70746f70742332>100 700.8 Q<5c73796e6f70746f70742333>100 712.8 Q<5c73796e72>100 724.8 Q<65716f70742332>-.18 E F0 <7075642d6d616e20312e3030322c2031302d303038>20 768 Q 2.5<384a>118.455 G <616e2032303130>-2.5 E<33>207.335 E 0 Cg EP %%Page: 4 4 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 141.375 <7075642d6d616e283729204d495343454c4c414e454f5553>20 48 R <7075642d6d616e283729>146.375 E/F1 10/Times-Bold@0 SF<5c73796e72>100 84 Q<65716f70742333>-.18 E F0 .775<577269746520656e747269657320696e20746865 2073796e6f707369732073656374696f6e2e205468697320617373756d65732074686174 20736f6d65>120 96 R .774<776865726520616e206f7074696f6e2077>-.25 F .774 <61732063726561746564>-.1 F<7573696e67206f6e65206f6620746865>120 108 Q /F2 10/Courier@0 SF<6465666f7074>2.5 E F0 -.1<6661>2.5 G <6d696c79206d656d62657273206465736372696265642062656c6f>.1 E<772e>-.25 E -.15<466f>120 132 S 3.288<7261>.15 G .788<6c6c2027>-3.288 F .788 <73796e27206f7074696f6e7320746865208c727374206172>-.55 F .789<67756d656e 742069732073696d706c7920746865206f7074696f6e20697473656c662e2046726f6d20 74686973206172>-.18 F .789<67756d656e7420746865>-.18 F .467 <616e63686f72206973207265636f6e737472756374656420746861742077>120 144 R .466<61732063726561746564206279206f6e65206f6620746865>-.1 F F2 <6465666f7074>2.966 E F0 .466<6d6163726f732e20546865206c617374206172> 2.966 F<67756d656e74>-.18 E .827<697320616c>120 156 R -.1<7761>-.1 G .827<797320612073686f727420737472696e672064657363726962696e672074686520 6f7074696f6e2e20497420646570656e6473206f6e20746865207374796c652063686f73 656e2c20692e652e2077686574686572>.1 F F2 <5c226d616e3a3a73796e7374796c6522>120 168 Q F0<6973>4.763 E F2<6c6f6e67> 4.763 E F0<6f72>4.763 E F2<73686f7274>4.763 E F0 4.763<2c77>C 2.262 <686574686572207468697320737472696e672073686f>-4.763 F 2.262 <7773207570206f72206e6f742e20546865>-.25 F .245 <6d6163726f7320696e20746869732067726f757020746861742074616b>120 180 R 2.745<6574>-.1 G .445 -.1<776f2061>-2.745 H -.18<7267>.1 G .245<756d656e 747320646573637269626520756e617279206f7074696f6e7320746861742074616b>.18 F 2.745<656e>-.1 G 2.745<6f61>-2.745 G -.18<7267>-2.745 G<756d656e742e> .18 E<546865206d6163726f732074616b696e67207468726565206172>120 192 Q<67 756d656e7473206465736372696265206f7074696f6e73207468617420646f2074616b> -.18 E 2.5<6561>-.1 G 2.5<6e61>-2.5 G -.18<7267>-2.5 G<756d656e742e>.18 E<4865726520697320616e2065>120 216 Q <78616d706c652066726f6d20746865207a6f656d206d616e75616c20706167653a>-.15 E F2<5c73796e6f70746f70747b2d2d74726163657d7b7472616365206d6f64652c2064 656661756c747d>120 240 Q<5c73796e6f70746f70747b2d2d74726163652d616c6c2d 6c6f6e677d7b6c6f6e67207472616365206d6f64657d>120 252 Q<5c73796e6f70746f 70747b2d2d74726163652d616c6c2d73686f72747d7b73686f7274207472616365206d6f 64657d>120 264 Q<5c73796e6f70746f70747b2d2d74726163652d72656765787d7b74 7261636520726567657865737d>120 276 Q<5c73796e6f70746f70747b2d2d73686f77 2d7472616365626974737d7b73686f7720747261636520626974737d>120 288 Q<5c73 796e6f70746f70747b2d74726163657d7b6b7d7b7472616365206d6f64652c206578706c 696369747d>120 300 Q<5c73796e6f70746f70747b2d2d73746174737d7b73686f7720 73796d626f6c207461626c652073746174732061667465722072756e7d>120 312 Q F1 <5c226d616e3a3a73796e7374796c6522>100 348 Q <5c226d616e3a3a6465667374796c6522>100 360 Q F0 .378<4265666f726520696d70 6f7274696e6720746865206d616e75616c206d6163726f732c2073657420746865736520 746f20796f7572207072656665726564207374796c652e2045616368206f662074686573 652073686f756c64>120 372 R<6265207365742065697468657220746f>120 384 Q F2 <73686f7274>2.5 E F0<6f72>2.5 E F2<6c6f6e67>2.5 E F0<2e>A F1 <5c67656e6f70742331>100 408 Q<5c67656e6f70742332>100 420 Q<5c67656e6172> 100 432 Q<672331>-.1 E<5c7573656f70742331>100 444 Q<5c7573656f70742332> 100 456 Q<5c7573656172>100 468 Q<672331>-.1 E<5c67656e6b76702332>100 480 Q<5c7573656b76702332>100 492 Q F0 .701<54686573652061726520666f72206372 656174696e67206120636f6e73697374656e74207374796c65207768656e207265666572 696e6720746f206f7074696f6e732e204f6e65206973206672656520746f206469737265> 120 504 R -.05<6761>-.15 G<7264>.05 E .064 <746865736520616c746f6765746865722e20546865>120 516 R 2.564<7961>-.15 G .064<7265206d65616e7420617320636f6e>-2.564 F -.15<7665>-.4 G .064 <6e69656e63652c2062>.15 F .063 <757420736f6d65206d6179208c6e64207468652065>-.2 F .063 <7874726120747970696e6720616e6e6f>-.15 F<792d>-.1 E<696e672e>120 528 Q .524<5468652069646561206973207468617420746865202767656e27206d6163726f73 206172652075736564207768656e2067656e65726963206d656e74696f6e206973206d61 6465206f6620616e206f7074696f6e20616e64>120 552 R 1.137 <706f737369626c7920697473206172>120 564 R 3.636<67756d656e742e20546865> -.18 F 1.136<2775736527206d6163726f73206172652075736564207768656e2065> 3.636 F 1.136<78706c69636974207573616765206973206d656e74696f6e65642e> -.15 F<416e>6.136 E -.15<6578>120 576 S <616d706c652069732074686520666f6c6c6f>.15 E<77696e673a>-.25 E .8 <4d6f6465732063616e2062652063686f73656e207573696e67>140 600 R F1 <2d6d6f6465>3.301 E/F3 10/Times-Italic@0 SF<737472>2.5 E F0<7768657265> 3.301 E F3<737472>3.301 E F0 .801<697320616e>3.301 F 3.301<796f>-.15 G <66>-3.301 E F1<736d616c6c>3.301 E F0<2c>A F1<6d656469756d>3.301 E F0 3.301<2c6f>C<72>-3.301 E F1<6c6172>140 612 Q<6765>-.1 E F0 2.5<2e55>C <7365>-2.5 E F1<2d6d6f646520736d616c6c>2.5 E F0 <696620796f7572206861726477>2.5 E<617265206973206f757464617465642e>-.1 E <557365>140 636 Q F1<2d2d6d696c65616765>2.77 E F0<3d>A F3<737472>A F0 .27<746f2073657420746865206d696c656167652c20652e672e>2.77 F F1 <2d2d6d696c65616765>2.77 E F0<3d>A F1<68696768>A F0<6f72>2.77 E F1 <2d2d6d696c65616765>2.77 E F0<3d>A F1<61737472>A<6f2d>-.18 E <6e6f6d6963616c>140 648 Q F0<2e>A/F4 10.95/Times-Bold@0 SF <53454520414c534f>20 664.8 Q F0<546865>100 676.8 Q F1<707564>2.5 E F0 <6d616e75616c2070616765206769>2.5 E -.15<7665>-.25 G 2.5<7361>.15 G 2.5 <6e6f>-2.5 G -.15<7665>-2.65 G<72766965>.15 E 2.5<776f>-.25 G 2.5<6650> -2.5 G<55442e>-2.5 E<7075642d6d616e20312e3030322c2031302d303038>20 768 Q 2.5<384a>118.455 G<616e2032303130>-2.5 E<34>207.335 E 0 Cg EP %%Trailer end %%EOF aephea-12-248/mac/doc/buzzz.txt0000644000402500021140000000617111322640160013200 00000000000000buzzz(1) USER COMMANDS buzzz(1) NAME buzzz - go buzzz. SYNOPSIS buzzz -l i (loudness) -d f (duration) [-f f (frequency)] [--dragonfly (dragon style)] [--bumblebee (bumble style)] [--disk (computer style)] [-style (some style)] [--scan (scan mode)] [-sd i (scan duration)] (tune source) DESCRIPTION buzzz buzzes. It can do so in different styles, at different base fre- quencies, and at different volumes. See the OPTIONS section for a description of all options. The -l loudness and -d duration options are both mandatory. The last argument given must be a file containing the tune to buzz, or a direc- tory containing such tune files. The tune must be contained in an interval of at most five tones. Non-conforming tunes may damage your soundcard. OPTIONS -f f (frequency) Frequency in Hertz, can be specified as a positive real number. -l i (loudness) Loudness, which is specified as an integer inbetween 0 and 100. -d f (duration) Duration in hours, can be specified as a positive real. The following options are discussed as a group: --dragonfly (dragon style) --bumblebee (bumble style) --disk (computer style) --mosquito (sting style) These are unary options specifying the style in which to buzz. -style str (buzz style) str should be one of bumblebee, dragonfly, mosquito, or disk. --scan (scan mode) This will buzz 10 seconds for each tune specified. Refer also to the -sd option. -sd i (scan duration) Sets the scan time in (an integer number of) seconds. This affects the --scan option. FILES /etc/zoem/foriamzoem.bzz contains the zoem jingle. /etc/zoem/zoem.ascii-art contains zoem related ascii art. An excerpt is shown below. .-----------------------------. | | | _ " _ | | (\"/) (_\|/_) | | (/|\) (_/|\_) | | | | | | () | | | -----% | | () | | ejm| .-----------------------------. ENVIRONMENT Currently, no environmental issues with buzzz. DIAGNOSTICS If the tune spans an interval larger than 5 tones, buzzz will emit lit- tle beeps. If the interval exceeds an octave, buzzz will fork and exec bell. BUGS Some do. AUTHOR Bugs Bunny. HISTORY repeats itself, especially from a buzzing point of view. Refer to [1] for an in-depth analysis. A different point of view is presented in [2]. SEE ALSO The bell(1) manual. [1] Bugs Bunny. Foo Bar. A history of making, maintenance, repair, and disposal. [2] Donald Duck. The futile mistake, and how it changes my life every day. buzzz 1.00 29 Feb 2000 buzzz(1) aephea-12-248/mac/doc/pud-faq.azm0000644000402500021140000001716611322640151013327 00000000000000\import{../pud/man.zmm} \import{../pud/faq.zmm} \import{aephea.shared} \: NOTE \: Better use the mcl FAQ as example, \: http://micans.org/mcl/src/mcl-latest/mclfaq.azm \: http://micans.org/mcl/src/mcl-latest/mclfaq.html \: This FAQ contains a few silly tricks because several pieces of \: expressions are used twice; i) to construct the output and ii) \: to create examples. The result is a slightly obfuscated source. \: Also, the current FAQ is a bit short. \begin{pud::man}{ {name}{pud-faq} {html_title}{The PUD faq mini-language FAQ} {author}{Stijn van Dongen} {section}{7} {css_append}{ .pink { background-color: pink; } } \man_share } \"faq::preamble" \${html}{\"pud::man::maketoc"} \sec{name}{NAME} \NAME{pud-faq}{faqs and facts about the Portable Unix Documentation FAQ authoring language.} \: this \ftinc is a bit anomalous, it temporarily increases the \: the fonts size. Just because I think it looks slightly better. \par{ This document describes the Portable Unix Documentation (PUD) faq mini-language in the style of a FAQ. PUD-faq is built on top of the macro interpreter zoem. A PUD document is generally well-structured, relatively free of formatting statements, compact to write and easily extendable. It can be converted to both troff and html, for viewing in terminals and browsers. High quality Postscript and plain text formats can be derived from the troff output. Refer to \sibref{pud-man} for examples.} \sec{description}{DESCRIPTION} \car{ The PUD faq macros extend the PUD manual macros; a PUD faq document must import both man.zmm and faq.zmm. There are only a few additional faq macros in faq.zmm. The overall layout of a faq document is as follows:} \verbatim{\protect{ \import{man.zmm} \import{faq.zmm} \begin{pud::man}{ {name}{pud-faq} {html_title}{The PUD faq mini-language FAQ} {author}{Stijn van Dongen} {section}{7} } \"faq::preamble" \${html}{\"man::maketoc"} \sec{toc}{TOC} \"faq::maketoc" \begin{faqsec}{{ref}{Labelx}{cap}{Captionx}} content \end{faqsec} \begin{faqsec}{{ref}{Labely}{cap}{Captiony}} content \end{faqsec} \end{pud::man}}} \par{ The PUD manual macros are documented in the \sibref{pud-man}{pud-man} manual page.} \par{ Create your FAQ according to the lay-out above and as described further below. Refer to \iref{q_real}{Question\~\refnumber{q_real}} for full-size examples.} \par{ Once you have written your FAQ, process it as follows.} \verbatim{\:/ zoem -i your-faq.azm -d html zoem -i your-faq.azm -d html zoem -i your-faq.azm -d roff -o your-faq.7 zoem -i your-faq.azm -d roff -o your-faq.7} \car{ This generates files your-faq.html and your-faq.7. Each device is run twice to be certain that references are found and linked.} \sec{resources}{RESOURCES} \begin{itemize}{ {flow}{compact} {interitem}{0} {align}{right} } \item \car{ The \lref{../doc/zum.html}{Zoem User Manual}. } \item \car{ The \sibref{pud-man}{pud-man} manual page. } \end{itemize} \sec{toc}{TOC} \"faq::maketoc" \sec{faq}{FAQ} \begin{faqsec}{ {ref}{s_basics} {cap}{How do I create and link to questions and sections?} } \faq{qsection}{How do I start a section?} \car{ You would for example type } \verbatim{\protect{\begin{faqsec}{ {ref}{kind} {cap}{How do I link to questions and sections?} }}} \faq{q_question}{How do I make a faq entry?} \car{ You create an entry as follows: } \verbatim{\protect{\faq{q_question}{How do I make a faq entry?} You create an entry as follows: ... }} \faq{q_qlink}{How do I link to a question?} \set{tmp}{\!{\car{Like this: linking to \iref{q_qlink}{Question\~\refnumber{q_qlink}}, or a silly link to the \iref{q_qlink}{current question}. Linking to \iref{s_basics}{Question\~\refnumber{q_slink}}, or a link to the \iref{q_slink}{next question}.} \par{ Of course, you have to use wordings such that the text still makes sense in the absence of links (assuming you are intested in the troff version of the FAQ you are writing), so normally you just refer to \iref{q_slink}{Question\~\refnumber{q_slink}} and be done with it.}}} \verbatim{\apply{protect#1}{{\tmp}}} \apply{_#1{\1}}{{\tmp}} \faq{q_slink}{How do I link to a section?} \set{tmp}{\!{\car{Like this: linking to \iref{q_qlink}{Section\~\refnumber{s_basics}} and linking to \iref{q_stupid}{Section\~\refnumber{s_stupid}}.}}} \verbatim{\apply{protect#1}{{\tmp}}} \apply{_#1{\1}}{{\tmp}} \faq{q_typing}{Is that not a whole lot of typing just for linking?} \car{ It sure is. Note the repeating elements though. Feel free to create your own shortcuts by using Zoem's macro facilities. } \end{faqsec} \begin{faqsec}{ {ref}{s_stupid} {cap}{Miscellaneous} } \faq{q_really}{Is it really possible to have more than one section?} \car{ QED } \faq{q_toc}{Is there an easy way to get back to the TOC?} \car{ In the HTML version of the faq, one can click on the number to the left of the question; this will take you to the top of the TOC part pertaining to the section that question belongs to.} \faq{q_real}{Show me a real FAQ, not this nonsense.} \car{ The reason I began writing zoem and PUD was that I wanted decent (both HTML and troff) and easy to write documentation for my implementation of the MCL cluster algorithm.} \begin{itemize}{ {interitem}{0} {flow}{compact} {align}{right} } \item \httpref{http://micans.org/mcl/src/mcl-latest/doc/mclfaq.azm} \item \httpref{http://micans.org/mcl/src/mcl-latest/doc/mclfaq.html} \item \httpref{http://micans.org/mcl/src/mcl-latest/doc/mclfaq.ps} \end{itemize} \faq{q_change}{I want to change the appearance of my FAQ.} Well, you need to make a copy of the faq macros and possibly the man macros, and hack those changes in. Zoem itself is very flexible, but the PUD faq macros are not, in this respect. They can be made so, if you wish. If you just want to change or add some style sheet rules for the HTML version, it will be quite easy. The same holds for changing font styles and possibly even spacing rules. \faq{q_self}{Show me the source to this FAQ.} \${html}{\lref{pud-faq.azm}{Behold pud-faq.azm.}} \${roff}{Search for pud-faq.azm in your install of zoem.} Take note though that I played a few silly tricks in this FAQ, so the source looks more unreadable than your average FAQ. The FAQ pointed to in \iref{q_real}{Answer\~\refnumber{q_real}} gives a more realistic impression. \end{faqsec} \sec{author}{AUTHOR} \par{ Stijn van Dongen. } \sec{seealso}{SEE ALSO} \par{ The \sibref{pud-man}{pud-man} manual page, documenting the PUD manual language. The FAQ language imports the manual definitions and you use these e.g. for sectioning commands as described above.} \par{ The \sibref{pud} manual page gives an overview of PUD.} \""{ There are a lot of guidelines on writing FAQs out there, a Google search yields plenty. I stopped looking at them when confronted too often with the advice that FAQs be written in some standard like DocBook. DocBook seems to be an ontology of some sort aimed at conceptualizing every way in which you would ever want to document. Such a categorization ideal is akin to the feverish dreams of philosophers and librarians alike. Pursueing it invariably leads to horrific monstrosities from which all life and conceivable causes for joy have withered away. The preconconcted DocBook manual page tags are enough to make little scary arthropods scurry away.} \: Every once in a while I go back and check the DocBook stuff, because \: I know all too well this zoem project is a little bit nutty. \end{pud::man} aephea-12-248/mac/doc/pud-faq.html0000644000402500021140000004434711322640157013513 00000000000000 The PUD faq mini-language FAQ

8 Jan 2010    pud-faq 1.002, 10-008

NAME

pud-faq — faqs and facts about the Portable Unix Documentation FAQ authoring language.

This document describes the Portable Unix Documentation (PUD) faq mini-language in the style of a FAQ. PUD-faq is built on top of the macro interpreter zoem. A PUD document is generally well-structured, relatively free of formatting statements, compact to write and easily extendable. It can be converted to both troff and html, for viewing in terminals and browsers. High quality Postscript and plain text formats can be derived from the troff output. Refer to pud-man for examples.

DESCRIPTION

The PUD faq macros extend the PUD manual macros; a PUD faq document must import both man.zmm and faq.zmm. There are only a few additional faq macros in faq.zmm. The overall layout of a faq document is as follows:

\import{man.zmm} \import{faq.zmm} \begin{pud::man}{ {name}{pud-faq} {html_title}{The PUD faq mini-language FAQ} {author}{Stijn van Dongen} {section}{7} } \"faq::preamble" \${html}{\"man::maketoc"} \sec{toc}{TOC} \"faq::maketoc" \begin{faqsec}{{ref}{Labelx}{cap}{Captionx}} content \end{faqsec} \begin{faqsec}{{ref}{Labely}{cap}{Captiony}} content \end{faqsec} \end{pud::man}

The PUD manual macros are documented in the pud-man manual page.

Create your FAQ according to the lay-out above and as described further below. Refer to Question 2.3 for full-size examples.

Once you have written your FAQ, process it as follows.

zoem -i your-faq.azm -d html zoem -i your-faq.azm -d html zoem -i your-faq.azm -d roff -o your-faq.7 zoem -i your-faq.azm -d roff -o your-faq.7

This generates files your-faq.html and your-faq.7. Each device is run twice to be certain that references are found and linked.

RESOURCES

The pud-man manual page.

TOC





FAQ

1
How do I create and link to questions and sections?

How do I start a section?

You would for example type

\begin{faqsec}{ {ref}{kind} {cap}{How do I link to questions and sections?} }
 
How do I make a faq entry?

You create an entry as follows:

\faq{q_question}{How do I make a faq entry?} You create an entry as follows: ...
 
How do I link to a question?
\car{Like this: linking to \iref{q_qlink}{Question\~\refnumber{q_qlink}}, or a silly link to the \iref{q_qlink}{current question}. Linking to \iref{s_basics}{Question\~\refnumber{q_slink}}, or a link to the \iref{q_slink}{next question}.} \par{ Of course, you have to use wordings such that the text still makes sense in the absence of links (assuming you are intested in the troff version of the FAQ you are writing), so normally you just refer to \iref{q_slink}{Question\~\refnumber{q_slink}} and be done with it.}

Like this: linking to Question 1.3, or a silly link to the current question. Linking to Question 1.4, or a link to the next question.

Of course, you have to use wordings such that the text still makes sense in the absence of links (assuming you are intested in the troff version of the FAQ you are writing), so normally you just refer to Question 1.4 and be done with it.

 
How do I link to a section?
\car{Like this: linking to \iref{q_qlink}{Section\~\refnumber{s_basics}} and linking to \iref{q_stupid}{Section\~\refnumber{s_stupid}}.}

Like this: linking to Section 1 and linking to Section 2.

 
Is that not a whole lot of typing just for linking?

It sure is. Note the repeating elements though. Feel free to create your own shortcuts by using Zoem's macro facilities.

2
Miscellaneous

Is it really possible to have more than one section?

QED

 
Is there an easy way to get back to the TOC?

In the HTML version of the faq, one can click on the number to the left of the question; this will take you to the top of the TOC part pertaining to the section that question belongs to.

 
Show me a real FAQ, not this nonsense.

The reason I began writing zoem and PUD was that I wanted decent (both HTML and troff) and easy to write documentation for my implementation of the MCL cluster algorithm.

 
I want to change the appearance of my FAQ. Well, you need to make a copy of the faq macros and possibly the man macros, and hack those changes in. Zoem itself is very flexible, but the PUD faq macros are not, in this respect. They can be made so, if you wish. If you just want to change or add some style sheet rules for the HTML version, it will be quite easy. The same holds for changing font styles and possibly even spacing rules.
 
Show me the source to this FAQ. Behold pud-faq.azm. Take note though that I played a few silly tricks in this FAQ, so the source looks more unreadable than your average FAQ. The FAQ pointed to in Answer 2.3 gives a more realistic impression.

AUTHOR

Stijn van Dongen.

SEE ALSO

The pud-man manual page, documenting the PUD manual language. The FAQ language imports the manual definitions and you use these e.g. for sectioning commands as described above.

The pud manual page gives an overview of PUD.

aephea-12-248/mac/doc/pud.txt0000644000402500021140000002137211334633066012616 00000000000000pud(7) MISCELLANEOUS pud(7) NAME pud - Portable Unix Documentation for manual pages and faq documents DESCRIPTION Portable Unix Documentation or pud currently provides two mini-languages for authoring in the UNIX environment. The two mini-languages are for writing UNIX manual pages and faq documents. Source documents in pud languages can be compiled to either cross-linked html or to troff. The troff output can be further compiled into PostScript, pdf, and plain text. Table of Contents 1. NAME 2. DESCRIPTION 3. Table of Contents 4. Portable Unix Documentation extends Aephea and zoem 5. Getting started 6. UNIX manual pages in html, troff and PostScript 7. faq documents in html, troff and PostScript 8. Manuals and faq examples elsewhere 9. DocBook considered harmful 10. Info evil 11. AUTHOR 12. SEE ALSO Portable Unix Documentation extends Aephea and zoem Portable Unix Documentation (pud) is part of the Aephea documentation framework. Aephea is built on top of zoem (http://micans.org/zoem), an all-purpose macro/programming language. Both Aephea and pud documents are processed by compiling them with the zoem processor. The documents themselves are generally well-structured, relatively free of formatting statements and compact to write. They can be easily extended since the full zoem language is available from within a pud document. Portable Unix Documentation is currently shipped with Aephea. You will also need to install zoem. Getting started i Get and install both Aephea (http://micans.org/aephea) and zoem (http://micans.org/zoem). Follow the instructions in the Aephea README file, which boil down to this recipe: Aephea: ./configure --prefix=$AEPHEAPREFIX make make install Zoem: ./configure --with-includepath=$AEPHEAPREFIX/share/aephea --prefix=$OTHERPREFIX make make install All pud files will be installed as you install Aephea. If you are reading this locally on your system, chances are zoem and Aephea are installed. ii On this page read the pointers in section Section 6 if you want to write a manual page. Read the pointers in section Section 7 if you want to write an faq. The fastest way to get up to speed is to copy and modify a template or existing source document. iii While writing your document, consult the pud-man(7) documentation, the pud-faq(7) documentation, and the aephea-base(7) documentation as necessary. iv Off you go. If you need macro facilities or programming facilities, zoem is there to assist you. Simple macro tasks are easy to accom- plish. For more involved stuff you might want to consult the Zoem User Manual (or zum). zum should be installed locally. Alterna- tively view the latest zum at micans (http://micans.org/zoem/doc/zum.html) or subscribe to the mailing list (http://micans.org/zoem/index.html#list). UNIX manual pages in html, troff and PostScript With the pud-man(7) package you create manual pages for output in either troff (groff, nroff) or html. The first can be viewed from a terminal, the second in a browser. The fictitious buzzz utility is described in a pud manual page. It is shipped with every zoem distribution and the manual page should be installed locally in the same location as its source. If the location is hard to find you can just obtain the pud source from the zoem source distribution, or alternatively you may view the latest buzzz source (http://micans.org/aephea/src/aephea-latest/mac/doc/buzzz.azm) upstream at micans. Further links are to the PostScript version (http://micans.org/aephea/src/aephea-latest/mac/doc/buzzz.ps) and the plain text format (http://micans.org/aephea/src/aephea-lat- est/mac/doc/buzzz.txt). For other examples consider the oldest pud manual page ever written: the mcl manual page (http://micans.org/mcl/man/mcl.html), the same in PostScript output (http://micans.org/mcl/man/mcl.ps), and the source for all this (http://micans.org/mcl/man/mcl.azm). By using the venerable col program, the troff output can be converted to nice looking plain text format (http://micans.org/mcl/man/mcl.txt). Find the troff output (http://micans.org/mcl/man/mcl.1) disclosed as well. There are some 20+ manual pages for different utilities in the mcl fam- ily (http://micans.org/mcl/man/). faq documents in html, troff and PostScript Create faq documents with pud-faq(7) for output in either troff (groff, nroff) or html. The former can be viewed in a terminal via the UNIX man page system, the latter can be viewed in a browser. The pud faq mini-language is described as a rather trivial faq itself. It can be viewed in PostScript (compiled from troff compiled from the zoem source and in plain text (again compiled from troff). For examples behold the browsing delight (http://micans.org/mcl/man/mclfaq.html) that is the mcl faq, and the PostScript pleasure (http://micans.org/mcl/man/mclfaq.ps). Find the noblest format (http://micans.org/mcl/man/mclfaq.txt), the impregnable troff (http://micans.org/mcl/man/mclfaq.7), and the source (http://micans.org/mcl/man/mclfaq.azm) for all that jazz. Manuals and faq examples elsewhere Other people exist writing pud. Not many yet. Joost van Baal has used the pud-faq package and the pud-man package to create documentation for GnuPG (in Dutch) (http://mdcc.cx/gnupg/), caspar (http://mdcc.cx/pub/caspar/caspar-latest/doc/), and the strong (fire)walls of uruk (http://mdcc.cx/pub/uruk/uruk-latest/man/). DocBook considered harmful People justly wonder why pud turns away from the blazing light of good- ness that is DocBook. DocBook does provide manual page elements and it does support gazillions of output devices. Nevertheless DocBook man pages are a cruelty, a curse and the bane of all things good and pure. DocBook cannot be written, it cannot be maintained, it cannot be pro- grammed. Yes, XML and DocBook are not supposed to be programmed, but where is the decree that man should toil and suffer so that his documen- tation would be transmogrifyable into all eternity? DocBook provides some sort of manual page ontology, describing suppos- edly every element you might ever need. Inevitably you will want to do things that are not provided and then you are stuck. DocBook lists and enumerations are painful and limited. The verbosity of DocBook makes a mountain out of what should be a mole hill. pud manual pages are concise and can be easily cross-referenced. The source is a pleasure to read and output from self-documenting commands can be imported. Zoem IO, macro and programming facilities make the source extendable so that new requirements can be coped with. Wise people argue that one cannot fathom the needs of future generations and urge the good people of UNIX to use DocBook. The fool knows that this particular premise disproves the thesis and that joy begets joy. Factor the present into the authoring sustainability equation and the scales tip. At this juncture, I am hesitantly willing to bet that the pud languages can easily be ported to DocBook. None of the pain, all of the gain. The pud itemize environment is a sticking point though. It provides, hor- rors, a few formatting options. Optional paragraphs skips, compact mode, right-alignment of items, automatic enumeration, and the fantabulous intermezzo feature. Info evil The good people of info consider manual pages obsolete. What more is there to say? It is all written here (http://micans.org/stijn/views/infoinferno.html). AUTHOR pud was written by Stijn van Dongen. SEE ALSO pud-man(7) pud-faq(7) aephea-base(7) aephea-ref(7) pud 1.002, 10-008 8 Jan 2010 pud(7) aephea-12-248/mac/doc/pud.azm0000644000402500021140000002211311334633064012556 00000000000000\import{../pud/man.zmm} \import{aephea.shared} \begin{pud::man}{ {name}{pud} {html_title}{Portable Unix Documenation} {author}{Stijn van Dongen} {section}{7} {defstyle}{long} {synstyle}{long} \man_share } \${html}{\def{apudref#2}{\aref{\2}{\1}}} \${roff}{\def{apudref#2}{\bf{\1} (\httpref{\2})}} \sec{name}{NAME} \NAME{\${html}{\pud}{pud}}{Portable Unix Documentation for manual pages and \faq documents} \sec{description}{DESCRIPTION} \par{ Portable Unix Documentation or \pud currently provides two mini-languages for authoring in the \unix environment. The two mini-languages are for writing \unix manual pages and \faq documents. Source documents in \pud languages can be compiled to either cross-linked html or to troff. The troff output can be further compiled into PostScript, \pdf, and plain text.} \sec{toc}{Table of Contents} \"pud::man::maketoc" \sec{zoem}{Portable Unix Documentation extends Aephea and zoem} \par{ Portable Unix Documentation (\pud) is part of the \aref{http://micans.org/aephea}{Aephea documentation framework}. Aephea is built on top of \apudref{zoem}{http://micans.org/zoem}, an all-purpose macro/programming language. Both Aephea and \pud documents are processed by compiling them with the zoem processor. The documents themselves are generally well-structured, relatively free of formatting statements and compact to write. They can be easily extended since the full zoem language is available from within a \pud document. } \par{ Portable Unix Documentation is currently shipped with \aref{http://micans.org/aephea}{Aephea}. You will also need to install \aref{http://micans.org/zoem}{zoem}. } \sec{started}{Getting started} \begin{itemize}{ {flow}{compact} {interitem}{1} {align}{right} {textindent}{5} {itemmargin}{4} {type}{roman} } \item \car{ Get and install both \apudref{Aephea}{http://micans.org/aephea} and \apudref{zoem}{http://micans.org/zoem}. Follow the instructions in the Aephea \readme file, which boil down to this recipe:} \verbatim{\:/ Aephea: ./configure --prefix=$AEPHEAPREFIX make make install Zoem: ./configure --with-includepath=$AEPHEAPREFIX/share/aephea --prefix=$OTHERPREFIX make make install} \car{ All \pud files will be installed as you install Aephea. If you are reading this locally on your system, chances are zoem and Aephea are installed.} \item \car{ On this page read the pointers in section \iref{man}{Section\~\refnumber{man}} if you want to write a manual page. Read the pointers in section \iref{faq}{Section\~\refnumber{faq}} if you want to write an \faq. The fastest way to get up to speed is to copy and modify a template or existing source document.} \item \car{ While writing your document, consult the \sibref7{pud-man} documentation, the \sibref7{pud-faq} documentation, and the \sibref7{aephea-base} documentation as necessary.} \item \car{ Off you go. If you need macro facilities or programming facilities, zoem is there to assist you. Simple macro tasks are easy to accomplish. For more involved stuff you might want to consult the Zoem User Manual (or \zum). \zum should be installed \${html}{\lref{../doc/zum.html}{locally}}\${roff}{locally}. Alternatively view the latest \zum \apudref{at micans}{http://micans.org/zoem/doc/zum.html} or subscribe to the mailing list (\httpref{http://micans.org/zoem/index.html#list}).} \end{itemize} \sec{man}{\unix manual pages in \html, troff and PostScript} \par{ With the \sibref7{pud-man} package you create manual pages for output in either \it{troff} (groff, nroff) or html. The first can be viewed from a terminal, the second in a browser.} \par{ The fictitious \it{buzzz} utility is described in a \pud manual page. It is shipped with every zoem distribution and the manual page should be installed locally in the same location as its source. If the location is hard to find you can just obtain the \pud source from the zoem source distribution, or alternatively you may view the latest \apudref{buzzz source}{http://micans.org/aephea/src/aephea-latest/mac/doc/buzzz.azm} upstream at micans. Further links are to the \apudref{PostScript version}{http://micans.org/aephea/src/aephea-latest/mac/doc/buzzz.ps} and the \apudref{plain text format}{http://micans.org/aephea/src/aephea-latest/mac/doc/buzzz.txt}. } \par{ For other examples consider the oldest \pud manual page ever written: the \apudref{\mcl manual page}{http://micans.org/mcl/man/mcl.html}, the same in \apudref{PostScript output}{http://micans.org/mcl/man/mcl.ps}, and the \apudref{source for all this}{http://micans.org/mcl/man/mcl.azm}. By using the venerable \it{col} program, the troff output can be converted to nice looking \apudref{plain text format}{http://micans.org/mcl/man/mcl.txt}. Find the \apudref{troff output}{http://micans.org/mcl/man/mcl.1} disclosed as well.} \par{ There are some 20+ manual pages for \apudref{different utilities in the mcl family}{http://micans.org/mcl/man/}.} \sec{faq}{\faq documents in html, troff and PostScript} \par{ Create \faq documents with \sibref7{pud-faq} for output in either \it{troff} (groff, nroff) or html. The former can be viewed in a terminal via the \unix man page system, the latter can be viewed in a browser.} \par{ The \lref{pud-faq.html}{\pud \faq mini-language} is described as a rather trivial \faq itself. It can be viewed in \lref{pud-faq.ps}{PostScript} (compiled from troff compiled from \lref{pud-faq.azm}{the zoem source} and in \lref{pud-faq.txt}{plain text} (again compiled from troff).} \par{ For examples behold the \apudref{browsing delight}{http://micans.org/mcl/man/mclfaq.html} that is the mcl \faq, and the \apudref{PostScript pleasure}{http://micans.org/mcl/man/mclfaq.ps}. Find the \apudref{noblest format}{http://micans.org/mcl/man/mclfaq.txt}, the \apudref{impregnable troff}{http://micans.org/mcl/man/mclfaq.7}, and the \apudref{source}{http://micans.org/mcl/man/mclfaq.azm} for all that jazz.} \sec{elsewhere}{Manuals and \faq examples elsewhere} \par{ \bf{Other people} exist writing \pud. Not many yet. Joost van Baal has used the pud-faq package and the pud-man package to create documentation for \apudref{GnuPG (in Dutch)}{http://mdcc.cx/gnupg/}, \apudref{caspar}{http://mdcc.cx/pub/caspar/caspar-latest/doc/}, and the \apudref{strong (fire)walls of uruk}{http://mdcc.cx/pub/uruk/uruk-latest/man/}. \${html}{The links point to directory listings; the zoem source files have \v{.azm} suffixes. The Makefile(.am) files might be of interest as well.}} \sec{dch}{DocBook considered harmful} \par{ People justly wonder why \pud turns away from the blazing light of goodness that is DocBook. DocBook does provide manual page elements and it does support gazillions of output devices. Nevertheless DocBook man pages are a cruelty, a curse and the bane of all things good and pure.} \par{ DocBook cannot be written, it cannot be maintained, it cannot be programmed. Yes, XML and DocBook are not \it{supposed} to be programmed, but where is the decree that man should toil and suffer so that his documentation would be transmogrifyable into all eternity?} \par{ DocBook provides some sort of manual page ontology, describing supposedly every element you might ever need. Inevitably you will want to do things that are not provided and then you are stuck. DocBook lists and enumerations are painful and limited. The verbosity of DocBook makes a mountain out of what should be a mole hill.} \par{ \pud manual pages are concise and can be easily cross-referenced. The source is a pleasure to read and output from self-documenting commands can be imported. Zoem IO, macro and programming facilities make the source extendable so that new requirements can be coped with.} \par{ Wise people argue that one cannot fathom the needs of future generations and urge the good people of \unix to use DocBook. The fool knows that this particular premise disproves the thesis and that joy begets joy. Factor the present into the authoring sustainability equation and the scales tip.} \par{ At this juncture, I am hesitantly willing to bet that the \pud languages can easily be ported to DocBook. None of the pain, all of the gain. The \pud \it{itemize} environment is a sticking point though. It provides, horrors, a few formatting options. Optional paragraphs skips, compact mode, right-alignment of items, automatic enumeration, and the fantabulous intermezzo feature.} \sec{info}{Info evil} \par{ The good people of info consider manual pages obsolete. What more is there to say? It is all written \apudref{here}{http://micans.org/stijn/views/infoinferno.html}.} \sec{author}{AUTHOR} \par{\pud was written by Stijn van Dongen.} \sec{seealso}{SEE ALSO} \begin{itemize}{{flow}{compact}{interitem}{0}} \item{\sibref7{pud-man}} \car{\~} \item{\sibref7{pud-faq}} \car{\~} \item{\sibref7{aephea-base}} \car{\~} \item{\sibref7{aephea-ref}} \car{\~} \end{itemize} \end{pud::man} aephea-12-248/mac/doc/buzzz.azm0000644000402500021140000001072211322640151013145 00000000000000\import{../pud/man.zmm} \begin{pud::man}{ {year}{2000} {month}{Feb} {day}{29} {name}{buzzz} {html_title}{What's the buzzz} {html_keywords}{buzzz, dragonfly, bumblebee} {author}{Stijn van Dongen} {section}{1} {tag}{1.00} } \${html}{\"pud::man::maketoc"} \def{buzzz}{\bf{buzzz}} \: the NAME macro below makes the output apropos compatible under troff. \sec{name}{NAME} \NAME{buzzz}{go buzzz.} \: customized command for the synopsis section. \def{fileopt#2}{\bf{\1} (\it{\2})} \sec{synopsis}{SYNOPSIS} \par{ \buzzz \synreqopt{-l}{i}{loudness} \synreqopt{-d}{f}{duration} \synoptopt{-f}{f}{frequency} \synoptopt{--dragonfly}{dragon style} \synoptopt{--bumblebee}{bumble style} \synoptopt{--disk}{computer style} \synoptopt{-style}{some style} \synoptopt{--scan}{scan mode} \synoptopt{-sd}{i}{scan duration} \fileopt{}{tune source}} \sec{description}{DESCRIPTION} \par{ \buzzz buzzes. It can do so in different styles, at different base frequencies, and at different volumes. See the \secref{options} section for a description of all options. } \par{ The \optref{-l}{\genopt{-l}{loudness}} and \optref{-d}{\genopt{-d}{duration}} options are both mandatory. The last argument given must be a file containing the tune to buzz, or a directory containing such tune files. The tune must be contained in an interval of at most five tones. Non-conforming tunes may damage your soundcard. } \sec{options}{OPTIONS} \begin{itemize}{ {interitem}{1} } \item{\defopt{-f}{f}{frequency}} \car{ Frequency in Hertz, can be specified as a positive real number.} \item{\defopt{-l}{i}{loudness}} \car{ Loudness, which is specified as an integer inbetween 0 and 100.} \item{\defopt{-d}{f}{duration}} \car{ Duration in hours, can be specified as a positive real.} \intermezzo{ The following options are discussed as a group:} \items{ {\defopt{--dragonfly}{dragon style}} {\defopt{--bumblebee}{bumble style}} {\defopt{--disk}{computer style}} {\defopt{--mosquito}{sting style}} } \car{ These are unary options specifying the style in which to buzz.} \item{\defopt{-style}{str}{buzz style}} \car{ \genarg{str} should be one of \v{bumblebee}, \v{dragonfly}, \v{mosquito}, or \v{disk}.} \item{\defopt{--scan}{scan mode}} \car{ This will buzz 10 seconds for each tune specified. Refer also to the \optref{-sd}{\genopt{-sd} option}.} \item{\defopt{-sd}{i}{scan duration}} \car{ Sets the scan time in (an integer number of) seconds. This affects the \optref{--scan}{\genopt{--scan} option}.} \end{itemize} \sec{files}{FILES} \par{ /etc/zoem/foriamzoem.bzz contains the zoem jingle.\| /etc/zoem/zoem.ascii-art contains zoem related ascii art. An excerpt is shown below.} \verbatim{ .-----------------------------. | | | _ " _ | | (\\"/) (_\\|/_) | | (/|\\) (_/|\\_) | | | | | | () | | | -----% | | () | | ejm| .-----------------------------.} \sec{environment}{ENVIRONMENT} \par{ Currently, no environmental issues with \buzzz.} \sec{diagnostics}{DIAGNOSTICS} \par{ If the tune spans an interval larger than 5 tones, buzzz will emit little beeps. If the interval exceeds an octave, buzzz will fork and exec \bf{bell}.} \sec{bugs}{BUGS} \par{ Some do.} \sec{author}{AUTHOR} \par{ Bugs Bunny.} \sec{history}{HISTORY} \par{ repeats itself, especially from a buzzing point of view. Refer to \refer{foobar} for an in-depth analysis. A different point of view is presented in \refer{barfoo}.} \sec{seealso}{SEE ALSO} \par{The \sibref{bell}{bell(1) manual}.} \${html}{\par{ On the www it is difficult to show a manual page as compiled for rendering in a terminal, but one can view a manual page as compiled for rendering by a postscript interpreter. Lo and behold \httpref{buzzz.ps}.}} \par{ \reference{foobar} Bugs Bunny. Foo Bar. A history of making, maintenance, repair, and disposal.} \par{ \reference{barfoo} Donald Duck. The futile mistake, and how it changes my life every day.} \end{pud::man} aephea-12-248/mac/doc/pud.ps0000644000402500021140000006501211334633066012420 00000000000000%!PS-Adobe-3.0 %%Creator: groff version 1.18.1.1 %%CreationDate: Wed Feb 10 22:41:58 2010 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic %%+ font Courier %%DocumentSuppliedResources: procset grops 1.18 1 %%Pages: 3 %%PageOrder: Ascend %%Orientation: Portrait %%EndComments %%BeginProlog %%BeginResource: procset grops 1.18 1 /setpacking where{ pop currentpacking true setpacking }if /grops 120 dict dup begin /SC 32 def /A/show load def /B{0 SC 3 -1 roll widthshow}bind def /C{0 exch ashow}bind def /D{0 exch 0 SC 5 2 roll awidthshow}bind def /E{0 rmoveto show}bind def /F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def /G{0 rmoveto 0 exch ashow}bind def /H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /I{0 exch rmoveto show}bind def /J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def /K{0 exch rmoveto 0 exch ashow}bind def /L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /M{rmoveto show}bind def /N{rmoveto 0 SC 3 -1 roll widthshow}bind def /O{rmoveto 0 exch ashow}bind def /P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /Q{moveto show}bind def /R{moveto 0 SC 3 -1 roll widthshow}bind def /S{moveto 0 exch ashow}bind def /T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def /SF{ findfont exch [exch dup 0 exch 0 exch neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /MF{ findfont [5 2 roll 0 3 1 roll neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /level0 0 def /RES 0 def /PL 0 def /LS 0 def /MANUAL{ statusdict begin/manualfeed true store end }bind def /PLG{ gsave newpath clippath pathbbox grestore exch pop add exch pop }bind def /BP{ /level0 save def 1 setlinecap 1 setlinejoin 72 RES div dup scale LS{ 90 rotate }{ 0 PL translate }ifelse 1 -1 scale }bind def /EP{ level0 restore showpage }bind def /DA{ newpath arcn stroke }bind def /SN{ transform .25 sub exch .25 sub exch round .25 add exch round .25 add exch itransform }bind def /DL{ SN moveto SN lineto stroke }bind def /DC{ newpath 0 360 arc closepath }bind def /TM matrix def /DE{ TM currentmatrix pop translate scale newpath 0 0 .5 0 360 arc closepath TM setmatrix }bind def /RC/rcurveto load def /RL/rlineto load def /ST/stroke load def /MT/moveto load def /CL/closepath load def /Fr{ setrgbcolor fill }bind def /Fk{ setcmykcolor fill }bind def /Fg{ setgray fill }bind def /FL/fill load def /LW/setlinewidth load def /Cr/setrgbcolor load def /Ck/setcmykcolor load def /Cg/setgray load def /RE{ findfont dup maxlength 1 index/FontName known not{1 add}if dict begin { 1 index/FID ne{def}{pop pop}ifelse }forall /Encoding exch def dup/FontName exch def currentdict end definefont pop }bind def /DEFS 0 def /EBEGIN{ moveto DEFS begin }bind def /EEND/end load def /CNT 0 def /level1 0 def /PBEGIN{ /level1 save def translate div 3 1 roll div exch scale neg exch neg exch translate 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit []0 setdash /setstrokeadjust where{ pop false setstrokeadjust }if /setoverprint where{ pop false setoverprint }if newpath /CNT countdictstack def userdict begin /showpage{}def }bind def /PEND{ clear countdictstack CNT sub{end}repeat level1 restore }bind def end def /setpacking where{ pop setpacking }if %%EndResource %%IncludeResource: font Times-Roman %%IncludeResource: font Times-Bold %%IncludeResource: font Times-Italic %%IncludeResource: font Courier grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron /scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent /ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen /period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon /semicolon/less/equal/greater/question/at/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/bracketleft/backslash/bracketright/circumflex /underscore/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/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft /guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl /endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut /dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash /quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen /brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft /logicalnot/minus/registered/macron/degree/plusminus/twosuperior /threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior /ordmasculine/guilsinglright/onequarter/onehalf/threequarters /questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE /Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn /germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash /ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def /Courier@0 ENC0/Courier RE/Times-Italic@0 ENC0/Times-Italic RE /Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE %%EndProlog %%Page: 1 1 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 161.925 <707564283729204d495343454c4c414e454f5553>20 48 R<707564283729>166.925 E /F1 10.95/Times-Bold@0 SF -.219<4e41>20 84 S<4d45>.219 E F0<70756420ad20 506f727461626c6520556e697820446f63756d656e746174696f6e20666f72206d616e75 616c20706167657320616e642066>100 96 Q<617120646f63756d656e7473>-.1 E F1 <4445534352495054494f4e>20 112.8 Q F0 .229<506f727461626c6520556e697820 446f63756d656e746174696f6e206f72207075642063757272656e746c792070726f>100 124.8 R .228<7669646573207477>-.15 F 2.728<6f6d>-.1 G .228 <696e692d6c616e67756167657320666f7220617574686f72696e6720696e20746865> -2.728 F .262<554e495820656e>100 136.8 R 2.762 <7669726f6e6d656e742e20546865>-.4 F<7477>2.762 E 2.762<6f6d>-.1 G .262< 696e692d6c616e6775616765732061726520666f722077726974696e6720554e4958206d 616e75616c20706167657320616e642066>-2.762 F .263<617120646f63752d>-.1 F 3.638<6d656e74732e20536f75726365>100 148.8 R 1.137<646f63756d656e747320 696e20707564206c616e6775616765732063616e20626520636f6d70696c656420746f20 6569746865722063726f73732d6c696e6b>3.638 F 1.137 <65642068746d6c206f7220746f>-.1 F<74726f66>100 160.8 Q <662e205468652074726f66>-.25 E 2.5<666f>-.25 G<75747075742063616e206265 206675727468657220636f6d70696c656420696e746f20506f73745363726970742c2070 64662c20616e6420706c61696e207465>-2.5 E<78742e>-.15 E F1 -1.007<5461>20 177.6 S<626c65206f6620436f6e74656e7473>1.007 E F0 7.5<312e204e>122.5 189.6 R<414d45>-.35 E 7.5<322e204445534352495054494f4e>122.5 201.6 R 7.5 <332e2054>122.5 213.6 R<61626c65206f6620436f6e74656e7473>-.8 E 7.5 <342e20506f727461626c65>122.5 225.6 R <556e697820446f63756d656e746174696f6e2065>2.5 E <7874656e64732041657068656120616e64207a6f656d>-.15 E 7.5 <352e2047657474696e67>122.5 237.6 R<73746172746564>2.5 E 7.5 <362e20554e4958>122.5 249.6 R <6d616e75616c20706167657320696e2068746d6c2c2074726f66>2.5 E 2.5<6661> -.25 G<6e6420506f7374536372697074>-2.5 E 7.5<372e2066>122.5 261.6 R <617120646f63756d656e747320696e2068746d6c2c2074726f66>-.1 E 2.5<6661> -.25 G<6e6420506f7374536372697074>-2.5 E 7.5<382e204d616e75616c73>122.5 273.6 R<616e642066>2.5 E<61712065>-.1 E<78616d706c657320656c7365>-.15 E <7768657265>-.25 E 7.5<392e20446f63426f6f6b>122.5 285.6 R <636f6e73696465726564206861726d66756c>2.5 E 7.5<31302e20496e666f>117.5 297.6 R -.25<6576>2.5 G<696c>.25 E 7.5<31312e2041>117.5 309.6 R <5554484f52>-.55 E 7.5<31322e20534545>117.5 321.6 R<414c534f>2.5 E F1 -.219<506f>20 338.4 S<727461626c6520556e697820446f63756d656e746174696f6e 20657874656e64732041657068656120616e64207a6f656d>.219 E F0 .534<506f7274 61626c6520556e697820446f63756d656e746174696f6e20287075642920697320706172 74206f6620746865>100 350.4 R/F2 10/Times-Italic@0 SF .534 <41657068656120646f63756d656e746174696f6e206672>3.034 F<616d65>-.15 E <776f726b>-.15 E F0 3.035<2e41>C .535<6570686561206973>-3.035 F -.2 <6275>100 362.4 S 1.925<696c74206f6e20746f70206f66>.2 F/F3 10 /Times-Bold@0 SF<7a6f656d>4.425 E F0<28687474703a2f2f6d6963616e732e6f72> 4.424 E 1.924<672f7a6f656d292c20616e20616c6c2d707572706f7365206d6163726f 2f70726f6772616d6d696e67206c616e67756167652e>-.18 F 1.389<426f7468204165 7068656120616e642070756420646f63756d656e7473206172652070726f636573736564 20627920636f6d70696c696e67207468656d207769746820746865207a6f656d2070726f 636573736f722e>100 374.4 R .169 <54686520646f63756d656e7473207468656d73656c76>100 386.4 R .169<65732061 72652067656e6572616c6c792077656c6c2d737472756374757265642c2072656c617469> -.15 F -.15<7665>-.25 G .169 <6c792066726565206f6620666f726d617474696e672073746174656d656e7473>.15 F 1.274<616e6420636f6d7061637420746f2077726974652e>100 398.4 R<546865> 6.274 E 3.774<7963>-.15 G 1.274<616e20626520656173696c792065>-3.774 F 1.274<7874656e6465642073696e6365207468652066756c6c207a6f656d206c616e6775 6167652069732061>-.15 F -.25<7661>-.2 G<696c61626c65>.25 E <66726f6d2077697468696e20612070756420646f63756d656e742e>100 410.4 Q 1.151<506f727461626c6520556e697820446f63756d656e746174696f6e206973206375 7272656e746c7920736869707065642077697468>100 434.4 R F2<416570686561> 3.651 E F0 6.151<2e59>C 1.15 <6f752077696c6c20616c736f206e65656420746f20696e7374616c6c>-7.251 F F2 <7a6f656d>100 446.4 Q F0<2e>A F1<47657474696e672073746172746564>20 463.2 Q F0 10<6947>137.22 475.2 S 10.777 <657420616e6420696e7374616c6c20626f7468>-10 F F3<416570686561>13.277 E F0<28687474703a2f2f6d6963616e732e6f72>13.277 E 10.777 <672f6165706865612920616e64>-.18 F F3<7a6f656d>13.278 E F0 <28687474703a2f2f6d6963616e732e6f72>150 487.2 Q 2.707 <672f7a6f656d292e2046>-.18 F<6f6c6c6f>-.15 E 5.207<7774>-.25 G 2.706<68 6520696e737472756374696f6e7320696e207468652041657068656120524541444d4520 8c6c652c>-5.207 F<776869636820626f696c20646f>150 499.2 Q <776e20746f2074686973207265636970653a>-.25 E/F4 10/Courier@0 SF <4165706865613a>150 523.2 Q <2e2f636f6e666967757265202d2d7072656669783d24414550484541505245464958> 168 535.2 Q<6d616b65>168 547.2 Q<6d616b6520696e7374616c6c>168 559.2 Q <5a6f656d3a>150 583.2 Q<2e2f636f6e666967757265202d2d776974682d696e636c75 6465706174683d244145504845415052454649582f73686172652f616570686561202d2d 7072656669783d244f54484552505245464958>168 595.2 Q<6d616b65>168 607.2 Q <6d616b6520696e7374616c6c>168 619.2 Q F0 .721<416c6c20707564208c6c657320 77696c6c20626520696e7374616c6c656420617320796f7520696e7374616c6c20416570 6865612e20496620796f75206172652072656164696e672074686973206c6f63616c6c79> 150 643.2 R<6f6e20796f75722073797374656d2c206368616e63657320617265207a6f 656d20616e64204165706865612061726520696e7374616c6c65642e>150 655.2 Q 7.5 <6969204f6e>134.44 679.2 R 1.173<74686973207061676520726561642074686520 706f696e7465727320696e2073656374696f6e>3.673 F F2<53656374696f6e2036> 3.673 E F0 1.173<696620796f752077>3.673 F 1.172 <616e7420746f2077726974652061206d616e75616c>-.1 F 2.779 <706167652e2052656164>150 691.2 R .279 <74686520706f696e7465727320696e2073656374696f6e>2.779 F F2 <53656374696f6e2037>2.779 E F0 .279<696620796f752077>2.779 F .28 <616e7420746f20777269746520616e2066>-.1 F .28<61712e205468652066>-.1 F <617374657374>-.1 E -.1<7761>150 703.2 S 3.511<7974>.1 G 3.511<6f67> -3.511 G 1.011<657420757020746f20737065656420697320746f20636f70>-3.511 F 3.511<7961>-.1 G 1.01 <6e64206d6f6469667920612074656d706c617465206f722065>-3.511 F 1.01 <78697374696e6720736f7572636520646f63752d>-.15 F<6d656e742e>150 715.2 Q <70756420312e3030322c2031302d303038>20 768 Q 2.5<384a>139.005 G <616e2032303130>-2.5 E<31>207.335 E 0 Cg EP %%Page: 2 2 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 161.925 <707564283729204d495343454c4c414e454f5553>20 48 R<707564283729>166.925 E 7.5<696969205768696c65>131.66 84 R 1.784 <77726974696e6720796f757220646f63756d656e742c20636f6e73756c7420746865> 4.284 F/F1 10/Times-Bold@0 SF<7075642d6d616e283729>4.285 E F0 1.785 <646f63756d656e746174696f6e2c20746865>4.285 F F1<7075642d>4.285 E <666171283729>150 96 Q F0<646f63756d656e746174696f6e2c20616e6420746865> 2.5 E F1<6165706865612d62617365283729>2.5 E F0 <646f63756d656e746174696f6e206173206e65636573736172792e>2.5 E 8 -.25 <6976204f>132.47 120 T .95 -.25<66662079>.25 H .45 <6f7520676f2e20496620796f75206e656564206d6163726f2066>.25 F .449 <6163696c6974696573206f722070726f6772616d6d696e672066>-.1 F .449 <6163696c69746965732c207a6f656d20697320746865726520746f>-.1 F .236 <61737369737420796f752e>150 132 R .236<53696d706c65206d6163726f20746173 6b7320617265206561737920746f206163636f6d706c6973682e2046>5.236 F .236 <6f72206d6f726520696e>-.15 F -.2<766f>-.4 G<6c76>.2 E .237 <65642073747566>-.15 F 2.737<6679>-.25 G<6f75>-2.737 E 1.288 <6d696768742077>150 144 R 1.288<616e7420746f20636f6e73756c7420746865205a 6f656d2055736572204d616e75616c20286f72207a756d292e>-.1 F 1.287 <7a756d2073686f756c6420626520696e7374616c6c6564>6.287 F 20.762 <6c6f63616c6c792e20416c7465726e617469>150 156 R -.15<7665>-.25 G 18.263 <6c7920766965>.15 F 20.763<7774>-.25 G 18.263 <6865206c6174657374207a756d>-20.763 F F1 18.263<6174206d6963616e73> 20.763 F F0<28687474703a2f2f6d6963616e732e6f72>150 168 Q 9.512<672f7a6f 656d2f646f632f7a756d2e68746d6c29206f722073756273637269626520746f20746865 206d61696c696e67206c697374>-.18 F<28687474703a2f2f6d6963616e732e6f72>150 180 Q<672f7a6f656d2f696e6465>-.18 E<782e68746d6c236c697374292e>-.15 E/F2 10.95/Times-Bold@0 SF <554e4958206d616e75616c20706167657320696e2068746d6c2c207472>20 196.8 Q <6f666620616e642050>-.197 E<6f7374536372697074>-.219 E F0 -.4<5769>100 208.8 S .196<746820746865>.4 F F1<7075642d6d616e283729>2.696 E F0 .196< 7061636b61676520796f7520637265617465206d616e75616c20706167657320666f7220 6f757470757420696e20656974686572>2.696 F/F3 10/Times-Italic@0 SF<7472> 2.696 E<6f66>-.45 E<66>-.18 E F0<2867726f66>2.696 E .196<662c206e726f66> -.25 F .196<6629206f72>-.25 F <68746d6c2e20546865208c7273742063616e20626520766965>100 220.8 Q<77656420 66726f6d2061207465726d696e616c2c20746865207365636f6e6420696e20612062726f> -.25 E<777365722e>-.25 E .377<546865208c63746974696f7573>100 244.8 R F3 -.2<6275>2.877 G<7a7a7a>.2 E F0 .376<7574696c69747920697320646573637269 62656420696e206120707564206d616e75616c20706167652e2049742069732073686970 70656420776974682065>2.877 F -.15<7665>-.25 G .376 <7279207a6f656d206469732d>.15 F<74726962>100 256.8 Q .827<7574696f6e2061 6e6420746865206d616e75616c20706167652073686f756c6420626520696e7374616c6c 6564206c6f63616c6c7920696e207468652073616d65206c6f636174696f6e2061732069 747320736f757263652e>-.2 F<4966>5.828 E .223<746865206c6f636174696f6e20 6973206861726420746f208c6e6420796f752063616e206a757374206f627461696e2074 68652070756420736f757263652066726f6d20746865207a6f656d20736f757263652064 697374726962>100 268.8 R<7574696f6e2c>-.2 E .846 <6f7220616c7465726e617469>100 280.8 R -.15<7665>-.25 G .846 <6c7920796f75206d617920766965>.15 F 3.347<7774>-.25 G .847 <6865206c6174657374>-3.347 F F1 -.2<6275>3.347 G .847<7a7a7a20736f7572> .2 F<6365>-.18 E F0<28687474703a2f2f6d6963616e732e6f72>3.347 E <672f6165706865612f7372632f6165706865612d6c61742d>-.18 E <6573742f6d61632f646f632f62>100 292.8 Q 3.328 <757a7a7a2e617a6d2920757073747265616d206174206d6963616e732e>-.2 F 3.328 <46757274686572206c696e6b732061726520746f20746865>8.328 F F1 -.2<506f> 5.828 G 3.328<73745363726970742076>.2 F<657273696f6e>-.1 E F0 <28687474703a2f2f6d6963616e732e6f72>100 304.8 Q<672f6165706865612f737263 2f6165706865612d6c61746573742f6d61632f646f632f62>-.18 E 6.686 <757a7a7a2e70732920616e6420746865>-.2 F F1 6.686 <706c61696e20746578742066>9.186 F<6f726d6174>-.25 E F0 <28687474703a2f2f6d6963616e732e6f72>100 316.8 Q<672f6165706865612f737263 2f6165706865612d6c61746573742f6d61632f646f632f62>-.18 E <757a7a7a2e747874292e>-.2 E -.15<466f>100 340.8 S 3.919<726f>.15 G 1.419 <746865722065>-3.919 F 1.419<78616d706c657320636f6e73696465722074686520 6f6c6465737420707564206d616e75616c20706167652065>-.15 F -.15<7665>-.25 G 3.918<7277>.15 G 1.418<72697474656e3a20746865>-3.918 F F1 1.418 <6d636c206d616e75616c2070616765>3.918 F F0 <28687474703a2f2f6d6963616e732e6f72>100 352.8 Q 21.786 <672f6d636c2f6d616e2f6d636c2e68746d6c292c207468652073616d6520696e>-.18 F F1 -.2<506f>24.286 G 21.786<7374536372697074206f7574707574>.2 F F0 <28687474703a2f2f6d6963616e732e6f72>100 364.8 Q 22.687 <672f6d636c2f6d616e2f6d636c2e7073292c20616e6420746865>-.18 F F1 <736f7572>25.187 E 22.687<63652066>-.18 F 22.686<6f7220616c6c2074686973> -.25 F F0<28687474703a2f2f6d6963616e732e6f72>100 376.8 Q 3.168 <672f6d636c2f6d616e2f6d636c2e617a6d292e204279>-.18 F .668 <7573696e67207468652076>3.168 F<656e657261626c65>-.15 E F3<636f6c>3.168 E F0 .668<70726f6772616d2c207468652074726f66>3.168 F 3.168<666f>-.25 G .668<75747075742063616e>-3.168 F 1.4<626520636f6e>100 388.8 R -.15<7665> -.4 G 1.4<7274656420746f206e696365206c6f6f6b696e67>.15 F F1 1.4 <706c61696e20746578742066>3.9 F<6f726d6174>-.25 E F0 <28687474703a2f2f6d6963616e732e6f72>3.9 E 3.9 <672f6d636c2f6d616e2f6d636c2e747874292e2046696e64>-.18 F<746865>3.9 E F1 <7472>100 400.8 Q<6f6666206f7574707574>-.18 E F0 <28687474703a2f2f6d6963616e732e6f72>2.5 E <672f6d636c2f6d616e2f6d636c2e312920646973636c6f7365642061732077656c6c2e> -.18 E 7.392 <54686572652061726520736f6d652032302b206d616e75616c20706167657320666f72> 100 424.8 R F1<646966666572>9.893 E 7.393 <656e74207574696c697469657320696e20746865206d636c2066616d696c79>-.18 F F0<28687474703a2f2f6d6963616e732e6f72>100 436.8 Q <672f6d636c2f6d616e2f292e>-.18 E F2 <66617120646f63756d656e747320696e2068746d6c2c207472>20 453.6 Q <6f666620616e642050>-.197 E<6f7374536372697074>-.219 E F0 .008 <4372656174652066>100 465.6 R .008<617120646f63756d656e74732077697468> -.1 F F1<7075642d666171283729>2.508 E F0 .008 <666f72206f757470757420696e20656974686572>2.508 F F3<7472>2.508 E<6f66> -.45 E<66>-.18 E F0<2867726f66>2.508 E .008<662c206e726f66>-.25 F .008 <6629206f722068746d6c2e2054686520666f726d6572>-.25 F 1.819 <63616e20626520766965>100 477.6 R 1.819<77656420696e2061207465726d696e61 6c207669612074686520554e4958206d616e20706167652073797374656d2c2074686520 6c61747465722063616e20626520766965>-.25 F 1.82<77656420696e2061>-.25 F <62726f>100 489.6 Q<777365722e>-.25 E<546865>100 513.6 Q F3 2.551 <70756420666171206d696e692d6c616e677561>5.051 F -.1<6765>-.1 G F0 2.551 <69732064657363726962656420617320612072617468657220747269>5.151 F 2.551 <7669616c2066>-.25 F 2.55 <617120697473656c662e2049742063616e20626520766965>-.1 F 2.55 <77656420696e>-.25 F F3 -.8<506f>100 525.6 S<7374536372697074>.8 E F0 1.17<28636f6d70696c65642066726f6d2074726f66>3.67 F 3.67<6663>-.25 G 1.171<6f6d70696c65642066726f6d>-3.67 F F3 1.171 <746865207a6f656d20736f7572>3.671 F<6365>-.37 E F0 1.171<616e6420696e> 3.671 F F3 1.171<706c61696e207465>3.671 F<7874>-.2 E F0<286167>3.671 E 1.171<61696e20636f6d2d>-.05 F<70696c65642066726f6d2074726f66>100 537.6 Q <66292e>-.25 E -.15<466f>100 561.6 S 3.454<7265>.15 G .954 <78616d706c6573206265686f6c6420746865>-3.604 F F1<6272>3.453 E -.1<6f77> -.18 G .953<73696e672064656c69676874>.1 F F0 <28687474703a2f2f6d6963616e732e6f72>3.453 E <672f6d636c2f6d616e2f6d636c66>-.18 E .953 <61712e68746d6c29207468617420697320746865>-.1 F .913<6d636c2066>100 573.6 R .913<61712c20616e6420746865>-.1 F F1 -.2<506f>3.413 G .913 <737453637269707420706c6561737572>.2 F<65>-.18 E F0 <28687474703a2f2f6d6963616e732e6f72>3.413 E <672f6d636c2f6d616e2f6d636c66>-.18 E 3.414<61712e7073292e2046696e64>-.1 F<746865>3.414 E F1<6e6f626c657374>3.414 E -.25<666f>100 585.6 S <726d6174>.25 E F0<28687474703a2f2f6d6963616e732e6f72>28.828 E <672f6d636c2f6d616e2f6d636c66>-.18 E 26.328<61712e747874292c20746865>-.1 F F1<696d7072>28.827 E 26.327<65676e61626c65207472>-.18 F<6f6666>-.18 E F0<28687474703a2f2f6d6963616e732e6f72>100 597.6 Q <672f6d636c2f6d616e2f6d636c66>-.18 E 2.262<61712e37292c20616e6420746865> -.1 F F1<736f7572>4.763 E<6365>-.18 E F0 <28687474703a2f2f6d6963616e732e6f72>4.763 E <672f6d636c2f6d616e2f6d636c66>-.18 E<61712e617a6d29>-.1 E <666f7220616c6c2074686174206a617a7a2e>100 609.6 Q F2 <4d616e75616c7320616e6420666171206578616d706c657320656c736577686572>20 626.4 Q<65>-.197 E F1 .006<4f746865722070656f706c65>100 638.4 R F0 -.15 <6578>2.506 G .006<6973742077726974696e67207075642e204e6f74206d616e>.15 F 2.506<7979>-.15 G 2.506<65742e204a6f6f7374>-2.506 F -.25<7661>2.506 G 2.506<6e42>.25 G .005<61616c20686173207573656420746865207075642d66> -2.506 F .005<6171207061636b61676520616e64>-.1 F .86<746865207075642d6d 616e207061636b61676520746f2063726561746520646f63756d656e746174696f6e2066 6f72>100 650.4 R F1 .86<476e7550472028696e20447574636829>3.36 F F0 <28687474703a2f2f6d6463632e63782f676e7570672f292c>3.36 E F1 <636173706172>100 662.4 Q F0 <28687474703a2f2f6d6463632e63782f7075622f6361737061722f636173706172> 6.945 E 4.445<2d6c61746573742f646f632f292c20616e6420746865>-.2 F F1 <737472>6.944 E 4.444<6f6e6720288c72>-.18 F 4.444 <652977616c6c73206f66207572756b>-.18 F F0<28687474703a2f2f6d6463632e6378 2f7075622f7572756b2f7572756b2d6c61746573742f6d616e2f292e>100 674.4 Q F2 <446f63426f6f6b20636f6e7369646572>20 691.2 Q<6564206861726d66756c>-.197 E F0 .71<50656f706c65206a7573746c792077>100 703.2 R .71 <6f6e646572207768>-.1 F 3.21<7970>-.05 G .71<7564207475726e732061>-3.21 F -.1<7761>-.15 G 3.21<7966>.1 G .71<726f6d2074686520626c617a696e67206c 69676874206f6620676f6f646e657373207468617420697320446f63426f6f6b2e>-3.21 F .867<446f63426f6f6b20646f65732070726f>100 715.2 R .867<76696465206d61 6e75616c207061676520656c656d656e747320616e6420697420646f657320737570706f 72742067>-.15 F .867<617a696c6c696f6e73206f66206f7574707574206465>-.05 F <76696365732e>-.25 E<4e65>100 727.2 Q -.15<7665>-.25 G .064<727468656c65 737320446f63426f6f6b206d616e20706167657320617265206120637275656c7479>.15 F 2.564<2c6163>-.65 G .064<7572736520616e64207468652062616e65206f662061 6c6c207468696e677320676f6f6420616e6420707572652e>-2.564 F <70756420312e3030322c2031302d303038>20 768 Q 2.5<384a>139.005 G <616e2032303130>-2.5 E<32>207.335 E 0 Cg EP %%Page: 3 3 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 161.925 <707564283729204d495343454c4c414e454f5553>20 48 R<707564283729>166.925 E .727<446f63426f6f6b2063616e6e6f74206265207772697474656e2c2069742063616e 6e6f74206265206d61696e7461696e65642c2069742063616e6e6f742062652070726f67 72616d6d65642e2059>100 84 R .726<65732c20584d4c20616e64>-1 F .498 <446f63426f6f6b20617265206e6f74>100 96 R/F1 10/Times-Italic@0 SF <737570706f736564>2.998 E F0 .499 <746f2062652070726f6772616d6d65642c2062>2.998 F .499<757420776865726520 697320746865206465637265652074686174206d616e2073686f756c6420746f696c2061 6e64>-.2 F<737566>100 108 Q <66657220736f20746861742068697320646f63756d656e746174696f6e2077>-.25 E< 6f756c64206265207472616e736d6f677269667961626c6520696e746f20616c6c206574 65726e6974793f>-.1 E .007<446f63426f6f6b2070726f>100 132 R .007<76696465 7320736f6d6520736f7274206f66206d616e75616c2070616765206f6e746f6c6f6779> -.15 F 2.507<2c64>-.65 G .006 <657363726962696e6720737570706f7365646c792065>-2.507 F -.15<7665>-.25 G .006<727920656c656d656e7420796f75>.15 F 1.016<6d696768742065>100 144 R -.15<7665>-.25 G 3.516<726e>.15 G 1.016<6565642e20496e65>-3.516 F 1.016 <76697461626c7920796f752077696c6c2077>-.25 F 1.017 <616e7420746f20646f207468696e6773207468617420617265206e6f742070726f>-.1 F 1.017<766964656420616e64207468656e20796f7520617265>-.15 F 4.502 <737475636b2e20446f63426f6f6b>100 156 R 2.002<6c6973747320616e6420656e75 6d65726174696f6e7320617265207061696e66756c20616e64206c696d697465642e2054 68652076>4.502 F 2.001<6572626f73697479206f6620446f63426f6f6b>-.15 F <6d616b>100 168 Q<65732061206d6f756e7461696e206f7574206f6620776861742073 686f756c642062652061206d6f6c652068696c6c2e>-.1 E 1.171<707564206d616e75 616c2070616765732061726520636f6e6369736520616e642063616e2062652065617369 6c792063726f73732d7265666572656e6365642e2054686520736f757263652069732061 20706c65617375726520746f>100 192 R .856<7265616420616e64206f757470757420 66726f6d2073656c662d646f63756d656e74696e6720636f6d6d616e64732063616e2062 6520696d706f727465642e205a6f656d20494f2c206d6163726f20616e642070726f2d> 100 204 R<6772616d6d696e672066>100 216 Q<6163696c6974696573206d616b>-.1 E 2.5<6574>-.1 G<686520736f757263652065>-2.5 E <7874656e6461626c6520736f2074686174206e65>-.15 E 2.5<7772>-.25 G <6571756972656d656e74732063616e20626520636f70656420776974682e>-2.5 E -.4 <5769>100 240 S 1.318<73652070656f706c65206172>.4 F 1.318 <6775652074686174206f6e652063616e6e6f742066>-.18 F 1.319<6174686f6d2074 6865206e65656473206f66206675747572652067656e65726174696f6e7320616e642075 72>-.1 F 1.319<67652074686520676f6f64>-.18 F .389<70656f706c65206f662055 4e495820746f2075736520446f63426f6f6b2e2054686520666f6f6c206b6e6f>100 252 R .388<77732074686174207468697320706172746963756c6172207072656d69736520 64697370726f>-.25 F -.15<7665>-.15 G 2.888<7374>.15 G .388 <6865207468652d>-2.888 F .512<73697320616e642074686174206a6f>100 264 R 3.012<7962>-.1 G -.15<6567>-3.012 G .512<657473206a6f>.15 F 3.013 <792e2046>-.1 F .513<6163746f72207468652070726573656e7420696e746f207468 6520617574686f72696e67207375737461696e6162696c697479206571756174696f6e20 616e6420746865>-.15 F<7363616c6573207469702e>100 276 Q 1.224<4174207468 6973206a756e63747572652c204920616d206865736974616e746c792077696c6c696e67 20746f2062657420746861742074686520707564206c616e6775616765732063616e2065 6173696c7920626520706f7274656420746f>100 300 R 1.259<446f63426f6f6b2e20 4e6f6e65206f6620746865207061696e2c20616c6c206f66207468652067>100 312 R 3.759<61696e2e20546865>-.05 F<707564>3.759 E F1<6974656d697a65>3.76 E F0 <656e>3.76 E 1.26 <7669726f6e6d656e74206973206120737469636b696e6720706f696e74>-.4 F 2.435 <74686f7567682e2049742070726f>100 324 R 2.435 <76696465732c20686f72726f72732c2061206665>-.15 F 4.935<7766>-.25 G 2.434 <6f726d617474696e67206f7074696f6e732e204f7074696f6e616c2070617261677261 70687320736b6970732c20636f6d70616374>-4.935 F .392<6d6f64652c2072696768 742d616c69676e6d656e74206f66206974656d732c206175746f6d6174696320656e756d 65726174696f6e2c20616e64207468652066>100 336 R<616e746162>-.1 E .392 <756c6f757320696e7465726d657a7a6f20666561747572652e>-.2 F/F2 10.95 /Times-Bold@0 SF<496e66>20 352.8 Q 2.738<6f65>-.274 G<76696c>-2.902 E F0 1.161<54686520676f6f642070656f706c65206f6620696e666f20636f6e736964657220 6d616e75616c207061676573206f62736f6c6574652e2057686174206d6f726520697320 746865726520746f207361793f20497420697320616c6c>100 364.8 R <7772697474656e>100 376.8 Q/F3 10/Times-Bold@0 SF<686572>2.5 E<65>-.18 E F0<28687474703a2f2f6d6963616e732e6f72>2.5 E<672f7374696a6e2f766965>-.18 E<77732f696e666f696e6665726e6f2e68746d6c292e>-.25 E F2 -.548<4155>20 393.6 S<54484f52>.548 E F0<7075642077>100 405.6 Q <6173207772697474656e206279205374696a6e2076>-.1 E<616e20446f6e67656e2e> -.25 E F2<53454520414c534f>20 422.4 Q F3<7075642d6d616e283729>100 434.4 Q<7075642d666171283729>100 446.4 Q<6165706865612d62617365283729>100 458.4 Q<6165706865612d72>100 470.4 Q<6566283729>-.18 E F0 <70756420312e3030322c2031302d303038>20 768 Q 2.5<384a>139.005 G <616e2032303130>-2.5 E<33>207.335 E 0 Cg EP %%Trailer end %%EOF aephea-12-248/mac/doc/pud-faq.txt0000644000402500021140000001574511322640157013366 00000000000000pud-faq(7) MISCELLANEOUS pud-faq(7) NAME pud-faq - faqs and facts about the Portable Unix Documentation FAQ authoring language. This document describes the Portable Unix Documentation (PUD) faq mini-language in the style of a FAQ. PUD-faq is built on top of the macro interpreter zoem. A PUD document is generally well-structured, relatively free of formatting statements, compact to write and eas- ily extendable. It can be converted to both troff and html, for viewing in terminals and browsers. High quality Postscript and plain text formats can be derived from the troff output. Refer to pud-man for examples. DESCRIPTION The PUD faq macros extend the PUD manual macros; a PUD faq document must import both man.zmm and faq.zmm. There are only a few addi- tional faq macros in faq.zmm. The overall layout of a faq document is as follows: \import{man.zmm} \import{faq.zmm} \begin{pud::man}{ {name}{pud-faq} {html_title}{The PUD faq mini-language FAQ} {author}{Stijn van Dongen} {section}{7} } \"faq::preamble" \${html}{\"man::maketoc"} \sec{toc}{TOC} \"faq::maketoc" \begin{faqsec}{{ref}{Labelx}{cap}{Captionx}} content \end{faqsec} \begin{faqsec}{{ref}{Labely}{cap}{Captiony}} content \end{faqsec} \end{pud::man} The PUD manual macros are documented in the pud-man manual page. Create your FAQ according to the lay-out above and as described fur- ther below. Refer to Question 2.3 for full-size examples. Once you have written your FAQ, process it as follows. zoem -i your-faq.azm -d html zoem -i your-faq.azm -d html zoem -i your-faq.azm -d roff -o your-faq.7 zoem -i your-faq.azm -d roff -o your-faq.7 This generates files your-faq.html and your-faq.7. Each device is run twice to be certain that references are found and linked. RESOURCES o The Zoem User Manual. o The pud-man manual page. TOC 1...... How do I create and link to questions and sections? 1.1... How do I start a section? 1.2... How do I make a faq entry? 1.3... How do I link to a question? 1.4... How do I link to a section? 1.5... Is that not a whole lot of typing just for linking? 2...... Miscellaneous 2.1... Is it really possible to have more than one section? 2.2... Is there an easy way to get back to the TOC? 2.3... Show me a real FAQ, not this nonsense. 2.4... I want to change the appearance of my FAQ. 2.5... Show me the source to this FAQ. FAQ How do I create and link to questions and sections? 1.1 How do I start a section? You would for example type \begin{faqsec}{ {ref}{kind} {cap}{How do I link to questions and sections?} } 1.2 How do I make a faq entry? You create an entry as follows: \faq{q_question}{How do I make a faq entry?} You create an entry as follows: ... 1.3 How do I link to a question? \car{Like this: linking to \iref{q_qlink}{Question\~\refnumber{q_qlink}}, or a silly link to the \iref{q_qlink}{current question}. Linking to \iref{s_basics}{Question\~\refnumber{q_slink}}, or a link to the \iref{q_slink}{next question}.} \par{ Of course, you have to use wordings such that the text still makes sense in the absence of links (assuming you are intested in the troff version of the FAQ you are writing), so normally you just refer to \iref{q_slink}{Question\~\refnumber{q_slink}} and be done with it.} Like this: linking to Question 1.3, or a silly link to the current question. Linking to Question 1.4, or a link to the next question. Of course, you have to use wordings such that the text still makes sense in the absence of links (assuming you are intested in the troff version of the FAQ you are writing), so normally you just refer to Question 1.4 and be done with it. 1.4 How do I link to a section? \car{Like this: linking to \iref{q_qlink}{Section\~\refnumber{s_basics}} and linking to \iref{q_stupid}{Section\~\refnumber{s_stupid}}.} Like this: linking to Section 1 and linking to Section 2. 1.5 Is that not a whole lot of typing just for linking? It sure is. Note the repeating elements though. Feel free to create your own shortcuts by using Zoem's macro facilities. Miscellaneous 2.1 Is it really possible to have more than one section? QED 2.2 Is there an easy way to get back to the TOC? In the HTML version of the faq, one can click on the number to the left of the question; this will take you to the top of the TOC part pertaining to the section that question belongs to. 2.3 Show me a real FAQ, not this nonsense. The reason I began writing zoem and PUD was that I wanted decent (both HTML and troff) and easy to write documentation for my imple- mentation of the MCL cluster algorithm. o http://micans.org/mcl/src/mcl-latest/doc/mclfaq.azm o http://micans.org/mcl/src/mcl-latest/doc/mclfaq.html o http://micans.org/mcl/src/mcl-latest/doc/mclfaq.ps 2.4 I want to change the appearance of my FAQ. Well, you need to make a copy of the faq macros and possibly the man macros, and hack those changes in. Zoem itself is very flexible, but the PUD faq macros are not, in this respect. They can be made so, if you wish. If you just want to change or add some style sheet rules for the HTML version, it will be quite easy. The same holds for changing font styles and possibly even spacing rules. 2.5 Show me the source to this FAQ. Search for pud-faq.azm in your install of zoem. Take note though that I played a few silly tricks in this FAQ, so the source looks more unreadable than your average FAQ. The FAQ pointed to in Answer 2.3 gives a more realistic impression. AUTHOR Stijn van Dongen. SEE ALSO The pud-man manual page, documenting the PUD manual language. The FAQ language imports the manual definitions and you use these e.g. for sectioning commands as described above. The pud manual page gives an overview of PUD. pud-faq 1.002, 10-008 8 Jan 2010 pud-faq(7) aephea-12-248/mac/doc/pud-faq.ps0000644000402500021140000005576211322640157013174 00000000000000%!PS-Adobe-3.0 %%Creator: groff version 1.18.1.1 %%CreationDate: Mon Jan 11 15:14:55 2010 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Courier %%+ font Times-Italic %%DocumentSuppliedResources: procset grops 1.18 1 %%Pages: 4 %%PageOrder: Ascend %%Orientation: Portrait %%EndComments %%BeginProlog %%BeginResource: procset grops 1.18 1 /setpacking where{ pop currentpacking true setpacking }if /grops 120 dict dup begin /SC 32 def /A/show load def /B{0 SC 3 -1 roll widthshow}bind def /C{0 exch ashow}bind def /D{0 exch 0 SC 5 2 roll awidthshow}bind def /E{0 rmoveto show}bind def /F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def /G{0 rmoveto 0 exch ashow}bind def /H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /I{0 exch rmoveto show}bind def /J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def /K{0 exch rmoveto 0 exch ashow}bind def /L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /M{rmoveto show}bind def /N{rmoveto 0 SC 3 -1 roll widthshow}bind def /O{rmoveto 0 exch ashow}bind def /P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def /Q{moveto show}bind def /R{moveto 0 SC 3 -1 roll widthshow}bind def /S{moveto 0 exch ashow}bind def /T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def /SF{ findfont exch [exch dup 0 exch 0 exch neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /MF{ findfont [5 2 roll 0 3 1 roll neg 0 0]makefont dup setfont [exch/setfont cvx]cvx bind def }bind def /level0 0 def /RES 0 def /PL 0 def /LS 0 def /MANUAL{ statusdict begin/manualfeed true store end }bind def /PLG{ gsave newpath clippath pathbbox grestore exch pop add exch pop }bind def /BP{ /level0 save def 1 setlinecap 1 setlinejoin 72 RES div dup scale LS{ 90 rotate }{ 0 PL translate }ifelse 1 -1 scale }bind def /EP{ level0 restore showpage }bind def /DA{ newpath arcn stroke }bind def /SN{ transform .25 sub exch .25 sub exch round .25 add exch round .25 add exch itransform }bind def /DL{ SN moveto SN lineto stroke }bind def /DC{ newpath 0 360 arc closepath }bind def /TM matrix def /DE{ TM currentmatrix pop translate scale newpath 0 0 .5 0 360 arc closepath TM setmatrix }bind def /RC/rcurveto load def /RL/rlineto load def /ST/stroke load def /MT/moveto load def /CL/closepath load def /Fr{ setrgbcolor fill }bind def /Fk{ setcmykcolor fill }bind def /Fg{ setgray fill }bind def /FL/fill load def /LW/setlinewidth load def /Cr/setrgbcolor load def /Ck/setcmykcolor load def /Cg/setgray load def /RE{ findfont dup maxlength 1 index/FontName known not{1 add}if dict begin { 1 index/FID ne{def}{pop pop}ifelse }forall /Encoding exch def dup/FontName exch def currentdict end definefont pop }bind def /DEFS 0 def /EBEGIN{ moveto DEFS begin }bind def /EEND/end load def /CNT 0 def /level1 0 def /PBEGIN{ /level1 save def translate div 3 1 roll div exch scale neg exch neg exch translate 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit []0 setdash /setstrokeadjust where{ pop false setstrokeadjust }if /setoverprint where{ pop false setoverprint }if newpath /CNT countdictstack def userdict begin /showpage{}def }bind def /PEND{ clear countdictstack CNT sub{end}repeat level1 restore }bind def end def /setpacking where{ pop setpacking }if %%EndResource %%IncludeResource: font Times-Roman %%IncludeResource: font Times-Bold %%IncludeResource: font Courier %%IncludeResource: font Times-Italic grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron /scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent /ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen /period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon /semicolon/less/equal/greater/question/at/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/bracketleft/backslash/bracketright/circumflex /underscore/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/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft /guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl /endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut /dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash /quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen /brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft /logicalnot/minus/registered/macron/degree/plusminus/twosuperior /threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior /ordmasculine/guilsinglright/onequarter/onehalf/threequarters /questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE /Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn /germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash /ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def /Times-Italic@0 ENC0/Times-Italic RE/Courier@0 ENC0/Courier RE /Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE %%EndProlog %%Page: 1 1 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF<7075642d66>20 48 Q 145.925 <6171283729204d495343454c4c414e454f5553>-.1 F<7075642d66>150.925 E <6171283729>-.1 E/F1 10.95/Times-Bold@0 SF -.219<4e41>20 84 S<4d45>.219 E F0<7075642d66>100 96 Q<617120ad2066>-.1 E<61717320616e642066>-.1 E<61 6374732061626f75742074686520506f727461626c6520556e697820446f63756d656e74 6174696f6e2046>-.1 E 1.1 -.55<41512061>-.74 H <7574686f72696e67206c616e67756167652e>.55 E .031<5468697320646f63756d65 6e74206465736372696265732074686520506f727461626c6520556e697820446f63756d 656e746174696f6e2028505544292066>100 120 R .031 <6171206d696e692d6c616e677561676520696e20746865207374796c65>-.1 F .355 <6f6620612046>100 132 R -.55<4151>-.74 G 2.855<2e50>.55 G<55442d66> -2.855 E .355<61712069732062>-.1 F .355<75696c74206f6e20746f70206f662074 6865206d6163726f20696e746572707265746572207a6f656d2e20412050554420646f63 756d656e742069732067656e6572616c6c79>-.2 F .33 <77656c6c2d737472756374757265642c2072656c617469>100 144 R -.15<7665>-.25 G .33<6c792066726565206f6620666f726d617474696e672073746174656d656e74732c 20636f6d7061637420746f20777269746520616e6420656173696c792065>.15 F <7874656e6461626c652e>-.15 E .758<49742063616e20626520636f6e>100 156 R -.15<7665>-.4 G .758<7274656420746f20626f74682074726f66>.15 F 3.258 <6661>-.25 G .758<6e642068746d6c2c20666f7220766965>-3.258 F .758 <77696e6720696e207465726d696e616c7320616e642062726f>-.25 F .759 <77736572732e2048696768207175616c697479>-.25 F 1.368 <506f737473637269707420616e6420706c61696e207465>100 168 R 1.368 <787420666f726d6174732063616e2062652064657269>-.15 F -.15<7665>-.25 G 3.867<6466>.15 G 1.367<726f6d207468652074726f66>-3.867 F 3.867<666f>-.25 G 1.367<75747075742e20526566657220746f>-3.867 F/F2 10/Times-Bold@0 SF <7075642d6d616e>3.867 E F0<666f72>3.867 E -.15<6578>100 180 S <616d706c65732e>.15 E F1<4445534352495054494f4e>20 196.8 Q F0 .874 <546865205055442066>100 208.8 R .874<6171206d6163726f732065>-.1 F .875< 7874656e642074686520505544206d616e75616c206d6163726f733b2061205055442066> -.15 F .875<617120646f63756d656e74206d75737420696d706f727420626f7468>-.1 F .041<6d616e2e7a6d6d20616e642066>100 220.8 R .041 <61712e7a6d6d2e20546865726520617265206f6e6c792061206665>-.1 F 2.541 <7761>-.25 G .041<64646974696f6e616c2066>-2.541 F .04 <6171206d6163726f7320696e2066>-.1 F .04<61712e7a6d6d2e20546865206f>-.1 F -.15<7665>-.15 G .04<72616c6c206c61792d>.15 F<6f7574206f6620612066>100 232.8 Q<617120646f63756d656e7420697320617320666f6c6c6f>-.1 E<77733a>-.25 E/F3 10/Courier@0 SF<5c696d706f72747b6d616e2e7a6d6d7d>100 268.8 Q <5c696d706f72747b6661712e7a6d6d7d>100 280.8 Q <5c626567696e7b7075643a3a6d616e7d7b>100 304.8 Q <7b6e616d657d7b7075642d6661717d>118 316.8 Q<7b68746d6c5f7469746c657d7b54 68652050554420666171206d696e692d6c616e6775616765204641517d>118 328.8 Q <7b617574686f727d7b5374696a6e2076616e20446f6e67656e7d>118 340.8 Q <7b73656374696f6e7d7b377d>118 352.8 Q<7d>100 364.8 Q <5c226661713a3a707265616d626c6522>100 388.8 Q <5c247b68746d6c7d7b5c226d616e3a3a6d616b65746f63227d>100 412.8 Q <5c7365637b746f637d7b544f437d>100 436.8 Q <5c226661713a3a6d616b65746f6322>100 448.8 Q<5c626567696e7b6661717365637d 7b7b7265667d7b4c6162656c787d7b6361707d7b43617074696f6e787d7d>100 472.8 Q <636f6e74656e74>118 484.8 Q<5c656e647b6661717365637d>100 496.8 Q<5c6265 67696e7b6661717365637d7b7b7265667d7b4c6162656c797d7b6361707d7b4361707469 6f6e797d7d>100 520.8 Q<636f6e74656e74>118 532.8 Q <5c656e647b6661717365637d>100 544.8 Q<5c656e647b7075643a3a6d616e7d>100 568.8 Q F0<54686520505544206d616e75616c206d6163726f732061726520646f6375 6d656e74656420696e20746865>100 592.8 Q F2<7075642d6d616e>2.5 E F0 <6d616e75616c20706167652e>2.5 E .477<43726561746520796f75722046>100 616.8 R 1.577 -.55<41512061>-.74 H .477 <63636f7264696e6720746f20746865206c61792d6f75742061626f>.55 F .777 -.15 <76652061>-.15 H .477 <6e642061732064657363726962656420667572746865722062656c6f>.15 F .478 <772e20526566657220746f>-.25 F/F4 10/Times-Italic@0 SF<517565732d>2.978 E<74696f6e20322e33>100 628.8 Q F0<666f722066756c6c2d73697a652065>2.5 E <78616d706c65732e>-.15 E<4f6e636520796f75206861>100 652.8 Q .3 -.15 <76652077>-.2 H<72697474656e20796f75722046>.15 E -.55<4151>-.74 G 2.5 <2c70>.55 G<726f6365737320697420617320666f6c6c6f>-2.5 E<77732e>-.25 E F3 <7a6f656d202d6920796f75722d6661712e617a6d202d642068746d6c>118 676.8 Q <7a6f656d202d6920796f75722d6661712e617a6d202d642068746d6c>118 688.8 Q<7a 6f656d202d6920796f75722d6661712e617a6d202d6420726f6666202d6f20796f75722d 6661712e37>118 700.8 Q<7a6f656d202d6920796f75722d6661712e617a6d202d6420 726f6666202d6f20796f75722d6661712e37>118 712.8 Q F0<7075642d66>20 768 Q <617120312e3030322c2031302d303038>-.1 E 2.5<384a>123.005 G <616e2032303130>-2.5 E<31>207.335 E 0 Cg EP %%Page: 2 2 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF<7075642d66>20 48 Q 145.925 <6171283729204d495343454c4c414e454f5553>-.1 F<7075642d66>150.925 E <6171283729>-.1 E .06<546869732067656e657261746573208c6c657320796f7572> 100 84 R<2d66>-.2 E .06<61712e68746d6c20616e6420796f7572>-.1 F<2d66>-.2 E 2.559<61712e372e2045616368>-.1 F<6465>2.559 E .059<766963652069732072 756e20747769636520746f206265206365727461696e2074686174207265662d>-.25 F <6572656e6365732061726520666f756e6420616e64206c696e6b>100 96 Q<65642e> -.1 E/F1 10.95/Times-Bold@0 SF<5245534f5552434553>20 112.8 Q F0 10<8354> 106.5 124.8 S<6865>-10 E/F2 10/Times-Italic@0 SF <5a6f656d2055736572204d616e75616c>2.5 E F0<2e>A 10<8354>106.5 136.8 S <6865>-10 E/F3 10/Times-Bold@0 SF<7075642d6d616e>2.5 E F0 <6d616e75616c20706167652e>2.5 E F1 -.197<544f>20 153.6 S<43>.197 E F3 <31>20 165.6 Q F0<2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e>A /F4 11/Times-Bold@0 SF<486f>10 E 2.75<7764>-.11 G 2.75<6f4963>-2.75 G -.198<7265>-2.75 G<61746520616e64206c696e6b20746f207175657374696f6e7320 616e642073656374696f6e733f>.198 E F3<312e31>30 177.6 Q F0 7.5 <2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e20486f>B 2.5<7764>-.25 G 2.5 <6f4973>-2.5 G<7461727420612073656374696f6e3f>-2.5 E F3<312e32>30 189.6 Q F0 7.5<2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e20486f>B 2.5<7764>-.25 G 2.5<6f496d>-2.5 G<616b>-2.5 E 2.5<656166>-.1 G<617120656e7472793f>-2.6 E F3<312e33>30 201.6 Q F0 7.5 <2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e20486f>B 2.5<7764>-.25 G 2.5 <6f496c>-2.5 G<696e6b20746f2061207175657374696f6e3f>-2.5 E F3<312e34>30 213.6 Q F0 7.5<2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e20486f>B 2.5<7764> -.25 G 2.5<6f496c>-2.5 G<696e6b20746f20612073656374696f6e3f>-2.5 E F3 <312e35>30 225.6 Q F0 7.5<2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e204973>B <74686174206e6f7420612077686f6c65206c6f74206f6620747970696e67206a757374 20666f72206c696e6b696e673f>2.5 E F3<32>20 249.6 Q F0 <2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e>A F4 <4d697363656c6c616e656f7573>10 E F3<322e31>30 261.6 Q F0 7.5 <2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e204973>B <6974207265616c6c7920706f737369626c6520746f206861>2.5 E .3 -.15 <7665206d>-.2 H<6f7265207468616e206f6e652073656374696f6e3f>.15 E F3 <322e32>30 273.6 Q F0 7.5<2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e204973>B <746865726520616e20656173792077>2.5 E <617920746f20676574206261636b20746f207468652054>-.1 E<4f433f>-.18 E F3 <322e33>30 285.6 Q F0 7.5 <2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2053686f>B 2.5<776d>-.25 G 2.5 <656172>-2.5 G<65616c2046>-2.5 E -.55<4151>-.74 G 2.5<2c6e>.55 G <6f742074686973206e6f6e73656e73652e>-2.5 E F3<322e34>30 297.6 Q F0 7.5 <2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2049>B -.1<7761>2.5 G <6e7420746f206368616e67652074686520617070656172616e6365206f66206d792046> .1 E -.55<4151>-.74 G<2e>.55 E F3<322e35>30 309.6 Q F0 7.5 <2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2e2053686f>B 2.5<776d>-.25 G 2.5 <6574>-2.5 G<686520736f7572636520746f20746869732046>-2.5 E -.55<4151> -.74 G<2e>.55 E F1 -1.259 -.986<46412051>20 326.4 T/F5 12/Times-Bold@0 SF<486f>162.99 338.4 Q 3<7764>-.12 G 3<6f4963>-3 G -.216<7265>-3 G<6174 6520616e64206c696e6b20746f207175657374696f6e7320616e642073656374696f6e73 3f>.216 E F3<312e31>30 362.4 Q F4<486f>57.5 E 2.75<7764>-.11 G 2.75 <6f4973>-2.75 G<7461727420612073656374696f6e3f>-2.75 E F0 -1.1<596f>100 386.4 S 2.5<7577>1.1 G<6f756c6420666f722065>-2.6 E <78616d706c652074797065>-.15 E/F6 10/Courier@0 SF <5c626567696e7b6661717365637d7b>100 410.4 Q<7b7265667d7b6b696e647d>118 422.4 Q<7b6361707d7b486f7720646f2049206c696e6b20746f207175657374696f6e73 20616e642073656374696f6e733f7d>118 434.4 Q<7d>100 446.4 Q F3<312e32>30 470.4 Q F4<486f>57.5 E 2.75<7764>-.11 G 2.75<6f496d>-2.75 G<616b>-2.75 E 2.75<656166>-.11 G<617120656e7472793f>-2.75 E F0 -1.1<596f>100 494.4 S 2.5<7563>1.1 G<726561746520616e20656e74727920617320666f6c6c6f>-2.5 E <77733a>-.25 E F6<5c6661717b715f7175657374696f6e7d7b486f7720646f2049206d 616b6520612066617120656e7472793f7d>100 518.4 Q <596f752063726561746520616e20656e74727920617320666f6c6c6f77733a>118 530.4 Q<2e2e2e>118 542.4 Q F3<312e33>30 566.4 Q F4<486f>57.5 E 2.75 <7764>-.11 G 2.75<6f496c>-2.75 G<696e6b20746f2061207175657374696f6e3f> -2.75 E F0<7075642d66>20 768 Q<617120312e3030322c2031302d303038>-.1 E 2.5<384a>123.005 G<616e2032303130>-2.5 E<32>207.335 E 0 Cg EP %%Page: 3 3 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF<7075642d66>20 48 Q 145.925 <6171283729204d495343454c4c414e454f5553>-.1 F<7075642d66>150.925 E <6171283729>-.1 E/F1 10/Courier@0 SF <5c6361727b4c696b6520746869733a206c696e6b696e6720746f>100 84 Q<5c697265 667b715f716c696e6b7d7b5175657374696f6e5c7e5c7265666e756d6265727b715f716c 696e6b7d7d2c>100 96 Q<6f7220612073696c6c79206c696e6b20746f20746865205c69 7265667b715f716c696e6b7d7b63757272656e74207175657374696f6e7d2e>100 108 Q <4c696e6b696e6720746f205c697265667b735f6261736963737d7b5175657374696f6e 5c7e5c7265666e756d6265727b715f736c696e6b7d7d2c>100 120 Q<6f722061206c69 6e6b20746f20746865205c697265667b715f736c696e6b7d7b6e65787420717565737469 6f6e7d2e7d>100 132 Q<5c7061727b>100 156 Q<4f6620636f757273652c20796f7520 6861766520746f2075736520776f7264696e67732073756368207468617420746865>100 168 Q<74657874207374696c6c206d616b65732073656e736520696e2074686520616273 656e6365206f66206c696e6b73>100 180 Q<28617373756d696e6720796f7520617265 20696e74657374656420696e207468652074726f66662076657273696f6e206f66>100 192 Q<7468652046415120796f75206172652077726974696e67292c20736f206e6f726d 616c6c7920796f75206a75737420726566657220746f>100 204 Q<5c697265667b715f 736c696e6b7d7b5175657374696f6e5c7e5c7265666e756d6265727b715f736c696e6b7d 7d20616e6420626520646f6e65>100 216 Q<776974682069742e7d>100 228 Q F0 <4c696b>100 252 Q 4.397<6574>-.1 G 1.897<6869733a206c696e6b696e6720746f> -4.397 F/F2 10/Times-Italic@0 SF<5175657374696f6e20312e33>4.397 E F0 4.397<2c6f>C 4.397<726173>-4.397 G 1.897 <696c6c79206c696e6b20746f20746865>-4.397 F F2<63757272>4.398 E 1.898 <656e74207175657374696f6e>-.37 F F0 6.898<2e4c>C 1.898 <696e6b696e6720746f>-6.898 F F2<517565732d>4.398 E<74696f6e20312e34>100 264 Q F0 2.5<2c6f>C 2.5<72616c>-2.5 G<696e6b20746f20746865>-2.5 E F2 <6e65>2.5 E<7874207175657374696f6e>-.2 E F0<2e>A .564 <4f6620636f757273652c20796f75206861>100 288 R .864 -.15<76652074>-.2 H 3.064<6f75>.15 G .564<73652077>-3.064 F .563 <6f7264696e67732073756368207468617420746865207465>-.1 F .563 <7874207374696c6c206d616b>-.15 F .563 <65732073656e736520696e2074686520616273656e6365206f66206c696e6b73>-.1 F .213<28617373756d696e6720796f752061726520696e74657374656420696e20746865 2074726f66>100 300 R 2.713<6676>-.25 G .213 <657273696f6e206f66207468652046>-2.863 F 1.313 -.55<41512079>-.74 H .213 <6f75206172652077726974696e67292c20736f206e6f726d616c6c7920796f75206a75 7374>.55 F<726566657220746f>100 312 Q F2<5175657374696f6e20312e34>2.5 E F0<616e6420626520646f6e6520776974682069742e>2.5 E/F3 10/Times-Bold@0 SF <312e34>30 336 Q/F4 11/Times-Bold@0 SF<486f>57.5 E 2.75<7764>-.11 G 2.75 <6f496c>-2.75 G<696e6b20746f20612073656374696f6e3f>-2.75 E F1 <5c6361727b4c696b6520746869733a206c696e6b696e6720746f>100 360 Q<5c697265 667b715f716c696e6b7d7b53656374696f6e5c7e5c7265666e756d6265727b735f626173 6963737d7d20616e64>100 372 Q<6c696e6b696e6720746f205c697265667b715f7374 757069647d7b53656374696f6e5c7e5c7265666e756d6265727b735f7374757069647d7d 2e7d>100 384 Q F0<4c696b>100 408 Q 2.5<6574>-.1 G <6869733a206c696e6b696e6720746f>-2.5 E F2<53656374696f6e2031>2.5 E F0 <616e64206c696e6b696e6720746f>2.5 E F2<53656374696f6e2032>2.5 E F0<2e>A F3<312e35>30 432 Q F4<49732074686174206e6f7420612077686f6c65206c6f74206f 6620747970696e67206a7573742066>57.5 E<6f72206c696e6b696e673f>-.275 E F0 .867<497420737572652069732e204e6f74652074686520726570656174696e6720656c 656d656e74732074686f7567682e204665656c206672656520746f206372656174652079 6f7572206f>100 456 R .866<776e2073686f727463757473206279207573696e67> -.25 F<5a6f656d27>100 468 Q 2.5<736d>-.55 G<6163726f2066>-2.5 E <6163696c69746965732e>-.1 E/F5 12/Times-Bold@0 SF <4d697363656c6c616e656f7573>258 492 Q F3<322e31>30 516 Q F4 <49732069742072>57.5 E<65616c6c7920706f737369626c6520746f206861>-.198 E .22 -.11<7665206d>-.275 H<6f72>.11 E 2.75<6574>-.198 G <68616e206f6e652073656374696f6e3f>-2.75 E F0<514544>100 540 Q F3<322e32> 30 564 Q F4<49732074686572>57.5 E 2.75<6561>-.198 G 2.75<6e65>-2.75 G <6173792077617920746f20676574206261636b20746f207468652054>-2.75 E <4f433f>-.198 E F0 .151<496e207468652048544d4c2076>100 588 R .151 <657273696f6e206f66207468652066>-.15 F .151<61712c206f6e652063616e20636c 69636b206f6e20746865206e756d62657220746f20746865206c656674206f6620746865 207175657374696f6e3b20746869732077696c6c>-.1 F<74616b>100 600 Q 2.5 <6579>-.1 G<6f7520746f2074686520746f70206f66207468652054>-2.5 E<4f432070 617274207065727461696e696e6720746f207468652073656374696f6e20746861742071 75657374696f6e2062656c6f6e677320746f2e>-.18 E F3<322e33>30 624 Q F4 <53686f>57.5 E 2.75<776d>-.11 G 2.75<656172>-2.75 G<65616c2046>-2.948 E -.495<4151>-.99 G 2.75<2c6e>.495 G<6f742074686973206e6f6e73656e73652e> -2.75 E F0 .237<54686520726561736f6e2049206265>100 648 R -.05<6761>-.15 G 2.737<6e77>.05 G .237<726974696e67207a6f656d20616e64205055442077> -2.737 F .236<6173207468617420492077>-.1 F .236 <616e74656420646563656e742028626f74682048544d4c20616e642074726f66>-.1 F .236<662920616e64>-.25 F<6561737920746f20777269746520646f63756d656e7461 74696f6e20666f72206d7920696d706c656d656e746174696f6e206f6620746865204d43 4c20636c757374657220616c676f726974686d2e>100 660 Q 10<8368>106.5 684 S <7474703a2f2f6d6963616e732e6f72>-10 E <672f6d636c2f7372632f6d636c2d6c61746573742f646f632f6d636c66>-.18 E <61712e617a6d>-.1 E 10<8368>106.5 696 S<7474703a2f2f6d6963616e732e6f72> -10 E<672f6d636c2f7372632f6d636c2d6c61746573742f646f632f6d636c66>-.18 E <61712e68746d6c>-.1 E 10<8368>106.5 708 S <7474703a2f2f6d6963616e732e6f72>-10 E <672f6d636c2f7372632f6d636c2d6c61746573742f646f632f6d636c66>-.18 E <61712e7073>-.1 E<7075642d66>20 768 Q<617120312e3030322c2031302d303038> -.1 E 2.5<384a>123.005 G<616e2032303130>-2.5 E<33>207.335 E 0 Cg EP %%Page: 4 4 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF<7075642d66>20 48 Q 145.925 <6171283729204d495343454c4c414e454f5553>-.1 F<7075642d66>150.925 E <6171283729>-.1 E/F1 10/Times-Bold@0 SF<322e34>30 84 Q/F2 11 /Times-Bold@0 SF 2.75<4977>57.5 G<616e7420746f206368616e6765207468652061 7070656172616e6365206f66206d792046>-2.75 E -.495<4151>-.99 G<2e>.495 E F0 -.8<5765>100 108 S .54<6c6c2c20796f75206e65656420746f206d616b>.8 F 3.04<656163>-.1 G<6f70>-3.04 E 3.04<796f>-.1 G 3.04<6674>-3.04 G .541 <68652066>-3.04 F .541<6171206d6163726f7320616e6420706f737369626c792074 6865206d616e206d6163726f732c20616e64206861636b2074686f7365>-.1 F .78 <6368616e67657320696e2e>100 120 R .78<5a6f656d20697473656c662069732076> 5.78 F .78<657279208d65>-.15 F .78<7869626c652c2062>-.15 F .779 <757420746865205055442066>-.2 F .779<6171206d6163726f7320617265206e6f74 2c20696e207468697320726573706563742e20546865>-.1 F<79>-.15 E .922 <63616e206265206d61646520736f2c20696620796f7520776973682e>100 132 R .922 <496620796f75206a7573742077>5.922 F .922<616e7420746f206368616e6765206f 722061646420736f6d65207374796c652073686565742072756c657320666f7220746865> -.1 F .207<48544d4c2076>100 144 R .207 <657273696f6e2c2069742077696c6c20626520717569746520656173792e>-.15 F .207<5468652073616d6520686f6c647320666f72206368616e67696e6720666f6e7420 7374796c657320616e6420706f737369626c792065>5.207 F -.15<7665>-.25 G<6e> .15 E<73706163696e672072756c65732e>100 156 Q F1<322e35>30 180 Q F2 <53686f>57.5 E 2.75<776d>-.11 G 2.75<6574>-2.75 G<686520736f7572>-2.75 E <636520746f20746869732046>-.198 E -.495<4151>-.99 G<2e>.495 E F0 .188 <53656172636820666f72207075642d66>100 204 R .189 <61712e617a6d20696e20796f757220696e7374616c6c206f66207a6f656d2e>-.1 F -.8<5461>5.189 G .389 -.1<6b65206e>.8 H .189 <6f74652074686f7567682074686174204920706c617965642061206665>.1 F 2.689 <7773>-.25 G .189<696c6c7920747269636b73>-2.689 F .577 <696e20746869732046>100 216 R -.55<4151>-.74 G 3.077<2c73>.55 G 3.077 <6f74>-3.077 G .576<686520736f75726365206c6f6f6b73206d6f726520756e726561 6461626c65207468616e20796f75722061>-3.077 F -.15<7665>-.2 G .576 <726167652046>.15 F -.55<4151>-.74 G 5.576<2e54>.55 G .576<68652046> -5.576 F 1.676 -.55<41512070>-.74 H .576<6f696e74656420746f>.55 F<696e> 100 228 Q/F3 10/Times-Italic@0 SF<416e7377657220322e33>2.5 E F0<6769>2.5 E -.15<7665>-.25 G 2.5<73616d>.15 G <6f7265207265616c697374696320696d7072657373696f6e2e>-2.5 E/F4 10.95 /Times-Bold@0 SF -.548<4155>20 244.8 S<54484f52>.548 E F0 <5374696a6e2076>100 256.8 Q<616e20446f6e67656e2e>-.25 E F4 <53454520414c534f>20 273.6 Q F0<546865>100 285.6 Q F1<7075642d6d616e> 5.444 E F0 2.945<6d616e75616c20706167652c20646f63756d656e74696e67207468 6520505544206d616e75616c206c616e67756167652e205468652046>5.444 F 4.045 -.55<4151206c>-.74 H<616e6775616765>.55 E 1.58<696d706f7274732074686520 6d616e75616c2064658c6e6974696f6e7320616e6420796f752075736520746865736520 652e672e20666f722073656374696f6e696e6720636f6d6d616e64732061732064657363 7269626564>100 297.6 R<61626f>100 309.6 Q -.15<7665>-.15 G<2e>.15 E <546865>100 333.6 Q F1<707564>2.5 E F0<6d616e75616c2070616765206769>2.5 E -.15<7665>-.25 G 2.5<7361>.15 G 2.5<6e6f>-2.5 G -.15<7665>-2.65 G <72766965>.15 E 2.5<776f>-.25 G 2.5<6650>-2.5 G<55442e>-2.5 E <7075642d66>20 768 Q<617120312e3030322c2031302d303038>-.1 E 2.5<384a> 123.005 G<616e2032303130>-2.5 E<34>207.335 E 0 Cg EP %%Trailer end %%EOF aephea-12-248/mac/doc/aephea-base.html0000644000402500021140000006303211322640160014273 00000000000000 Aephea base definitions

8 Jan 2010    aephea-base 1.002, 10-008

NAME

aephea-base — a description of Aephea base definitions

The macros in this package have been ported to both HTML and troff.

DESCRIPTION

aephea-base — A description of Aephea base definitions. The macros in this package have been ported to both HTML and troff. This package is used by the Aephea simpledocument class and by the Portable Unix Documentation (PUD) mini-languages for authoring manual pages (pud-man) and the PUD language for FAQ authoring (pud-faq).

There is a small list of known issues in the ISSUES section, mostly concerning the troff device. These should generally be of no concern at all, but if you run into trouble look there first. A quick glance through the list before you run into trouble may be the wisest thing to do.

INTRODUCTION TO THE ITEMIZE ENVIRONMENT

The itemize environemnt is the Aephea workhorse for lists, enumerations, itemizations, and other tailed creatures. A simple and valid use is for example

\begin{itemize} \item{\bf{foo}} \car{ For I am foo. } \items{ {\bf{barra}} {\bf{zuttelezut}} } \car{ For we are bar and zut. } \end{itemize}

This source result in the following output:

foo

For I am foo.

barra
zuttelezut

For we are bar and zut.

This is not impressive at all, but it gives an idea of how itemize works. The following example is a single itemize environment providing a rollercoasterride through most of the features of the itemize environment. As shown below, it is possible to change all the itemize settings and styles at will even within a single itemize instance. Of course this is not useful at all except for demonstrating the itemize capabilities, but it goes to show that the itemize macros are quite robust (by virtue of modularity).

NOTE
The entire listing below was put in Aephea's spacing environment, described further below. The environment was used to create extra margins on the two sides.

1

Spacing modes compact and cascade are determined by the key flow. The current mode is compact, meaning that the itemize token and the ensuing text are on the same line. Below, compact mode is switched off (approximately) halfway. The interitem key determines the amount skipped between an item description and the next item.

 
2

Several item modes (custom, mark, enumeration).

 
3

Several enumeration modes (roman, arabic, alphabetic).

 
iv)

The style of a list can be changed while in the middle of it.

 
v)

Nuther item.

 
vi)

The list can be 'interupted' and resumed (by means of the \intermezzo#1 macro).

 
Perhaps you wonder what good is THAT for, and justly so. The \intermezzo#1 macro should only be used inbetween different items, i.e. it should not split content belonging to a single item.
 
[7]

Items can be optionally and automatically right and/or left delimited. The current item is delimited with square brackets.

 
[8]

Items can be left or right aligned.

 
[9]

Items can be stacked, which is supported only when flow is set to cascade.

 
[10]

Beginning with this item, flow is set to cascade.

 
Implying
That
Stacking

is now possible.

 
[12]

(back to right-align) The itemcounter just keeps running by the way.

 
[18]

(back to compact) But the counter can be manipulated at will.

 

A bullet item.

Now interitem is set to 0 (affecting the current list), and a new list is started contiguous to the present text (by having its margintop set to 0).

a.

Hubris

b.

Laziness

c.

Impatience

Are the three virtues of programming.

This concludes a listing showing most of the itemize capabilities.

USING THE ITEMIZE ENVIRONMENT

You steer the itemize environment by providing it with tag-value pairs like so:

\begin{itemize}{ {flow}{compact} {interitem}{1} {align}{right} {type}{abc} {rp}{.} }

This is the list of tags that you may use.

margintop

Top of table, anomalous unit (ems), default 0.

 
interitem

Paragraph skip in ems inbetween items, default 0.

 
flow

Set to compact or cascade

 
textindent

Width of text indent in ems.

 
itemmargin

Width of item margin in ems (for right-aligned items).

 
mark

E.g. \*{itembullet} (if type=mark), affects \item.

 
align

One of left or right (item alignment), default left.

 
class_all

class name assigned to all block-level elements

 
lp

What's printed immediately to the left of an item.

 
rp

What's printed immediately to the right of an item.

 
type

One of mark, roman, abc, arabic, affects \item.

 
itemcount

The count of items seen so far, e.g. 13 right now.

You need to know that the itemize environment internally maps these tags to dollar keys simply by prepending a dollar. Thus, if you want to reset one of the values associated with such a tag, you need to do e.g.

\set{$align}{right} \set{$itemcount}{30}

A more robust to do this is to ensure that the modified key is retrieved from the right dictionary, i.e. the top-level itemize dictionary, as follows.

\set{{dict}{itemize}}{$align}{right} \set{{dict}{itemize}}{$itemcount}{30}

THE SPACING ENVIRONMENT

Its syntax is identical to that of the itemize environment. It accepts tags left, right, top, and bottom. These should receive numeric values. The associated unit is em.

The troff device does not yet support the top and bottom tags.

MACROS

\enref#2 creates a link for which the first argument is the anchor and for which the second argument is the content (which can be left empty). \iref#2 takes such an anchor as the first argument and it takes content that carries the link as the second argument. \lref#2 takes a file name (possibly including a relative or absolute path) as the first argument and content as the second argument. \aref#2 takes a URL (later possibly a URI) as the first argument and content as the second argument. \sibref#2 takes a label as argument which presumably is the name of some application. It may append an extension depending on the current device, and it assumes that label + extension is the name of a file in the current directory. The second argument is displayed in the text. For \sibref#1 the displayed text is the same as the label. For \sibref#3 the second argument is an additional anchor within the file being linked to, and the third argument is the displayed text. \httpref#1 simply prints a URL which will be active when html is output.

 

These are all paragraph macros that carry the paragraph content as the last argument. The first argument of \cpar#2 and \ccar#2 is the caption. These macros will ensure well-formedness for devices that support it, such as HTML. Use \car#1 where you don't need a paragraph skip, but just need to indicate that you are in text mode again. You can simply always use \par#1 and never use \car#1. If you care about the details of spacing though, or if you have particular trouble for example in creating an itemize environment where you do not want top and bottom margins, then it could be worthwile to turn to \car#1. Examples for using \car#1 are:

After an environment that always carries a bottom margin.

After an environment that does not carry a bottom margin, and where you specifically want the environment to be contiguous to the enclosing text. The listing you are currently reading is an example of this.

As promised. The \car macro may feel a little unusual. If you don't mind standing the chance of a little spurious vertical white-space just use \par all the time. If you really need it, such as in an 'inline' listing as above, the \car macro is ready to do the job.

 

The first four items set their argument in the font specified. \tt#1 and \v#1 both denote a typewriter font. These macros should not be nested if troff is to be among the output devices. Support for the last two items is not yet very robust. They temporarily increment respectively decrement the font by the amount of the first argument and apply the resulting setting to the second argument.

 

Make the device output the contents verbatim in a mono-spaced font, obeying spaces and newlines. This does not prohibit expansion of macros, use \protect#1 for that. The macro \verbatim#1 will create a non-breaking environment.

ISSUES

Nesting

Do not nest \bf#1, \it#1, \tt#1, or \v#1 macros if troff is among the output devices. It will yield unexpected results.

 
The rest of this list pertains to the itemize environment.
 
Margins

Do not use fractional values for textindent and itemmargin in the itemize environment, if troff is among the output devices. The reason is that the Aephea macros use the difference between these two values and pass them on to the output devices. Troff rounds all values it gets and thus the additive relationship between the values may be lost.

aephea-12-248/mac/doc/aephea.shared0000644000402500021140000000343111322611162013662 00000000000000 \set{css}{\{CSS}} \set{xsl}{\{XSL}} \set{xml}{\{XML}} \set{html}{\{HTML}} \set{ahtml}{\{A-HTML}} \def{faq}{\{FAQ}} \def{zum}{\{ZUM}} \def{pdf}{\{PDF}} \def{mcl}{\{MCL}} \def{pud}{\{PUD}} \${roff}{ \set{ahtml}{A-HTML} \apply{_#1{\!set{\1}{\textmap{{word}{ucase}}{\1}}}}{ {css} {xsl} {xml} {html} {faq} {zum} {pdf} {mcl} {pud} } } \def{readme}{\sc{README}} \def{unix}{\sc{UNIX}} \set{{modes}{xv}}{}{ {"man::year"} {\'zinsert{stamp.year}} {"man::month"} {\'zinsert{stamp.month}} {"man::day"} {\'zinsert{stamp.day}} {"zum::tag"} {\'zinsert{stamp.tag}} {"zum::stamp"} {\'zinsert{stamp.stamp}} {"man::year"} {\'tr{{delete}{[:space:]}}{\"man::year"}} {"man::month"} {\'tr{{delete}{[:space:]}}{\"man::month"}} {"man::day"} {\'tr{{delete}{[:space:]}}{\"man::day"}} {"zum::tag"} {\'tr{{delete}{[:space:]}}{\"zum::tag"}} {"zum::stamp"} {\'tr{{delete}{[:space:]}}{\"zum::stamp"}} {"man::tag"} {\"zum::tag", \"zum::stamp"} } \setx{man_share}{ {year} {\"man::year"} {month} {\"man::month"} {day} {\"man::day"} {tag} {\"zum::tag", \"zum::stamp"} {stamp} {\"zum::stamp"} } \'def{mc#1}{\v{\\\1}} \'def{sibref7#1}{\sibref{\1}{\1\'${roff}{(7)}}} aephea-12-248/mac/doc/pud-faq.70000644000402500021140000001722711322640151012704 00000000000000.\" Copyright (c) 2010 Stijn van Dongen .TH "pud-faq" 7 "8 Jan 2010" "pud-faq 1\&.002, 10-008" "MISCELLANEOUS " .po 2m .de ZI .\" Zoem Indent/Itemize macro I. .br 'in +\\$1 .nr xa 0 .nr xa -\\$1 .nr xb \\$1 .nr xb -\\w'\\$2' \h'|\\n(xau'\\$2\h'\\n(xbu'\\ .. .de ZJ .br .\" Zoem Indent/Itemize macro II. 'in +\\$1 'in +\\$2 .nr xa 0 .nr xa -\\$2 .nr xa -\\w'\\$3' .nr xb \\$2 \h'|\\n(xau'\\$3\h'\\n(xbu'\\ .. .if n .ll -2m .am SH .ie n .in 4m .el .in 8m .. .de ZT .\" Zoem Faq (Toc) macro. .nr xb \\n(.k .nr xb -1m .nr xa \\$1 .nr xa -\\n(.k .nr xa -\\n(.i \h'\\n(xau'\\$2\l'|\\n(xbu.'\h'1m'\\ .. .de ZB .\" Zoem Faq (Body) macro. .nr xb \\n(.k .nr xa \\$1 .nr xa -\\n(.k .nr xa -\\n(.i \h'\\n(xau'\\$2\h'|\\n(xbu'\\ .. .am SH .ie n .in 8m .el .in 8m .. .SH NAME pud-faq \- faqs and facts about the Portable Unix Documentation FAQ authoring language\&. This document describes the Portable Unix Documentation (PUD) faq mini-language in the style of a FAQ\&. PUD-faq is built on top of the macro interpreter zoem\&. A PUD document is generally well-structured, relatively free of formatting statements, compact to write and easily extendable\&. It can be converted to both troff and html, for viewing in terminals and browsers\&. High quality Postscript and plain text formats can be derived from the troff output\&. Refer to \fBpud-man\fP for examples\&. .SH DESCRIPTION The PUD faq macros extend the PUD manual macros; a PUD faq document must import both man\&.zmm and faq\&.zmm\&. There are only a few additional faq macros in faq\&.zmm\&. The overall layout of a faq document is as follows: .di ZV .in 0 .nf \fC \eimport{man\&.zmm} \eimport{faq\&.zmm} \ebegin{pud::man}{ {name}{pud-faq} {html_title}{The PUD faq mini-language FAQ} {author}{Stijn van Dongen} {section}{7} } \e"faq::preamble" \e${html}{\e"man::maketoc"} \esec{toc}{TOC} \e"faq::maketoc" \ebegin{faqsec}{{ref}{Labelx}{cap}{Captionx}} content \eend{faqsec} \ebegin{faqsec}{{ref}{Labely}{cap}{Captiony}} content \eend{faqsec} \eend{pud::man} .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR The PUD manual macros are documented in the \fBpud-man\fP manual page\&. Create your FAQ according to the lay-out above and as described further below\&. Refer to \fIQuestion\ \&2\&.3\fP for full-size examples\&. Once you have written your FAQ, process it as follows\&. .di ZV .in 0 .nf \fC zoem -i your-faq\&.azm -d html zoem -i your-faq\&.azm -d html zoem -i your-faq\&.azm -d roff -o your-faq\&.7 zoem -i your-faq\&.azm -d roff -o your-faq\&.7 .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR This generates files your-faq\&.html and your-faq\&.7\&. Each device is run twice to be certain that references are found and linked\&. .SH RESOURCES .ZJ 1m 1m "\(bu" The \fIZoem User Manual\fP\&. .in -2m .ZJ 1m 1m "\(bu" The \fBpud-man\fP manual page\&. .in -2m .SH TOC .ZT 0m \fB1\fP \s+1\fBHow do I create and link to questions and sections?\fP\s-1 .br .ZT 1m \fB1\&.1\fP How do I start a section? .br .ZT 1m \fB1\&.2\fP How do I make a faq entry? .br .ZT 1m \fB1\&.3\fP How do I link to a question? .br .ZT 1m \fB1\&.4\fP How do I link to a section? .br .ZT 1m \fB1\&.5\fP Is that not a whole lot of typing just for linking? .ZT 0m \fB2\fP \s+1\fBMiscellaneous\fP\s-1 .br .ZT 1m \fB2\&.1\fP Is it really possible to have more than one section? .br .ZT 1m \fB2\&.2\fP Is there an easy way to get back to the TOC? .br .ZT 1m \fB2\&.3\fP Show me a real FAQ, not this nonsense\&. .br .ZT 1m \fB2\&.4\fP I want to change the appearance of my FAQ\&. .br .ZT 1m \fB2\&.5\fP Show me the source to this FAQ\&. .SH FAQ .ce \s+2\fBHow do I create and link to questions and sections?\fP\s-2 .ZB 1m \fB1\&.1\fP \s+1\fBHow do I start a section?\fP\s-1 You would for example type .di ZV .in 0 .nf \fC \ebegin{faqsec}{ {ref}{kind} {cap}{How do I link to questions and sections?} } .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR .ZB 1m \fB1\&.2\fP \s+1\fBHow do I make a faq entry?\fP\s-1 You create an entry as follows: .di ZV .in 0 .nf \fC \efaq{q_question}{How do I make a faq entry?} You create an entry as follows: \&.\&.\&. .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR .ZB 1m \fB1\&.3\fP \s+1\fBHow do I link to a question?\fP\s-1 .di ZV .in 0 .nf \fC \ecar{Like this: linking to \eiref{q_qlink}{Question\e~\erefnumber{q_qlink}}, or a silly link to the \eiref{q_qlink}{current question}\&. Linking to \eiref{s_basics}{Question\e~\erefnumber{q_slink}}, or a link to the \eiref{q_slink}{next question}\&.} \epar{ Of course, you have to use wordings such that the text still makes sense in the absence of links (assuming you are intested in the troff version of the FAQ you are writing), so normally you just refer to \eiref{q_slink}{Question\e~\erefnumber{q_slink}} and be done with it\&.} .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR Like this: linking to \fIQuestion\ \&1\&.3\fP, or a silly link to the \fIcurrent question\fP\&. Linking to \fIQuestion\ \&1\&.4\fP, or a link to the \fInext question\fP\&. Of course, you have to use wordings such that the text still makes sense in the absence of links (assuming you are intested in the troff version of the FAQ you are writing), so normally you just refer to \fIQuestion\ \&1\&.4\fP and be done with it\&. .ZB 1m \fB1\&.4\fP \s+1\fBHow do I link to a section?\fP\s-1 .di ZV .in 0 .nf \fC \ecar{Like this: linking to \eiref{q_qlink}{Section\e~\erefnumber{s_basics}} and linking to \eiref{q_stupid}{Section\e~\erefnumber{s_stupid}}\&.} .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR Like this: linking to \fISection\ \&1\fP and linking to \fISection\ \&2\fP\&. .ZB 1m \fB1\&.5\fP \s+1\fBIs that not a whole lot of typing just for linking?\fP\s-1 It sure is\&. Note the repeating elements though\&. Feel free to create your own shortcuts by using Zoem\&'s macro facilities\&. .ce \s+2\fBMiscellaneous\fP\s-2 .ZB 1m \fB2\&.1\fP \s+1\fBIs it really possible to have more than one section?\fP\s-1 QED .ZB 1m \fB2\&.2\fP \s+1\fBIs there an easy way to get back to the TOC?\fP\s-1 In the HTML version of the faq, one can click on the number to the left of the question; this will take you to the top of the TOC part pertaining to the section that question belongs to\&. .ZB 1m \fB2\&.3\fP \s+1\fBShow me a real FAQ, not this nonsense\&.\fP\s-1 The reason I began writing zoem and PUD was that I wanted decent (both HTML and troff) and easy to write documentation for my implementation of the MCL cluster algorithm\&. .ZJ 1m 1m "\(bu" http://micans\&.org/mcl/src/mcl-latest/doc/mclfaq\&.azm .in -2m .ZJ 1m 1m "\(bu" http://micans\&.org/mcl/src/mcl-latest/doc/mclfaq\&.html .in -2m .ZJ 1m 1m "\(bu" http://micans\&.org/mcl/src/mcl-latest/doc/mclfaq\&.ps .in -2m .ZB 1m \fB2\&.4\fP \s+1\fBI want to change the appearance of my FAQ\&.\fP\s-1 Well, you need to make a copy of the faq macros and possibly the man macros, and hack those changes in\&. Zoem itself is very flexible, but the PUD faq macros are not, in this respect\&. They can be made so, if you wish\&. If you just want to change or add some style sheet rules for the HTML version, it will be quite easy\&. The same holds for changing font styles and possibly even spacing rules\&. .ZB 1m \fB2\&.5\fP \s+1\fBShow me the source to this FAQ\&.\fP\s-1 Search for pud-faq\&.azm in your install of zoem\&. Take note though that I played a few silly tricks in this FAQ, so the source looks more unreadable than your average FAQ\&. The FAQ pointed to in \fIAnswer\ \&2\&.3\fP gives a more realistic impression\&. .SH AUTHOR Stijn van Dongen\&. .SH SEE ALSO The \fBpud-man\fP manual page, documenting the PUD manual language\&. The FAQ language imports the manual definitions and you use these e\&.g\&. for sectioning commands as described above\&. The \fBpud\fP manual page gives an overview of PUD\&. aephea-12-248/mac/doc/aephea-ref.70000644000402500021140000000505611322640151013341 00000000000000.\" Copyright (c) 2010 Stijn van Dongen .TH "aephea-ref" 7 "8 Jan 2010" "aephea-ref 1\&.002, 10-008" "MISCELLANEOUS " .po 2m .de ZI .\" Zoem Indent/Itemize macro I. .br 'in +\\$1 .nr xa 0 .nr xa -\\$1 .nr xb \\$1 .nr xb -\\w'\\$2' \h'|\\n(xau'\\$2\h'\\n(xbu'\\ .. .de ZJ .br .\" Zoem Indent/Itemize macro II. 'in +\\$1 'in +\\$2 .nr xa 0 .nr xa -\\$2 .nr xa -\\w'\\$3' .nr xb \\$2 \h'|\\n(xau'\\$3\h'\\n(xbu'\\ .. .if n .ll -2m .am SH .ie n .in 4m .el .in 8m .. .SH NAME aephea-ref \- A description of the Aephea definitions for referencing .SH DESCRIPTION The following definitions are used by the Aephea \fCsimpledocument\fP class as well as the Portable Unix Documentation (pud) manual and faq classes (see \fBpud-man(7)\fP and \fBpud-faq(7)\fP)\&. .SH MACROS .ZI 2m "\fB\erefload#2\fP" \& 'in -2m .ZI 2m "\fB\erefloadx#2\fP" \& 'in -2m 'in +2m \& .br Both macros take as first argument a label that uniquely defines the reference\&. The second argument is a vararg containing key-value pairs\&. These macros are usually not needed in Aephea classes; they are lower level facilities\&. .in -2m .ZI 2m "\fB\eref#2\fP" \& .br The first argument is a label\&. The second argument should be a key associated with that label\&. The result is the value associated with the label/key pair\&. These macros are usually not needed in Aephea classes; they are lower level facilities used by high level Aephea definitions (e\&.g\&. \fC\eiref#2\fP, and \fC\esecref#1\fP)\&. .in -2m .ZI 2m "\fB\erefcaption#1\fP" \& 'in -2m .ZI 2m "\fB\erefnumber#1\fP" \& 'in -2m .ZI 2m "\fB\ereflevel#1\fP" \& 'in -2m 'in +2m \& .br The argument is a label\&. The result is respectively the caption, number, or level associated with that label\&. .in -2m .ZI 2m "\e\fBreference#1\fP" \& 'in -2m .ZI 2m "\e\fBrefer#1\fP" \& 'in -2m 'in +2m \& .br The first associates a number with the label that is in the first argument, and prints it inbeween square brackets\&. The label is anchored to this location\&. The second outputs the associated number inbetween brackets, and makes it carry a link to the anchor\&. For example, I am about to create a link\ \&[1] and another link\ \&[2] to the items appearing below\&. [1] The first reference\&. [2] The second reference\&. If you prefer another bibliography style, find the macros and adapt them according to your needs \- they are very simple\&. \fC\ereference#2\fP currently writes data to the file \fC\e__fnbase__\&.zmr\fP, to be read back in using a \fC\eload{\e__fnbase__\&.zmr}\fP statement\&. This is automatically done when using any of the Aephea classes\&. .in -2m aephea-12-248/mac/doc/buzzz.html0000644000402500021140000002701411322640160013324 00000000000000 What's the buzzz

29 Feb 2000    buzzz 1.00

NAME

buzzz — go buzzz.

SYNOPSIS

buzzz -l i (loudness) -d f (duration) [-f f (frequency)] [--dragonfly (dragon style)] [--bumblebee (bumble style)] [--disk (computer style)] [-style (some style)] [--scan (scan mode)] [-sd i (scan duration)] <file.bzz|dir> (tune source)

DESCRIPTION

buzzz buzzes. It can do so in different styles, at different base frequencies, and at different volumes. See the OPTIONS section for a description of all options.

The -l loudness and -d duration options are both mandatory. The last argument given must be a file containing the tune to buzz, or a directory containing such tune files. The tune must be contained in an interval of at most five tones. Non-conforming tunes may damage your soundcard.

OPTIONS

-f f (frequency)

Frequency in Hertz, can be specified as a positive real number.

 
-l i (loudness)

Loudness, which is specified as an integer inbetween 0 and 100.

 
-d f (duration)

Duration in hours, can be specified as a positive real.

 
The following options are discussed as a group:
 
--dragonfly (dragon style)
--bumblebee (bumble style)
--disk (computer style)
--mosquito (sting style)

These are unary options specifying the style in which to buzz.

 
-style str (buzz style)

str should be one of bumblebee, dragonfly, mosquito, or disk.

 
--scan (scan mode)

This will buzz 10 seconds for each tune specified. Refer also to the -sd option.

 
-sd i (scan duration)

Sets the scan time in (an integer number of) seconds. This affects the --scan option.

FILES

/etc/zoem/foriamzoem.bzz contains the zoem jingle.
/etc/zoem/zoem.ascii-art contains zoem related ascii art. An excerpt is shown below.

.-----------------------------. | | | _ " _ | | (\"/) (_\|/_) | | (/|\) (_/|\_) | | | | | | () | | | -----% | | () | | ejm| .-----------------------------.

ENVIRONMENT

Currently, no environmental issues with buzzz.

DIAGNOSTICS

If the tune spans an interval larger than 5 tones, buzzz will emit little beeps. If the interval exceeds an octave, buzzz will fork and exec bell.

BUGS

Some do.

AUTHOR

Bugs Bunny.

HISTORY

repeats itself, especially from a buzzing point of view. Refer to [1] for an in-depth analysis. A different point of view is presented in [2].

SEE ALSO

The bell(1) manual.

On the www it is difficult to show a manual page as compiled for rendering in a terminal, but one can view a manual page as compiled for rendering by a postscript interpreter. Lo and behold buzzz.ps.

[1] Bugs Bunny. Foo Bar. A history of making, maintenance, repair, and disposal.

[2] Donald Duck. The futile mistake, and how it changes my life every day.

aephea-12-248/mac/doc/pud-man.70000644000402500021140000002276111322640151012707 00000000000000.\" Copyright (c) 2010 Stijn van Dongen .TH "pud-man" 7 "8 Jan 2010" "pud-man 1\&.002, 10-008" "MISCELLANEOUS " .po 2m .de ZI .\" Zoem Indent/Itemize macro I. .br 'in +\\$1 .nr xa 0 .nr xa -\\$1 .nr xb \\$1 .nr xb -\\w'\\$2' \h'|\\n(xau'\\$2\h'\\n(xbu'\\ .. .de ZJ .br .\" Zoem Indent/Itemize macro II. 'in +\\$1 'in +\\$2 .nr xa 0 .nr xa -\\$2 .nr xa -\\w'\\$3' .nr xb \\$2 \h'|\\n(xau'\\$3\h'\\n(xbu'\\ .. .if n .ll -2m .am SH .ie n .in 4m .el .in 8m .. .SH NAME pud-man \- A description of the Portable Unix Documentation Language for writing manual pages .SH DESCRIPTION This document describes the Portable Unix Documentation (PUD) manual page mini-language\&. PUD-man is built on top of the macro interpreter zoem\&. A PUD document is generally well-structured, relatively free of formatting statements, compact to write and easily extendable\&. It can be converted to both troff and html, for viewing in terminals and browsers\&. High quality Postscript and plain text formats can be derived from the troff output\&. Write your own manual pages by copying the example page \fIbuzzz\&.azm\fP and modifying it to your needs\&. If you are documenting \fIfoo\fP, the usual approach is to create \fIfoo\&.azm\fP, and from that create \fIfoo\&.1\fP and \fIfoo\&.html\fP as follows: .di ZV .in 0 .nf \fC zoem -i foo -d html zoem -i foo -d html zoem -i foo -d roff -o foo\&.1 zoem -i foo -d roff -o foo\&.1 .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR This generates files foo\&.html and foo\&.1\&. Each device is run twice to be certain that references are found and linked\&. PostScript and text versions can be made from \fCfoo\&.1\fP as follows: .di ZV .in 0 .nf \fC groff -man foo\&.1 > foo\&.ps groff -t -e -mandoc -Tascii foo\&.1 | col -bx > foo\&.txt .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR Note though that \fCfoo\&.1\fP does not use any groff specific extensions; it should be acceptable input to ancient roffs as well\&. Exceptions to this imply a bug in the PUD man macros\&. You are advised to start by inspecting a template manual page such as \fIbuzzz\&.azm\fP\&. The current manual page documents the facilities and macros made available by the PUD manual language by importing the file \fCman\&.zmm\fP\&. The structure of a manual page thus typically looks like this: .di ZV .in 0 .nf \fC \eimport{man\&.zmm} \ebegin{pud::man}{ {name}{pud-man} {html_title}{The PUD manual page mini-language} {author}{Stijn van Dongen} {section}{7} {year}{2009} {month}{Jan} {day}{15} {tag}{1\&.002} {stamp}{09-015} {defstyle}{long} {synstyle}{long} } \e${html}{\e"pud::man::maketoc"} \esec{name}{NAME} \eNAME{pud-man}{A description of the Portable Unix Documentation Language for writing manual pages} \esec{description}{DESCRIPTION} \epar{ \&.\&.\&.\&.\&. \&.\&.\&.\&.\&.} \esec{some}{SECTION} \epar{ \&.\&.\&.\&.\&. \&.\&.\&.\&.\&.} \eend{pud::man} .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR The PUD manual page macro package automatically imports a set of generic macros from the \fCaephea-base\fP and \fCaephea-ref\fP packages\&. The \fBaephea-base(7)\fP and \fBaephea-ref(7)\fP manual pages document those macros, which are also essential for writing manual pages\&. The most important are .ZJ 1m 2m "i)" The \fIitemize\fP environment (used as \fC\ebegin{itemize}[{options}] \&.\&.\&. \eend{itemize}\fP) and its associated macros \fC\eitem#1\fP, \fC\eitems#1\fP, \fC\eitem\fP \fC\eitemskip\fP, \fC\eintermezzo\fP, and others\&. .in -3m .ZJ 1m 2m "ii)" The font style/appearance macros \fC\ebf#1\fP, \fC\eit#1\fP, \fC\ett#1\fP, \fC\ev#1\fP, the font size macros \fC\eftinc#2\fP and \fC\eftdec#2\fP\&. .in -3m .ZJ 1m 2m "iii)" The paragraph mark \fC\epar#1\fP (required for each paragraph)\&. .in -3m .ZJ 1m 2m "iv)" The verbatim macros \fC\everbatim#1\fP and \fC\everbatix#1\fP\&. .in -3m .ZJ 1m 2m "v)" The link macros \fC\ehttpref#1\fP, \fC\esibref#2\fP, \fC\eiref#2\fP, \fC\elref#2\fP, \fC\earef#2\fP\&. .in -3m .ZJ 1m 2m "vi)" In \fBaephea-ref(7)\fP the pair of \fC\ereference#2\fP and \fC\erefer#1\fP\&. .in -3m For the authorative listing consult the \fBaephea-base\fP manual page\&. The listing above includes a silly demonstration of some itemize features such as alignment and automatic numbering\&. Read the \fBZoem User Manual\fP for a better understanding of zoem macro packages and the design of zoem\&. .SH MACROS The \fC\e$man\fP key in the \fCpud::man\fP environment can be used to set the centered heading found in all UNIX roff manual pages\&. If not set, a heading is derived from the \fC\e$section\fP macro\&. Below is the listing of default headers\&. It can probably be improved\&. .di ZV .in 0 .nf \fC 1 USER COMMANDS 2 SYSTEM CALLS 3 LIBRARY CALLS 4 SPECIAL FILES 5 FILE FORMATS 6 GAMES 7 MACRO PACKAGES 8 SYSTEM ADMINISTRATION 9 KERNEL ROUTINES .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR The last textual item in a manual page must be the macro \fC\eend{pud::man}\fP\&. See the example page \fIbuzzz\&.azm\fP\&. .ZI 2m "\fB\esec#2\fP" \& 'in -2m .ZI 2m "\fB\esecref#1\fP" \& 'in -2m 'in +2m \& .br Start a section, refer to a section\&. The first argument of \fC\esec#2\fP is the anchor for that section, the second argument is the title\&. The macro \fC\esecref#1\fP takes an anchor and outputs the title of the associated section\&. The NAME section should be written like the example below, taken from the zoem interpreter manual\&. .di ZV .in 0 .nf \fC \esec{name}{NAME} \eNAME{zoem}{interpreter for the Zoem macro/programming language\&.} .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR Usage of the NAME macro ensures that the troff output complies with the format expected by \fBapropos\fP\&. .in -2m .ZI 2m "\fB\edefopt#2\fP" \& 'in -2m .ZI 2m "\fB\edefopt#3\fP" \& 'in -2m .ZI 2m "\fB\edefkvp#3\fP" \& 'in -2m 'in +2m \& .br Write entry in the options section\&. typical usage is within an \fC\eitem#1\fP macro\&. For all macros the first argument is the option being described, and the last argument is a short string describing the option\&. This string is printed in case the macro \fC\e"man::defstyle"\fP is set to \fClong\fP\&. The macro \fC\edefopt#3\fP is used for options taking arguments; the second argument is the name describing the argument\&. The macro \fC\edefkvp#3\fP is used for long options of the form \fC--mode=str\fP, which you would enter as \fC\edefkvp{mode}{str}{set foo mode}\fP\&. Long options of the form \fC--verbose\fP are simply entered using \fC\edefopt#2\fP\&. .in -2m .ZI 2m "\fB\eoptref#2\fP" \& .br Refer to an option\&. The first argument is the option, the second argument is the text associated with the link\&. This text will indeed be linking in html, but nothing special will happen in troff - the text is printed as is\&. .in -2m .ZI 2m "\fB\esynoptopt#2\fP" \& 'in -2m .ZI 2m "\fB\esynoptopt#3\fP" \& 'in -2m .ZI 2m "\fB\esynreqopt#2\fP" \& 'in -2m .ZI 2m "\fB\esynreqopt#3\fP" \& 'in -2m 'in +2m \& .br Write entries in the synopsis section\&. This assumes that somewhere an option was created using one of the \fCdefopt\fP family members described below\&. For all \&'syn\&' options the first argument is simply the option itself\&. From this argument the anchor is reconstructed that was created by one of the \fCdefopt\fP macros\&. The last argument is always a short string describing the option\&. It depends on the style chosen, i\&.e\&. whether \fC\e"man::synstyle"\fP is \fClong\fP or \fCshort\fP, whether this string shows up or not\&. The macros in this group that take two arguments describe unary options that take no argument\&. The macros taking three arguments describe options that do take an argument\&. Here is an example from the zoem manual page: .di ZV .in 0 .nf \fC \esynoptopt{--trace}{trace mode, default} \esynoptopt{--trace-all-long}{long trace mode} \esynoptopt{--trace-all-short}{short trace mode} \esynoptopt{--trace-regex}{trace regexes} \esynoptopt{--show-tracebits}{show trace bits} \esynoptopt{-trace}{k}{trace mode, explicit} \esynoptopt{--stats}{show symbol table stats after run} .fi \fR .in .di .ne \n(dnu .nf \fC .ZV .fi \fR .in -2m .ZI 2m "\fB\e""man::synstyle""\fP" \& 'in -2m .ZI 2m "\fB\e""man::defstyle""\fP" \& 'in -2m 'in +2m \& .br Before importing the manual macros, set these to your prefered style\&. Each of these should be set either to \fCshort\fP or \fClong\fP\&. .in -2m .ZI 2m "\fB\egenopt#1\fP" \& 'in -2m .ZI 2m "\fB\egenopt#2\fP" \& 'in -2m .ZI 2m "\fB\egenarg#1\fP" \& 'in -2m .ZI 2m "\fB\euseopt#1\fP" \& 'in -2m .ZI 2m "\fB\euseopt#2\fP" \& 'in -2m .ZI 2m "\fB\eusearg#1\fP" \& 'in -2m .ZI 2m "\fB\egenkvp#2\fP" \& 'in -2m .ZI 2m "\fB\eusekvp#2\fP" \& 'in -2m 'in +2m \& .br These are for creating a consistent style when refering to options\&. One is free to disregard these altogether\&. They are meant as convenience, but some may find the extra typing annoying\&. The idea is that the \&'gen\&' macros are used when generic mention is made of an option and possibly its argument\&. The \&'use\&' macros are used when explicit usage is mentioned\&. An example is the following: .in +2m .ll -3m Modes can be chosen using \fB-mode\fP\ \&\fIstr\fP where \fIstr\fP is any of \fBsmall\fP, \fBmedium\fP, or \fBlarge\fP\&. Use \fB-mode\fP\ \&\fBsmall\fP if your hardware is outdated\&. Use \fB--mileage\fP=\fIstr\fP to set the mileage, e\&.g\&. \fB--mileage\fP=\fBhigh\fP or \fB--mileage\fP=\fBastronomical\fP\&. .in -2m .ll +3m .in -2m .SH SEE ALSO The \fBpud\fP manual page gives an overview of PUD\&. aephea-12-248/mac/doc/stamp.year0000644000402500021140000000000512021415166013252 000000000000002012 aephea-12-248/mac/Makefile.in0000644000402500021140000003105512021415202012544 00000000000000# Makefile.in generated by automake 1.9 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004 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@ # $Id: Makefile.am,v 1.22 2006-02-15 14:23:46 flux Exp $ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = .. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ 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 = : subdir = mac 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 = $(install_sh) -d CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-exec-recursive install-info-recursive \ install-recursive installcheck-recursive installdirs-recursive \ pdf-recursive ps-recursive uninstall-info-recursive \ uninstall-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@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ SUBDIRS = aephea pud doc contrib all: all-recursive .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) --gnu mac/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu mac/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 uninstall-info-am: # 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): @set fnord $$MAKEFLAGS; amf=$$2; \ 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) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: @set fnord $$MAKEFLAGS; amf=$$2; \ 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) \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ 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)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ 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" \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile 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) 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-exec-am: install-info: install-info-recursive install-man: 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-info-am uninstall-info: uninstall-info-recursive .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \ clean clean-generic clean-recursive ctags ctags-recursive \ distclean distclean-generic distclean-recursive distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ install-am install-data install-data-am install-exec \ install-exec-am install-info install-info-am install-man \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ maintainer-clean-recursive mostlyclean mostlyclean-generic \ mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am uninstall-info-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: aephea-12-248/mac/pud/0000777000402500021140000000000012021634011011350 500000000000000aephea-12-248/mac/pud/faq.zmm0000644000402500021140000001344011322634541012575 00000000000000\:------------------------------------------------------------------------+ \: The macros provided by this package. | \:________________________________________________________________________| \:------------------------------------------------------------------------+ \: \faqsec environment. : \:------------------------------------------------------------------------+ \: \faq#2 : \:------------------------------------------------------------------------+ \: \fnum : \:------------------------------------------------------------------------+ \: \"faq::preamble" : \: \"faq::maketoc" \:------------------------------------------------------------------------+ \'formatted{ \'set{"_nroff::gindent"}{8} \'${html}{ \'def{"faq::tocquestion"#3}{ \item{\_anch{toc-\1}{}\`{s}\iref{\1}{\bf{\2}}}\`{n} \iref{\1}{\bf{\3}}\`{n} \`{n} } } \'${roff}{ \'def{"faq::tocquestion"#3}{ \|\@{\N.ZT 1m }\bf{\2}\@{\N}\3 } } \'def{faq#2}{ \ctrinc{faq::question} \'setx{_ref}{ \'if{\cmp{eq}{\1}{}} {faq\ctrput{faq::section}.\ctrput{faq::question}} {\1} } \'setx{_tag}{\ctrput{faq::section}.\ctrput{faq::question}} \'write{\__fnbase__.fqf-\__device__}{copy}{ \!refload{\_ref}{ {level}{1} {type}{faq} {num}{\_tag} {cap}{\2} \`{n} } } \'write{\__fnbase__.fqf-\__device__}{copy}{ \'if{\'cmp{eq}{\ctrput{faq::question}}{1}} {\!!'set{$align}{right}} {} \!!"faq::tocquestion"{\_ref}{\_tag}{\2}\`{n} } \'${roff}{ \par\@{\N.ZB 1m }\bf{\_tag}\@{\N}\ftinc{1}{\bf{\2}}\par } \'${html}{ \item{\_anch{\_ref}{}\`{s}\iref_quiet{toc-\_curfaqref}{\_tag}} \bf{\2} } } } \'${roff}{ \'def{fnum#1}{\ref{\1}{num}} } \'${html}{ \'def{fnum#1}{\iref{\1}{\ref{\1}{num}}} } \'formatted{ \'env{faqsec}{ \ctrinc{faq::section} \ctrset{faq::question}{0} \'setx{_curfaqref}{ \'if{\'defined{lkey}{$ref}}{\$ref}{faqsec\ctrput{faq::section}} } \'if{\'defined{lkey}{$cap}}{ \'setx{"faq::cap"}{\$cap} }{ \'set{"faq::cap"}{Section\~\ctrput{faq::section}} } \'write{\__fnbase__.fqf-\__device__}{copy}{ \@{\N} \!refload{\_curfaqref}{ {level}{1} {type}{faq} {num}{\ctrput{faq::section}} {cap}{\"faq::cap"} \`{n} } } \'${html}{ \: --------- write the toc entries --------------- :/ \'setx{_em}{\'if{\'eqt{eq}{\ctrput{faq::section}}{1}}{0}{1}} \'write{\__fnbase__.fqf-\__device__}{copy}{ \@{\N
}\`{n} \!!'begin{itemize}{ {flow}{compact} {align}{left} {interitem}{0} {margintop}{0} {w1}{2} {w2}{1} }\`{n} \!!item{ \_anch{toc-\_curfaqref}{} \iref_quiet{\_curfaqref}{\bf{\ctrput{faq::section}}} }\`{n} \iref_quiet{\_curfaqref}{\bf{\"faq::cap"}}\`{n} \!!itemskip\`{n} } \: --------- the header of the section ----------- :/ \: mq made anch non-capturing \@{\P
\N

\I} \_anch{\_curfaqref}{} \iref_quiet{toc-\_curfaqref}{\ctrput{faq::section}}\| \"faq::cap" \@{\J\N

\N
\P} \: --------- this starts a list of faqs ---------- :/ \'begin{itemize}{{flow}{compact}{interitem}{1}{w1}{2}{w2}{1}} } \'${roff}{ \'write{\__fnbase__.fqf-\__device__}{copy}{ \par\@{\N.ZT 0m } \bf{\ctrput{faq::section}}\@{\N} \ftinc{1}{\bf{\"faq::cap"}} } \par \@{\N.ce\N} \ftinc{2}{\bf{\"faq::cap"}} } }{ \'${html}{ \'write{\__fnbase__.fqf-\__device__}{copy}{\!!'end{itemize}} \'end{itemize} } } } \'def{"faq::preamble"}{ \'${html}{ \'setx{"faq::maketoc"}{\'eval{\'zinsert{\__fnbase__.fqf-\__device__}\@{\N

\N}}} \: the eval results in the \refload macros to be evaluated; \: the \!begin{itemize} etc are transformed to \begin{itemize}, \: to be evaluated when \"faq::maketoc" is used in the document. \: note the \write{..fqf..}{copy}{\!!begin{itemize}}; \: write evaluates the data as well, hence we need to delay twice. } \'${roff}{ \'setx{"faq::maketoc"}{\'eval{\'zinsert{\__fnbase__.fqf-\__device__}}} } \'${roff}{ \: .de ZT \: .nr xb \\n(.k # .k = current horizontal output position. \: .nr xb -1m # substract 1m for whatever reason. \: .nr xa \\$1 # zet eerste argument van ZT in xa. \: .nr xa -\\n(.k # haal .k ervan af. \: .nr xa -\\n(.i # haal indent ervan af. \: \h'\\n(xau'\\$2\l'|\\n(xbu.'\h'1m'\\ \: \h'\\n(xau'\\$2 # move to $1 position, write $2. \: \l'|\\n(xbu.' # write to xb position with dots. \: <---.i---><---.k--->| \: <----$1--->$2.....<>| \: 1m| \@{\N .de ZT .\\" Zoem Faq (Toc) macro. .nr xb \\\\n(.k .nr xb -1m .nr xa \\\\$1 .nr xa -\\\\n(.k .nr xa -\\\\n(.i \\h'\\\\n(xau'\\\\$2\\l'|\\\\n(xbu.'\\h'1m'\\\\ .. \N.de ZB .\\" Zoem Faq (Body) macro. .nr xb \\\\n(.k .nr xa \\\\$1 .nr xa -\\\\n(.k .nr xa -\\\\n(.i \\h'\\\\n(xau'\\\\$2\\h'|\\\\n(xbu'\\\\ ..\N} \@{\N.am SH\N.ie n .in 8m\N.el .in 8m\N..\N} } } aephea-12-248/mac/pud/Makefile.in0000644000402500021140000002124012021415203013330 00000000000000# Makefile.in generated by automake 1.9 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004 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@ # $Id: Makefile.am,v 1.22 2006-02-15 14:23:46 flux Exp $ # x_DATA xdir srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ top_builddir = ../.. am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd INSTALL = @INSTALL@ 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 = : subdir = mac/pud 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 = $(install_sh) -d 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)$(pudincludedir)" pudincludeDATA_INSTALL = $(INSTALL_DATA) DATA = $(pudinclude_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ MAKEINFO = @MAKEINFO@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ am__leading_dot = @am__leading_dot@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ 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@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ pudincludedir = $(datadir)/$(PACKAGE)/pud/ pudinclude_DATA = man.zmm faq.zmm EXTRA_DIST = $(pudinclude_DATA) 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) --gnu mac/pud/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu mac/pud/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 uninstall-info-am: install-pudincludeDATA: $(pudinclude_DATA) @$(NORMAL_INSTALL) test -z "$(pudincludedir)" || $(mkdir_p) "$(DESTDIR)$(pudincludedir)" @list='$(pudinclude_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(pudincludeDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pudincludedir)/$$f'"; \ $(pudincludeDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pudincludedir)/$$f"; \ done uninstall-pudincludeDATA: @$(NORMAL_UNINSTALL) @list='$(pudinclude_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(pudincludedir)/$$f'"; \ rm -f "$(DESTDIR)$(pudincludedir)/$$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)'; for file in $$list; do \ case $$file in \ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ esac; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ dir="/$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \ else \ dir=''; \ fi; \ if test -d $$d/$$file; then \ 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)$(pudincludedir)"; 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-pudincludeDATA install-exec-am: install-info: install-info-am install-man: 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-info-am uninstall-pudincludeDATA .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-exec \ install-exec-am install-info install-info-am install-man \ install-pudincludeDATA install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am uninstall uninstall-am uninstall-info-am \ uninstall-pudincludeDATA # 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: aephea-12-248/mac/pud/man.zmm0000644000402500021140000002357411322637617012621 00000000000000\:------------------------------------------------------------------------+ \: The macros provided by this package. | \:________________________________________________________________________| \:------------------------------------------------------------------------+ \: \sec, \secref | \:------------------------------------------------------------------------+ \: \defopt#3 \defopt#2, \optref#2, \synoptopt#3, \synoptopt#2, | \: \synreqopt#3, \synreqopt#2 | \: \genopt#1 \genopt#2 \genarg#1, \useopt#1 \useopt#2 \usearg#1 | \: \genkvp#2 \usekvp#2 \defkvp#3 | \: \genoptref#1 | \: \genoptref#2 | \:------------------------------------------------------------------------+ \: \env{pud::man} | \:------------------------------------------------------------------------+ \: \$year \$month \$day \$name \$html_title | \: \$author \$section \$tag \$synstyle \$defstyle | \:------------------------------------------------------------------------+ \'import{aephea/base.zmm} \'switch{\__device__}{ {html}{} {roff}{} {\'write{stderr}{txt}{ No support for device "\__device__" (in file \__fnin__)\|}\'exit } } \: __o__o__o__O \env{pud::man}{ {$year} {y*e*a*r} {$month} {m*o*n*t*h} {$day} {0} {$name} {n*a*m*e} {$html_title} {t*i*t*l*e} {$html_keywords} {manual} {$author} {a*u*t*h*o*r} {$tag} {0_0_0} {$synstyle} {long} {$defstyle} {long} {$section} {1} {$css_append} { body { font-family: "Garamond", "Gill Sans", "Verdana", sans-serif; } body { text-align: justify; margin-left: 8%; margin-right: 8%; } } }{ \: \synoptopt: entry for the synopsis, optional option. \: \synreqopt: entry for the synopsis, required option. \: Both are automatically linked to corresponding entry in OPTIONS \: section, which must be defined with the \defopt key. \: \optref works together with \defopt, \synoptopt etc use \optref, \: The #3 entries are of the form e.g. \key{-opt}{arg}{explanation}. \: The #2 entries are of the form e.g. \key{--opt}{explanation}. \'switch{\get{pud::man}{$synstyle}}{ {long}{\set{{modes}{vw}}{}{ {synoptopt#3} {\optref{\1}{\bf{[\1} \2 (\it{\3})\bf{]}}} {synoptopt#2} {\optref{\1}{\bf{[\1} (\it{\2})\bf{]}}} {synoptkvp#3} {\optref{\1}{\bf{[\1=}\2 (\it{\3})\bf{]}}} {synoptkov#3} {\optref{\1}{\bf{[\1[=}\2\bf{]} (\it{\3})\bf{]}}} {synreqopt#3} {\optref{\1}{\bf{\1} \2 (\it{\3})}} {synreqopt#2} {\optref{\1}{\bf{\1} (\it{\2})}} {synreqkvp#3} {\optref{\1}{\bf{\1=}\2 (\it{\3})}} {synreqkov#3} {\optref{\1}{\bf{\1[=}\2\bf{]} (\it{\3})}} }} {short}{\set{{modes}{vw}}{}{ {synoptopt#3} {\optref{\1}{\bf{[\1]} \2}} {synoptopt#2} {\optref{\1}{\bf{[\1]}}} {synoptkvp#3} {\optref{\1}{\bf{[\1=}\2\bf{]}}} {synoptkov#3} {\optref{\1}{\bf{[\1[=}\2\bf{]]}}} {synreqopt#3} {\optref{\1}{\bf{\1} \2}} {synreqopt#2} {\optref{\1}{\bf{\1}}} {synreqkvp#3} {\optref{\1}{\bf{\1=}\2}} {synreqkov#3} {\optref{\1}{\bf{\1[=}\2\bf{]}}} }} } \'switch{\get{pud::man}{$defstyle}}{ {long}{ \'${html}{\set{{modes}{vw}}{}{ {defopt#3} {\_anch{opt\1}{}\bf{\1} \2 (\it{\3})} {defopt#2} {\_anch{opt\1}{}\bf{\1} (\it{\2})} {defkvp#3} {\_anch{opt\1}{}\bf{\1}=\2 (\it{\3})} {defmac#2} {\_anch{opt\1}{\\\v{\2}}} }} \'${roff}{\set{{modes}{vw}}{}{ {defopt#3} {\bf{\1} \2 (\it{\3})} {defopt#2} {\bf{\1} (\it{\2})} {defkvp#3} {\bf{\1}=\2 (\it{\3})} {defmac#2} {\\\bf{\2}} }} } {short}{ \'${html}{\set{{modes}{vw}}{}{ {defopt#3} {\_anch{opt\1}{}\bf{\1} \2} {defopt#2} {\_anch{opt\1}{}\bf{\1}} {defkvp#3} {\_anch{opt\1}{}\bf{\1}=\2} {defmac#2} {\\\bf{\2}} }} \'${roff}{\set{{modes}{vw}}{}{ {defopt#3} {\bf{\1} \2} {defkvp#3} {\bf{\1}=\2} {defopt#2} {\bf{\1}} {defmac#2} {\\\bf{\2}} }} } } \'load{\__fnbase__.zmr} \'setx{_pud_man_toclist}{\'zinsert{\__fnbase__.zmt}} \:=========================================================================== \'${roff}{ \:=========================================================================== \@{.\\" Copyright (c) } \get{pud::man}{$year} \get{pud::man}{$author} \@{\N.TH\S} \@{\"\+{2}}\get{pud::man}{$name}\@{\+{1}\"} \:/ <------------------ \get{pud::man}{$section} \:/ <------------------------------------------------- "\get{pud::man}{$day} \get{pud::man}{$month} \get{pud::man}{$year}" \:/ <------ "\get{pud::man}{$name} \get{pud::man}{$tag}" \:/ <----------------------------- "\"_pud_man_makecat" " \: <---------------------------------------------------- \"generic::troff-defs" \@{\N.if n .ll -2m\n} \: crude hack to conquer groff-ism. \@{\N.am SH\N.ie n .in 4m\N.el .in 8m\N..\N} } \:=========================================================================== \'${html}{ \:=========================================================================== \ \ \ \{ \<*meta name="keywords" content="\get{pud::man}{$html_keywords}"> \