m17n-docs start
authorhanda <handa>
Mon, 16 Jun 2003 12:18:19 +0000 (12:18 +0000)
committerhanda <handa>
Mon, 16 Jun 2003 12:18:19 +0000 (12:18 +0000)
58 files changed:
AUTHORS [new file with mode: 0644]
ChangeLog [new file with mode: 0644]
Makefile.am [new file with mode: 0644]
NEWS [new file with mode: 0644]
README [new file with mode: 0644]
bootstrap.sh [new file with mode: 0755]
configure.ac [new file with mode: 0644]
data-dev/header.tex [new file with mode: 0644]
data-ja/conclusion.tex [new file with mode: 0644]
data-ja/header.tex [new file with mode: 0644]
data-ja/introduction.tex [new file with mode: 0644]
data-ja/m17n-X.tex [new file with mode: 0644]
data-ja/m17n-basicC.tex [new file with mode: 0644]
data-ja/m17n-database.tex [new file with mode: 0644]
data-usr/header.tex [new file with mode: 0644]
doxyfile.in [new file with mode: 0644]
footer.html [new file with mode: 0644]
footer.html.ja [new file with mode: 0644]
head.ps [new file with mode: 0644]
header.html [new file with mode: 0644]
header.html.ja [new file with mode: 0644]
header.tex [new file with mode: 0644]
m17nlib.css [new file with mode: 0644]
mainpage.en.html [new file with mode: 0644]
mainpage.ja.html [new file with mode: 0644]
smallmule.gif [new file with mode: 0755]
styles/backref.sty [new file with mode: 0644]
styles/doxygen-m17n.sty [new file with mode: 0644]
styles/fancyhdr.sty [new file with mode: 0644]
styles/float.sty [new file with mode: 0644]
styles/hdvipdfm.def [new file with mode: 0644]
styles/hdvips.def [new file with mode: 0644]
styles/hdvipson.def [new file with mode: 0644]
styles/hdviwind.def [new file with mode: 0644]
styles/hpdftex.def [new file with mode: 0644]
styles/htex4ht.cfg [new file with mode: 0644]
styles/htex4ht.def [new file with mode: 0644]
styles/htexture.def [new file with mode: 0644]
styles/hvtex.def [new file with mode: 0644]
styles/hvtexhtm.def [new file with mode: 0644]
styles/hvtexmrk.def [new file with mode: 0644]
styles/hyperref.sty [new file with mode: 0644]
styles/hypertex.def [new file with mode: 0644]
styles/minitoc-hyper.sty [new file with mode: 0644]
styles/nameref.sty [new file with mode: 0644]
styles/nohyperref.sty [new file with mode: 0644]
styles/ntheorem-hyper.sty [new file with mode: 0644]
styles/pd1enc.def [new file with mode: 0644]
styles/pdfmark.def [new file with mode: 0644]
styles/puenc.def [new file with mode: 0644]
styles/url.sty [new file with mode: 0644]
styles/xr-hyper.sty [new file with mode: 0644]
utils/dev_filter.rb [new file with mode: 0755]
utils/ja_filter.rb [new file with mode: 0755]
utils/mokuji.el [new file with mode: 0644]
utils/refman-filter.awk [new file with mode: 0644]
utils/run-latex.sh [new file with mode: 0755]
utils/usr_filter.rb [new file with mode: 0755]

diff --git a/AUTHORS b/AUTHORS
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/ChangeLog b/ChangeLog
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/Makefile.am b/Makefile.am
new file mode 100644 (file)
index 0000000..375d0f1
--- /dev/null
@@ -0,0 +1,148 @@
+#      -*- coding: euc-jp; -*-
+
+EXTRA_DIST = dev usr ja smallmule.gif
+
+# The followings are for maintainers only.
+
+if MAINTAINER_MODE
+
+SRCFILES = $(shell echo @M17NLIB@/src/*.[ch])
+
+STYLEPATH = @srcdir@/styles
+UTILPATH = @srcdir@/utils
+
+LATEX_JA = ${STYLEPATH}/doxygen-m17n.sty \
+       @srcdir@/data-ja/header.tex \
+       @srcdir@/data-ja/introduction.tex \
+       @srcdir@/data-ja/m17n-basicC.tex \
+       @srcdir@/data-ja/m17n-X.tex \
+       @srcdir@/data-ja/m17n-database.tex \
+       @srcdir@/data-ja/conclusion.tex
+
+LATEX_USR = ${STYLEPATH}/doxygen-m17n.sty \
+       @srcdir@/data-usr/header.tex
+
+LATEX_DEV = ${STYLEPATH}/doxygen-m17n.sty \
+       @srcdir@/data-dev/header.tex
+
+DOXYGEN = doxygen
+
+PROJECT_NAME_EN = "Multilingual Library for Unix/Linux"
+PROJECT_NAME_JA = "Unix/Linux ÍÑ¿¸À¸ì¥é¥¤¥Ö¥é¥ê"
+
+PROJECT_NUMBER = 1.0
+
+LATEX_HEADER_JA = header.tex
+LATEX_HEADER_EN =
+
+notarget:
+       @echo "Please specify one of the following targets:"
+       @echo "  usr-latex ja-latex dev-latex"
+       @echo "  usr-html ja-html dev-html"
+       @echo "  usr ja dev"
+       @echo "  all"
+
+all: usr ja dev
+
+usr-html html-usr: usr/html/index.html
+ja-html html-ja: ja/html/index.html
+dev-html html-dev: dev/html/index.html
+
+usr-latex latex-usr: usr/latex/refman.ps
+ja-latex latex-ja: ja/latex/refman.ps
+dev-latex latex-dev: dev/latex/refman.ps
+
+usr: html-usr latex-usr
+ja: html-ja latex-ja
+dev: html-dev latex-dev
+
+doxyfile-html.usr: @srcdir@/doxyfile ${SRCFILES}
+       umask 002; \
+       sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
+           -e 's/%PROJECT_NUMBER%/${PROJECT_NUMBER}/' \
+           -e 's/%DEV_OR_USR_OR_JA%/usr/' \
+           -e 's/%OUTPUT_LANGUAGE%/English/' \
+           -e 's|%GENERATE_HTML%|YES|' \
+           -e 's|%GENERATE_LATEX%|NO|' \
+         < $< >$@
+
+doxyfile-html.dev: @srcdir@/doxyfile ${SRCFILES}
+       umask 002; \
+       sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
+           -e 's/%PROJECT_NUMBER%/${PROJECT_NUMBER}/' \
+           -e 's/%DEV_OR_USR_OR_JA%/dev/' \
+           -e 's/%OUTPUT_LANGUAGE%/English/' \
+           -e 's|%GENERATE_HTML%|YES|' \
+           -e 's|%GENERATE_LATEX%|NO|' \
+         < $< >$@
+
+doxyfile-html.ja: @srcdir@/doxyfile ${SRCFILES}
+       umask 002; \
+       sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_JA}|' \
+           -e 's/%PROJECT_NUMBER%/${PROJECT_NUMBER}/' \
+           -e 's/%DEV_OR_USR_OR_JA%/ja/' \
+           -e 's/%OUTPUT_LANGUAGE%/Japanese/' \
+           -e 's|%GENERATE_HTML%|YES|' \
+           -e 's|%GENERATE_LATEX%|NO|' \
+         < $< >$@
+
+doxyfile-latex.usr: @srcdir@/doxyfile ${SRCFILES}
+       umask 002; \
+       sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
+           -e 's/%PROJECT_NUMBER%/${PROJECT_NUMBER}/' \
+           -e 's/%DEV_OR_USR_OR_JA%/usr/' \
+           -e 's/%OUTPUT_LANGUAGE%/English/' \
+           -e 's|%GENERATE_HTML%|YES|' \
+           -e 's|%GENERATE_LATEX%|YES|' \
+         < $< >$@
+
+doxyfile-latex.dev: @srcdir@/doxyfile ${SRCFILES}
+       umask 002; \
+       sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_EN}|' \
+           -e 's/%PROJECT_NUMBER%/${PROJECT_NUMBER}/' \
+           -e 's/%DEV_OR_USR_OR_JA%/dev/' \
+           -e 's/%OUTPUT_LANGUAGE%/English/' \
+           -e 's|%GENERATE_HTML%|YES|' \
+           -e 's|%GENERATE_LATEX%|YES|' \
+         < $< >$@
+
+doxyfile-latex.ja: @srcdir@/doxyfile ${SRCFILES}
+       umask 002; \
+       sed -e 's|%PROJECT_NAME%|${PROJECT_NAME_JA}|' \
+           -e 's/%PROJECT_NUMBER%/${PROJECT_NUMBER}/' \
+           -e 's/%DEV_OR_USR_OR_JA%/ja/' \
+           -e 's/%OUTPUT_LANGUAGE%/Japanese/' \
+           -e 's|%GENERATE_HTML%|YES|' \
+           -e 's|%GENERATE_LATEX%|YES|' \
+         < $< >$@
+
+%/html/index.html: doxyfile-html.%
+       umask 002; \
+       ${DOXYGEN} $<
+
+%/latex/refman.tex: doxyfile-latex.% ${UTILPATH}/refman-filter.awk
+       umask 002; \
+       ${DOXYGEN} $<; \
+       awk -f ${UTILPATH}/refman-filter.awk < $@ > temp; \
+       mv temp $@
+
+ja/latex/refman.ps: ja/latex/refman.tex ${UTILPATH}/run-latex.sh ${LATEX_JA}
+       ${UTILPATH}/run-latex.sh @srcdir@ ja
+       emacs21 -batch -q -l ${UTILPATH}/mokuji.el -f write-mokuji ja
+
+usr/latex/refman.ps: usr/latex/refman.tex ${UTILPATH}/run-latex.sh ${LATEX_USR}
+       ${UTILPATH}/run-latex.sh @srcdir@ usr
+       emacs21 -batch -q -l ${UTILPATH}/mokuji.el -f write-mokuji usr
+
+dev/latex/refman.ps: dev/latex/refman.tex ${UTILPATH}/run-latex.sh ${LATEX_DEV}
+       ${UTILPATH}/run-latex.sh @srcdir@ dev
+       emacs21 -batch -q -l ${UTILPATH}/mokuji.el -f write-mokuji dev
+
+.PRECIOUS: %/latex/refman.tex
+
+CLEANFILES = doxyfile doxyfile-latex.* doxyfile-html.* m17n.tag warning \
+       */html/index.html */latex/refman.*
+
+DISTCLEANFILES = doxyfile *~
+
+endif
diff --git a/NEWS b/NEWS
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/bootstrap.sh b/bootstrap.sh
new file mode 100755 (executable)
index 0000000..bd62260
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh
+echo "Running aclocal..."
+aclocal
+echo "Running automake..."
+automake -a
+echo "Running autoconf..."
+autoconf
+echo "The remaining steps to install this packge are:"
+echo "  % ./configure --enable-maintainer-mode"
+echo "  % make"
+echo "  % make install"
diff --git a/configure.ac b/configure.ac
new file mode 100644 (file)
index 0000000..88e5a85
--- /dev/null
@@ -0,0 +1,52 @@
+# Process this file with autoconf to produce a configure script.
+AC_INIT(m17n-docs, 0.9, bugs-m17n-lib@m17n.org)
+AM_INIT_AUTOMAKE(m17n-docs, 0.9)
+
+AM_MAINTAINER_MODE
+
+# Checks for programs.
+AC_PROG_INSTALL
+
+# Checks for source program files.
+AC_ARG_WITH(m17nlib,
+  [  --with-m17n-lib=DIR     directory of m17n-lib source files],
+  M17NLIB="$withval")
+
+if test "x$M17NLIB" = "x"; then
+  if test -d ../m17n-lib; then
+    M17NLIB=../m17n-lib
+  elif test -d /usr/local/src/m17n-lib; then
+    CHARMAPS=/usr/local/src/m17n-lib
+  else
+    CHARMAPS=
+  fi
+else :
+fi
+
+AC_SUBST(M17NLIB)
+
+AC_CHECK_PROG(DOXYGEN, doxygen, yes, no)
+AC_CHECK_PROG(RUBY, ruby, yes, no)
+AC_CHECK_PROG(PLATEX, platex, yes, no)
+
+AC_CONFIG_FILES([Makefile doxyfile])
+AC_OUTPUT
+
+# Print configuration message.
+if test "$DOXYGEN" = "no"; then
+  echo "Can't find a program \"doxygen\"!"
+  exit 1
+fi
+if test "$RUBY" = "no"; then
+  echo "Can't find a program \"ruby\"!"
+  exit 1
+fi
+if test "$PLATEX" = "no"; then
+  echo "Can't find a program \"platex\"!"
+  exit 1
+fi
+
+echo "-------------------------------------------------------------"
+echo "Configure to make documentations from the source files under:"
+echo "  $M17NLIB/src/"
+echo "-------------------------------------------------------------"
diff --git a/data-dev/header.tex b/data-dev/header.tex
new file mode 100644 (file)
index 0000000..a83371a
--- /dev/null
@@ -0,0 +1,41 @@
+\documentclass[a4paper,12pt,twoside]{article}  % -*- coding: euc-jp; -*-
+\setlength\headheight{14.5pt}
+\usepackage{makeidx}
+\usepackage{fancyhdr}
+\usepackage{graphicx}
+\usepackage{float}
+\usepackage{alltt}
+\usepackage[english]{babel}
+\usepackage{times}
+%%%\usepackage[dvips, a4paper, bookmarks, bookmarksnumbered, pdftitle={Unix/LinuxÈÆÍÑ¡£¡£¡£}]{hyperref} 
+\usepackage{doxygen}
+\usepackage{doxygen-m17n}
+\makeindex
+\setcounter{tocdepth}{2}
+\setlength{\footrulewidth}{0pt}
+\begin{document}
+\begin{titlepage}
+\begin{flushright}
+{\Large 13¾ð·ÐÂè1127¹æ}
+\end{flushright}
+\vspace*{2cm}
+\begin{center}
+{\Huge IPA¾ðÊ󵻽ѳ«È¯»Ù±ç»ö¶È}\\
+\vspace*{2cm}
+{\Huge Unix/Linux ÈÆÍÑ¿¸À¸ì½èÍýµ¡Ç½\\¥é¥¤¥Ö¥é¥ê¤Î³«È¯}\\
+\vspace*{2cm}
+{\Huge ³«È¯À®²ÌÊó¹ð½ñ}\\
+\vspace*{7cm}
+{\Huge Ê¿À®14ǯ2·î}\\
+\vspace*{1.5cm}
+{\Huge ÆÈΩ¹ÔÀ¯Ë¡¿Í »º¶Èµ»½ÑÁí¹ç¸¦µæ½ê}
+\end{center}
+\end{titlepage}
+\cleardoublepage
+\pagenumbering{roman}
+\tableofcontents
+\newpage
+\pagenumbering{arabic}
+\input{introduction.tex}
+\newpage
+\sectionOnNewpage
diff --git a/data-ja/conclusion.tex b/data-ja/conclusion.tex
new file mode 100644 (file)
index 0000000..f9959dd
--- /dev/null
@@ -0,0 +1,603 @@
+%% -*- coding: euc-jp; -*-
+
+\section{ɾ²Á´ð½à¡¢É¾²ÁÊýË¡¡¢É¾²ÁÆâÍÆ}
+
+Ëܳ«È¯¤Ç¼Â¸½¤¹¤ëUnix/Linux ÈÆÍÑ¿¸À¸ì½èÍýµ¡Ç½¥é¥¤¥Ö¥é¥ê¤Ï¡¢ Linux/Unix 
+¤Î¾å¤Ç¤Î¿¸À¸ìÂбþ¥½¥Õ¥È¥¦¥§¥¢¤Î³«È¯¤òÍưפˤ¹¤ë¤³¤È¤òÌÜɸ¤È¤·¤Æ¤¤¤ë¡£
+¤Ä¤Þ¤ê¡¢¤³¤Î¥é¥¤¥Ö¥é¥ê¤¬¥¿¡¼¥²¥Ã¥È¤È¤¹¤ëÍøÍѼԤϠLinux/Unix ¾å¤Î¥½¥Õ¥È
+¥¦¥§¥¢³«È¯¼Ô¤Ç¤¢¤ë¡£¤½¤³¤Ç³°Éô¤Î¿¸À¸ìʸ½ñ¾ðÊó½èÍý´ØÏ¢¥½¥Õ¥È¥¦¥§¥¢Åù¤Î
+³«È¯¼Ô¤Ë¤è¤ë¥ì¥Ó¥å¡¼¤ò¼õ¤±¤ë¤³¤È¤È¤·¤¿¡£
+
+¤Þ¤¿¡¢ËÜǯÅ٤γ«È¯ÆâÍƤϠAPI ¤ÎÀ߷פǤ¢¤ë¤¿¤á¡¢¼ÂºÝ¤Î¥é¥¤¥Ö¥é¥ê¤ò»îÍÑ
+¤·¤Æ¥ì¥Ó¥å¡¼¤·¤Æ¤â¤é¤¦¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£¤½¤³¤ÇAPI¤Î»ÅÍͤ˴ؤ¹¤ë¥É¥­¥å¥á
+¥ó¥È¡ÊËܳ«È¯Êó¹ð½ñ¤Î£±¾Ï¤«¤é£¶¾ÏÁêÅöÉôʬ¤Î£²£°£°£²Ç¯£±·îËö»þÅÀ¤Ç¤ÎÈÇ¡Ë
+¤òÁ÷ÉÕ¤·¡¢¤½¤ì¤Ë¤Ä¤¤¤Æɾ²Á¤ò°ÍÍꤷ¤¿¡£
+
+\subsection{ɾ²Á´ð½à¤Ê¤é¤Ó¤ËÊýË¡}
+
+ɾ²Á¼Ô¤Ï°Ê²¼¤Î£´Ì¾¤Ç¤¢¤ë¡£
+\begin{itemize}
+\item Èõ±º ½¨¼ù (Chair, Li18nux/Linux Internationalization Initiative, Free Standards Group
+                Architect/Sr. Staff Engineer, Sun Microsystems, Inc, USA)
+\item Ëö×¢ ÍÛ°ì (li18nux system architecture subgroup leader, Li18nux//Linux
+Internationalization Initiative, ¥³¥ó¥Ñ¥Ã¥¯¥³¥ó¥Ô¥å¡¼¥¿³ô¼°²ñ¼Ò/¥½¥Õ¥È¥¦¥§¥¢À½Éʳ«È¯Éô)
+\item ¾ÂÅÄ Íøŵ  (li18nux2000 Specification Editor, Li18nux/Linux
+Internationalization Initiative, ÉÙ»ÎÄÌ(³ô) ¥½¥Õ¥È¥¦¥§¥¢»ö¶ÈËÜÉô ¥×¥í¥¸¥§¥¯¥ÈA-XML XML ±þÍѵ»½ÑÉô)
+\item ¼é²¬ ÃÎɧ (CHISE (Character Information Service Environment) ¥×
+¥í¥¸¥§¥¯¥È¥ê¡¼¥À, µþÅÔÂç³Ø¿Íʸ²Ê³Ø¸¦µæ½êÉí°´Á»ú¾ðÊ󸦵楻¥ó¥¿¡¼)
+\end{itemize}
+
+ɾ²Á¤ËÅö¤¿¤Ã¤Æ¤Ï¡¢°Ê²¼¤Î¹àÌܤˤĤ¤¤Æ£±¡Á£µ¤Î£µÃʳ¬É¾²Á ¡Ê1: °­¤¤ 2: ¤ä
+¤ä°­¤¤ 3: ÉáÄÌ 4: ¤ä¤äÎɤ¤ 5: Îɤ¤¡Ë¤ª¤è¤Ó¥³¥á¥ó¥È¤ò°ÍÍꤷ¤¿¡£
+
+\begin{description}
+
+\item[¿·µ¬À­] \
+
+   Â¾¤Î¿¸À¸ì½èÍýµ»½Ñ¤ÈÈæ¤Ù¤Æ¤É¤ÎÄøÅ٤Υì¥Ù¥ë¤Ë¤¢¤ë¤«?
+
+\item[Í­ÍÑÀ­] \
+
+  ¤³¤Î¥é¥¤¥Ö¥é¥ê¤¬Â¿¸À¸ì½èÍý¤ò¹Ô¤¦¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤È¤Ã¤ÆÌò¤ËΩ¤Ä¤«¡©
+
+\item[ɸ½à²½¤Î²ÄǽÀ­] \
+
+  ¾­Íè¤Ë¤ª¤¤¤Æ¹ñºÝɸ½à¤Ë¤Ê¤ì¤ë²ÄǽÀ­¤Ï¡©
+
+\item[ÂÅÅöÀ­] \
+
+  Â¿¸À¸ì½èÍý¤ò¼Â¸½¤¹¤ë¤È¤¤¤¦ÌÜŪ¤ËÂФ·¤Æ¡¢Ëܥ饤¥Ö¥é¥ê¤Î¼êË¡¤ÏÂÅÅö¤Ç¤¢¤ë¤«¡©
+
+\item[¥É¥­¥å¥á¥ó¥È¤Î¼Á] \
+
+\item[·Ñ³¤ÎɬÍ×À­] \
+
+  ¡Ê·Ñ³¤¬·è¤Þ¤ì¤Ð¡¢ÍèǯÅٰʹߡ¢GNOME (GNU Network Object Model
+    Environment) ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¿¸À¸ì²½¤Î¤¿¤á¤Ë GTK ¤ËËܥ饤¥Ö¥é¥ê
+    ¤òÅý¹ç¤¹¤ë¤¿¤á¤Î¸¦µæ¤ò¼Â»Ü¤¹¤ëͽÄê¤Ç¤¹¡£¡Ë
+\end{description}
+
+
+\subsection{ɾ²Á¤ÎÆâÍÆ}
+
+\begin{tabular}{|l|c|c|c|c|c|c|}
+\hline
+ɾ²Á¼Ô&  ¿·µ¬À­ & Í­ÍÑÀ­ & É¸½à²½¤Î²ÄǽÀ­ & ÂÅÅöÀ­ & ¥É¥­¥å¥á¥ó¥È¤Î¼Á & ·Ñ³¤ÎɬÍ×À­ \\
+\hline
+Ëö×¢ ÍÛ°ì &  5 & 4 & 2 & 3 & 3 & 5 \\
+\hline
+¼é²¬ ÃÎɧ & 3 & 3 & 1 & 3 & 2 & 4 \\
+\hline
+Èõ±º ½¨¼ù & 3 & 5(2/3) & 1(4) & 4 & 3 & (5)\footnotemark\\
+\hline
+¾ÂÅÄ Íøŵ & 3 & 5 & 2 & 4 & 2 & 5\\
+\hline
+\end{tabular}
+
+\footnotetext{ɾ²Á·ë²Ì¤ËÅÀ¿ô¤¬Æþ¤Ã¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢¥³¥á¥ó¥È¤Î
+¡Ö¤¼¤Ò·Ñ³¤·¤Æ¤¯¤À¤µ¤¤¡×¤ò 5 ¤ò°ÕÌ£¤¹¤ë¤â¤Î¤È¼õ¤±¼è¤Ã¤¿¡£}
+
+\subsubsection{ɾ²Á¼Ô¡§Ëö×¢ ÍÛ°ì}
+
+\begin{tabular}{|c|c|c|c|c|c|}
+\hline
+¿·µ¬À­ & Í­ÍÑÀ­ & É¸½à²½¤Î²ÄǽÀ­ & ÂÅÅöÀ­ & ¥É¥­¥å¥á¥ó¥È¤Î¼Á & ·Ñ³¤ÎɬÍ×À­ \\
+\hline
+5 & 4 & 2 & 3 & 3 & 5 \\
+\hline
+\end{tabular}
+
+\ \\
+
+³Æ´ÑÅÀ¤Ë´Ø¤¹¤ë¥³¥á¥ó¥È
+\begin{description}
+\item[¿·µ¬À­]~\
+       Ê¸»ú¥³¡¼¥É¤òÃæ¿´¤È¤·¤¿Â¿¸À¸ì½èÍýµ»½Ñ¤ÎµÄÏÀ¤¬Â¿¤¤Ãæ¤Ç¡¤
+       ¿·¤¿¤ÊÂηϤòÃÛ¤³¤¦¤È¤¤¤¦¥¢¥×¥í¡¼¥Á¤Î¿·µ¬À­¤Ïɾ²Á¤Ç¤­¤ë¡£
+       ¤¿¤À¤·¡¤¤½¤ÎÍ¥°ÌÀ­¤¬½½Ê¬¤ËÀâÌÀ¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ï»ÄÇ°¤Ç¤¢¤ë¡£
+
+\item[Í­ÍÑÀ­]~\
+       ¹âÅ٤ʿ¸À¸ì½èÍý¤òÌܻؤ¹¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¤È¤Ã¤Æ¤Ï¡¤¼«Á°¤Ç
+       ÍÑ°Õ¤¹¤ëɬÍפ¬¤Ê¤¯¡¤Ìò¤ËΩ¤Ä¤È»×¤ï¤ì¤ë¡£³ÈÄ¥À­¤â¤¢¤ê¡¤
+       ±þÍÑÈϰϤϹ­¤¤¤È»×¤ï¤ì¤ë¡£
+
+\item[ɸ½à²½¤Î²ÄǽÀ­]~\
+       ¹ñºÝɸ½à¤Ë¤Ê¤ë¤¿¤á¤Ë¤Ï¡¤¤³¤Îµ»½Ñ¤¬°ìÉô¤ÎÆÃÄê¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç
+       ¤Î¤ß»È¤ï¤ì¤ëµ»½Ñ¤Ç¤Ï¤Ê¤¯¡¤¹­¤¯ÉáµÚ¤¹¤ëɬÍפ¬¤¢¤ëµ»½Ñ¤«¤É¤¦¤«¤¬
+       Ìä¤ï¤ì¤ë¤È»×¤ï¤ì¤ë¤¬¡¤¤½¤ÎÅÀ¤ÎÀâÆÀÎϤˤ«¤±¤ë¡£
+       ¤É¤Î¤è¤¦¤Ê»×ÁۤΤâ¤È¤ËÀ߷פµ¤ì¤Æ¤¤¤ë¤«¡¤¤½¤ì¤Ë¤è¤Ã¤Æ´û¸¤Î¤â¤Î¤Ç¤Ï
+       ¼Â¸½¤Ç¤­¤Ê¤¤¤É¤Î¤è¤¦¤Ê¤³¤È¤¬¤Ç¤­¤ë¤Î¤«¡¤¤½¤ì¤¬À¤¤ÎÃæ¤Ë
+       É¬Íפʤâ¤Î¤Ê¤Î¤«¡¤¤Ê¤É¤Î¹Í»¡¤¬½½Ê¬¤Ç¤Ê¤¤¤è¤¦¤Ë»×¤ï¤ì¤ë¡£
+
+\item[ÂÅÅöÀ­]~\
+       Â¿¸À¸ì½èÍý¤ò¼Â¸½¤¹¤ë¤È¤¤¤¦¡¤¤¿¤À¤½¤ì¤À¤±¤ÎÌÜŪ¤È¤·¤Æ¤Ï¤ª¤ª¤à¤Í
+       ÂÅÅö¤À¤È»×¤ï¤ì¤ë¡£¤¿¤À¡¤´û¸¤Î C ¸À¸ì API ¤ò¥Ù¡¼¥¹¤Ë¹Í¤¨¤é¤ì¤Æ¤¤¤ë
+       Éôʬ¤¬¤¢¤ë¤¬¡¤¥í¥±¡¼¥ë¤Î°·¤¤¤ä´Ø¿ô¤ÎÆ°ºî¤Ø¤Î±Æ¶Á¡¤¥Õ¥¡¥¤¥ëÆþ½ÐÎϤä
+       ¥Õ¥¡¥¤¥ëÆâ¤Ç¤Îʸ»ú¤Îɽ¸½¤¬¤É¤¦¤Ê¤Ã¤Æ¤¤¤ë¤Î¤«¤Ê¤É¤ÎÀâÌÀ¤¬ÉÔ½½Ê¬¡¤
+       °ìÈÌ¤Î¥×¥í¥°¥é¥Þ¸þ¤±¤Î»ÅÍͤȤ·¤Æ¤ÏÆñ¤·¤¹¤®¤Ê¤¤¤«¤Ê¤É¡¤
+       ¤¤¤¯¤Ä¤«µ¤¤Ë¤Ê¤ëÅÀ¤¬¤¢¤ë¡£
+
+\item[¥É¥­¥å¥á¥ó¥È¤Î¼Á]~\
+       API ¤Î»ÅÍͽñ¤È¤·¤Æ¤Ï¡¤¤è¤¤¤È»×¤¦¡£¤·¤«¤·¤Ê¤¬¤é¡¤
+       ¡Ö¿¸À¸ì¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡×¤È¤Ï²¿¤Ê¤Î¤«¡¤¡Ö¿¸À¸ì½èÍý¡×¤È¤Ï²¿¤Ê¤Î¤«¡¤
+       ¡Öʸ»ú¡×¤ò¤É¤Î¤è¤¦¤Ë¤È¤é¤¨¤Æ¤¤¤ë¤Î¤«¡¤¤Ê¤É¤Ê¤É¡¤
+       ¤ª¤½¤é¤¯À߷׼Ԥδ֤ǤÏƱ¤¸³µÇ°¤ò¶¦Í­¤Ç¤­¤Æ¤¤¤ë¤Î¤À¤í¤¦¤¬¡¤
+       Êó¹ð½ñ¤Î¥É¥­¥å¥á¥ó¥È¤À¤±¤«¤é¤Ï¡¤¤½¤ÎÌܻؤ·¤Æ¤¤¤ëÀ¤³¦¤¬
+       ¤è¤¯Íý²ò¤Ç¤­¤Ê¤«¤Ã¤¿¡£¤½¤Î¤¢¤¿¤ê¤Î³µÇ°¤ä¥×¥í¥°¥é¥ß¥ó¥°¥â¥Ç¥ë¤Ê¤É¤ò
+       À°Íý¤·¤Æ¤Þ¤È¤á¤¿¤â¤Î¤¬¤¢¤ë¤È¤è¤¤¤È»×¤¦¡£
+
+\item[·Ñ³¤ÎɬÍ×À­]~\ 
+       Â¿¸À¸ì²½¤Ï¡¤º£¸åɬÍפʵ»½Ñ¤Ê¤Î¤Ç¡¤À§Èó¤È¤â¸¦µæ¤ò
+        ·Ñ³¤·¤Æ¤¤¤¿¤À¤­¤¿¤¤¡£º£¸å¿Ê¤á¤Æ¤¤¤¯¾å¤Ç¡¤´û¸µ»½Ñ¤Î±äŤǠ
+        Unicode ½èÍý¤Î API ¤òÈ÷¤¨¤¿ICU ¤È¤ÎÌÀ³Î¤Êº¹Ê̲½¤¬É¬ÍפÀ¤È¹Í¤¨
+        ¤ë¡£Ìܻؤ¹¤â¤Î¤¬°ã¤¦¤È¤¤¤¦¤³¤È¤Ç¤¢¤ì¤Ð¡¤¤½¤Î¶èÊ̤¬¤ï¤«¤ë¤è¤¦¤Ê
+        ÀâÌÀ¤¬É¬ÍפÀ¤È»×¤¦¡£
+
+\end{description}
+
+\subsubsection{ɾ²Á¼Ô¡§¼é²¬ ÃÎɧ}
+
+\begin{tabular}{|c|c|c|c|c|c|}
+\hline
+ ¿·µ¬À­ & Í­ÍÑÀ­ & É¸½à²½¤Î²ÄǽÀ­ & ÂÅÅöÀ­ & ¥É¥­¥å¥á¥ó¥È¤Î¼Á & ·Ñ³¤ÎɬÍ×À­ \\
+\hline
+ 3 & 3 & 1 & 3 & 2 & 4 \\
+\hline
+\end{tabular}
+
+\begin{description}
+\item[¿·µ¬À­]
+
+¿·µ¬¤ËÀ߷פ·¤¿³ä¤Ë¤ÏµìÍè¤Î¤â¤Î (Mule) ¤Ë°ø¤ï¤ì²á¤®¤Æ¤¤¤ë¤è¤¦¤Ë»×¤ï¤ì
+¡Ê¤Û¤È¤ó¤É Mule ¤½¤Î¤Þ¤Þ¤Ç¤¢¤ê¡¢Mule ¤Ç·Ð¸³¤·¤¿ÍøÊØÀ­¡¦ÌäÂêÅÀ¤ÎʬÀϤ¬
+½½Ê¬¤Ë¤Ê¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë»×¤ï¤ì¤Ê¤¤¡Ë¡¢API ¤ä¿¸À¸ì½èÍýµ»½Ñ¤È¤·¤Æ¤Î¿·µ¬
+À­¤ÎÅÀ¤Ç¤Ï¤¢¤Þ¤êɾ²Á¤Ç¤­¤Ê¤¤¡£
+
+\item[Í­ÍÑÀ­]
+
+¥·¥¹¥Æ¥à¤ÎŬ±þÈÏ°Ï¡¢¤ª¤è¤Ó¡¢Ê»ÍѤµ¤ì¤ë¤Ù¤­Â¾¤Î¥·¥¹¥Æ¥à¤È¤Îµ¡Ç½Ê¬Ã´¤¬ÉÔ
+ÌÀ³Î¤Ç¤¢¤ê¡¢°ì³µ¤Ë¤Ï¤¤¤¨¤Ê¤¤¡£Ãê¾Ý²½¤¬ÉÔ½½Ê¬¤Ê¤¤¤·¤ÏÃê¾Ý²½¤ÈÍøÊØÀ­¤¬¥¢
+¥ó¥Ð¥é¥ó¥¹¤ÊÅÀ¤¬¤¢¤ê¡¢Ê£»¨¤Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤òµ­½Ò¤¹¤ë¾å¤Ç¤Ï¤ä¤äÌäÂ꤬
+¤¢¤ë¤«¤â¤·¤ì¤Ê¤¤¡£¤Þ¤¿¡¢plain text ¤Ç½½Ê¬¤ÊÂоݤËÂФ·¤Æ¤Ï¥ª¡¼¥Ð¡¼¥¹¥Ú¥Ã
+¥¯¤Ç¤¢¤ë¤È»×¤ï¤ì¤ë¡£¥â¥¸¥å¡¼¥ë²½¡¦¥¹¥±¡¼¥é¥Ó¥ê¥Æ¥£¡¼¤ËÂФ¹¤ëÇÛθ¤â½½Ê¬
+¤Ç¤Ê¤¤¤è¤¦¤Ë»×¤ï¤ì¤ë¡£¤·¤«¤·¤Ê¤¬¤é¡¢XML parser ¤Ê¤É¤ÈÊ»ÍѤ·¤Æ¹½Â¤²½¥Æ
+¥­¥¹¥È¤ò½èÍý¤·¤¿¤ê¡¢Â¿¸À¸ìʸ»úÎó¤òÊÔ½¸²Äǽ¤Ê¤Þ¤Þɽ¼¨¤¹¤ë¤è¤¦¤Ê¥¢¥×¥ê¥±¡¼
+¥·¥ç¥ó¤ò¼Â¸½¤¹¤ë¾å¤Ç¤Ï°ìÄê¤ÎÍ­ÍÑÀ­¤¬Ç§¤á¤é¤ì¤ë¡£
+
+\item[ɸ½à²½¤Î²ÄǽÀ­]
+
+¥â¥Ç¥ë¡¦ÍѸìÅù¤¬·ë²ÌŪ¤ËÆȼ«¤Î¤â¤Î¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¹ñºÝɸ½à¤ä¥Ç¥Õ¥¡¥¯¥È¥¹
+¥¿¥ó¥À¡¼¥É¤È¤¢¤Þ¤êĴϤ·¤Æ¤¤¤Ê¤¤¤è¤¦¤Ë»×¤ï¤ì¤ë¡£¤½¤Î¤¿¤á¡¢¡ÊMule ¤ä
+Emacs ¤òÃΤé¤Ê¤¤¤â¤Î¤Ë¤È¤Ã¤Æ¤Ï¡Ë¤³¤Î¤Þ¤Þ¤Ç¤Ï¤ä¤äÍý²ò¤·¤Ë¤¯¤¤¤â¤Î¤Ë¤Ê¤Ã
+¤Æ¤¤¤ë¤È»×¤ï¤ì¤ë¡£¤³¤Îµ»½Ñ¤ÎŬ±þÈϰϤä¼çÍפÊÂоݡ¢¤ª¤è¤Ó¡¢¸½ºß¤Î¼ûÍפÈ
+¤Î´Ø·¸¤âÉÔÌÀ³Î¤Ç¤¢¤ë¡£
+
+\item[ÂÅÅöÀ­]
+
+¿¸À¸ì½èÍý¤ÎÆâ¡¢³Æ¼ïÉä¹æ²½¤Ë´Ø¤ï¤ëÉôʬ¤ä¥ì¥ó¥À¥ê¥ó¥°¤Ë´Ø¤¹¤ëÄã¥ì¥Ù¥ë¤Î
+½èÍý¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤è¤ë¾ðÊó¤Î´ÉÍý¤Ë´Ø¤·¤Æ¤ÏÂÅÅöÀ­¤¬¤¢¤ë¡£¤·¤«¤·¤Ê¤¬¤é¡¢
+¤³¤Î¤¢¤¿¤ê¤ÏºÇ¶áÃÊ¡¹¤ÈÀ°È÷¤µ¤ì¤Ä¤Ä¤¢¤ëʬÌî¤Ç¤¢¤ê¡¢Â¿¸À¸ì½èÍý¤Ë¤È¤Ã¤Æ·ç
+¤¯¤Ù¤«¤é¤¶¤ëÉôʬ¤Ç¤Ï¤¢¤ë¤â¤Î¤Î¤½¤Î°ìÉô¤Ë²á¤®¤Ê¤¤¡£¸½ºß¿¤¯»È¤ï¤ì¤ë¤è¤¦
+¤Ë¤Ê¤Ã¤¿ XML ¤Ê¤É¤Î¹½Â¤²½¥Æ¥­¥¹¥È¤ò°·¤¦¤¿¤á¤Î³¦Ì̤䡢¤³¤¦¤·¤¿¹½Â¤²½Ê¸
+½ñ¤ò²òÀÏ¡¦²Ã¹©¤¹¤ë¤¿¤á¤Î»Ù±ç¡Ê¤Ê¤¤¤·¤Ï¤½¤¦¤·¤¿¤³¤È¤òÌÜŪ¤È¤·¤¿¥â¥¸¥å¡¼
+¥ë¤È¤Î³¦ÌÌ¡Ë¡¢¤¢¤ë¤¤¤Ï¡¢¤³¤¦¤·¤¿¹½Â¤²½Ê¸½ñ¤ò¤¢¤ëÄøÅÙ¤ÎÉʼÁ¤Ç¿¸À¸ìÁÈÈÇ
+ɽ¼¨¤¹¤ë¤È¤¤¤Ã¤¿²ÝÂê¤ò²ò·è¤·¤Æ¤¤¤Ê¤¤¡¢¤Ê¤¤¤·¤Ï¡¢¤½¤ÎÊý¸þÀ­¤ò¼¨¤·¤Æ¤¤¤Ê
+¤¤¡£
+
+\item[¥É¥­¥å¥á¥ó¥È¤Î¼Á]
+
+¤³¤Î API ¤ÎÇطʤä¥â¥Ç¥ë¡¢Å¬ÍÑÈÏ°Ï¡¦ÂоÝÅù¤¬½½Ê¬¤Ë½Ò¤Ù¤é¤ì¤Æ¤¤¤Ê¤¤¡£¤³
+¤Î API ¤Î½ÅÍפʥݥ¤¥ó¥È¤Ï M-text ¤È»×¤ï¤ì¤ë¤¬¡¢¤½¤Î¤³¤È¤¬½½Ê¬¤Ë¶¯Ä´¤µ
+¤ì¤Æ¤¤¤Ê¤¤¤·¡¢¹½Â¤²½¥Æ¥­¥¹¥ÈÅù¤ò°·¤¦¾å¤Ç¤ÎÍ­ÍÑÀ­¤â¤¢¤Þ¤ê¥¢¥Ô¡¼¥ë¤µ¤ì¤Æ
+¤¤¤Ê¤¤¡£¤µ¤é¤Ë¤¤¤¨¤Ð¡¢M-text ¤ò¼ç´ã¤Ë¿ø¤¨¤ë¤Ê¤é¤Ð¿¸À¸ì½èÍý¤ò¤¹¤ë¾å¤Ç
+¤Î plain text ¤ÎÌäÂêÅÀ¡¦¸Â³¦¤Ê¤É¤â¼çÄ¥¤·¤Æ¤Ï¤É¤¦¤«¡©
+
+\item[·Ñ³¤ÎɬÍ×À­]
+
+¿·µ¬À­¤ä»ÅÍͤÎÅÀ¤Ç¤Ï´ö¤Ä¤«¤ÎÌäÂêÅÀ¤Ï¤¢¤ë¤â¤Î¤Î¡¢³«È¯¼Ô¤Î¼ÂÁõǽÎϤϹ⤤
+¤Î¤Ç¼ÂÁõ¤Ë¤Ï´üÂÔ¤·¤¿¤¤¡£
+
+\end{description}
+
+\subsubsection{ɾ²Á¼Ô¡§Èõ±º ½¨¼ù}
+
+\begin{tabular}{|c|c|c|c|c|c|}
+\hline
+¿·µ¬À­ & Í­ÍÑÀ­ & É¸½à²½¤Î²ÄǽÀ­ & ÂÅÅöÀ­ & ¥É¥­¥å¥á¥ó¥È¤Î¼Á & ·Ñ³¤ÎɬÍ×À­ \\
+\hline
+3 & 5(2/3) & 1(4) & 4 & 3 & (5)\\
+\hline
+\end{tabular}
+
+³Æ´ÑÅÀ¤Ë´Ø¤¹¤ë¥³¥á¥ó¥È
+\begin{description}
+\item[¿·µ¬À­]
+
+»ä¤¬¤Þ¤ÀÁ´ËƤòÇÄ°®¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç´ª°ã¤¤¤·¤Æ¤¤¤ë²ÄǽÀ­¤â¤¢¤ê¤Þ¤¹¤¬¡¢
+¤³¤ì¤«¤é API set ¤È¤·¤Æ³§¤¬ adapt ¤·¤Æ¤¤¤¯¿·µ¬À­¤¬¤¢¤ë¤Î¤«¤¬¤Þ¤À
+¤ï¤«¤ê¤Þ¤»¤ó¡£
+
+°ìÊý¡¢M17N ²½¤òÌܻؤ¹¿Í¸þ¤±¤Î¡¢¥Ñ¡¼¥Ä¼ÂÁõ½¸¤È¤·¤Æ¡¢mule ¤ÇÇݤä¿
+¼ÂÁõ¤òºÆÍøÍѤǤ­¤ëÉôÉʤˤ¹¤ë¤³¤È¤Ë¤Ï°ÕµÁ¤ò´¶¤¸¤Æ¤¤¤Þ¤¹¡£
+
+\item[Í­ÍÑÀ­]
+
+¥Ñ¡¼¥Ä¼ÂÁõ½¸¤È¤·¤Æ¡¢mule ¤ÇÇݤ俼ÂÁõ¤ò¡¢ºÆÍøÍѤǤ­¤ëÉôÉʤˤ¹¤ë
+¤³¤È¤ÏÌò¤Ë¤¿¤Ä¤È»×¤¤¤Þ¤¹¡£
+¤¿¤À¡¢application ¤òľÀܤΠconsumer ¤È¤¹¤ë¤Î¤«¡¢¤½¤ì¤È¤â toolkit
+¤Ê¤É¤òľÀܤΠconsumer ¤È¤¹¤ë¤Î¤«¡¢I18N framework ¼ÂÁõ¼Ô¤ò consumer ¤È
+¤¹¤ë¤Î¤«¤ÇÍ­¸úÀ­¤ÏÊѤï¤ë¤È»×¤¤¤Þ¤¹¡£
+
+application ¤òľÀܤΠconsumer ¤È¤¹¤ë¾ì¹ç:     2: ¤ä¤ä°­¤¤\\
+toolkit ¤Ê¤É¤òľÀܤΠconsumer ¤È¤¹¤ë¾ì¹ç:     3: ÉáÄÌ\\
+I18N framework ¼ÂÁõ¼Ô¤ò consumer ¤È¤¹¤ë¾ì¹ç¡§ 5: Îɤ¤\\
+
+
+\item[ɸ½à²½¤Î²ÄǽÀ­]
+
+¤³¤Î¥«¥Æ¥´¥ê¡¼¤Ï¡¢library ¤È¤·¤Æ¤Ç¤­¤è¤ê¤â¡¢À¯¼£Åª¡¦¥Þ¡¼¥±¥Ã¥ÈŪ¤Ê¦ÌÌ
+¤¬Â礭¤¤¤È»×¤¤¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢ API set ¤¬¤È¤·¤Æ¸«¤¿¾ì¹çm17nlib ¤¬¹ñ
+ºÝɸ½à¤Ë¤Ê¤ì¤ë²ÄǽÀ­¤Ï°­¤¤¤È¹Í¤¨¤Þ¤¹¡£Niche ¤Ê market ¤Ç¤ÏÇ®Îõ¤Ë¼õ¤±Æþ
+¤ì¤é¤ì¤ë¤È»×¤¤¤Þ¤¹¤¬¡£
+
+API set ¤È¤·¤Æ¤Ï¡¢Å°ÄìŪ¤Ê Unicode Æò½¤¬¡¢¤ª¤è¤Ó XML ½èÍý·Ï¤Î
+backend ¤È¤·¤Æ¤Î¿ÆÏÂÀ­¤¬¡¢º£¸åÀ¤³¦¤Ç˾¤Þ¤ì¤ëÊý¸þÀ­¤À¤È»×¤¤¤Þ¤¹¡£
+
+¤¿¤È¤¨¤Ð¡¢ICU ¤¬ STSF ¤È IIIMF ¡Ê¤¹¤Ù¤Æ UTF-16 ¥Ù¡¼¥¹¡Ë¤ò¼è¤ê¹þ¤ó¤Ç¡¢
+I/O(2D text)¤ò´Þ¤à¡¢Java I18N framework ¤¹¤Ù¤Æ¤Î C/C++ port ¤Ë¤Ê¤Ã¤¿
+¤È¤­¡¢Â¿¿ô¤òÀê¤á¤ë¤À¤í¤¦ Unicode API set ¤ò˾¤à¦¤Î¿Í¡¹¤¬¡¢m17nlib ¤Î
+Êý¤ò¹ñºÝɸ½à¤È¤·¤ÆÁª¤Ö¶¯¤¤Íýͳ¤¬É¬ÍפÀ¤È»×¤¤¤Þ¤¹¡£ 
+
+Open Source ¤Î¹ñºÝ²½´Ø·¸¤ÎÉôʬ¤Ç³èÆ°¤ò¤·¤Æ¤¤¤ëɸ½à²½ÃÄÂΤȤ¤¤¨¤Ð
+º£¤Ï Free Standards Group/Li18nux ¤Ë¤Ê¤ë¤È»×¤¤¤Þ¤¹¤¬
+¤½¤Î´ÑÅÀ¤«¤é¸«¤Æ¡¢É¸½à²½ track ¤Ë¾è¤»¤ë¤Î¤Ï in general ¤È¤Æ¤â¸±¤·¤¤¤Ç¤¹¡£
+
+UNIX ¤Ç¤Ï TOG, ¤µ¤é¤Ë International Standard ¤È¤Ê¤ë¤È ISO ¤Ë¤Ê¤ê
+¤Þ¤¹¤Þ¤¹¸±¤·¤¤¡£
+
+¡ÖÉáµÚ¤Î²ÄǽÀ­¡×¤Ê¤é   4: ¤ä¤äÎɤ¤
+
+
+\item[ÂÅÅöÀ­]
+
+·«¤êÊÖ¤·¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¢API set ¤È¤·¤Æ¼õ¤±Æþ¤ì¤é¤ì¤ë¤³¤È¤Ë½ÅÅÀ¤ò¤ª¤¯¤Î¤Ç
+¤Ï¤Ê¤¯¡¢mule ¤Ç°µÅݤ·¤¿¡Ö¤Ê¤ó¤È¸À¤Ã¤Æ¤â¤â¤¦Æ°¤¯¼ÂÁõ¤¬¤¢¤ë¤â¤ó¤Í¡×Êý¼°
+¤Î¤Û¤¦¤¬¡¢¤³¤ì¤«¤é¥¹¥¿¡¼¥È¤¹¤ë¥×¥í¥¸¥§¥¯¥È¤È¤·¤Æ¤Ï¤è¤êÍ­¸ú¤Ê¤Î¤Ç¤Ï¤Ê¤¤
+¤Ç¤·¤ç¤¦¤«¡©¡ÊÉôÉʲ½¤È¤¤¤¦¤³¤È¤Ç¤¹¡Ë
+
+\item[·Ñ³¤ÎɬÍ×À­]
+
+¤¼¤Ò·Ñ³¤·¤Æ¤¯¤À¤µ¤¤¡£
+
+m17n ¤È¤Ï architecture Åª¤Ë¤É¤¦¤¢¤ë¤Ù¤­¤«¡¢¿Í¡¹¤¬Ë¾¤ó¤Ç¤¤¤ë¤â¤Î¤È¤Î 
+conflict ¤ò¤É¤¦¤ª¤ê¤¢¤ï¤»¤Æ¤¤¤¯¤«¡¢API set ¤È¤·¤Æ¤Ê¤Ë¤ò¤É¤Î¥ì¥Ù¥ë¤Ç¤É
+¤¦Ãê¾Ý²½¤·¤Æ¸«¤»¤ë¤«¡¢Ê£»¨¤Ç°ì´ÓÀ­¤Î¤Ê¤¤²øʪ¤È²½¤·¤Æ¤¤¤¯ Unicode ¤ò¤É
+¤¦¤¢¤Ä¤«¤Ã¤Æ¤¤¤¯¤«¤Ê¤É¡¢ÍýÁۤȸ½¼Â¤Î¥Ð¥é¥ó¥¹¤ò¾¦¶ÈŪÀ®¸ù¤ËÇû¤é¤ì¤ë¿Í¡¹
+¤È¤ÏÆÈΩ¤·¤ÆÄɵᤷ¤Æ¤¤¤Ã¤Æ¤¤¤¿¤À¤±¤¿¤é¤È»×¤¤¤Þ¤¹¡£
+
+\end{description}
+
+\subsubsection{ɾ²Á¼Ô¡§¾ÂÅÄ Íøŵ}
+
+\begin{tabular}{|c|c|c|c|c|c|}
+\hline
+¿·µ¬À­ & Í­ÍÑÀ­ & É¸½à²½¤Î²ÄǽÀ­ & ÂÅÅöÀ­ & ¥É¥­¥å¥á¥ó¥È¤Î¼Á & ·Ñ³¤ÎɬÍ×À­ \\
+\hline
+3 & 5 & 2 & 4 & 2 & 5\\
+\hline
+\end{tabular}
+
+\begin{description}
+
+\item[¿·µ¬À­]
+
+¡¡»ä¼«¿È¡¤ºÇ¶á¤ÎÆ°¸þ¤ò¤½¤ì¤Û¤É¤è¤¯Ê¬¤«¤Ã¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¤
+¾¤ÈÈæ¤Ù¤Æ¿·µ¬¤«¤É¤¦¤«È½ÃǤǤ­¤Þ¤»¤ó¡¥
+
+\item[Í­ÍÑÀ­]
+
+¡¡Unicode ¤òÀ¸¤Î¤Þ¤Þ¸«¤»¤Æ¡¤¤½¤ì°Ê¾å¤Î½èÍý¤Ï¥×¥í¥°¥é¥Þ¤ËǤ¤»¤ë¥é¥¤¥Ö¥é
+¥ê¤ä¡¤Unicode ¤ò¼«Ê¬¤Ç¤¹¤Ù¤Æ²ò¼á¤·¤Æ½èÍý¤·¤¿¤ê¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤â¿
+¤¤¤è¤¦¤Ç¤¹¤¬¡¤Unicode ¤âÊ£»¨²½¤¹¤ë°ìÊý¤Ê¤Î¤Ç¡¤¤½¤ÎÊýË¡¤Ç¤ÏÇËþ¤¹¤ë¤³¤È
+¤ÏÌܤ˸«¤¨¤Æ¤¤¤Þ¤¹¡¥¤½¤¦¤¤¤¦°ÕÌ£¤Ç¡¤¤³¤Î¤è¤¦¤Ê¥é¥¤¥Ö¥é¥ê¤Î¸ºß¤ÏÍ­ÍѤÀ
+¤È»×¤¤¤Þ¤¹¡¥¤â¤Á¤í¤ó¡¤Unicode °Ê³°¤ÎÊý¸þÀ­¤òÌܻؤ¹¾ì¹ç¤Ë¤â¡¥
+
+\item[ɸ½à²½¤Î²ÄǽÀ­]
+
+¡¡Â¾¤Î»ÅÍͤˤ¯¤é¤Ù¤Æ¥¢¥Ô¡¼¥ë¤¹¤ëÅÀ¤¬¾¯¤Ê¤¤¤Î¤¬¤Ä¤é¤¤¤È¤³¤í¤Ç¤¹¡¥Æäˠ
+Unicode ¤ËÆò½¤·¤¿¤â¤Î¤ÈÈæ¤Ù¤Æ¡¤Unicode ¤â´Þ¤à¤±¤ì¤É¤â¤½¤ì¤À¤±¤Ç¤Ï¤Ê¤¤¡¤
+¤È¤¤¤¦¤È¤³¤í¤¬¡¤¹ñÆâ¤Ï¤È¤â¤«¤¯¹ñ³°¤Ë¤É¤¦¼õ¤±»ß¤á¤é¤ì¤ë¤«¡¥
+
+\item[ÂÅÅöÀ­]
+
+¡¡¥Æ¥­¥¹¥È¥Ç¡¼¥¿¤ò M-text ¤È¤·¤Æ²¾ÁÛ²½¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¤¤½¤ì¤Ç¤â 0¡Á
+10FFFFh ¤Ï Unicode ¤ÈƱ¤¸¡¤¤È¤Ê¤Ã¤Æ¤¤¤ë¤È¤³¤í¤¬µ¤¤Ë¤Ê¤ê¤Þ¤·¤¿¡¥¤½¤ì¤À
+¤È¡¤Unicode ¤È¤Î¿ÆÏÂÀ­¤Ï¹â¤¯¤Ê¤ë¤Î¤Ç¤¹¤¬¡¤°ìÊý¤Ç Unicode ¤Îºî¤ê¤Ë°ú¤­
+¤º¤é¤ì¤ë¤¬½Ð¤Æ¤¯¤ë¤Î¤Ç¤Ï¤Ê¤¤¤«¤È»×¤¤¤Þ¤¹¡¥(¡Öʸ»ú¡×¤ÎÄêµÁ¤È¤«¡¥)
+
+\item[¥É¥­¥å¥á¥ó¥È¤Î¼Á]
+
+¡¡Â¾¤Î¥³¥á¥ó¥È¤Ë¤â¤¢¤ë¤è¤¦¤Ë¡¤ÀâÌÀÉÔ­¤Ç¤¹¡¥
+
+¡¦À߷׾塤¤É¤¦¤¤¤¦Êý¿Ë¤ò¤È¤Ã¤¿¤«\\
+¡¦¤É¤Î¥ì¥Ù¥ë¤Î¥×¥í¥°¥é¥à¤«¤é¸Æ¤Ð¤ì¤ë¤³¤È¤òÁÛÄꤷ¤Æ¤¤¤ë¤«\\
+¡¦ICU ¤Ê¤É¡¤Â¾¤ÎÎà»÷¥é¥¤¥Ö¥é¥ê¤È¤Î´Ø·¸¤ò¤É¤¦¹Í¤¨¤Æ¤¤¤ë¤«\\
+¡¦´û¸¤Î¥í¥±¡¼¥ëµ¡¹½¤È¤Î´Ø·¸¤¬¤É¤¦¤Ê¤Ã¤Æ¤¤¤ë¤Î¤«\\
+
+¤Ê¤É¡¤¤¢¤È¤Ç¥á¡¼¥ë¤ÇÊä­¤µ¤ì¤¿Éôʬ¤¬½ñ¤«¤ì¤Æ¤¤¤ì¤Ð¤è¤«¤Ã¤¿¤È
+»×¤¤¤Þ¤¹¡¥
+
+\item[·Ñ³¤ÎɬÍ×À­]
+
+¡¡·Ñ³¤¹¤Ù¤­¤È¹Í¤¨¤Þ¤¹¡¥
+\end{description}
+
+
+\subsection{ɾ²Á¼Ô¤«¤é¤Î¥³¥á¥ó¥È¤Ë´Ø¤¹¤ë²óÅú¤Ê¤é¤Ó¤ËÂбþ}
+
+\begin{enumerate}
+\item  ¿·µ¬À­¤Ë¤Ä¤¤¤Æ
+\begin{itemize}
+\item º¹Ê̲½¤Î¥Ý¥¤¥ó¥È
+
+ɾ²Á¼Ô¤«¤é¤Î»ØŦ¤Ï¡¢Â¾¤Î¼êË¡¤ËÂФ¹¤ëÍ¥°ÌÀ­¤¬ÌÀ¤é¤«¤Ç¤Ê¤¤¤È¤¤¤¦ÅÀ¤Ë½¸Ìó
+¤Ç¤­¤ë¡£
+
+ɾ²Á¤ò°ÍÍꤷ¤¿ÈǤΥɥ­¥å¥á¥ó¥È¤¬ API ¤Î»ÅÍͤ˽ª»Ï¤·¡¢¥é¥¤¥Ö¥é¥ê¤È¤·¤Æ
+¤ÎÁ´ÈÌŪ¤ÊÀ­³Ê¡¢ÀïάÅù¤òÀâÌÀ¤·¤Æ¤¤¤Ê¤¤ÉÔ½½Ê¬¤Ê¤â¤Î¤Ç¤¢¤Ã¤¿¤¿¤á¡¢É¾²Á¼Ô
+¤¿¤Á¤ÎÍý²ò¤òÆÀ¤é¤ì¤Ê¤«¤Ã¤¿Éôʬ¤¬¤¢¤ë¡£¤¿¤È¤¨¤Ð¡¢Èõ±º»á¤ª¤è¤Ó¾ÂÅĻᤫ¤é
+ɾ²Á¤Ï¡¢¡ÖȽÃǤǤ­¤Ê¤¤¡×¤È¤¤¤¦Íýͳ¤Ç¡ÖÉáÄ̡פȤʤäƤ¤¤ë¡£
+
+°Ê²¼Ëܥ饤¥Ö¥é¥ê¤Î¥»¡¼¥ë¥¹¥Ý¥¤¥ó¥È¤Ë¤Ä¤¤¤Æ½Ò¤Ù¤ë¡£¡Ê¸½ºß¤ÎÈǤǤϡ¢¤³¤Î
+ÆâÍƤÏÂ裱¾Ï¤Ç¤âÀâÌÀ¤·¤Æ¤¤¤ë¤¬¡¢ºÆ·Ç¤¹¤ë¡£¡Ë
+
+¤³¤Î¥é¥¤¥Ö¥é¥ê¤Îµ»½Ñ¤Î¿·µ¬À­¤Ï¡¢Ê¸»ú¡¿Ê¸»ú¥³¡¼¥É¤ÎÎó¤È¤·¤Æ¥Æ¥­¥¹¥È¤ò°·
+¤¦¤Î¤Ç¤Ï¤Ê¤¯¡¢¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤È¤¤¤¦Êä­Ū¤Ê¾ðÊó¤ò´Þ¤á¤¿¹½Â¤ÂΤòÄêµÁ
+¤·¡¢¤¹¤Ù¤Æ¤Î´Ø¿ô¤¬¤½¤ì¤ò½èÍý¤Î´ðËÜñ°Ì¤È¤¹¤ë¤³¤È¤Ë¤¢¤ë¡£´û¸¤Îµ»½Ñ¤È¤Î
+º¹Ê̲½¤Ï¡¢¡Ö¥Æ¥­¥¹¥È¤Î¾ðÊó¤òÅý°ì¤·¤¿ÊýË¡¤Ç°·¤¦¡×¤È¤¤¤¦ÅÀ¤Ë½¸Ìó¤Ç¤­¤ë¡£
+
+¿¸À¸ì½èÍý¤Ë¸Â¤é¤º¡¢¥Æ¥­¥¹¥È½èÍý¤ò¹Ô¤Ê¤¦ºÝ¤Ë¤·¤Ð¤·¤Ð¤ª¤³¤ëÌäÂê¤Ï¡¢Ê¸»ú
+¤ÎÎ󡢤¢¤ë¤¤¤Ïʸ»ú¥³¡¼¥É¤ÎÎ󤬻ý¤Ä¾ðÊó¤À¤±¤Ç¤Ï¡¢É¬ÍפʽèÍý¤ò¼Â¹Ô¤¹¤ë¤¿
+¤á¤Ë¤ÏÉÔ½½Ê¬¤Ç¤¢¤ë¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£¼ÂºÝ¤Î¥Æ¥­¥¹¥È½èÍý¤Ë¤¢¤¿¤Ã¤Æ¤Ï¡¢¸À
+¸ì¾ðÊó¡¢¥¹¥¯¥ê¥×¥È¾ðÊó¡¢¥Õ¥©¥ó¥È¾ðÊó¡¢¥°¥ê¥Õ¾ðÊó¤Ê¤É¤¬É¬Íפˤʤë¾ì¹ç¤¬
+¤¢¤ë¡£¤½¤ì¤Ë¤â¤«¤«¤ï¤é¤º¡¢¤³¤ì¤é¤Î¾ðÊó¤Ïʸ»ú¥³¡¼¥É¤ÎÎó¤Ë¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Ê
+¤¤¡£¤³¤ÎÅÀ¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¤³¤ì¤Þ¤Ç¤Î¥½¥Õ¥È¥¦¥§¥¢¤Ç¤Ï¡¢Êä­Ū¤Ê¾ðÊó¤òľ
+ÀÜ°ú¿ô¤È¤·¤ÆÍ¿¤¨¤¿¤ê¡¢Êä­Ū¤Ê¾ðÊó¤â´Þ¤á¤Æ¥Æ¥­¥¹¥È¤òɽ¸½¤¹¤ë¹½Â¤ÂΤòÆÈ
+¼«¤ËÄêµÁ¤·¤Æ¡¢¤½¤ì¤ò°ú¿ô¤È¤·¤Æ»ý¤Á²ó¤·¤¿¤ê¤·¤Æ¤¤¤ë¡£
+
+M-text ¤Ç¤Ï¡¢Êä­Ū¤Ê¾ðÊó¤Ï¤ò¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤È¤¤¤¦Åý°ìŪ¤ÊÏÈÁȤߤò
+ÍѤ¤¤Æɽ¤ï¤µ¤ì¤ë¡£¤³¤Î¤¿¤á¡¢Ê¸»ú¥³¡¼¥É¤À¤±¤Ç¤Ê¤¯Êä­¾ðÊó¤â¡¢Ê£¿ô¤Î¥½¥Õ
+¥È¥¦¥§¥¢¤ä¥ë¡¼¥Æ¥£¥ó¤Î´Ö¤Ç¶¦Í­¤Ç¤­¤ë¡£¤³¤Î»ÅÁȤߤϤµ¤é¤Ë¡¢´Ø¿ô¤Ë¾ðÊó¤ò
+ÅϤ¹¤¿¤á¤À¤±¤Ç¤Ï¤Ê¤¯¡¢´Ø¿ô¤«¤é¾ðÊó¤ò¼õ¤±¼è¤ë¤¿¤á¤Ë¤â»ÈÍѤǤ­¤ë¡£¤Þ¤¿¡¢
+Ê£¿ô¤Î¥Æ¥­¥¹¥È¤ò¤Ä¤Ê¤²¤¿¤ê¡¢Éôʬ¥Æ¥­¥¹¥È¤ò¤È¤ê¤À¤·¤¿¤ê¤È¤¤¤¤¤¿ÊÔ½¸¤ò¹Ô
+¤Ê¤Ã¤Æ¤â¡¢¸µ¤Î¥Æ¥­¥¹¥È¤ËÉղ䵤ì¤Æ¤¤¤¿¾ðÊó¤ÏÊݸ¤µ¤ì¤ë¡£´Ø¿ô A, B, C,
+D ¤ò½ç¼¡¸Æ¤Ó½Ð¤·¤Æ¥Æ¥­¥¹¥È¤ò²Ã¹©¤µ¤»¤ë¤è¤¦¤Ê¾ì¹ç¤Ë¤â¡¢ÅÓÃæ¤Î´Ø¿ô B, C 
+¤Ë¥Æ¥­¥¹¥È¤Ë´Ø¤¹¤ëÊä­Ū¤Ê¾ðÊó¤ò°ú¿ô¤È¤·¤ÆÍ¿¤¨¤¿¤ê¤¹¤ëɬÍפϤʤ¯¡¢¥Æ¥­
+¥¹¥È¥×¥í¥Ñ¥Æ¥£ÉÕ¤­¤Î¥Æ¥­¥¹¥È¤À¤±¤òÅϤ·¤Æ¡¢A ¤«¤é D ¤Þ¤Ç¤Î½èÍý¤ò¹Ô¤Ê¤¦
+¤³¤È¤¬²Äǽ¤È¤Ê¤ë¡£
+
+¤³¤Î¤è¤¦¤Ë¥Æ¥­¥¹¥È½èÍý¤Î´ðËÜñ°Ì¤È¤·¤Æ¡¢¤³¤ì¤Þ¤Ç¡ÖÊä­Ū¡×¤È¤µ¤ì¤Æ¤¤¤¿
+¾ðÊó¤âÅý°ìŪ¤Ë´Þ¤à M-text ¤òÍѤ¤¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢Â¿¸À¸ìÂбþ¥½¥Õ¥È¥¦¥§¥¢
+¤Î³«È¯¤¬Íưפˤʤ뤳¤È¤¬´üÂԤǤ­¤ë¡£¤½¤·¤Æ¤½¤Î·ë²Ì¤È¤·¤Æ¡¢¥Æ¥­¥¹¥È¤Î¾ð
+Êó¤ò¿¤¯¤Î¥½¥Õ¥È¥¦¥§¥¢¤¬Æ±¤¸ÊýË¡¤Ç°·¤¦¤³¤È¤Ë¤è¤Ã¤Æ¡¢Â¿¸À¸ì²½¤òɬÍפȤ·
+¤Ê¤¤¤â¤Î¤ò´Þ¤á¥Æ¥­¥¹¥È¤ò½èÍý¤¹¤ë¥½¥Õ¥È¥¦¥§¥¢¤¹¤Ù¤Æ¤Ëž´¹¤ò¤â¤¿¤é¤¹¡£
+
+\item ²¿¤ËÂФ¹¤ë¿·µ¬À­¤«
+
+\begin{quote}
+¡Ö¿·µ¬¤ËÀ߷פ·¤¿³ä¤Ë¤ÏµìÍè¤Î¤â¤Î (Mule) ¤Ë°ø¤ï¤ì²á¤®¤Æ¤¤¤ë¤è¤¦¤Ë»×¤ï¤ì
+¡Ê¤Û¤È¤ó¤É Mule ¤½¤Î¤Þ¤Þ¤Ç¤¢¤ê¡¢Mule ¤Ç·Ð¸³¤·¤¿ÍøÊØÀ­¡¦ÌäÂêÅÀ¤ÎʬÀϤ¬
+½½Ê¬¤Ë¤Ê¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë»×¤ï¤ì¤Ê¤¤¡Ë¡¢API ¤ä¿¸À¸ì½èÍýµ»½Ñ¤È¤·¤Æ¤Î¿·µ¬
+À­¤ÎÅÀ¤Ç¤Ï¤¢¤Þ¤êɾ²Á¤Ç¤­¤Ê¤¤¡£¡×¡Ê¼é²¬¡Ë
+\end{quote}
+
+Ëܥ饤¥Ö¥é¥ê¤Ï¡¢Ëܳ«È¯½¾»ö¼Ô¤¬¤³¤ì¤Þ¤Ç¤Ë Mule ¤È¤¤¤¦¥¨¥Ç¥£¥¿¤ËÆò½¤·¤Æ
+ÃßÀѤ·¤Æ¤­¤¿µ»½Ñ¤ò¡¢ C ¤Î¥é¥¤¥Ö¥é¥ê¤È¤·¤ÆÀ°Íý¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£¤·¤¿¤¬¤Ã
+¤Æ²áµî¤Î Mule ¤ÈÈæ¤Ù¤Æ¤Î¿·µ¬À­¤Ç¤Ï¤Ê¤¯¡¢Â¾¤Î C ¥é¥¤¥Ö¥é¥ê¤ÈÈæ¤Ù¤Æ¤Î¿·
+µ¬À­¤ò¼çÄ¥¤¹¤ë¡£
+
+\end{itemize}
+
+\item  Í­ÍÑÀ­¤Ë¤Ä¤¤¤Æ
+
+ɾ²Á¼Ô¤«¤é¤Îµ¿Ìä¤Ï¡¢¥é¥¤¥Ö¥é¥êÍøÍѼԤȤ·¤ÆÁÛÄꤷ¤Æ¤¤¤ëÁؤ¬ÌÀ¤é¤«¤Ç¤Ê¤¤
+¤È¤¤¤¦ÅÀ¤Ç¤¢¤ë¡£
+
+\begin{quote}
+ ¡Ö¤¿¤À¡¢application ¤òľÀܤΠconsumer ¤È¤¹¤ë¤Î¤«¡¢¤½¤ì¤È¤â toolkit
+ ¤Ê¤É¤òľÀܤΠconsumer ¤È¤¹¤ë¤Î¤«¡¢I18N framework ¼ÂÁõ¼Ô¤ò consumer ¤È
+ ¤¹¤ë¤Î¤«¤ÇÍ­¸úÀ­¤ÏÊѤï¤ë¤È»×¤¤¤Þ¤¹¡£¡×¡ÊÈõ±º¡Ë\\
+¡Ö¥·¥¹¥Æ¥à¤ÎŬ±þÈÏ°Ï¡¢¤ª¤è¤Ó¡¢Ê»ÍѤµ¤ì¤ë¤Ù¤­Â¾¤Î¥·¥¹¥Æ¥à¤È¤Îµ¡Ç½Ê¬Ã´¤¬ÉÔ
+ÌÀ³Î¤Ç¤¢¤ê¡¢°ì³µ¤Ë¤Ï¤¤¤¨¤Ê¤¤¡£¡×¡Ê¼é²¬¡Ë
+\end{quote}
+
+Ëܥ饤¥Ö¥é¥ê¤Ç¤Ï¡¢toolkit ¤È I18N framework ¡Ê¡á¹ñºÝ²½¥Õ¥ì¡¼¥à¥ï¡¼¥¯¡Ë
+¤È¤Î¶¶ÅϤ·¤ò¼ç¤ÊÌÜŪ¤È¤¹¤ë¡£¤½¤Î¤¿¤á¤Ë¡¢toolkit ¤È I18N framework ¼ÂÁõ
+¼Ô¤Îξ¼Ô¤òÍøÍѼԤȤ·¤ÆÁÛÄꤹ¤ë¡£
+
+\item É¸½à²½¤Î²ÄǽÀ­¤Ë¤Ä¤¤¤Æ
+
+ɾ²Á¹àÌܤÎÀâÌÀ¤¬Û£Ëæ¤Ç¤¢¤Ã¤¿¤¿¤á¡¢ÍèǯÅٰʹߤθ¦µæ³«È¯·×²è¤Ç¤¢¤ë¡ÖGTK 
+¤È¤ÎÅý¹ç¡×¤È¤·¤Æ¤Î¹ñºÝɸ½à¤È¤Ê¤ë²ÄǽÀ­¤Ç¤Ï¤Ê¤¯¡¢°ìÈÌŪ¤ÊñÆȤΠAPI ¤È
+¤·¤Æ¤Î¹ñºÝɸ½àµ¬³Ê¤È¤Ê¤ë²ÄǽÀ­¤Îɾ²Á¤È¤Ê¤Ã¤¿¡£·ë²Ì¤È¤·¤Æ¡¢Ëܳ«È¯¤Îɾ²Á
+¹àÌܤȤ·¤Æ¤Ï¡¢Å¬ÀڤǤʤ¤¤â¤Î¤È¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¡£
+
+\begin{itemize}
+\item ¥Þ¡¼¥±¥Ã¥È¤ÎÀßÄê
+
+ \begin{quote}
+ ¡ÖAPI set ¤È¤·¤Æ¤Ï¡¢Å°ÄìŪ¤Ê Unicode Æò½¤¬¡¢¤ª¤è¤Ó XML ½èÍý·Ï¤Î 
+ backend ¤È¤·¤Æ¤Î¿ÆÏÂÀ­¤¬¡¢º£¸åÀ¤³¦¤Ç˾¤Þ¤ì¤ëÊý¸þÀ­¤À¤È»×¤¤¤Þ¤¹¡£¡×¡ÊÈõ±º¡Ë
+ \end{quote}
+
+Ëܥ饤¥Ö¥é¥ê¤ÏÍøÍѼԤȤ·¤Æ¥é¥¤¥Ö¥é¥êºîÀ®¼Ô¤òÁÛÄꤷ¤Æ¤¤¤ë¤¿¤á¡¢Unicode 
+¤ËÅöÁ³Âбþ¤Ï¤·¤Æ¤â¡¢Æò½¤¹¤ë¤³¤È¤Ï¤¢¤Þ¤êɬÍפǤʤ¤¤È»×¤ï¤ì¤ë¡£¤Þ¤¿ XML 
+½èÍý·Ï¤Î¥Ð¥Ã¥¯¥¨¥ó¥É¤È¤·¤Æ¤Î¿ÆÏÂÀ­¤Ï¸åǯÅ٤γ«È¯¤Ç¼Â¸½¤¹¤ëͽÄê¤Ç¤¢¤ë¡£
+
+\item Unicode Âбþ¤ª¤è¤Ó ICU ¤È¤Î´Ø·¸
+
+\begin{quote}
+¡ÖICU\footnote{(Ãí¡§International Components for Unicode
+(http://oss.software.ibm.com/icu/)¡Ë} ¤¬ STSF \footnote{¡ÊÃí¡§Standard
+Type Services Framework (http://sourceforge.net/projects/stsf/)¡Ë} ¤È 
+IIIMF \footnote{¡ÊÃí¡§Internet/Intranet Input Method Framework
+(http://www.li18nux.net/subgroups/im/IIIMF/index.html)¡Ë} ¡Ê¤¹¤Ù¤Æ 
+UTF-16 ¥Ù¡¼¥¹¡Ë¤ò¼è¤ê¹þ¤ó¤Ç¡¢I/O(2D text)¤ò´Þ¤à¡¢Java I18N framework 
+¤¹¤Ù¤Æ¤Î C/C++ port ¤Ë¤Ê¤Ã¤¿¤È¤­¡¢Â¿¿ô¤òÀê¤á¤ë¤À¤í¤¦ Unicode API set 
+¤ò˾¤à¦¤Î¿Í¡¹¤¬¡¢m17nlib ¤ÎÊý¤ò¹ñºÝɸ½à¤È¤·¤ÆÁª¤Ö¶¯¤¤Íýͳ¤¬É¬ÍפÀ¤È»×
+¤¤¤Þ¤¹¡£ ¡×¡ÊÈõ±º¡Ë
+\end{quote}
+
+ICU ¤òº¹Ê̲½¤ò¤Ï¤«¤ëÂоݤǤϤʤ¯¡¢m17n-lib ¤ò¤è¤ê¹âµ¡Ç½¤Ê¤â¤Î¤Ë¤¹¤ë¤¿
+¤á¤Î¥µ¥Ý¡¼¥È¥é¥¤¥Ö¥é¥ê¤Èª¤¨¡¢ÍøÍѤǤ­¤ë¤È¤³¤í¤Ç¤Ï ICU ¤òÍøÍѤ·¤Æ 
+m17n-lib ¤ò¼ÂÁõ¤¹¤ëͽÄê¤Ç¤¢¤ë¡£ÆäˠUnicode ½èÍý¤Î¤¦¤Á¡¢Àµµ¬²½¤ä¾È¹ç¤Ê
+¤É¤Î¤è¤¦¤Ë¸½ºß¼ê¤òÃ失¤Æ¤¤¤Ê¤¤º¤Æñ¤ÊÉôʬ¤Ë¤Ä¤¤¤Æ¤Ï¡¢´û¸¤Î¥é¥¤¥Ö¥é¥ê¤ò
+ÍѤ¤¤ëÊý¿Ë¤Ç¤¢¤ë¡£
+
+\item ÍѸìÅù
+
+\begin{quote}
+¡Ö¥â¥Ç¥ë¡¦ÍѸìÅù¤¬·ë²ÌŪ¤ËÆȼ«¤Î¤â¤Î¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢¹ñºÝɸ½à¤ä¥Ç¥Õ¥¡¥¯¥È¥¹
+¥¿¥ó¥À¡¼¥É¤È¤¢¤Þ¤êĴϤ·¤Æ¤¤¤Ê¤¤¤è¤¦¤Ë»×¤ï¤ì¤ë¡£¤½¤Î¤¿¤á¡¢¡ÊMule ¤ä
+Emacs ¤òÃΤé¤Ê¤¤¤â¤Î¤Ë¤È¤Ã¤Æ¤Ï¡Ë¤³¤Î¤Þ¤Þ¤Ç¤Ï¤ä¤äÍý²ò¤·¤Ë¤¯¤¤¤â¤Î¤Ë¤Ê¤Ã
+¤Æ¤¤¤ë¤È»×¤ï¤ì¤ë¡£¤³¤Îµ»½Ñ¤ÎŬ±þÈϰϤä¼çÍפÊÂоݡ¢¤ª¤è¤Ó¡¢¸½ºß¤Î¼ûÍפÈ
+¤Î´Ø·¸¤âÉÔÌÀ³Î¤Ç¤¢¤ë¡£¡×¡Ê¼é²¬¡Ë
+\end{quote}
+
+¥É¥­¥å¥á¥ó¥ÈÆâ¤ÎÉÔŬÀÚ¤ÊÍѸì¤Ï½¤Àµ¤·¡¢ÂоÝÅù¤Ë¤Ä¤¤¤ÆÀâÌÀ¤ò²Ã¤¨¤¿¡£
+
+\end{itemize}
+
+\item ÂÅÅöÀ­¤Ë¤Ä¤¤¤Æ
+
+\begin{quote}
+¡Ö¤¿¤À¡¤´û¸¤Î C ¸À¸ì API ¤ò¥Ù¡¼¥¹¤Ë¹Í¤¨¤é¤ì¤Æ¤¤¤ëÉôʬ¤¬¤¢¤ë¤¬¡¤¥í¥±¡¼
+¥ë¤Î°·¤¤¤ä´Ø¿ô¤ÎÆ°ºî¤Ø¤Î±Æ¶Á¡¤¥Õ¥¡¥¤¥ëÆþ½ÐÎϤä¥Õ¥¡¥¤¥ëÆâ¤Ç¤Îʸ»ú¤Îɽ¸½
+¤¬¤É¤¦¤Ê¤Ã¤Æ¤¤¤ë¤Î¤«¤Ê¤É¤ÎÀâÌÀ¤¬ÉÔ½½Ê¬¡¤°ìÈÌ¤Î¥×¥í¥°¥é¥Þ¸þ¤±¤Î»ÅÍͤȤ·
+¤Æ¤ÏÆñ¤·¤¹¤®¤Ê¤¤¤«¤Ê¤É¡¤¤¤¤¯¤Ä¤«µ¤¤Ë¤Ê¤ëÅÀ¤¬¤¢¤ë¡£¡×¡ÊËö×¢¡Ë
+\end{quote}
+
+¥é¥¤¥Ö¥é¥ê¤¬ÁÛÄꤹ¤ëÍøÍѼÔÁؤ˴ؤ·¤Æµ­½Ò¤¹¤ë¤Ê¤É¡¢ÀâÌÀ¤ò²Ã¤¨¤¿¡£
+
+\begin{quote}
+¡Ö·«¤êÊÖ¤·¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¢API set ¤È¤·¤Æ¼õ¤±Æþ¤ì¤é¤ì¤ë¤³¤È¤Ë½ÅÅÀ¤ò¤ª¤¯¤Î
+¤Ç¤Ï¤Ê¤¯¡¢mule ¤Ç°µÅݤ·¤¿¡Ö¤Ê¤ó¤È¸À¤Ã¤Æ¤â¤â¤¦Æ°¤¯¼ÂÁõ¤¬¤¢¤ë¤â¤ó¤Í¡×Êý
+¼°¤Î¤Û¤¦¤¬¡¢¤³¤ì¤«¤é¥¹¥¿¡¼¥È¤¹¤ë¥×¥í¥¸¥§¥¯¥È¤È¤·¤Æ¤Ï¤è¤êÍ­¸ú¤Ê¤Î¤Ç¤Ï¤Ê
+¤¤¤Ç¤·¤ç¤¦¤«¡©¡ÊÉôÉʲ½¤È¤¤¤¦¤³¤È¤Ç¤¹¡Ë¡×¡ÊÈõ±º¡Ë
+\end{quote}
+
+¿·µ¬À­¤Î¹à¤ÇÀâÌÀ¤·¤¿¡Ö¥Æ¥­¥¹¥È¤Î¾ðÊó¤òÅý°ì¤·¤¿ÊýË¡¤Ç°·¤¦¡×¤È¤¤¤¦Í¥°ÌÀ­
+¤ò¶¯¤¯¼çÄ¥¤·¤Æ¤¤¤¯Í½Äê¤Ç¤¢¤ë¡£¡Ö¼ÂºÝ¤ËÆ°¤¯¼ÂÁõ¡×¤Î¼Â¸½¤ÏÍèǯÅٰʹߤγ«
+ȯ·×²è¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
+
+\begin{quote}
+¡Ö¸½ºß¿¤¯»È¤ï¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿ XML ¤Ê¤É¤Î¹½Â¤²½¥Æ¥­¥¹¥È¤ò°·¤¦¤¿¤á¤Î³¦ÌÌ
+¤ä¡¢¤³¤¦¤·¤¿¹½Â¤²½Ê¸½ñ¤ò²òÀÏ¡¦²Ã¹©¤¹¤ë¤¿¤á¤Î»Ù±ç¡Ê¤Ê¤¤¤·¤Ï¤½¤¦¤·¤¿¤³¤È
+¤òÌÜŪ¤È¤·¤¿¥â¥¸¥å¡¼¥ë¤È¤Î³¦ÌÌ¡Ë¡¢¤¢¤ë¤¤¤Ï¡¢¤³¤¦¤·¤¿¹½Â¤²½Ê¸½ñ¤ò¤¢¤ëÄø
+ÅÙ¤ÎÉʼÁ¤Ç¿¸À¸ìÁÈÈÇɽ¼¨¤¹¤ë¤È¤¤¤Ã¤¿²ÝÂê¤ò²ò·è¤·¤Æ¤¤¤Ê¤¤¡¢¤Ê¤¤¤·¤Ï¡¢¤½
+¤ÎÊý¸þÀ­¤ò¼¨¤·¤Æ¤¤¤Ê¤¤¡£¡×¡Ê¼é²¬¡Ë
+\end{quote}
+
+¹½Â¤²½Ê¸½ñ¤ËÂбþ¤¹¤ë M-text ¤Ï¡¢¤â¤È¤Î¹½Â¤¤ò¤½¤Î¤Þ¤Þ¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£
+¤È¤·¤ÆÊÝ»ý¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ê¡¢¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤Ï¤Þ¤µ¤Ë¤³¤¦¤¤¤¦¾ìÌÌ
+¤Ë¤âÍ­¸ú¤Ê»Ù±ç¤Ç¤¢¤ë¡£
+
+\item ¥É¥­¥å¥á¥ó¥È¤Î¼Á
+
+¿·µ¬À­¤Î¹à¤Ç¤â½Ò¤Ù¤¿¤è¤¦¤Ë¡¢É¾²Á¤ò°ÍÍꤷ¤¿ÈǤΥɥ­¥å¥á¥ó¥È¤¬ API ¤Î»Å
+Íͤ˽ª»Ï¤·¡¢¥é¥¤¥Ö¥é¥ê¤È¤·¤Æ¤ÎÁ´ÈÌŪ¤ÊÀ­³Ê¤ò½Ò¤Ù¤Æ¤¤¤Ê¤¤ÀâÌÀÉÔ­¤Ê¤â¤Î
+¤Ç¤¢¤Ã¤¿¡£É¾²Á½ªÎ»¸å¡¢¤³¤ÎÈǤǤÏÂ裱¾Ï¤ÇËܥ饤¥Ö¥é¥ê¤ÎÆÃħ¤Ë¤Ä¤¤¤Æ¤ÎÀá
+¤òÄɲä·¤¿¡£
+
+\end{enumerate}
+
+ɾ²Á¼Ô¤ÈËܳ«È¯Ã´Åö¼Ô¤È¤Î´Ö¤ÇËܳ«È¯¤ÎÊý¸þÀ­¤Ë¤Ä¤¤¤Æ¸¡Æ¤¤¹¤ë¥á¥¤¥ê¥ó¥°¥ê
+¥¹¥È {\tt m17nlib@m17n.org} ¤òȯ­¤µ¤»¤¿¤È¤³¤í¡¢°ì½µ´Ö¤Ç60Ä̶ᤤ¥È¥é
+¥Õ¥£¥Ã¥¯¤¬¤¢¤ë¤Û¤É³èȯ¤ÊµÄÏÀ¤¬¹Ô¤ï¤ì¤Æ¤¤¤ë¡£º£¸å¡¢API»ÅÍͤ˴ؤ¹¤ë¥É¥­¥å
+¥á¥ó¥È¤Èɾ²Á¼Ô¤«¤é¤Î¥³¥á¥ó¥È¤ò᤭Âæ¤È¤·¤Æ¡¢»ÅÍͼ«ÂΤȤ½¤Îɽ¸½¤Ë¤Ä¤¤¤Æ
+²þÎɤ·¤Æ¤¤¤¯Í½Äê¤Ç¤¢¤ë¡£
+
+\section{µ»½Ñ³«È¯¤ÎÁí³ç}
+
+Unix/LinuxÈÆÍÑ¿¸À¸ì½èÍýµ¡Ç½¥é¥¤¥Ö¥é¥ê¤Î³«È¯ºî¶È¹àÌܤΤ¦¤Á¡¢Ê¿À®£±£³Ç¯
+Åټ»ÜͽÄê¤Ç¤¢¤Ã¤¿°Ê²¼
+\begin{enumerate}
+\item ¡Öm17n´ðËÜC¥é¥¤¥Ö¥é¥ê¡×¤Î´ðËܵ¡Ç½¤ÎÀß·×
+\item ¡Öm17n X¥é¥¤¥Ö¥é¥ê¡×¤Î´ðËܵ¡Ç½¤ÎÀß·× 
+\item ¡Öm17n ¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤ÎÀß·×
+\end{enumerate}
+¤Ë¤Ä¤¤¤Æµ»½Ñ³«È¯¤ò¹Ô¤Ê¤Ã¤¿¡£
+
+\begin{description}
+
+\item[Ëܵ»½Ñ³«È¯¤ÎÆÃħ]~\\ 
+¥½¥Õ¥È¥¦¥§¥¢¤Ë¤ª¤±¤ë¿¸À¸ì²½¤È¤Ï¡¢¤¢¤ë¥½¥Õ¥È¥¦¥§¥¢¤Î¤¦¤¨¤Ç¡¢¤¤¤í¤¤¤í¤Ê
+ʸ»ú¡¢¸À¸ì¤Ê¤É¤Îʸ²½Åª´·½¬¤òº®ºß¤µ¤»¤Æ»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤ò»Ø¤¹¡£¤³¤Î
+ºÝ¤Ë¤ÏÆþÎÏ¡¢É½¼¨¡¢ÊÔ½¸¤Ë¤¢¤¿¤Ã¤Æ¤µ¤Þ¤¶¤Þ¤Ê¾ðÊó¤¬É¬ÍפǤ¢¤ë¡£Ëܳ«È¯¤Ç¤Ï¡¢
+¿¸À¸ì¥Æ¥­¥¹¥È¤òñ¤Ê¤ëʸ»úÎó¤È¤·¤Æ¤Ç¤Ï¤Ê¤¯¡¢¤³¤ì¤é¤Î¾ðÊó¤ò´Þ¤ó¤À¥ª¥Ö¥¸¥§
+¥¯¥È¤È¤·¤ÆÅý°ìŪ¤Ë¼è°·¤¦¤³¤È¤ò²Äǽ¤È¤·¡¢¤·¤«¤â·×»»µ¡¤òÍøÍѤ¹¤ëÍÍ¡¹¤Ê¾ì
+Ì̤ÇÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤ëÈÆÍѥ饤¥Ö¥é¥ê¤ò¼Â¸½¤¹¤ë¡£¤³¤Î¥é¥¤¥Ö¥é¥ê¤ÎÀß·×¾å
+¤ÎÆÃħ¤Ï¡¢Êä­¾ðÊó¤ò¤â´Þ¤ó¤À¥Æ¥­¥¹¥È¤òɽ¤ï¤¹¹½Â¤ÂΤòÄêµÁ¤·¡¢¤½¤ì¤ò½èÍý
+¤Î´ðËÜñ°Ì¤È¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£¤³¤Î¤è¤¦¤Ë¥Æ¥­¥¹¥È½èÍý¤Î´ðËÜñ°Ì¤È¤·¤Æ¡¢¤³
+¤ì¤Þ¤Ç¡ÖÊä­Ū¡×¤È¤µ¤ì¤Æ¤¤¤¿¾ðÊó¤â´Þ¤à¹½Â¤ÂΤòÍѤ¤¤ë¤³¤È¡¢¤½¤·¤Æ¤½¤Î·ë
+²Ì¥Æ¥­¥¹¥È¤Î¾ðÊó¤ò¿¤¯¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬Æ±¤¸ÊýË¡¤Ç°·¤¦¤³¤È¤Ï¡¢Â¿¸À¸ì
+²½¤òɬÍפȤ·¤Ê¤¤¤â¤Î¤ò´Þ¤á¡¢¥Æ¥­¥¹¥È¤ò½èÍý¤¹¤ë¥½¥Õ¥È¥¦¥§¥¢¤¹¤Ù¤Æ¤Ëž´¹
+¤ò¤â¤¿¤é¤¹¤È´üÂԤǤ­¤ë¡£
+
+\item[Ëܵ»½Ñ³«È¯¤ÎÀïά]~\\ 
+Ëܳ«È¯¤Ç¼Â¸½¤¹¤ëUnix/Linux ÈÆÍÑ¿¸À¸ì½èÍýµ¡Ç½¥é¥¤¥Ö¥é¥ê¤ÎºÇ½ªÌÜɸ¤Ï¡¢ 
+Linux/Unix ¾å¤Î GNOME (GNU Network Object Model Environment) ¤Î¾å¤Ç¡¢
+¿¸À¸ìÂбþ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î³«È¯¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£¤³¤Î¤¿¤á¡¢
+¤½¤Î¥Ù¡¼¥¹¤È¤Ê¤ë C ¥é¥¤¥Ö¥é¥ê µÚ¤Ó X ¥é¥¤¥Ö¥é¥ê¤Î¿¸À¸ì²½¤ò¹Ô¤Ê¤Ã¤Æ¤¤
+¤ë¡£Ëܥ饤¥Ö¥é¥ê¤Ç¤Ï¡¢Â¿¸À¸ì½èÍýµ¡Ç½¤Î¿·¤¿¤ÊÂηϤò³ÎΩ¤¹¤ë¤³¤È¤òÌܻؤ·
+¤Æ¤¤¤ë¤¬¡¢¸½»þÅÀ¤Ç¤Î¥Æ¥­¥¹¥È½èÍýÂηϤ˰͸¤·¤¿¸½Â¸¤Î¥½¥Õ¥È¥¦¥§¥¢¤Î°Ü¹Ô
+¤òÍưפˤ¹¤ë¤¿¤á¡¢ÂηÏÁê¸ß¤ÎÂбþ´Ø·¸¤òÌÀ¤é¤«¤ËÊݤĤ³¤È¤Ëα°Õ¤·¤ÆÀ߷פò
+¹Ô¤Ê¤Ã¤¿¡£
+
+¡Öm17n ¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤Ï¤³¤ì¤é¤Î¥é¥¤¥Ö¥é¥ê¤«¤éÍøÍѤµ¤ì¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹
+¤È¤·¤ÆÀ߷פ·¤¿¡£Ëܳ«È¯¤Ç¤ÎÀ߷פÎÂоݤϡ¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÆâÍƤǤϤʤ¯¡¢¤½
+¤ÎÏÈÁȤߡ¢¤Ä¤Þ¤ê¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬Ä󶡤¹¤Ù¤­¾ðÊó¤Î¼ïÎà¤È·Á¼°¡¢¤½¤·¤ÆËܥ饤
+¥Ö¥é¥ê¤¬¤½¤Î¾ðÊó¤ò¼èÆÀ¤¹¤ëÊýË¡¤Ç¤¢¤ë¡£
+
+\item[Ëܵ»½Ñ³«È¯¤ÎÆâÍÆ]~\\
+\begin{itemize}
+\item ¡Öm17n´ðËÜC¥é¥¤¥Ö¥é¥ê¡×¤Î´ðËܵ¡Ç½¤ÎÀß·×
+
+C ¥é¥¤¥Ö¥é¥ê¤¬Ä󶡤¹¤ë¡Ö¥Æ¥­¥¹¥È½èÍý¡×¤Ë´Ø¤¹¤ë¥é¥¤¥Ö¥é¥ê´Ø¿ô 101 ¸Ä¤Î
+¤¦¤Á¡¢¸åǯÅ٤˳«È¯¤ò¹Ô¤Ê¤¦Í½Äê¤Î¡Öm17n ´ðËÜ C ¥é¥¤¥Ö¥é¥ê¤«¤é´û¸¤Î¥í¥±¡¼
+¥ëµ¡Ç½¤òÍøÍѤ¹¤ë¼êË¡¤ÎÀ߷ספ˴ޤޤì¤ë¤Ù¤­¤â¤Î¤ò½ü¤¯¤È 54 ¸Ä¤Î´Ø¿ô¤¬»Ä
+¤ë¡£¤³¤ì¤é¤Ë¤Ä¤¤¤Æ¡¢Âбþ¤¹¤ë¿¸À¸ìÈǤδؿô¤ÎAPI ¤òÀ߷פ·¤¿¡£
+
+\item ¡Öm17n X¥é¥¤¥Ö¥é¥ê¡×¤Î´ðËܵ¡Ç½¤ÎÀß·× 
+
+ X ¥é¥¤¥Ö¥é¥ê¤¬Ä󶡤¹¤ë¥é¥¤¥Ö¥é¥ê´Ø¿ô¤Ï 512 ¤¢¤ê¡¢¤½¤Î¤¦¤Á¡¢¡Ö¥Æ¥­¥¹¥È
+½èÍý¡×¤Ë´Ø¤¹¤ë¤â¤Î¤Ï 70 ¸Ä¤Ç¤¢¤ë¡£¤³¤ì¤é¤Î¤¦¤Á¡Öm17n X ¥é¥¤¥Ö¥é¥ê¡×¤¬
+ÆâÉôŪ¤Ë½èÍý¤¹¤ë¤¿¤á¤Î¤â¤Î¤ò½ü¤¤¤¿ 41 ¸Ä¤Ë¤Ä¤¤¤Æ¡¢Âбþ¤¹¤ë¿¸À¸ìÈǤδØ
+¿ô¤Î API ¤òÀ߷פ·¤¿¡£
+
+\item ¡Öm17n ¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤ÎÀß·×
+
+¾åµ­¥é¥¤¥Ö¥é¥ê¤«¤éÍøÍѤµ¤ì¤ë¡Öm17n ¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤ÎÏÈÁȤߤòÀ߷פ·¡¢
+¸¡¾Ú¤Î¤¿¤á¤Ë¡¢Ê¸»ú¥»¥Ã¥È¡¢Ê¸»ú¤Î¥×¥í¥Ñ¥Æ¥£¡¢¥Õ¥©¥ó¥È¡¢ÆþÎϥ᥽¥Ã¥É¤Ë´Ø
+¤¹¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î»îºî¤ò¹Ô¤Ê¤Ã¤¿¡£»îºî¤ËÅö¤¿¤Ã¤Æ¤Ï¡¢Unicode ¥³¥ó¥½¡¼¥·
+¥¢¥à¡¢IBM¡¢ µþÅÔÂç³Ø°Â²¬¹§°ì»á¤Ë¤è¤ë¥Ç¡¼¥¿¤òÍѤ¤¤¿¡£
+
+\end{itemize}
+
+\item[Ëܵ»½Ñ³«È¯¤Îɾ²Á]~\\
+API ¤Î»ÅÍͽñ¤ò³°Éôɾ²Á¼Ô¤Ëɾ²Á¤ò°ÍÍꤷ¤¿¡£¤³¤Î·ë²Ì API »ÅÍͽñ¤È¤¤¤¦·Á
+¤Ç¤ÏÀ߷פÎÊý¿Ë¤¬ÉÔÌÀ³Î¤Ç¤¢¤ë¤È¤¤¤¦ÌäÂ꤬¤¢¤ë¤â¤Î¤Î¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó³«
+ȯ¼Ô¸þ¤±¤ÎÈÆÍÑ¿¸À¸ì²½¥é¥¤¥Ö¥é¥ê³«È¯¤Î°ÕµÁ¤ÏÂ礭¤¤¤È¤¤¤¦É¾²Á¤ò¼õ¤±¤¿¡£
+
+\end{description}
+
+Ëܳ«È¯¤Ç¼Â¸½¤µ¤ì¤¿ API ¤ÎÀ߷פ˱è¤Ã¤ÆÈÆÍÑ¿¸À¸ì½èÍýµ¡Ç½¥é¥¤¥Ö¥é¥ê¤Î¼Â
+Áõ¤ò¹Ô¤¦¤³¤È¤Ë¤è¤Ã¤Æ¡¢Â¿¸À¸ì¥Æ¥­¥¹¥È¤òñ¤Ê¤ëʸ»úÎó¤È¤·¤Æ¤Ç¤Ï¤Ê¤¯¡¢Â¿¤¯
+¤Î¾ðÊó¤ò´Þ¤ó¤À¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤ÆÅý°ìŪ¤Ë¼è°·¤¦¤³¤È¤¬²Äǽ¤È¤Ê¤ë¡£
+
+¿¸À¸ì²½µ¡Ç½¤òɬÍפȤ¹¤ë¥½¥Õ¥È¥¦¥§¥¢¤Ï¡¢º£¸å¤Þ¤¹¤Þ¤¹Áý²Ã¤¹¤ë¡£Ê£¿ô¤Î¥½
+¥Õ¥È¥¦¥§¥¢¤«¤é¶¦Ä̤ËÍøÍѤǤ­¤ë¿¸À¸ì²½¥é¥¤¥Ö¥é¥ê¤ò¡¢¥ª¡¼¥×¥ó¥½¡¼¥¹¥½¥Õ
+¥È¥¦¥¨¥¢¤È¤·¤ÆÄ󶡤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢Â¿¤¯¤Î¥½¥Õ¥È¥¦¥§¥¢¤Î³«È¯¤ò¤è¤ê¸úΨ
+Ū¤Ë¹Ô¤¤¡¢³«È¯¥³¥¹¥È¤òºï¸º¤·¡¢·ë²Ì¤È¤·¤Æ·×»»µ¡ÍøÍѤˤª¤±¤ë¸À¸ìŪ¾ãÊɤ¬
+À¤³¦Åª¤Ë·Ú¸º¤µ¤ì¤ë¤³¤È¤¬´üÂԤǤ­¤ë¡£
+
diff --git a/data-ja/header.tex b/data-ja/header.tex
new file mode 100644 (file)
index 0000000..a83371a
--- /dev/null
@@ -0,0 +1,41 @@
+\documentclass[a4paper,12pt,twoside]{article}  % -*- coding: euc-jp; -*-
+\setlength\headheight{14.5pt}
+\usepackage{makeidx}
+\usepackage{fancyhdr}
+\usepackage{graphicx}
+\usepackage{float}
+\usepackage{alltt}
+\usepackage[english]{babel}
+\usepackage{times}
+%%%\usepackage[dvips, a4paper, bookmarks, bookmarksnumbered, pdftitle={Unix/LinuxÈÆÍÑ¡£¡£¡£}]{hyperref} 
+\usepackage{doxygen}
+\usepackage{doxygen-m17n}
+\makeindex
+\setcounter{tocdepth}{2}
+\setlength{\footrulewidth}{0pt}
+\begin{document}
+\begin{titlepage}
+\begin{flushright}
+{\Large 13¾ð·ÐÂè1127¹æ}
+\end{flushright}
+\vspace*{2cm}
+\begin{center}
+{\Huge IPA¾ðÊ󵻽ѳ«È¯»Ù±ç»ö¶È}\\
+\vspace*{2cm}
+{\Huge Unix/Linux ÈÆÍÑ¿¸À¸ì½èÍýµ¡Ç½\\¥é¥¤¥Ö¥é¥ê¤Î³«È¯}\\
+\vspace*{2cm}
+{\Huge ³«È¯À®²ÌÊó¹ð½ñ}\\
+\vspace*{7cm}
+{\Huge Ê¿À®14ǯ2·î}\\
+\vspace*{1.5cm}
+{\Huge ÆÈΩ¹ÔÀ¯Ë¡¿Í »º¶Èµ»½ÑÁí¹ç¸¦µæ½ê}
+\end{center}
+\end{titlepage}
+\cleardoublepage
+\pagenumbering{roman}
+\tableofcontents
+\newpage
+\pagenumbering{arabic}
+\input{introduction.tex}
+\newpage
+\sectionOnNewpage
diff --git a/data-ja/introduction.tex b/data-ja/introduction.tex
new file mode 100644 (file)
index 0000000..4a0b2e0
--- /dev/null
@@ -0,0 +1,211 @@
+
+%¡¡¡¡¡¦È¯Ãí»ÅÍͽñ¤ÎÆâÍƤȰ㤤¤Ï¤Ê¤¤¤«¡£
+%¡¡¡¡¡¡¡¡Æäˡ¢È¯Ãí»ÅÍͽñ¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¸ÀÍÕ¤Èɽ¸½¤Î°Û¤Ê¤Ã¤¿
+%¡¡¡¡¡¡¡¡¸ÀÍÕ¤ò»ÈÍѤ¹¤ë¤È¤­¤Ï¡¢Âбþ¤¬¤ï¤«¤ë¤è¤¦¤ËÂбþɽ¤òºîÀ®¤·¤Æ
+%¡¡¡¡¡¡¡¡²¼¤µ¤¤¡£
+%¡¡¡¡¡¦µ»½Ñ³«È¯¤ÎÌÜɸ¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤ë¤«¡£
+%¡¡¡¡¡¦µ»½Ñ³«È¯¹àÌܤÎÆâÍƤ¬¤ï¤«¤ë¤«¡£
+%¡¡¡¡¡¡¡¡ÆâÍƤϡ¢Âè»°¼Ô¤¬Æɤó¤Ç¤â¤ï¤«¤ëÆâÍÆ¡ÊÊ¿°×¤Êʸ¡Ë¤Ë¤·¤Æ²¼¤µ¤¤¡£
+%¡¡¡¡¡¦ÌÜɸ¤òãÀ®¤·¤Æ¤¤¤ë¤«¡£¤Þ¤¿¡¢¤½¤Îº¬µò¤¬ÂÅÅö¤Ç¤¢¤ë¤«¡£
+%¡¡¡¡¡¦³«È¯¤·¤¿¤â¤Î¤ËÂФ¹¤ëɾ²Á´ð½à¡¢É¾²ÁÊýË¡¡¢É¾²ÁÆâÍƤ¬
+%¡¡¡¡¡¡µ­½Ò¤µ¤ì¡¢ÂÅÅö¤Ç¤¢¤ë¤«¡£
+%¡¡¡¡¡¦µ»½Ñ³«È¯Á´ÂΤÎÁí³ç¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤ë¤«¡£
+
+%\IPAref{XXX} ¤Î¥é¥Ù¥ë¤Ï @latexonly \IPAlabel{XXX} @endlatexonly ¤ÇÉÕ¤±¤ë¡£
+
+\section{Unix/Linux ÈÆÍÑ¿¸À¸ì½èÍýµ¡Ç½¥é¥¤¥Ö¥é¥ê¤Î³«È¯¤Î³µÍ×}
+
+\subsection{µ»½Ñ³«È¯¤ÎÌÜɸ}
+%ȯÃí»ÅÍͽñ¡ÖÇطʤÈÌÜŪ¡×¤«¤é¥³¥Ô¡¼
+%2002/2/25Ìò°÷²ñÍÑÀâÌÀ»ñÎÁ¤«¤éÄɲÃ
+\subsubsection{ÇطʤÈÌÜŪ}
+
+%¿¸À¸ì½èÍý¤È¤Ï²¿¤«
+
+¥½¥Õ¥È¥¦¥§¥¢¤Ë¤ª¤±¤ë¿¸À¸ì²½¤È¤Ï¡¢¤¢¤ë¥½¥Õ¥È¥¦¥§¥¢¤Î¤¦¤¨¤Ç¡¢¤¤¤í¤¤¤í¤Ê
+ʸ»ú¡¢¸À¸ì¤Ê¤É¤Îʸ²½Åª´·½¬¤òº®ºß¤µ¤»¤Æ»È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤ò»Ø¤¹¡£À¤³¦
+µ¬ÌϤǤξðÊó¤Îȯ¿®¤ä¶¦Í­¤ò»Ù¤¨¤ë¤¿¤á¤Ë¤Ï¡¢±Ñ¸ì¤Î¤è¤¦¤ËÍøÍѼԤ襤¸À¸ì
+¤À¤±¤Ç¤Ï¤Ê¤¯¡¢¤½¤ì°Ê³°¤Î¸À¸ì¤âÅý°ìŪ¤«¤ÄÍưפ˥µ¥Ý¡¼¥È¤Ç¤­¤ë·×»»µ¡´Ä¶­
+¤¬µá¤á¤é¤ì¤ë¡£
+
+%¿¸À¸ì½èÍý¸þ¤±ÈÆÍѥ饤¥Ö¥é¥ê¤È¤Ï²¿¤«¡£
+
+°ìÊý¡¢¥½¥Õ¥È¥¦¥§¥¢³«È¯¼Ô¤Î¦¤«¤é¿¸À¸ì²½¤Ë¤Ä¤¤¤Æ¸«¤ë¤È¡¢¸½ºß³«È¯¤µ¤ì¤Æ
+¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢¤Î¤Û¤È¤ó¤É¤Ë¤È¤Ã¤Æ¡¢Â¿¸À¸ì²½¼«ÂΡ¢¤¢¤ë¤¤¤Ï¸À¸ì¤Î°·¤¤¼«
+ÂΤϥ½¥Õ¥È¥¦¥§¥¢¤Î¼ç¤ÊÌÜŪ¤Ç¤Ï¤Ê¤¯¡¢»ÞÍÕËöÀá¤Ç¤¢¤ë¡£¤½¤ì¤Ë¤â¤«¤«¤ï¤é¤º¡¢
+¿¸À¸ì²½Éôʬ¤ò¤Þ¤È¤á¤Æ½èÍý¤¹¤ë¥é¥¤¥Ö¥é¥ê¤¬¤Ê¤¤¤¿¤á¤Ë¡¢¸Ä¡¹¤Î¥½¥Õ¥È¥¦¥§
+¥¢¤Ç¸ÄÊ̤Ë¿¸À¸ì²½µ¡Ç½¤ò³«È¯¤¹¤ë¤È¤¤¤¦Èó¸úΨ¤Ê»öÂÖ¤¬µ¯¤³¤Ã¤Æ¤¤¤ë¡£¼ÂºÝ¡¢
+mozilla, Perl, Ruby ¤Ê¤É¤Î¥½¥Õ¥È¥¦¥§¥¢¤Ç¤Ï¡¢¸½ºß¤½¤ì¤¾¤ì¤Ë¿¸À¸ì²½µ¡Ç½
+¤ò³«È¯¤·¤Æ¤¤¤ë¡£
+
+¤³¤Î¤è¤¦¤Ê¥½¥Õ¥È¥¦¥§¥¢¤ä¡¢¤½¤Î¾¿¸À¸ì²½µ¡Ç½¤òɬÍפȤ¹¤ë¥½¥Õ¥È¥¦¥§¥¢¤Ë
+¤ª¤¤¤Æ¡¢Â¿¸À¸ìÂбþ¤òɬÍפȤ¹¤ëÉôʬ¤ÏÈæ³ÓŪÍưפËÀÚ¤êʬ¤±¤¬¤Ç¤­¤ë¡£°ìÊý
+¿¤¯¤Î¥½¥Õ¥È¥¦¥§¥¢¤¬Â¿¸À¸ì²½¤Ë´Ø¤·¤Æ¶¦Ä̤ËɬÍפȤ·¤Æ¤¤¤ëµ¡Ç½¤¬¤¿¤¯¤µ¤ó
+¸ºß¤¹¤ë¡£¤½¤³¤Ç¡¢¤½¤Î¤è¤¦¤Êµ¡Ç½¤ò½¸¤á¡¢Ê£¿ô¤Î¥½¥Õ¥È¥¦¥§¥¢¤«¤é¶¦Ä̤ËÍø
+ÍѤǤ­¤ë¿¸À¸ì²½¥é¥¤¥Ö¥é¥ê¤¬¤¢¤ì¤Ð¡¢Â¿¤¯¤Î¥½¥Õ¥È¥¦¥§¥¢¤Î³«È¯¤ò¤è¤ê¸úΨ
+Ū¤Ë¹Ô¤Ê¤¤¡¢³«È¯¥³¥¹¥È¤òºï¸º¤Ç¤­¤ë¤È¹Í¤¨¤é¤ì¤ë¡£
+
+¿¸À¸ì½èÍý¸þ¤±ÈÆÍѥ饤¥Ö¥é¥ê¤ÎʬÌî¤Ë¤ª¤¤¤Æ¤Ï¡¢Unicode¤ò¥Ù¡¼¥¹¤Ë¤¹¤ë¤³
+¤È¤Ë¤è¤ê¡¢À¤³¦Ãæ¤Îʸ»ú¤ò´Þ¤ó¤À¥Æ¥­¥¹¥È¤ò¼è¤ê°·¤¦¤³¤È¤¬¤Ç¤­¤ë¤â¤Î¤¬³«È¯
+¤µ¤ì¤Ä¤Ä¤¢¤ë¡£¤·¤«¤·¤³¤ì¤Ï¤¢¤¯¤Þ¤Ç¥Æ¥­¥¹¥È¤òñ¤Ê¤ëʸ»úÎó¤È¤·¤Æ°·¤¦¤¿¤á
+¤Î¥é¥¤¥Ö¥é¥ê¤Ç¤¢¤ê¡¢¼ÂºÝ¤Ë¿¸À¸ì¥Æ¥­¥¹¥È¤òÆþÎÏ¡¢É½¼¨¡¢ÊÔ½¸¤¹¤ë¾å¤ÇɬÍ×
+¤È¤Ê¤ë¾ðÊ󡢤¿¤È¤¨¤Ð¡¢¤É¤Î¤è¤¦¤ÊÊýË¡¤ÇÆþÎϤ¹¤ë¤«¡¢¤É¤Î¼ïÎà¤Î¥Õ¥©¥ó¥È¤Ç
+ɽ¼¨¤¹¤ë¤«¡¢¤É¤Î¤è¤¦¤Ê¼ê½ç¤Ç¸¡º÷¤¹¤ë¤«¤Ï¡¢³Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à
+¤Ç¼è°·¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤¬¸½¾õ¤Ç¤¢¤ë¡£
+
+Ëܳ«È¯¤Ï¡¢Â¿¸À¸ì¥Æ¥­¥¹¥È¤òñ¤Ê¤ëʸ»úÎó¤È¤·¤Æ¤Ç¤Ï¤Ê¤¯¡¢¾åµ­¤Î¤è¤¦¤Ê¿¤¯
+¤Î¾ðÊó¤ò´Þ¤ó¤À¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤ÆÅý°ìŪ¤Ë¼è°·¤¦¤³¤È¤ò²Äǽ¤È¤·¡¢¤·¤«¤â·×
+»»µ¡¤òÍøÍѤ¹¤ëÍÍ¡¹¤Ê¾ìÌ̤ÇÍѤ¤¤ë¤³¤È¤¬¤Ç¤­¤ëLinux/Unix ÍÑÈÆÍѥ饤¥Ö¥é
+¥ê¤ò³«È¯¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£
+
+Ëܳ«È¯¤Ï¡¢¤³¤ÎÈÆÍѥ饤¥Ö¥é¥ê¤ò¥ª¡¼¥×¥ó¥½¡¼¥¹¥½¥Õ¥È¥¦¥¨¥¢
+¤È¤·¤ÆÄ󶡤¹¤ë¤³¤È¤òÌÜŪ¤È¤·¤Æ¤ª¤ê¡¢º£¸å¡¢À¤³¦¤Ë¤Þ¤À»Ä¤ë¡¢·×»»µ¡ÍøÍѤË
+¤ª¤±¤ë¸À¸ìŪ¾ãÊɤò·Ú¸º¤¹¤ë¤³¤È¤òÌܻؤ¹¤â¤Î¤Ç¤¢¤ë¡£
+
+
+\subsubsection{Unix/Linux ÈÆÍÑ¿¸À¸ì½èÍýµ¡Ç½¥é¥¤¥Ö¥é¥ê¤Î°ÌÃ֤Ť±}
+
+Ëܳ«È¯¤Ç¼Â¸½¤¹¤ëUnix/Linux ÈÆÍÑ¿¸À¸ì½èÍýµ¡Ç½¥é¥¤¥Ö¥é¥ê¤ÎºÇ½ªÌÜɸ¤Ï¡¢ 
+Linux/Unix ¾å¤Î GNOME (GNU Network Object Model Environment)
+\footnote{GNOME¥×¥í¥¸¥§¥¯¥È¤Ï¡¢¥æ¡¼¥¶¤Ë¤Ï´°Á´¤Ë¥Õ¥ê¡¼¤Ç»È¤¤¤ä¤¹¤¤¥Ç¥¹
+¥¯¥È¥Ã¥×´Ä¶­¤ò¡¢¥½¥Õ¥È¥¦¥§¥¢³«È¯¼Ô¤Ë¤Ï¶¯ÎϤʥ¢¥×¥ê¥±¡¼¥·¥ç¥ó¥Õ¥ì¡¼¥à¥ï¡¼
+¥¯¤ò¡¢Ä󶡤¹¤ë¤â¤Î¤Ç¤¢¤ê¡¢¤Û¤È¤ó¤ÉÁ´¤Æ¤ÎBSD¤äGNU/Linux ¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼
+¥·¥ç¥ó¤Ë¼ýÏ¿¤µ¤ì¤Æ¤¤¤ë¡£} ¤Î¾å¤Ç¡¢Â¿¸À¸ìÂбþ¥½¥Õ¥È¥¦¥§¥¢¤Î³«È¯¤¬¤Ç
+¤­¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£¤³¤Î¤¿¤á¡¢Ëܥ饤¥Ö¥é¥ê¤Ï Gnome ¤¬ÍøÍѤ¹¤ë 
+Toolkit ¤«¤é¡¢¤Þ¤¿Â¿¸À¸ì²½¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤Î³«È¯¼Ô¤«¤éÍøÍѤµ¤ì¡¢¤½¤ì¤é¤Î
+´Ö¤Î¶¶ÅϤ·¤ò¤¹¤ë¤³¤È¤òÁÛÄꤷ¤Æ¤¤¤ë¡£Ëܥ饤¥Ö¥é¥ê¤ò Multilingualization
+(= Â¿¸À¸ì²½)¤ÎºÇ½é¤ÈºÇ¸å¤Îʸ»ú¤ò¤È¤Ã¤Æ¡Öm17n ¥é¥¤¥Ö¥é¥ê¡×¤È¸Æ¤Ö¤³¤È¤¬
+¤¢¤ê¡¢Ëܥ饤¥Ö¥é¥ê¤ÎÍ×ÁǤò¡Öm17n ´ðËÜ C ¥é¥¤¥Ö¥é¥ê¡×¤Ê¤É¤È¸Æ¤Ö¤³¤È¤¬¤¢
+¤ë¡£
+
+GNOME ¤ÇÍѤ¤¤é¤ì¤Æ¤¤¤ë¥Æ¥­¥¹¥È½èÍýµ¡Ç½¤Ï GTK (GIMP\footnote{GNU Image
+Manipulation Program} ToolKit) ¤Î¾å¤Ç¼Â¸½¤µ¤ì¤Æ¤ª¤ê¡¢ GTK ¤Ï¤µ¤é¤Ë C 
+¥é¥¤¥Ö¥é¥ê µÚ¤Ó X ¥é¥¤¥Ö¥é¥ê¤Î¾å¤Ç¼Â¸½¤µ¤ì¤Æ¤¤¤ë¡£¤·¤¿¤¬¤Ã¤Æ¡¢GNOME ¤Î
+¾å¤Ç¿¸À¸ìÂбþ¥½¥Õ¥È¥¦¥§¥¢¤ò³«È¯¤¹¤ë¤¿¤á¤Ë¤Ï¡¢GTK ¤Î¿¸À¸ì²½¤¬É¬Í×
+¤Ç¤¢¤ê¡¢¤½¤Î¤¿¤á¤Ë¤Ï¡¢¤½¤Î¥Ù¡¼¥¹¤È¤Ê¤Ã¤Æ¤¤¤ë C ¥é¥¤¥Ö¥é¥ê µÚ¤Ó X ¥é¥¤
+¥Ö¥é¥ê¤Î¿¸À¸ì²½¤¬É¬ÍפǤ¢¤ë¡£
+
+¸½ºß GNOME ¤Î¿¸À¸ì¥Æ¥­¥¹¥È½èÍý¤Ç¤Ï¡¢É½¼¨¤À¤±¤ò¹Ô¤Ê¤¦¤³¤È¤Î¤Ç¤­¤ëÏÈÁȤߠ
+PANGO (¦°¦Á¦Í¸ì)¤¬ÍѤ¤¤é¤ì¤Æ¤¤¤ë¡£¤·¤«¤· m17n ¥é¥¤¥Ö¥é¥ê ¼Â¸½¸å¤Ë¤Ï¡¢
+PANGO ¤Î¿¸À¸ì¥Æ¥­¥¹¥Èɽ¼¨¥¨¥ó¥¸¥ó¤ò GTK ¤Î²¼°Ì¼ÂÁõÁؤËÍѤ¤¡¢PANGO ¼«
+¿È¤Ï GTK ¤Î API ¡Ê¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¡¦¥×¥í¥°¥é¥à¡¦¥¤¥ó¥¿¥Õ¥§¡¼¥¹¡Ë¤òÍøÍÑ
+¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¤³¤È¤òÌܻؤ·¤Æ¤¤¤ë¡£
+
+GNOME ¤òÍѤ¤¤ë¤³¤È¤Ê¤¯ X Windows ¾å¤ÇľÀÜÆ°ºî¤¹¤ë¥½¥Õ¥È¥¦¥§¥¢¤Ï¡¢ 
+X Windows ToolKit ¤ò»ÈÍѤ·¤Æ¤¤¤ë¡£¤·¤«¤· m17n ¥é¥¤¥Ö¥é¥ê¤Ç¤Ï¡¢X ¥é¥¤¥Ö
+¥é¥ê¤ËÂбþ¤¹¤ëÉôʬ¤Îµ¡Ç½Ä󶡤À¤±¤ò¹Ô¤Ê¤¤¡¢ToolKit ¤Î¿¸À¸ì²½¤Ï¹Ô¤Ê¤ï¤Ê¤¤¡£
+
+
+\subsubsection{Ëܥ饤¥Ö¥é¥ê¤ÎÆÃħ}
+
+%ɬÍפʤâ¤Î¤ÏM-text¤Ë¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤È¤·¤Æ¤Ö¤Ã¹þ¤â¤¦¤È¤¤¤¦¤Î¤¬Ëܥ饤¥Ö¥é¥ê¤ÎÇä¤ê¤Ç¤¢¤ë¡£
+
+¿¸À¸ì½èÍý¤Ë¸Â¤é¤º¡¢¥Æ¥­¥¹¥È½èÍý¤ò¹Ô¤Ê¤¦ºÝ¤Ë¤·¤Ð¤·¤Ð¤ª¤³¤ëÌäÂê¤Ï¡¢Ê¸»ú¤Î
+Î󡢤¢¤ë¤¤¤Ïʸ»ú¥³¡¼¥É¤ÎÎ󤬻ý¤Ä¾ðÊó¤À¤±¤Ç¤Ï¡¢É¬ÍפʽèÍý¤ò¹Ô¤Ê¤¦¤Ë¤ÏÉÔ½½
+ʬ¤Ç¤¢¤ë¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£¼ÂºÝ¤Ë¥Æ¥­¥¹¥È½èÍý¤ò¹Ô¤Ê¤¦ºÝ¤Ë¤Ï¡¢¸À¸ì¾ðÊó¡¢¥¹
+¥¯¥ê¥×¥È¾ðÊó¡¢¥Õ¥©¥ó¥È¾ðÊó¡¢¥°¥ê¥Õ¾ðÊó¤Ê¤É¤¬É¬Íפˤʤë¾ì¹ç¤¬¤¢¤ë¡£¤½¤ì
+¤Ë¤â¤«¤«¤ï¤é¤º¡¢¤³¤ì¤é¤Î¾ðÊó¤Ïʸ»ú¥³¡¼¥É¤ÎÎó¤Ë¤Ï´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¡£¤³¤ì¤Þ
+¤Ç¤Î¥½¥Õ¥È¥¦¥§¥¢¤Ç¤Ï¡¢¤³¤ÎÅÀ¤ò²ò·è¤¹¤ë¤¿¤á¤Ë¡¢Êä­Ū¤Ê¾ðÊó¤òľÀÜ°ú¿ô¤È
+¤·¤ÆÍ¿¤¨¤¿¤ê¡¢Êä­Ū¤Ê¾ðÊó¤â´Þ¤á¤Æ¥Æ¥­¥¹¥È¤òɽ¸½¤¹¤ë¹½Â¤ÂΤòÆȼ«¤ËÄêµÁ
+¤·¤Æ¡¢¤½¤ì¤ò°ú¿ô¤È¤·¤Æ»ý¤Á²ó¤·¤¿¤ê¤·¤Æ¤¤¤ë¡£
+
+Ëܥ饤¥Ö¥é¥êÀß·×¾å¤ÎÆÃħ¤Ï¡¢Êä­¾ðÊó¤ò¤â´Þ¤ó¤À¥Æ¥­¥¹¥È¤òɽ¤ï¤¹¹½Â¤ÂΤòÄê
+µÁ¤·¡¢¤½¤ì¤ò½èÍý¤Î´ðËÜñ°Ì¤È¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£¤³¤ÎÆÃÊ̤ʹ½Â¤ÂΤò M-text¡¢
+Êä­Ū¤Ê¾ðÊó¤òÉղ乤뤿¤á¤Î»ÅÁȤߤò¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤È¸Æ¤Ö¡£
+
+M-text ¤Ë¤ª¤¤¤ÆÊä­Ū¤Ê¾ðÊó¤Ï¡¢¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤È¤¤¤¦·è¤Þ¤Ã¤¿ÏÈÁȤß
+¤ò»È¤Ã¤Æɽ¤ï¤µ¤ì¤ë¡£¤³¤Î¤¿¤á¡¢Ê¸»ú¥³¡¼¥É¤À¤±¤Ç¤Ê¤¯Êä­¾ðÊó¤â¡¢Ê£¿ô¤Î¥½
+¥Õ¥È¥¦¥§¥¢¤ä¥ë¡¼¥Æ¥£¥ó¤Î´Ö¤Ç¶¦Í­¤Ç¤­¤ë¡£¤³¤Î»ÅÁȤߤϤµ¤é¤Ë¡¢´Ø¿ô¤Ë¾ðÊó
+¤òÅϤ¹¤¿¤á¤À¤±¤Ç¤Ï¤Ê¤¯¡¢´Ø¿ô¤«¤é¾ðÊó¤ò¼õ¤±¼è¤ë¤¿¤á¤Ë¤â»ÈÍѤǤ­¤ë¡£¤¿¤È
+¤¨¤Ð¡¢É½¼¨¥ë¡¼¥Æ¥£¥ó¤Ëɽ¼¨¤ò¥³¥ó¥È¥í¡¼¥ë¤¹¤ë¤¿¤á¤ÎÀ©Ìó¾ðÊó¤òÍ¿¤¨¤ëºÝ¤Ë
+¤â¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤òÍѤ¤¡¢É½¼¨¥ë¡¼¥Æ¥£¥ó¤¬¤½¤ÎÀ©Ìó¤ÎÃæ¤Ç¶ñÂÎŪ¤Ë¤É¤¦
+¤¤¤¦É½¼¨¤ò¹Ô¤Ê¤Ã¤¿¤«¤Î¾ðÊó¤òÊ̤Υƥ­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤È¤·¤ÆÊÖ¤¹¤³¤È¤â¡¢´Êñ
+¤Ë¼Â¸½¤Ç¤­¤ë¡£
+
+¤³¤Î¤è¤¦¤Ë¥Æ¥­¥¹¥È½èÍý¤Î´ðËÜñ°Ì¤È¤·¤Æ¡¢¤³¤ì¤Þ¤Ç¡ÖÊä­Ū¡×¤È¤µ¤ì¤Æ¤¤¤¿
+¾ðÊó¤â´Þ¤à M-text ¤òÍѤ¤¤ë¤³¤È¡¢¤½¤·¤Æ¤½¤Î·ë²Ì¥Æ¥­¥¹¥È¤Î¾ðÊó¤ò¿¤¯¤Î¥¢
+¥×¥ê¥±¡¼¥·¥ç¥ó¤¬Æ±¤¸ÊýË¡¤Ç°·¤¦¤³¤È¤Ï¡¢Â¿¸À¸ì²½¤òɬÍפȤ·¤Ê¤¤¤â¤Î¤ò´Þ¤á
+¥Æ¥­¥¹¥È¤ò½èÍý¤¹¤ë¥½¥Õ¥È¥¦¥§¥¢¤¹¤Ù¤Æ¤Ëž´¹¤ò¤â¤¿¤é¤¹¤³¤È¤¬´üÂԤǤ­¤ë¡£
+
+\subsubsection{À߷פÎÀïά}
+
+Ëܥ饤¥Ö¥é¥ê¤Ç¤Ï¡¢Â¿¸À¸ì½èÍýµ¡Ç½¤Î¿·¤¿¤ÊÂηϤò³ÎΩ¤¹¤ë¤³¤È¤òÌܻؤ·¤Æ¤¤
+¤ë¡£¤³¤ÎÂηϤò¡Ö¿¸À¸ì²½¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡×¤È¸Æ¤Ö¡£¤·¤«¤·¡¢¸½Â¸¤Î¥½¥Õ¥È¥¦¥§
+¥¢¤ÏÅöÁ³¸½»þÅÀ¤Ç¤Î¥Æ¥­¥¹¥È½èÍý¤Î¤¿¤á¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ë°Í¸¤·¤Æ¤¤¤ë¡£¤³
+¤Î¾õ¶·¤Ë´Õ¤ß¡¢¡Ö¿¸À¸ì²½¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡×¤Ø¤Î°Ü¹Ô¤òÍưפˤ¹¤ë¤¿¤á¡¢¤Ç¤­
+¤ë¤À¤±¸½ºß¤Î¡Ö¥Æ¥­¥¹¥È½èÍý¥¢¡¼¥­¥Æ¥¯¥Á¥ã¡×¤È¤ÎÂбþ´Ø·¸¤¬ÌÀ³Î¤ÊÊýË¡¤ÇÀß
+·×¤ò¹Ô¤Ê¤¦¤È¤¤¤¦Êý¿Ë¤ò¤È¤ë¡£
+
+°Ê²¼¤Ç¤Ï¤³¤ÎÂбþ´Ø·¸¤òÀâÌÀ¤¹¤ë¡£
+
+C ¥é¥¤¥Ö¥é¥ê¤¬Ä󶡤¹¤ë¥é¥¤¥Ö¥é¥ê´Ø¿ô¤Ï UNIX 98 ¡ÊUnix ¤Îɸ½à²½¤ò¼ê¤¬¤±
+¤Æ¤¤¤ë The OpenGroup ¤ÎºÇ¿·¤Î Unix ¤Ë´Ø¤¹¤ë»ÅÍ͡ˤˤè¤ì¤Ð 734 ¤¢¤ê¡¢¤½
+¤Î¤¦¤Á¡Ö¥Æ¥­¥¹¥È½èÍý¡×¤Ë´Ø¤¹¤ë¤â¤Î¤Ï 101 ¸Ä¤Ç¤¢¤ë¡£¤³¤ì¤é¤Î¤¦¤ÁÊ¿À®£±
+£´Ç¯ÅÙ¸å´ü¡ÁÊ¿À®£±£µÇ¯Å٤˳«È¯ºî¶È¤ò¹Ô¤Ê¤¦Í½Äê¤Ç¤¢¤ë¡Öm17n ´ðËÜ C ¥é¥¤¥Ö
+¥é¥ê¤«¤é´û¸¤Î¥í¥±¡¼¥ëµ¡Ç½¤òÍøÍѤ¹¤ë¼êË¡¤ÎÀ߷ספ˴ޤޤì¤ë¤Ù¤­¤â¤Î¤ò½ü
+¤¯¤È¡¢54 ¸Ä¤¬»Ä¤ë¡£¤½¤³¤Ç¡¢¡Öm17n ´ðËÜ C ¥é¥¤¥Ö¥é¥ê¡×¤Ç¤Ï¤³¤ì¤é 54 ¸Ä
+¤Î´Ø¿ô¤ËÂбþ¤¹¤ë´Ø¿ô¤òÄ󶡤¹¤ë¡£
+
+%appendix ¤ò³µÍפκǸå¤Ë¤¤¤ì¤ë¤Î¤«¤Ê¤¡¡£¡£¡£
+%mule:/project/mule/m17n-lib/README ¤Î APPENDIX A ¤Ë UNIX 98 
+%¤ÎÁ´ API ¤È m17n ´ðËÜ C ¥é¥¤¥Ö¥é¥ê¤È¤ÎÂбþ¤ò½ñ¤¤¤Æ¤¢¤ê¤Þ¤¹¡£
+
+¤Þ¤¿ X ¥é¥¤¥Ö¥é¥ê¤¬Ä󶡤¹¤ë¥é¥¤¥Ö¥é¥ê´Ø¿ô¤Ï 512 ¤¢¤ê¡¢¤½¤Î¤¦¤Á¡¢¡Ö¥Æ¥­
+¥¹¥È½èÍý¡×¤Ë´Ø¤¹¤ë¤â¤Î¤Ï 70 ¸Ä¤Ç¤¢¤ë¡£¡Öm17n X ¥é¥¤¥Ö¥é¥ê¡×¤Ç¤Ï¤³¤ì¤é 
+70 ¸Ä¤Î´Ø¿ô¤ËÂбþ¤¹¤ë´Ø¿ô¤òÄ󶡤¹¤ë¡£¤¿¤À¤·¤½¤Î¤¦¤Á 29 ¸Ä¤Ï¡Öm17n X ¥é
+¥¤¥Ö¥é¥ê¡×¤¬ÆâÉôŪ¤Ë½èÍý¤¹¤ë¤¿¤á API ¤È¤·¤ÆÄê¤á¤ëɬÍפ¬¤Ê¤¤¡£¤·¤¿¤¬¤Ã
+¤Æ¡¢»Ä¤ê¤Î 41 ¸Ä¤Î´Ø¿ô¤òÀ߷פ¹¤ë¡£
+
+%mule:/project/mule/m17n-lib/README ¤Î APPENDIX B ¤Ë X
+%library ¤ÎÁ´ API ¡Ê¤È»×¤ï¤ì¤ë¤â¤Î¡Ë¤È m17n ´ðËÜ C ¥é¥¤¥Ö¥é¥ê
+%¤È¤ÎÂбþ¤ò½ñ¤¤¤Æ¤¢¤ê¤Þ¤¹¡£
+
+¡Öm17n ¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤Ï¤³¤ì¤é¤Î¥é¥¤¥Ö¥é¥ê¤«¤éÍøÍѤµ¤ì¤ë¤â¤Î¤È¤·¤ÆÀß
+·×¤¹¤ë¡£¤â¤Á¤í¤ó¤³¤ì¤é¤Î¥é¥¤¥Ö¥é¥ê¤òÍøÍѤ¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à
+¤Î³«È¯¼Ô¤Ï¡¢É¬Íפ˱þ¤¸¤Æ¼«Í³¤Ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÄêµÁ¤·¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×
+¥í¥°¥é¥à¤«¤éÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
+
+Ëܳ«È¯¤Ç¤ÎÀ߷פÎÂоݤϡ¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÆâÍƤǤϤʤ¯¡¢¤½¤ÎÏÈÁȤߡ¢¤Ä¤Þ¤ê
+¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬Ä󶡤¹¤Ù¤­¾ðÊó¤Î¼ïÎà¤È·Á¼°¡¢¤½¤·¤Æ m17n ¥é¥¤¥Ö¥é¥ê¤¬¤½¤Î
+¾ðÊó¤ò¼èÆÀ¤¹¤ëÊýË¡¤Ç¤¢¤ë¡£
+
+¾ðÊó¤Î¼èÆÀÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢³¬ÁØÀ­¤òÍøÍѤ·¤Æ¸úΨŪ¤Ê¸¡º÷¤ò¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤­
+¤ë¤è¤¦À߷פ¹¤ë¡£Â¿¸À¸ì½èÍý¤ò¹Ô¤Ê¤¦ºÝ¤Ë¤Ï¡¢¸À¸ì¡¢¥í¥±¡¼¥ë¡¢¥¹¥¯¥ê¥×¥È¡¢Æþ
+ÎÏÊý¼°¤Ê¤É¤µ¤Þ¤¶¤Þ¤Ê¥¿¥°¤Çº÷°ú¤Å¤±¤é¤ì¤¿¡¢³¬ÁØÀ­¤ò»ý¤Ä¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é
+¤Î¾ðÊó¼èÆÀ¤¬É¬¿Ü¤Ç¤¢¤ë¡£¤³¤ì¤ËÂбþ¤¹¤ë¤¿¤á¡¢³¬ÁØÀ­¤òɽ¸½¤¹¤ëÊ£¿ô¤Î¥¿¥°
+¤Ë¤è¤Ã¤Æ¾ðÊó¤Î¼ïÎà¤ò»Ø¼¨¤Ç¤­¤ëÏÈÁȤߡʤâ¤Á¤í¤óñ¿ô¥¿¥°¤Ë¤âÍѤ¤¤ë¤³¤È¤¬
+¤Ç¤­¤ë¡Ë¤ò¼Â¸½¤¹¤ë¡£
+
+¥Ç¡¼¥¿¥Ù¡¼¥¹¤¬»ý¤Ä¾ðÊó¤Î¼ïÎà¤È·Á¼°¤Ë´Ø¤·¤Æ¤Ï¡¢ºÇ¤âÈÆÍÑŪ¤Ê·Á¼°¤òÄ󶡤·¡¢
+Ʊ»þ¤ËÆä˸úΨ¤òɬÍפȤ¹¤ë¾ì¹ç¤ËÆÃÄê¤Î¾ðÊó¤ËÂФ·¤ÆÍѤ¤¤é¤ì¤ëÆÃÊ̤ʷÁ¼°
+¤òÄ󶡤¹¤ë¤È¤¤¤¦Êý¿Ë¤ò¤È¤ë¡£¤³¤ì¤Ë¤è¤Ã¤ÆÈÆÍÑÀ­¤È¸úΨÀ­¤òξΩ¤µ¤»¤Æ¤¤¤ë¡£
+¶ñÂÎŪ¤Ë¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹¤òľÀÜ¡¢¾ðÊó¤Î¼ïÎà
+¤Ë¤Ä¤¤¤ÆÀ©¸Â¤Ê¤·¤ËÍøÍѤǤ­¤ë°ìÊý¤Ç¡¢Ê¸»úËè¤Î¾ðÊó¤Î¤è¤¦¤ÊÂçÎ̥ǡ¼¥¿¤Ë¤Ä
+¤¤¤Æ¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¤Î°ì³ç¼èÆÀ¤¬²Äǽ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
+
+¤³¤Î¡Öm17n ¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤ÎÏÈÁȤߤò¸¡¾Ú¤¹¤ë¤¿¤á¤Ë¡¢m17n ¥é¥¤¥Ö¥é¥ê¼«
+ÂΤ¬¼ÂºÝ¤Ë»È¤¦¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤·¤Æ¡¢Ê¸»ú¥»¥Ã¥È¡¢Ê¸»ú¤Î¥×¥í¥Ñ¥Æ¥£¡¢¥Õ¥©¥ó
+¥È¡¢ÆþÎϥ᥽¥Ã¥É¤Ë´Ø¤¹¤ë¤â¤Î¤Î°ìÉô¤ò»îºî¤¹¤ë¡£¤³¤ì¤é¤Î»îºî¤ÎºÝ¤Ë¤Ï¡¢¸½
+Unicode Ê¸»ú¤Ë¤Ä¤¤¤Æ¤Ï Unicode ¥³¥ó¥½¡¼¥·¥¢¥à
+\footnote{http://www.unicode.org/}¤ÎÄ󶡤¹¤ëUnicodeData.txt,
+Unihan.txt, SpecialCasing.txt¡¢Èó Unicode ¤ÎÈó CJK Ê¸»ú¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤½
+¤Î¼ï¤Îʸ»ú¥»¥Ã¥È¤Î¥Þ¥Ã¥×¾ðÊó¤ò¤â¤Ã¤È¤âÌÖÍåŪ¤Ë½¸¤á¤Æ¤¤¤ë IBM ¤Î ICU
+(International Components for
+Unicode)\footnote{http://oss.software.ibm.com/icu/}¡¢CJK Ê¸»ú¤Ë¤Ä¤¤¤Æ
+¤Ï¡¢¤½¤ì¤é¤Î¥Þ¥Ã¥×¾ðÊó¤ò¤â¤Ã¤È¤âÌÖÍåŪ¤Ë½¸¤á¤Æ¤¤¤ë¡¢°Â²¬¹§°ì»á¤Ë¤è¤ë´Á
+»ú¥Æ¡¼¥Ö¥ë¤Èʸ»ú½¸¹ç¥Æ¡¼¥Ö¥ë¤Î¥ê¥¹¥È
+\footnote{http://kanji.zinbun.kyoto-u.ac.jp/~yasuoka/CJK.html} ¤ò¥½¡¼¥¹¤È¤¹¤ë¡£
+
+\subsection{Ëܺî¶ÈǯÅ٤ˤª¤±¤ëµ»½Ñ³«È¯¹àÌܤÎÆâÍÆ}
+
+¤³¤³¤Ç¤Ï¡Öm17n´ðËÜC¥é¥¤¥Ö¥é¥ê¡×¤Î´ðËܵ¡Ç½¤ÎÀ߷ס¢¡Öm17n X¥é¥¤¥Ö¥é¥ê¡×
+¤Î´ðËܵ¡Ç½¤ÎÀß·× ¡¢¡Öm17n ¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤ÎÀ߷פγƹàÌܤ´¤È¤Ë¤½¤ÎÆâÍÆ
+¤òÀâÌÀ¤¹¤ë¡£
+
+\begin{enumerate}
+\input{m17n-basicC.tex}
+\input{m17n-X.tex}
+\input{m17n-database.tex}
+\end{enumerate}
+
+
diff --git a/data-ja/m17n-X.tex b/data-ja/m17n-X.tex
new file mode 100644 (file)
index 0000000..71f66e0
--- /dev/null
@@ -0,0 +1,95 @@
+%% -*- coding: euc-jp; -*-
+\item ¡Öm17n X¥é¥¤¥Ö¥é¥ê¡×¤Î´ðËܵ¡Ç½¤ÎÀß·× 
+
+½¾Íè¡¢±Ñ¸ì°Ê³°¤Î¥Æ¥­¥¹¥È¤òɽ¼¨¤·¤¿¤êÆþÎϤ·¤¿¤ê¤¹¤ë¤¿¤á¤Ë¤Ï¡¢³Æ¥¢¥×¥ê¥±¡¼
+¥·¥ç¥ó¥×¥í¥°¥é¥à¤¬¤½¤Î¤¿¤á¤ÎÊ£»¨¤Ê¥³¡¼¥É¤ò»ý¤ÄɬÍפ¬¤¢¤Ã¤¿¡£¡Öm17n X¥é
+¥¤¥Ö¥é¥ê¡×¤Ç¤Ï¡¢±Ñ¸ì°Ê³°¤ò¤â´Þ¤à¿¸À¸ì¥Æ¥­¥¹¥È¤ò´ÊÊؤËɽ¼¨¤·ÆþÎϤ¹¤ë¤³
+¤È¤¬¤Ç¤­¤ë API ¤òÀ߷פ¹¤ë¤³¤È¤òÌÜɸ¤È¤·¤¿¡£
+
+Æþ½ÐÎϤ˴ؤ·¤Æ¤Ï¡¢»ÈÍѤ·¤Æ¤¤¤ë¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à¤Ë±þ¤¸¤¿¥é¥¤¥Ö¥é¥ê¤¬É¬
+ÍפȤʤ롣Ëܵ»½Ñ³«È¯¤Ç¤Ï¡¢¸½ºß Unix/Linux ÍøÍѼԤ˹­¤¯ÍѤ¤¤é¤ì¤Æ¤¤¤ëX 
+¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à¾å ¤Ç M-text ¤Çɽ¤ï¤µ¤ì¤ë¿¸À¸ì¥Æ¥­¥¹¥È¤òɽ¼¨¤·¡¢ÆþÎÏ
+¤¹¤ëµ¡Ç½¤Î´ðËÜÉôʬ¤Î¤¿¤á¤Î API ¤òÀ߷פ·¤¿¡£À߷פˤ¢¤¿¤Ã¤Æ¤Ï¡¢ X ¥é¥¤¥Ö
+¥é¥ê¤ä¡¢²áµî¤Ë²æ¡¹¼«¿È¤¬¹Ô¤Ê¤Ã¤Æ¤­¤¿¥¨¥Ç¥£¥¿¤Î¿¸À¸ì²½¤Î·Ð¸³¤Ë´ð¤Å¤¤¤Æ¸¡
+Ƥ¤ò¹Ô¤Ê¤Ã¤¿¡£¸¡Æ¤¤Î·ë²ÌÆÀ¤é¤ì¤¿ API ¤Ï¡¢¿·¤¿¤ËÄêµÁ¤µ¤ì¤¿¹½Â¤ÂΠM-text 
+¤ËÂбþ¤¹¤ë¤¿¤á¤Ë X ¥é¥¤¥Ö¥é¥ê¤Î¥Æ¥­¥¹¥È½èÍýµ¡Ç½¤ò³ÈÄ¥¤·¤¿¤â¤Î¤È¡¢
+M-text ¤Î¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤È¤¤¤¦»ÅÁȤߤòÍѤ¤¤Æɽ¼¨¤Ë´Ø¤¹¤ë¾ðÊó¤òÊÝ»ý
+¤¹¤ë¤â¤Î¤ËÂçÊ̤Ǥ­¤ë¡£
+
+¿¸À¸ì¥Æ¥­¥¹¥È¤Îɽ¼¨¤ò¹Ô¤Ê¤¦¤¿¤á¤Î API ¤Ç¤Ï¡¢É½¼¨¤ËɬÍפʾðÊó¤ò¼«Æ°Åª¤Ë
+·èÄꤹ¤ë¤³¤È¤¬¤Ç¤­¡¢¤«¤Ä¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤«¤é¤½¤Î·èÄê¤ò¥³¥ó¥È
+¥í¡¼¥ë¤Ç¤­¤ë¤³¤È¤òÌÜɸ¤È¤·¤ÆÀ߷פ·¤¿¡£É½¼¨¤ËɬÍפʾðÊó¤È¤Ï¡¢¥Æ¥­¥¹¥È¤Î
+³Æʸ»ú¤¬¤É¤Î¥Õ¥©¥ó¥È¤òÍѤ¤¤ì¤Ðɽ¼¨¤Ç¤­¤ë¤«¡¢Ê£»¨¤Êʸ»ú¹çÀ®¤¬É¬Íפʥ¹¥¯
+¥ê¥×¥È¤òɽ¼¨¤¹¤ëºÝ¤Ë¤Ï¤É¤Î¤è¤¦¤Ê¥ë¡¼¥Æ¥£¥ó¤¬É¬Íפ«¡¢¤Ê¤É¤Ç¤¢¤ë¡£
+
+¿¸À¸ì¥Æ¥­¥¹¥È¤ÎÆþÎϤò¹Ô¤Ê¤¦¤¿¤á¤Î API ¤Ç¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à
+¤¬Ê£¿ô¤Î¸À¸ì¤½¤ì¤¾¤ì¤ËÂбþ¤·¤¿³ÆÆþÎϥ᥽¥Ã¥É¤ò¡¢Æ±»þ¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç
+¤­¤ë¤³¤È¤òÌÜɸ¤È¤·¤ÆÀ߷פ·¤¿¡£
+
+\begin{enumerate}
+
+\item ½¾Íè¤ÎX¥é¥¤¥Ö¥é¥ê¤Îfontset¤ò°·¤¦´Ø¿ô¤òM-textÍѤ˳ÈÄ¥¤¹¤ëµ¡Ç½¤ÎÀß·×
+
+X¥é¥¤¥Ö¥é¥ê¤Îfontset¤ò°·¤¦´Ø¿ô¤òM-textÍѤ˳ÈÄ¥¤¹¤ë¤¿¤á¤Ë¡¢°Ê²¼¤Î¤â¤Î¤ò
+À߷פ·¤¿¡£
+
+     \begin{itemize}
+     \item M-textɽ¼¨ÍѤ˳ÈÄ¥¤µ¤ì¤¿fontset¤Î¹½Â¤ÂÎ\par 
+       ¹½Â¤ÂΠ\IPAref{MFontset}¤òÀ߷פ·¤¿¡£
+     \item fontset¤Î¹½Â¤ÂΤòÀ¸À®¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mfontset}¤òÀ߷פ·¤¿¡£
+     \end{itemize}
+     
+\item M-text¤Ë¤ª¤±¤ëɽ¼¨¾åɬÍפʥƥ­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤òÉղ乤뵡ǽ¤ÎÀß·×
+
+¤¢¤ë M-text¤ò X Window ¾å¤Çɽ¼¨¤¹¤ëºÝ¤Ë¤Ï¡¢M-text ¤ËŬÀڤʥƥ­¥¹¥È¥×¥í
+¥Ñ¥Æ¥£¤òÉղ乤ëɬÍפ¬¤¢¤ë¡£¤³¤Î¤¿¤á¤Ë°Ê²¼¤Î´Ø¿ô¤òÀ߷פ·¤¿¡£
+
+     \begin{itemize}
+     \item ¡Öm17n¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤«¤éÆÀ¤é¤ì¤ë¾ðÊó¤ò¸µ¤Ë¡¢M-text
+       Ãæ¤Î³Æʸ»ú¤òɽ¼¨¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¥Õ¥©¥ó¥È¤Î¾ðÊó¤ò¡¢¥Æ¥­¥¹¥È¥×
+       ¥í¥Ñ¥Æ¥£¤È¤·¤ÆÉղ乤뵡ǽ\par ´Ø¿ô \IPAref{mdraw_add_font}¤òÀß
+       ·×¤·¤¿¡£
+
+      \item ¡Öm17n¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤«¤éÆÀ¤é¤ì¤ë¾ðÊó¤ò¸µ¤ËM-text¤òɽ¼¨¤¹
+       ¤ë¾ì¹ç¤Ë¡¢¹Ôʬ³ä²ÄǽÅÀ¤òȽÃǤ¹¤ë¤¿¤á¤Î´Ø¿ô¤ò¡¢¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£
+       ¤È¤·¤ÆÉղ乤뵡ǽ\par ´Ø¿ô 
+       \IPAref{mtext_put_linebreaker_prop}¤òÀ߷פ·¤¿¡£¡Ê¥é¥¤¥Ö¥é¥êÁ´
+       ÂΤÎÀ߷פò¸¡Æ¤¤·¤¿·ë²Ì¡¢m17n ´ðËÜC¥é¥¤¥Ö¥é¥ê¤Î°ìÉô¤È¤·¤ÆÀ߷פ·
+       ¤¿¡£¡Ë
+
+     \end{itemize}
+     
+\item ½¾Íè¤ÎX¥é¥¤¥Ö¥é¥ê¤Îʸ»úÎóɽ¼¨´Ø¿ô¤òM-textÍѤ˳ÈÄ¥¤¹¤ëµ¡Ç½¤ÎÀß·×
+
+½¾Íè¤ÎX¥é¥¤¥Ö¥é¥ê¤Îʸ»úÎóɽ¼¨´Ø¿ô¤Ï¡¢M-text ¤Ë¤½¤Î¤Þ¤ÞŬÍѤ¹¤ë¤³¤È¤¬¤Ç
+¤­¤Ê¤¤¡£¤½¤³¤ÇM-text¤Çɽ¸½¤µ¤ì¤¿Ê¸»úÎó¤ËÂФ·¤ÆƱÅù¤Îɽ¼¨¤¬¤Ç¤­¤ë¤è¤¦³È
+Ä¥¤¹¤ë¤¿¤á¤Ë¡¢°Ê²¼¤Î¤â¤Î¤òÀ߷פ·¤¿¡£
+
+     \begin{itemize}
+     \item X¥é¥¤¥Ö¥é¥ê¤Î¹½Â¤ÂÎTextItem¤òM-textÍѤ˳ÈÄ¥¤·¤¿¹½Â¤ÂÎ\par 
+       ¹½Â¤ÂΠ\IPAref{MTextItem}¤òÀ߷פ·¤¿¡£
+      \item M-text¤Î»ØÄꤷ¤¿ÈϰϤÎʸ»ú¤ò¡¢¥Ç¥£¥¹¥×¥ì¥¤¤Î»ØÄꤷ¤¿°ÌÃÖ¤Ëɽ¼¨¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mdraw_text}¤òÀ߷פ·¤¿¡£
+      \item M-text¤Î»ØÄꤷ¤¿ÈϰϤÎʸ»ú¤ò¡¢¥Ç¥£¥¹¥×¥ì¥¤¤Î»ØÄꤷ¤¿°ÌÃ֤˥¤¥á¡¼¥¸¤È¤·¤Æɽ¼¨¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mdraw_image_text}¤òÀ߷פ·¤¿¡£
+      \item Ê£¿ô¤ÎM-text¤ò¥Ç¥£¥¹¥×¥ì¥¤¤Î»ØÄꤷ¤¿°ÌÃÖ¤Ëɽ¼¨¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mdraw_text_items}¤òÀ߷פ·¤¿¡£ 
+      \item M-text¤òɽ¼¨¤¹¤ëºÝ¤Îɽ¼¨¥¨¥ê¥¢¤ÎÂ礭¤µ¤òÊÖ¤¹µ¡Ç½\par 
+       ´Ø¿ô \IPAref{mdraw_text_extents}¤òÀ߷פ·¤¿¡£
+      \item M-text¤òɽ¼¨¤¹¤ëºÝ¤Î³Æʸ»úËè¤Îɽ¼¨¥¨¥ê¥¢¤ÎÂ礭¤µ¤òÊÖ¤¹µ¡Ç½\par 
+       ´Ø¿ô \IPAref{mdraw_per_char_extents}¤òÀ߷פ·¤¿¡£ 
+     \end{itemize}
+     
+\item ½¾Íè¤ÎX¥é¥¤¥Ö¥é¥ê¤Îʸ»úÎóÆþÎÏ´Ø¿ô¤òM-textÍѤ˳ÈÄ¥¤¹¤ëµ¡Ç½¤ÎÀß·×
+
+½¾Íè¤ÎX¥é¥¤¥Ö¥é¥ê¤Îʸ»úÎóÆþÎÏ´Ø¿ô¤Ï¡¢M-text ¤Ë¤½¤Î¤Þ¤ÞŬÍѤ¹¤ë¤³¤È¤¬¤Ç
+¤­¤Ê¤¤¡£¤½¤³¤ÇM-text¤Çɽ¸½¤µ¤ì¤ëʸ»úÎóÆþÎÏÍѤ˳ÈÄ¥¤¹¤ë¤¿¤á¤Ë¡¢°Ê²¼¤Î¤â
+¤Î¤òÀ߷פ·¤¿¡£
+
+     \begin{itemize}
+     \item X¤ÎÆþÎϥ᥽¥Ã¥É¤ò»ÈÍѤ·¤ÆÆþÎϤµ¤ì¤¿¥Æ¥­¥¹¥È¤ò¡¢M-text¤È¤·¤Æ
+       ÊÖ¤¹µ¡Ç½\par ´Ø¿ô \IPAref{mim_lookup_text}¤òÀ߷פ·¤¿¡£
+     \end{itemize}
+     
+\end{enumerate}
diff --git a/data-ja/m17n-basicC.tex b/data-ja/m17n-basicC.tex
new file mode 100644 (file)
index 0000000..0d9fc42
--- /dev/null
@@ -0,0 +1,204 @@
+%% -*- coding: euc-jp; -*-
+\item ¡Öm17n´ðËÜC¥é¥¤¥Ö¥é¥ê¡×¤Î´ðËܵ¡Ç½¤ÎÀß·×
+
+Ëܵ»½Ñ³«È¯¤Ç¤Ï¡¢Â¿¸À¸ì¥Æ¥­¥¹¥ÈÍѤΠC ¤Î¥Ç¡¼¥¿¹½Â¤¤È¤·¤Æ M-text ¤òÄó°Æ
+¤·¡¢¤³¤Î¹½Â¤ÂΤò½èÍý¤ª¤è¤ÓÍøÍѤ¹¤ë¤¿¤á¤Î´ðËܵ¡Ç½¤ò¼Â¸½¤¹¤ë¤¿¤á¤Î API 
+¤òÀ߷פ·¤¿¡£¤³¤ì¤é¤Îµ¡Ç½¤ÎÌÜɸ¤Ï¡¢³Æ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤¬¡¢½¾Íè
+¤Î C-string ¤ÈƱÅù¤Ë M-text ¤ò°·¤¦¤³¤È¡¢¤½¤·¤Æ M-text ¤Î½ÅÍפÊÀ­¼Á¤Ç¤¢
+¤ë¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤òÍưפËÁàºî¤¹¤ë¤³¤È¡¢¤Î£²ÅÀ¤ò¼Â¸½¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£
+
+¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤¬Â¿¸À¸ìʸ½ñ¤ò°·¤¦¾ì¹ç¤Ë¤Ï¡¢¾ï¤ËɬÍפȤʤë´ð
+ËÜŪ¤Êµ¡Ç½¤¬Â¸ºß¤¹¤ë¡£Ëܥ饤¥Ö¥é¥ê¤ÎÀ߷פˤ¢¤¿¤Ã¤Æ¤Ï¡¢É¸½àŪ¤Ê C ¥é¥¤
+¥Ö¥é¥ê¤Î¥Æ¥­¥¹¥È½èÍý´Ø¿ô¤ä¡¢²áµî¤Ë²æ¡¹¼«¿È¤¬¹Ô¤Ê¤Ã¤Æ¤­¤¿¥¨¥Ç¥£¥¿¤Î¿¸À¸ì
+²½¤Î·Ð¸³¤Ê¤É¤«¤é¸¡Æ¤¤·¤¿·ë²Ì¡¢¤½¤Î¤è¤¦¤Ê´ðËܵ¡Ç½¤ÎɬÍ׺ÇÄã¸Â¤Î¤â¤Î¤È¤·
+¤Æ°Ê²¼¤òÀö¤¤½Ð¤·¤¿¡£¡Öm17n´ðËÜC¥é¥¤¥Ö¥é¥ê¡×¤Ï°Ê²¼¤Î´ðËܵ¡Ç½¤ò¥¢¥×¥ê¥±¡¼
+¥·¥ç¥ó¥×¥í¥°¥é¥à¤ËÄ󶡤¹¤ë¤â¤Î¤Ç¤¢¤ê¡¢Ëܳ«È¯¤Ç¤Ï¤½¤Î¤¿¤á¤Î API ¤òÀß·×
+¤·¤¿¡£
+
+     \begin{itemize}
+
+     \item Â¿¸À¸ì¥Æ¥­¥¹¥È¤òɽ¤ï¤¹¥é¥¤¥Ö¥é¥êÆâÉô¤Î¹½Â¤ÂÎM-text¡¢¤Ê¤é¤Ó
+     ¤ËM-text¤Î½èÍý¤Ë´Ø¤ï¤ë¥é¥¤¥Ö¥é¥êÆâÉô¤Î¹½Â¤ÂΡ£
+
+     \item M-text¤ÎÀ¸À®¡¢´ÉÍýµÚ¤ÓÆâÉô¤Îʸ»ú¤Ø¤Î¥¢¥¯¥»¥¹µ¡Ç½¡£
+
+     \item ¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤Î½èÍýµ¡Ç½¡£¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤È¤Ï¡¢Â¿¸À
+     ¸ì¥Æ¥­¥¹¥È¤Ë´Ø¤¹¤ë¤µ¤Þ¤¶¤Þ¤Ê°À­¤òɽ¤ï¤¹¾ðÊó¤Ç¤¢¤ê¡¢¹½Â¤ÂΠM-text 
+     ¤ò»È¤Ã¤Æ¿¸À¸ì¥Æ¥­¥¹¥È¤ËÉղ䵤ì¤ë¡£
+
+     \item C-stringµÚ¤ÓM-text´Ö¤Ë¤ª¤±¤ë¥Ç¥³¡¼¥ÀµÚ¤Ó¥¨¥ó¥³¡¼¥Àµ¡Ç½¡£
+     Â¿Íͤʥե©¡¼¥Þ¥Ã¥È¤Ç¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Æ¥­¥¹¥È¤È M-text ¤Î´Ö¤Ç
+     ÊÑ´¹¤ò¹Ô¤Ê¤¦¡£
+
+     \item ½¾Íè¤ÎC¥é¥¤¥Ö¥é¥ê ¤Ë¤ª¤¤¤ÆC-string¤ò°·¤¦½èÍý¤ËÁêÅö¤¹¤ë¡¢
+     M-text¤ò°·¤¦½èÍýµ¡Ç½¡£
+
+     \item Â¿¸À¸ì½èÍý¤ËɬÍפʾðÊó¤òM-text¤ËÉղ乤뵡ǽ¡£
+
+     \end{itemize}
+
+m17n ¥é¥¤¥Ö¥é¥ê¤Ïʸ»ú¤ò 21 ¥Ó¥Ã¥È°Ê¾å¤ÎÈóÉéÀ°¿ô¤Çɽ¤ï¤¹¡£¤½¤Î¤¦¤Á 0 ¤«¤é 
+0x10FFFF ¤Þ¤Ç¤Ï Unicode ¤ò¤½¤Î¤Þ¤Þ¥Þ¥Ã¥×¤·¤¿¤â¤Î¤Ç¤¢¤ë¡£¤¹¤Ê¤ï¤Á¡¢
+Unicode ¤Î¤¹¤Ù¤Æ¤Îʸ»ú¤Î¾¡¢¤½¤ì¤ÈƱ¤¸¤À¤±¤Î¿ô¤ÎÈó Unicode Ê¸»ú¤ò°·¤¦
+¤³¤È¤¬¤Ç¤­¤ëµðÂç¤Êʸ»ú¶õ´Ö¤ò°·¤¦¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤ÎµðÂç¶õ´ÖÆâ¤Ç¡¢Ê¸»úËè
+¤Î¾ðÊó¤ò¸úΨÎɤ¯³ÊǼ¤¹¤ë¤¿¤á¤ËÆÃÊ̤ʹ½Â¤ÂΠCharTable ¤òÀ߷פ·¤¿¡£
+
+
+°Ê²¼¤Ç¤Ï¡¢¾åµ­³Æµ¡Ç½¼Â¸½¤Î¤¿¤á¤Ë³«È¯¤·¤¿ÆâÍƤˤĤ¤¤ÆÀâÌÀ¤¹¤ë¡£
+
+\begin{enumerate}
+
+\item Â¿¸À¸ì¥Æ¥­¥¹¥È¤òɽ¤ï¤¹¥é¥¤¥Ö¥é¥êÆâÉô¤Î¹½Â¤ÂÎM-text¡¢¤Ê¤é¤Ó¤Ë 
+M-text¤Î½èÍý¤Ë´Ø¤ï¤ë¥é¥¤¥Ö¥é¥êÆâÉô¤Î¹½Â¤ÂÎ
+
+m17n ¥é¥¤¥Ö¥é¥ê¤Ï¡¢Ä̾ï C ¸À¸ì¤ÇÍѤ¤¤é¤ì¤ë C-string (\texttt{char *} ¤ä 
+\texttt{unsigned char *}) ¤Ç¤Ï¤Ê¤¯¡¢ M-text ¤È¸Æ¤ÖÆÃÊ̤ʥª¥Ö¥¸¥§¥¯¥È¤ò»È¤Ã¤Æ¥Æ
+¥­¥¹¥È¤òɽ¸½¤¹¤ë¡£M-text ¤ÏŤµ0°Ê¾å¤Îʸ»ú¤ÎÎ󤫤é¤Ê¤ê¡¢¤µ¤Þ¤¶¤Þ¤Êʸ»ú
+¤Î¥½¡¼¥¹¡ÊÎ㤨¤Ð C-string¡¢¥Õ¥¡¥¤¥ë¡¢Ê¸»úÅù¡Ë¤«¤éºîÀ®¤Ç¤­¤ë¡£
+
+M-text ¤Ï C-string ¤È¤Ï°Û¤Ê¤ê¡¢Èó¾ï¤Ë¿¤¯¤Î¼ïÎà¤Îʸ»ú¤ò¡¢Æ±»þ¤Ë¡¢º®ºß
+¤µ¤»¤Æ¡¢Æ±Åù¤Ë°·¤¦¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤ì¤Ï¿¸À¸ì¥Æ¥­¥¹¥È¤ò°·¤¦¾å¤Ç¤Ïɬ¿Ü¤Î
+µ¡Ç½¤Ç¤¢¤ë¡£¤³¤Î¤¿¤á¤Ë°Ê²¼¤Î¹½Â¤ÂΤòÀ߷פ·¤¿¡£
+
+     \begin{itemize}
+     \item M-text¹½Â¤ÂÎ\par ¹½Â¤ÂΠ\IPAref{MText}¤òÀ߷פ·¤¿¡£
+     \item M-text¤ÎÃæ¤Î¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤Î¹½Â¤ÂÎ\par ¹½Â¤ÂΠ\IPAref{MText->MPlist}¤òÀ߷פ·¤¿¡£
+     \item C-string¤«¤éM-text¤Ø¤ÎÊÑ´¹¤Î¤¿¤á¤Î¹½Â¤ÂÎ\par ¹½Â¤ÂΠ\IPAref{MCodingSystem} ¤È \IPAref{MConverter}¤òÀ߷פ·¤¿¡£
+     \item M-text¤«¤éC-string¤Ø¤ÎÊÑ´¹¤Î¤¿¤á¤Î¹½Â¤ÂÎ\par ¹½Â¤ÂΠ\IPAref{MCodingSystem} ¤È \IPAref{MConverter}¤òÀ߷פ·¤¿¡£
+     \end{itemize}
+
+\item M-text¤ÎÀ¸À®¡¢´ÉÍýµÚ¤ÓÆâÉô¤Îʸ»ú¤Ø¤Î¥¢¥¯¥»¥¹µ¡Ç½
+
+M-text ¤ËÂФ¹¤ë¤â¤Ã¤È¤â´ðËÜŪ¤Ê¥ì¥Ù¥ë¤Îµ¡Ç½¤ò¼Â¸½¤¹¤ë¤¿¤á¡¢°Ê²¼¤òÀ߷פ·¤¿¡£ 
+
+     \begin{itemize}
+     \item ¶õ¤ÎM-text¤òÊÖ¤¹µ¡Ç½\par ´Ø¿ô \IPAref{mtext}¤òÀ߷פ·¤¿¡£
+     \item M-text¤È¤·¤Æ³äÅö¤é¤ì¤¿¥á¥â¥ê¤ò²òÊü¤¹¤ëµ¡Ç½ \par 
+           ´Ø¿ô\IPAref{mtext_free}¤òÀ߷פ·¤¿¡£
+     \item M-textÃæ¤Î»ØÄꤷ¤¿°ÌÃÖ¤Îʸ»ú¤òÊÖ¤¹µ¡Ç½ \par
+           ´Ø¿ô \IPAref{mtext_ref_char}¤òÀ߷פ·¤¿¡£
+     \item M-textÃæ¤Î»ØÄꤷ¤¿°ÌÃ֤˻ØÄꤷ¤¿Ê¸»ú¤òÆþ¤ì¤ëµ¡Ç½ \par
+           ´Ø¿ô \IPAref{mtext_set_char}¤òÀ߷פ·¤¿¡£
+     \item M-textÃæ¤Î»ØÄꤷ¤¿°ÌÃÖ \texttt{FROM} ¤«¤é¡¢
+           »ØÄꤷ¤¿°ÌÃÖ \texttt{TO} ¤Î´Ö¤Î¥Æ¥­¥¹¥È¤ò¼è¤ê½Ð¤¹µ¡Ç½ \par
+          ´Ø¿ô \IPAref{mtext_duplicate}¤òÀ߷פ·¤¿¡£
+     \end{itemize}
+
+\item ¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤Î½èÍýµ¡Ç½
+
+M-text Æâ¤Î³Æʸ»ú¤Ï¡¢¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤È¸Æ¤Ö¥×¥í¥Ñ¥Æ¥£¤ò»ý¤Ä¤³¤È¤¬¤Ç
+¤­¤ë¡£¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤Ë¤è¤Ã¤Æ¡¢¥Æ¥­¥¹¥È¤Î³ÆÉô°Ì¤Ë´Ø¤¹¤ëÍÍ¡¹¤Ê¾ðÊó¤ò
+M-text Æâ¤ËÊÝ»ý¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤½¤Î¤¿¤á¡¢¤½¤ì¤é¤Î¾ðÊó¤ò¥¢¥×¥ê¥±¡¼¥·¥ç
+¥óÆâ¤ÇÅý°ìŪ¤Ë°·¤¦¤³¤È¤¬¤Ç¤­¤ë¡£¤Þ¤¿¡¢M-text ¼«ÂΤ¬Ë­É٤ʾðÊó¤ò»ý¤Ã¤Æ
+¤¤¤ë¤¿¤á¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥óÃæ¤Î³Æ´Ø¿ô¤ò´ÊÁDz½¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
+
+¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤Ë´Ø¤¹¤ë½èÍýµ¡Ç½¤ò¼Â¸½¤¹¤ë¤¿¤á¤Ë¡¢°Ê²¼¤òÀ߷פ·¤¿¡£ 
+
+     \begin{itemize}
+     \item ¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤È¤·¤Æ»ØÄê¤Ç¤­¤ë¥·¥ó¥Ü¥ë¤òÊÖ¤¹µ¡Ç½\par 
+       ´Ø¿ô \IPAref{msymbol}¤òÀ߷פ·¤¿¡£
+      \item M-textÃæ¤Î»ØÄꤷ¤¿°ÌÃ֤ˤª¤±¤ë¡¢»ØÄꤷ¤¿¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤Î¥È¥Ã¥×¤ÎÃͤòÊÖ¤¹µ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_get_prop}¤òÀ߷פ·¤¿¡£
+      \item M-textÃæ¤Î»ØÄꤷ¤¿°ÌÃ֤ˤª¤±¤ë¡¢»ØÄꤷ¤¿¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤ÎÁ´¤Æ¤ÎÃͤòÊÖ¤¹µ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_get_prop_values}¤òÀ߷פ·¤¿¡£
+      \item M-textÃæ¤Î»ØÄꤷ¤¿°ÌÃ֤ˡ¢»ØÄꤷ¤¿¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤ÎÃͤòÀßÄꤹ¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_put_prop}¤òÀ߷פ·¤¿¡£
+      \item M-textÃæ¤Î»ØÄꤷ¤¿°ÌÃ֤ˡ¢»ØÄꤷ¤¿¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤ÎÃͤò¡¢Ê£¿ô¤Þ¤È¤á¤ÆÀßÄꤹ¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_put_prop_values}¤òÀ߷פ·¤¿¡£
+      \item M-textÃæ¤Î»ØÄꤷ¤¿°ÌÃ֤ˡ¢¿·¤¿¤Ë»ØÄꤷ¤¿¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤ÎÃͤòÄɲ乤뵡ǽ\par 
+       ´Ø¿ô \IPAref{mtext_push_prop}¤òÀ߷פ·¤¿¡£
+      \item M-textÃæ¤Î»ØÄꤷ¤¿°ÌÃ֤ˤª¤±¤ë¡¢»ØÄꤷ¤¿¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤Î¥È¥Ã¥×¤ÎÃͤòºï½ü¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_pop_prop}¤òÀ߷פ·¤¿¡£
+      \item M-textÃæ¤Î»ØÄꤷ¤¿°ÌÃ֤ˤª¤±¤ë¡¢»ØÄꤷ¤¿¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤ÎÃͤò¡¢»ØÄꤷ¤¿´Ø¿ô¤Ë¤è¤Ã¤ÆÊѹ¹¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_change_prop}¤òÀ߷פ·¤¿¡£
+      \item M-textÃæ¤Î»ØÄꤷ¤¿°ÌÃְʹߤǡ¢»ØÄꤷ¤¿¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤ÎÃͤ¬ÊѤï¤ë°ÌÃÖ¤òÊÖ¤¹µ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_prop_range}¤òÀ߷פ·¤¿¡£
+      \item M-textÃæ¤Î»ØÄꤷ¤¿°ÌÃÖ°ÊÁ°¤Ç¡¢»ØÄꤷ¤¿¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤ÎÃͤ¬ÊѤï¤ë°ÌÃÖ¤òÊÖ¤¹µ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_prop_range}¤òÀ߷פ·¤¿¡£
+     \end{itemize}
+     
+\item C-stringµÚ¤ÓM-text´Ö¤Ë¤ª¤±¤ë¥Ç¥³¡¼¥ÀµÚ¤Ó¥¨¥ó¥³¡¼¥Àµ¡Ç½
+
+À¤³¦Ãæ¤Ç¥Í¥Ã¥È¥ï¡¼¥¯¤òήÄ̤·¡¢¥Õ¥¡¥¤¥ë¤ËÊݸ¤µ¤ì¡¢¥­¡¼¥Ü¡¼¥É¤«¤éÆþÎϤµ
+¤ì¤ëʸ»ú¤Ï¡¢¤µ¤Þ¤¶¤Þ¤ÊÊýË¡¤Ç¥¨¥ó¥³¡¼¥É¤µ¤ì¤Æ¤¤¤ë¡£Â¿¸À¸ì½èÍý¤Î¤¿¤á¤Ë¤Ï¡¢
+ÆÃÄê¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Çɽ¤ï¤µ¤ì¤¿Ê¸»úÎó¤ò M-text ¤Ë¡¢¤½¤·¤Æ M-text ¤ò»Ø
+Äꤷ¤¿¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ç¤Îɽ¸½¤Ø¤ÈÊÑ´¹¤¹¤ë¼êË¡¤¬É¬ÍפǤ¢¤ë¡£
+
+¤³¤Î¤¿¤á¤Ë¡¢°Ê²¼¤òÀ߷פ·¤¿¡£
+
+     \begin{itemize}
+     \item ¥Ç¥³¡¼¥À¤ò½é´ü²½¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mconverter}¤òÀ߷פ·¤¿¡£
+      \item ¥¨¥ó¥³¡¼¥À¤ò½é´ü²½¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mconverter}¤òÀ߷פ·¤¿¡£
+      \item C¤Îʸ»úÎó¤ò»ØÄꤷ¤¿¥Ç¥³¡¼¥À¤ÇM-text¤ËÊÑ´¹¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_decode}¤òÀ߷פ·¤¿¡£
+      \item M-text¤ò»ØÄꤷ¤¿¥¨¥ó¥³¡¼¥À¤ÇC¤Îʸ»úÎó¤ËÊÑ´¹¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_encode}¤òÀ߷פ·¤¿¡£
+     \end{itemize}
+     
+Ëܥ饤¥Ö¥é¥ê¤¬¥µ¥Ý¡¼¥È¤¹¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Êý¼°¤Ï UTF-8¡¢UTF-16¡¢
+ISO-2022¡¢DIRECT-CHARSET¡¢¤½¤Î¾¤ËÂçÊ̤µ¤ì¤ë¡£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬Æȼ«¤Ë 
+¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Êý¼°¤òÄɲ乤뤳¤È¤â¤Ç¤­¤ë¡£¸Ä¡¹¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¥Ð
+¥¤¥ÈÎó¤ò»ØÄꤵ¤ì¤¿¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Êý¼°¤Ë¤è¤Ã¤Æ¥Ç¥³¡¼¥É¤·¤ÆM-text ¤òÆÀ
+¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤Þ¤¿µÕ¤Ë»ØÄꤵ¤ì¤¿¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°Êý¼°¤ò¤Ë¤è¤Ã¤Æ 
+M-text ¤ò¥¨¥ó¥³¡¼¥É¤·¥Ð¥¤¥ÈÎó¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
+
+\item ½¾Íè¤ÎC¥é¥¤¥Ö¥é¥ê ¤Ë¤ª¤¤¤ÆC-string¤ò°·¤¦½èÍý¤ËÁêÅö¤¹¤ë¡¢M-text¤ò°·¤¦½èÍýµ¡Ç½¤ÎÀß·×
+
+C¸À¸ì¤Îɸ½à¥é¥¤¥Ö¥é¥ê´Ø¿ô¤È¤·¤Æ¡¢°ìÏ¢¤Îʸ»úÎó½èÍý´Ø¿ô¤¬¹­¤¯Ä󶡤µ¤ì¡¢
+ÍѤ¤¤é¤ì¤Æ¤¤¤ë¡£¤³¤ì¤é¤Ï C-string ¤òÂоݤȤ¹¤ë¤â¤Î¤Ç¤¢¤ê¡¢M-text ¤Ë¤½
+¤Î¤Þ¤ÞŬÍѤ¹¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£¤½¤³¤ÇM-text¤Çɽ¸½¤µ¤ì¤¿Ê¸»úÎó¤ËÂФ·¤ÆƱ
+Åù¤Î½èÍýµ¡Ç½¤òÄ󶡤¹¤ë¤â¤Î¤È¤·¤Æ°Ê²¼¤Î´Ø¿ô¤òÀ߷פ·¤¿¡£
+
+     \begin{itemize}
+     \item Ê¸»úÎó¤òÏ¢·ë¤¹¤ë´Ø¿ô\texttt{strcat}¤ËÁêÅö¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_cat}¤òÀ߷פ·¤¿¡£
+     \item Ê¸»úÎó¤òºÇÂçn¸ÄÏ¢·ë¤¹¤ë´Ø¿ô\texttt{strncat}¤ËÁêÅö¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_ncat}¤òÀ߷פ·¤¿¡£
+     \item Ê¸»úÎó¤ò¥³¥Ô¡¼¤¹¤ë´Ø¿ô\texttt{strcpy}¤ËÁêÅö¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_cpy}¤òÀ߷פ·¤¿¡£
+     \item Ê¸»úÎó¤òºÇÂçn¸Ä¥³¥Ô¡¼¤¹¤ë´Ø¿ô\texttt{strncpy}¤ËÁêÅö¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_ncpy}¤òÀ߷פ·¤¿¡£
+     \item Ê¸»úÎóÃæ¤Ç¡¢ÆÃÄê¤Îʸ»ú¤¬ºÇ½é¤Ë¸½¤ì¤¿°ÌÃÖ¤òÊÖ¤¹´Ø¿ô\texttt{strchr}¤ËÁêÅö¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_chr}¤òÀ߷פ·¤¿¡£
+     \item Ê¸»úÎóÃæ¤Ç¡¢ÆÃÄê¤Îʸ»ú¤¬ºÇ¸å¤Ë¸½¤ì¤¿°ÌÃÖ¤òÊÖ¤¹´Ø¿ô\texttt{strrchr}¤ËÁêÅö¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_rchr}¤òÀ߷פ·¤¿¡£
+     \item Ê¸»úÎó¤òÈæ³Ó¤¹¤ë´Ø¿ô\texttt{strcmp}¤ËÁêÅö¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_cmp}¤òÀ߷פ·¤¿¡£
+     \item Ê¸»úÎó¤ò£î¸ÄÌܤޤÇÈæ³Ó¤¹¤ë´Ø¿ô\texttt{strncmp}¤ËÁêÅö¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_ncmp}¤òÀ߷פ·¤¿¡£
+     \item Âçʸ»ú¡¿¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤¤Ç¡¢Ê¸»úÎó¤òÈæ³Ó¤¹¤ë´Ø¿ô\texttt{strcasecmp}¤ËÁêÅö¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_casecmp}¤òÀ߷פ·¤¿¡£
+     \item Âçʸ»ú¡¿¾®Ê¸»ú¤ò¶èÊ̤·¤Ê¤¤¤Ç¡¢Ê¸»úÎó¤ò£î¸ÄÌܤޤÇÈæ³Ó¤¹¤ë´Ø¿ô\texttt{strcasencmp}¤ËÁêÅö¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_ncasecmp}¤òÀ߷פ·¤¿¡£
+     \item »ØÄꤷ¤¿Ê¸»ú¥»¥Ã¥È¤Îʸ»ú¤À¤±¤Ç¹½À®¤µ¤ì¤ë¡¢ºÇ½é¤Îʸ»úÎó¤ÎŤµ¤òÊÖ¤¹´Ø¿ô\texttt{strspn}¤ËÁêÅö¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_spn}¤òÀ߷פ·¤¿¡£
+     \item »ØÄꤷ¤¿Ê¸»ú¥»¥Ã¥È°Ê³°¤Îʸ»ú¤À¤±¤Ç¹½À®¤µ¤ì¤ë¡¢ºÇ½é¤Îʸ»úÎó¤ÎŤµ¤òÊÖ¤¹´Ø¿ô\texttt{strcspn}¤ËÁêÅö¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_cspn}¤òÀ߷פ·¤¿¡£
+     \item Ê¸»úÎó¤òÊ£À½¤¹¤ë´Ø¿ô\texttt{strdup}¤ËÁêÅö¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_dup}¤òÀ߷פ·¤¿¡£
+     \item Ê¸»úÎó¤ÎŤµ¤òÊÖ¤¹´Ø¿ô\texttt{strlen}¤ËÁêÅö¤¹¤ëµ¡Ç½\par 
+       ¥Þ¥¯¥í \IPAref{MTEXT_NCHARS}¤òÀ߷פ·¤¿¡£
+     \item »ØÄꤷ¤¿Ê¸»ú¥»¥Ã¥È¤ÎÆâ¡¢°ì¤Ä¤¬Ê¸»úÎóÃæ¤ËºÇ½é¤Ë¸½¤ì¤ë°ÌÃÖ¤òÊÖ¤¹´Ø¿ô\texttt{strpbrk}¤ËÁêÅö¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_pbrk}¤òÀ߷פ·¤¿¡£
+     \item Ê¸»úÎóÃæ¤Ç¡¢Ê̤Îʸ»úÎ󤬺ǽé¤Ë¸½¤ì¤¿°ÌÃÖ¤òÊÖ¤¹´Ø¿ô\texttt{strstr}¤ËÁêÅö¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_text}¤òÀ߷פ·¤¿¡£
+     \item Ê¸»úÎ󤫤é¥È¡¼¥¯¥ó¤òÀÚ¤ê½Ð¤¹´Ø¿ô\texttt{strtok}¤ËÁêÅö¤¹¤ëµ¡Ç½\par 
+       ´Ø¿ô \IPAref{mtext_tok}¤òÀ߷פ·¤¿¡£
+     \end{itemize}
+     
+\item Â¿¸À¸ì½èÍý¤ËɬÍפʾðÊó¤òM-text¤ËÉղ乤뵡ǽ
+
+¿¸À¸ì¥Æ¥­¥¹¥È¤ÎÆþ½ÐÎÏÅù¤ÎºÝ¤Ë¤Ï¡¢¸À¸ì¤ä¥¹¥¯¥ê¥×¥È¤Ë´Ø¤¹¤ë¾ðÊó¤¬É¬ÍפÈ
+¤Ê¤ë¤³¤È¤¬¤¢¤ë¡£É¬ÍפʾðÊó¤òɬÍפʻþÅÀ¤Ç¡¢m17n¸À¸ì¾ðÊó¥Ù¡¼¥¹¤«¤é¼èÆÀ¤·¤ÆM-text 
+¤ËÉղ乤뤿¤á¤Ë¡¢°Ê²¼¤Î´Ø¿ô¤òÀ߷פ·¤¿¡£
+
+     \begin{itemize}
+     \item ¡Öm17n ¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤«¤éÆÀ¤é¤ì¤ë¾ðÊó¤ò¸µ¤Ë¡¢M-text¤Ë¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤È¤·¤Æ¸À¸ì¥¿¥°¤òÉղ乤뵡ǽ\par 
+       ´Ø¿ô \IPAref{mtext_put_language_prop}¤òÀ߷פ·¤¿¡£ 
+     \item ¡Öm17n ¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤«¤éÆÀ¤é¤ì¤ë¾ðÊó¤ò¸µ¤Ë¡¢M-text¤Ë¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤È¤·¤Æ¥¹¥¯¥ê¥×¥È¥¿¥°¤òÉղ乤뵡ǽ\par 
+       ´Ø¿ô \IPAref{mtext_put_script_prop}¤òÀ߷פ·¤¿¡£
+     \end{itemize}
+     
+\end{enumerate}
diff --git a/data-ja/m17n-database.tex b/data-ja/m17n-database.tex
new file mode 100644 (file)
index 0000000..aa34a67
--- /dev/null
@@ -0,0 +1,327 @@
+
+\item ¡Öm17n ¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤ÎÀß·×
+
+¿¸À¸ì¥Æ¥­¥¹¥È¤ò½èÍý¤¹¤ë¤¿¤á¤Ë¤Ï¿¤¯¤Î¾ðÊó¤¬É¬ÍפȤʤ롣¤·¤«¤·¡¢°Û¤Ê¤ë
+¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï°Û¤Ê¤ë¾ðÊó¤òÍøÍѤ¹¤ë¤Î¤Ç¡¢¸Ä¡¹¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í
+¥°¥é¥à¤¬¤É¤Î¤è¤¦¤Ê¾ðÊó¤òɬÍפȤ¹¤ë¤«¤ò¡¢Í½¤áÁÛÄꤹ¤ë¤Î¤ÏÉÔ²Äǽ¤Ç¤¢¤ë¡£
+¤½¤³¤Ç¡¢É¬ÍפʾðÊó¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à³«È¯¼Ô¤¬¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤·
+¤ÆÍÑ°Õ¤·¡¢Ëܥ饤¥Ö¥é¥ê¤Ï¡¢¤½¤Î¾ðÊó¤ò¸µ¤ËÆ°ºî¤¹¤ë¤È¤¤¤¦Êý¿Ë¤ò¼è¤ë¡£
+
+Ëܥ饤¥Ö¥é¥ê¤Ç¤Ï¡¢¤³¤Î¤è¤¦¤Ê¸À¸ì¾ðÊó¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¤Þ¤È¤á¤Æ´ÉÍý¤·¡¢¥Ç¡¼
+¥¿¥Ù¡¼¥¹¤Ø¤ÎÅý°ìŪ¤Ê¥¢¥¯¥»¥¹ÊýË¡¤òÄ󶡤¹¤ë¤¿¤á¤Ë¡¢¡Öm17n ¸À¸ì¾ðÊó¥Ù¡¼
+¥¹¡×¤òÀ߷פ·¤¿¡£¡Öm17n ¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤Ï¡¢¡Öm17n¥é¥¤¥Ö¥é¥ê¡×¼«¿È¤ä
+¡Öm17n ¥é¥¤¥Ö¥é¥ê¡×¤òÍѤ¤¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬ÍøÍѤǤ­¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î
+½¸¤Þ¤ê¤Ç¤¢¤ê¡¢ÊØÍø¤Ç½ÀÆð¤Ê API ¤òÄ̤¸¤Æ¾ðÊó¤òÆÀ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤Þ¤¿¡¢
+ɬÍפʾì¹ç¤Ë¤Ï¿·¤·¤¤¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¡Öm17n¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤ËÉÕ¤±²Ã¤¨¡¢¥¢
+¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë¾ðÊó¤òÍ¿¤¨¤ë¤³¤È¤â¤Ç¤­¤ë¡£
+
+¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÏÈÁȤߤϡ¢Ä󶡤¹¤ë¾ðÊó¤Î¼ïÎà¤È·Á¼°¡¢¤½¤·¤Æ¤½¤Î¾ðÊó¤ò¼èÆÀ
+¤¹¤ëÊýË¡¤Ë¤è¤Ã¤Æ·èÄꤵ¤ì¤ë¡£º£²ó¤Îµ»½Ñ³«È¯¤Ë¤è¤ê¡¢¡Öm17n´ðËÜC¥é¥¤¥Ö¥é
+¥ê¡×µÚ¤Ó¡Öm17n X¥é¥¤¥Ö¥é¥ê¡×¤¬ÍøÍѤ¹¤ë¡Öm17n¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤Î¥¹¥­¡¼¥Þ
+\IPAref{database}¡¢¤Ê¤é¤Ó¤Ë¤½¤ì¤Ë´Þ¤Þ¤ì¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÁàºî¤¹¤ë¤¿¤á¤Î 
+API·²¤òÀ߷פ·¤¿¡£
+
+\begin{enumerate}
+\item ¡Öm17n¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤Î¥¹¥­¡¼¥Þ
+
+¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¡¢¾ðÊó¤ò¸ÇÍ­¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Çɽ¸½¤¹¤ë¡£¡Öm17n¸À¸ì¾ðÊó¥Ù¡¼
+¥¹¡×¤Ç¤Ï¡¢¤½¤ì¤Ë´Þ¤Þ¤ì¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹ÍѤˡ¢ÈÆÍѤΥե©¡¼¥Þ¥Ã¥È¤ÈÆüì¤Ê
+¥Õ¥©¡¼¥Þ¥Ã¥È¤ÎξÊý¤òÄ󶡤¹¤ë¤³¤È¤È¤·¤¿¡£
+
+¤Þ¤ºÈÆÍѤΥե©¡¼¥Þ¥Ã¥È¤È¤·¤Æ¡¢¥ê¥¹¥È¹½Â¤¡Ê¥Í¥¹¥ÈÍ­¤ê¡Ë¤òÄ󶡤¹¤ë¡£¤¿¤È
+¤¨¤Ð¡¢ÆþÎϥ᥽¥Ã¥É¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Ï¡¢³µÇ°Åª¤Ë¤Ï
+\begin{verbatim}
+       (PROMPT-STRING
+           (STATE-NAME
+             ("a" "¤¢")
+             ("i" "¤¤")
+            ...))
+\end{verbatim}
+¤È¤¤¤¦¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤Ë¤è¤Ã¤Æɽ¤ï¤¹¤³¤È¤¬¤Ç¤­¤ë¡£
+¡Ê¤³¤ì¤Ï¥í¡¼¥Þ»ú¤«¤ÊÊÑ´¹¤ò¹Ô¤Ê¤¦ÆþÎϥ᥽¥Ã¥É¤Ç¤¢¤ê¡¢3¹ÔÌܰʹߤËÊÑ´¹¥ë¡¼
+¥ë¤¬½ñ¤«¤ì¤Æ¤¤¤ë¡£¡ËÈÆÍÑ¥Õ¥©¡¼¥Þ¥Ã¥È¤Î¾ì¹ç¡¢¥ê¥¹¥È¤Î³ÆÍ×ÁǤΰÕÌ£¤Ï¾ðÊó
+¤Î¼ïÎà¤Ë¤è¤Ã¤Æ°Û¤Ê¤ê¡¢¡Öm17n¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¦¤Ç¤Ïµ¬Äꤷ¤Ê¤¤¡£³ÆÍ×ÁǤÎÄê
+µÁ¤äÀ°¹çÀ­¤ÎÊݾڤϡ¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÍøÍѤ¹¤ë¦¤Ç¹Ô¤Ê¤¦É¬Íפ¬¤¢¤ë¡£
+
+¤³¤ÎÈÆÍÑŪ¤Ê·Á¼°¤Ï¡¢¤½¤ÎÈÆÍÑÀ­¤æ¤¨¤Ë¸úΨ¤¬°­¤¤¡£¤½¤³¤ÇÆäËÂçÎ̤Υǡ¼¥¿
+¤¬É¬Íפˤʤëʸ»ú¤´¤È¤Î¸ÇÍ­¤Î¾ðÊó¤ä¡¢Ê¸»ú¥»¥Ã¥È¤Î¥Þ¥Ã¥Ô¥ó¥°¾ðÊó¤Ë´Ø¤·¤Æ
+¤Ï¡¢¼¡¤Î¤è¤¦¤ÊÆÃÊ̤ʷÁ¼°¤òÄ󶡤¹¤ë¡£
+
+m17n ¥é¥¤¥Ö¥é¥ê¤ª¤è¤Ó¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢Ê¸»ú¸ÇÍ­¤Î¾ðÊó¤òʸ»ú¥Æ¡¼¥Ö¥ë
+¤Ë³ÊǼ¤·¤ÆÍøÍѤ¹¤ë¡£¤½¤³¤Ç¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë´Þ¤Þ¤ì¤ë¾ðÊó¤Î¤¦¤Á¡¢Ê¸»ú¥³¡¼
+¥É¤È¤½¤ì¤Ë´Ø¤¹¤ë¥Ç¡¼¥¿¤Î¥Æ¡¼¥Ö¥ë¤Ï¡¢Ä¾ÀÜʸ»ú¥Æ¡¼¥Ö¥ë¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ
+¼èÆÀ¤µ¤ì¤ë¤è¤¦¤Ë¤·¤¿¡£¤³¤Î¼ï¤Î¾ðÊó¤Ï¡¢ÆÃÊ̤ʥ¿¥° `char-table' ¤òÂè°ì
+¥¿¥°¤È¤·¤ÆÍ¿¤¨¤ë¤³¤È¤Ç¶èÊ̤µ¤ì¤ë¡£
+
+ʸ»ú¥»¥Ã¥È¤Î¥Þ¥Ã¥Ô¥ó¥°¾ðÊó¤â¡¢Ê¸»ú¥»¥Ã¥È¤Ë¤è¤ë¥Ç¥³¡¼¥É¡¿¥¨¥ó¥³¡¼¥É»þ¤Ë
+ɬÍפȤʤë¤â¤Î¤Ç¤¢¤ë¤¿¤á¡¢Ä¾ÀÜʸ»ú¥»¥Ã¥È¥ª¥Ö¥¸¥§¥¯¥È¤Î¤Ê¤«¤Î¥á¥ó¥Ð¤È¤·
+¤Æ¼èÆÀ¤¹¤ë¡£Ê¸»úËè¤Î¾ðÊó¤ÈƱÍͤˡ¢¤³¤Î¼ï¤Î¾ðÊó¤Ï¡¢ÆÃÊ̤ʥ¿¥° `charset' 
+¤òÂè°ì¥¿¥°¤È¤·¤Æ»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤ÆÆÀ¤é¤ì¤ë¡£
+
+¡Öm17n¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤«¤é¾ðÊó¤ò°ú½Ð¤¹ºÝ¤Ë¤Ï¡¢¤É¤Î¤è¤¦¤Ê¾ðÊó¤ò»ý¤Ä¥Ç¡¼
+¥¿¥Ù¡¼¥¹¤¬É¬ÍפǤ¢¤ë¤«¤ò¡¢¥¿¥°¤ò»È¤Ã¤Æ»Ø¼¨¤¹¤ë¡£¤³¤ÎºÝ¡¢¾ðÊó¼«ÂΤγ¬ÁØ
+À­¤òÍøÍѤ·¤Æ¸úΨŪ¤Ê¸¡º÷¤ò¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤­¤ë¤è¤¦À߷פ·¤¿¡£¤¿¤È¤¨¤Ð¡Ö¥Ô¥ó
+¥¤¥óÊý¼°¤Ë¤è¤ëÃæ¹ñ¸ì¤ÎÆþÎϥ᥽¥Ã¥É¡×¤ò¹Í¤¨¤Æ¤ß¤è¤¦¡£¤³¤ì¤Ï¡Ö¥Ô¥ó¥¤¥ó¡×
+¤È¡ÖÃæ¹ñ¸ì¡×¤È¡ÖÆþÎϥ᥽¥Ã¥É¡×¤È¤¤¤¦³¬ÁØŪ¤Ê£³¤Ä¤Î¥¿¥°¤Çɽ¤ï¤¹¤³¤È¤¬¼«Á³
+¤Ç¤¢¤ë\footnote{¤½¤ì¤À¤±¤Ç¤Ê¤¯¡¢Ã±°ì¥¿¥°¤È¤·¤Æ»Ø¼¨¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¤³¤ì
+¤òɽ¤ï¤¹¥¿¥°¤òÀ¸À®¤¹¤ë¼ê´Ö¤Þ¤Ç¤«¤«¤Ã¤Æ¤·¤Þ¤¦¡£}¡£ m17n ¸À¸ì¾ðÊó¥Ù¡¼¥¹¤Ç¤Ï¡¢
+³¬ÁØÀ­¤ò»ý¤ÄÊ£¿ô¤Î¥¿¥°¤Ç¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»ØÄê¤Ç¤­¤ë¤¿¤á¡¢¤³¤Î¾ì¹ç¤Ë¤Ï
+\begin{quote}
+\texttt{$<$chinese-input-method-using-pinyin$>$}
+\end{quote}
+¤È¤¤¤Ã¤¿Ã±°ì¥¿¥°¤Ç¤Ï¤Ê¤¯¡¢
+\begin{quote}
+\texttt{$<$input-method chinese pinyin$>$}
+\end{quote}
+¤Ê¤É¤È¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¡£
+
+¤³¤ÎÏÈÁȤߤò¸¡¾Ú¤¹¤ë¤¿¤á¤Ë¡¢m17n ¥é¥¤¥Ö¥é¥ê¼«ÂΤ¬Ä¾ÀܻȤ¦¥Ç¡¼¥¿¥Ù¡¼¥¹
+¤Î¤¦¤Á¡¢¤½¤ÎÍøÍÑÊýË¡¤Ê¤É¤¬¸½»þÅÀ¤ÇÌÀ¤é¤«¤Ê°Ê²¼¤Î¤â¤Î¤ò»îºî¤·¤¿¡£
+
+\begin{description}
+
+\item[¥³¡¼¥ÉÊÑ´¹¤Î¤¿¤á¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹]~\\
+¿¤¯¤Îʸ»ú¥»¥Ã¥È¤Ï¡¢¤½¤ì¤Ë°¤¹¤ëʸ»ú¤Î¥³¡¼¥É¥Ý¥¤¥ó¥È¤òÂбþ¤¹¤ëʸ»ú¥³¡¼
+¥É¤ËÊÑ´¹¤¹¤ë¥Ç¥³¡¼¥É¤ä¡¢¤¢¤ë¤¤¤Ï¤½¤ÎµÕ¤ÎÊÑ´¹¤ò¤¹¤ë¥¨¥ó¥³¡¼¥É¤Î¤¿¤á¤Ë¡¢
+Âбþɽ¡Ê¥Þ¥Ã¥×¤È¸Æ¤Ö¡Ë°ú¤­¤ò¹Ô¤Ê¤¦É¬Íפ¬¤¢¤ë¡£°Ê²¼¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¡¢¤³
+¤ÎºÝ¤ËɬÍפʥǥ³¡¼¥ÉÍѤȥ¨¥ó¥³¡¼¥ÉÍѤΥޥåפòÍ¿¤¨¤ë¡£
+
+  \begin{itemize}
+  \item \textbf{¥¿¥° $<$\texttt{charset CHARSET_NAME}$>$ ¤ò»ý¤Á¡¢\texttt{CHARSET_NAME}¤È
+       ¤¤¤¦Ì¾Á°¤Îʸ»ú¥»¥Ã¥È¤Î¥¨¥ó¥³¡¼¥É¡¿¥Ç¥³¡¼¥ÉÍѤΥޥåפòÍ¿¤¨¤ë¥Ç¡¼
+       ¥¿¥Ù¡¼¥¹}
+       
+        Unicode ¥³¥ó¥½¡¼¥·¥¢¥à¤ÎÄ󶡤¹¤ë UnicodeData.txt¡¢ Unihan.txt¡¢ SpecialCasing.txt¡¢
+        IBM ¤Î International Components for Unicode¡¢ °Â²¬¹§°ì»á¤Ë¤è¤ë
+        ´Á»ú¥Æ¡¼¥Ö¥ë¤Èʸ»ú½¸¹ç¥Æ¡¼¥Ö¥ë¤Î¥ê¥¹¥È
+        (http://kanji.zinbun.kyoto-u.ac.jp/~yasuoka/CJK.html) ¤ò´ð¤Ë¡¢
+        É½\ref{TABLE:charsets}¤Î 28 ¤Îʸ»ú¥»¥Ã¥È¤½¤ì¤¾¤ì¤Ë¤Ä¤¤¤Æ¥Ç¡¼¥¿
+        ¥Ù¡¼¥¹¤ò»îºî¤·¤¿¡£
+
+\begin{table}
+\begin{tabular}{|l|l|}
+\hline
+CHARSET_NAME   & Ê¸»ú¥»¥Ã¥È¤ÎÀµ¼°Ì¾¾Î\\
+\hline
+iso-8859-2     & ISO/IEC 8859-2:1999\\
+iso-8859-3     & ISO/IEC 8859-3:1999\\
+iso-8859-4     & ISO/IEC 8859-4:1998\\
+iso-8859-5     & ISO/IEC 8859-5:1999\\
+iso-8859-6     & ISO/IEC 8859-6:1999\\
+iso-8859-7     & ISO 8859-7:1987\\
+iso-8859-8     & ISO/IEC 8859-8:1999\\
+iso-8859-9     & ISO/IEC 8859-9:1999\\
+iso-8859-10    & ISO/IEC 8859-10:1998\\
+iso-8859-11    & ISO/IEC 8859-11:2001\\
+iso-8859-13    & ISO/IEC 8859-13:1998\\
+iso-8859-14    & ISO/IEC 8859-14:1998\\
+iso-8859-15    & ISO/IEC 8859-15:1999\\
+gb2312.1980    & GB2312-80\\
+jisx0208.1983  & JIS X 0208-1983\\
+KSC5601.1987   & KS C 5601-1987\\
+jisx0212       & JIS X 0212-1990\\
+jisx0201       & JIS X 0201-1976\\
+viscii-1.1     & VIetnamese Standard Code for Information Interchange\\
+big5           & Big Five\\
+cns11643-1     & CNS 11643-1992, plane 1\\
+cns11643-2     & CNS 11643-1992, plane 2\\
+cns11643-3     & CNS 11643-1992, plane 3\\
+cns11643-4     & CNS 11643-1992, plane 4\\
+cns11643-5     & CNS 11643-1992, plane 5\\
+cns11643-6     & CNS 11643-1992, plane 6\\
+cns11643-7     & CNS 11643-1992, plane 7\\
+cns11643-15    & CNS 11643-1992, plane 15\\
+\hline
+\end{tabular}
+\caption{¥³¡¼¥ÉÊÑ´¹Íѥǡ¼¥¿¥Ù¡¼¥¹¤ò»îºî¤·¤¿Ê¸»ú¥»¥Ã¥È}
+\label{TABLE:charsets}
+\end{table}
+
+  \end{itemize}
+
+\item[ʸ»úÎóÈæ³Ó¤Î¤¿¤á¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹]~\\
+Âçʸ»ú¤È¾®Ê¸»ú¤Î°ã¤¤¤ò̵»ë¤·¤Ä¤Äʸ»úÎó¤òÈæ³Ó¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢²¿¤é¤«¤Îɸ½à
+·Á¤ËÊÑ´¹¤·¤Æ¤«¤éÈæ³Ó¤¹¤ë¡£ÉáÄ̤Ͼ®Ê¸»ú¤ËÊÑ´¹¤·¤ÆÈæ³Ó¤¹¤ë¤Î¤Ç¡¢³Æʸ»ú¤Ë
+¤½¤ì¤ËÂбþ¤¹¤ë¾®Ê¸»ú¤ò´ØÏ¢ÉÕ¤±¤Æ¤ª¤¯É¬Íפ¬¤¢¤ë¡£
+
+¤·¤«¤·¡¢ m17n ¥é¥¤¥Ö¥é¥ê¤Ç°·¤¦ Unicode Ê¸»ú¤ÎÃæ¤Ë¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤¬
+ñ½ã¤Ê°ìÂаìÂбþ¤Ë¤Ê¤é¤Ê¤¤¾ì¹ç¤â¤¢¤ë¡£¤¿¤È¤¨¤Ð¥É¥¤¥Ä¸ì¤Î¥¨¥¹¥Ä¥§¥Ã¥È¤Ï¡¢
+¾®Ê¸»ú¤Ç¤Ï `\ss' ¤Î°ìʸ»ú¤À¤¬¡¢Âçʸ»ú¤Ç¤Ï `SS' ¤ÎÆóʸ»ú¤Çɽ¤ï¤µ¤ì¤ë¡£
+
+¤½¤³¤Ç¡¢¼¡¤ÎÆó¼ïÎà¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÍÑ°Õ¤·¤¿¡£
+
+  \begin{itemize}
+   \item \textbf{¥¿¥° $<$\texttt{char-table simple-case-folding}$>$ ¤ò»ý¤Á¡¢
+       ³Æʸ»ú¤ËÂбþ¤¹¤ë¾®Ê¸»ú¤òÍ¿¤¨¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹}
+
+       ¤³¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¡¢É¸½à·Á¤¬¾®Ê¸»ú°ìʸ»ú¤Ë¤Ê¤ëʸ»ú¤Ë´Ø¤¹¤ë¤â¤Î
+       ¤Ç¤¢¤ê¡¢CaseFolding.txt ¤è¤ê»îºî¤·¤¿¡£
+
+   \item \textbf{¥¿¥° $<$\texttt{char-table complicated-case-folding}$>$ ¤ò»ý¤Á¡¢
+       Âçʸ»ú¡¿¾®Ê¸»ú¤ò¶èÊ̤»¤º¤ËÈæ³Ó¤¹¤ë¾ì¹ç¤ËÃÖ¤­´¹¤¨¤ë¾®Ê¸»úÎó
+       ¤òÍ¿¤¨¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹}
+
+       ¤³¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¡¢É¸½à·Á¤¬Ê£¿ô¤Î¾®Ê¸»ú¤ÎÎó¤Ë¤Ê¤ëʸ»ú¤Ë´Ø¤¹¤ë
+       ¤â¤Î¤Ç¤¢¤ê¡¢CaseFolding.txt ¤è¤ê»îºî¤·¤¿¡£
+
+  \end{itemize}
+
+¤³¤ÎÆóËÜΩ¤Æ¤Ë¤è¤ê¡¢Ä̾ï¤Ïñ½ã¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¤ß¤ò»²¾È¤·¡¢Æüì¤Êʸ»ú¤Ë
+¤Ä¤¤¤Æ¤Î¤ßÊ£»¨¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò»²¾È¤¹¤ë¤È¤¤¤¦¡¢¸úΨŪ¤Ê¼ÂÁõ¤¬²Äǽ¤Ç¤¢¤ë¡£
+¤¿¤È¤¨¤Ð¥¨¥¹¥Ä¥§¥Ã¥È¤Ë´Ø¤¹¤ë¾ðÊó¤Ïñ½ã¤Ê¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤Ï¤Ê¤¤¤¿¤á¡¢¤³¤Î
+ʸ»ú¤Ë¤Ä¤¤¤Æ¤Î¤ßÆó¤ÄÌܤΥǡ¼¥¿¥Ù¡¼¥¹¤ò»²¾È¤¹¤ë¤³¤È¤Ë¤Ê¤ë¡£
+
+¤³¤ì¤é¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ïʸ»ú¤òÈæ³Ó¤¹¤ë´Ø¿ô \IPAref{mtext_casecmp}¡¢
+\IPAref{mtext_ncasecmp}¡¢
+\IPAref{mtext_case_compare} ¤«¤é¤ÎÍøÍѤòÁÛÄꤷ¤Æ¤¤¤ë¡£
+
+\item[ʸ»úɽ¼¨¤Î¤¿¤á¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹]~\\
+M-text ¤Îʸ»ú¤Ï¡¢¤½¤Îʸ»ú¤¬»ý¤Ä¥Æ¥­¥¹¥È¥×¥í¥Ñ¥Æ¥£¤Ë±þ¤¸¤¿¥Õ¥©¥ó¥È¤ò»È¤Ã
+¤Æɽ¼¨¤µ¤ì¤ë¡£¡Ê¾ÜºÙ¤Ï´Ø¿ô \IPAref{mdraw_text} »²¾È¡£¡Ë¤³¤ì¤ò¼ÂÁõ¤¹¤ë
+¤¿¤á¤Ë¡¢°Ê²¼¤Î°ìÏ¢¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÍÑ°Õ¤·¤¿¡£¤³¤ì¤é¤ò½ç¤ËÍøÍѤ¹¤ë¤³¤È¤Ë
+¤è¤Ã¤Æɽ¼¨¤ò¹Ô¤Ê¤¦¤³¤È¤¬¤Ç¤­¤ë¡£
+
+  \begin{itemize} 
+
+   \item \textbf{¥¿¥° $<$\texttt{char-table script}$>$ ¤ò»ý¤Á¡¢³Æʸ
+         »ú¤Î¥¹¥¯¥ê¥×¥È̾¤òÍ¿¤¨¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹}
+
+       ¤³¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¡¢³Æʸ»ú¤¬¤É¤Î¥¹¥¯¥ê¥×¥È¤Ë°¤¹¤«¤Î¾ðÊó¤òÍ¿¤¨
+       ¤ë¤â¤Î¤Ç¤¢¤ê¡¢¥¹¥¯¥é¥Ã¥Á¤è¤ê»îºî¤·¤¿¡£
+
+   \item \textbf{¥¿¥° $<$\texttt{font fontset}$>$ ¤ò»ý¤Á¡¢
+       ¥Õ¥©¥ó¥È¥»¥Ã¥ÈÀ¸À®ÍѤΥǡ¼¥¿¤òÍ¿¤¨¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹}
+
+       ¤³¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¡¢¸À¸ì¤ä¥¹¥¯¥ê¥×¥È¤«¤é¥Õ¥©¥ó¥È¤Î¥ì¥¸¥¹¥È¥ê̾
+       ¡Ê¥·¥¹¥Æ¥à¤ËÅÐÏ¿¤µ¤ì¤Æ¤¤¤ë¥Õ¥©¥ó¥È¤Î̾Á°¡Ë¤Ø¤Î¥Þ¥Ã¥×¤È¡¢Ê¸»ú¥»¥Ã
+       ¥È¤«¤é¥Õ¥©¥ó¥È¤Î¥ì¥¸¥¹¥È¥ê̾¤Ø¤Î¥Þ¥Ã¥×¤È¤¤¤¦£²¼ïÎà¤Î¥Þ¥Ã¥Ô¥ó¥°
+       ¾ðÊó¤ò»ý¤Ä¡£
+
+       ¤³¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥Õ¥©¥ó¥È¥»¥Ã¥È¤òºîÀ®¤¹¤ëºÝ¤Ë»²
+       ¾È¤¹¤ë¤³¤È¤òÁÛÄꤷ¤¿¤â¤Î¤Ç¤¢¤ê¡¢¥¹¥¯¥é¥Ã¥Á¤è¤ê»îºî¤·¤¿¡£
+
+   \item \textbf{¥¿¥° $<$\texttt{font registry}$>$ ¤ò»ý¤Á¡¢
+       ³Æ¥Õ¥©¥ó¥È¤Î¥ì¥¸¥¹¥È¥ê̾¤ËÂбþ¤¹¤ëʸ»ú¥»¥Ã¥È¤òÍ¿¤¨¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹}
+
+       ¤³¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ïʸ»ú¥³¡¼¥É¤òÆÃÄê¤Î¥Õ¥©¥ó¥È¤Î¥°¥ê¥Õ¥³¡¼¥É¤Ë¤É
+       ¤¦ÊÑ´¹¤¹¤ë¤«¤Î¾ðÊó¤òÍ¿¤¨¤ë¤â¤Î¤Ç¤¢¤ê¡¢¥¹¥¯¥é¥Ã¥Á¤è¤ê»îºî¤·¤¿¡£
+
+       ¤¢¤ë¥Õ¥©¥ó¥È¤òÍѤ¤¤ÆÆÃÄê¤Îʸ»ú¤òɽ¼¨¤¹¤ë¤Ë¤Ï¡¢Ê¸»ú¤Î¥³¡¼¥É¤«¤é
+       ¥Õ¥©¥ó¥ÈÆâ¤Î¥°¥ê¥Õ¥³¡¼¥É¤Ø¤ÎÊÑ´¹¤¬É¬ÍפǤ¢¤ë¡£¤¢¤ë¥Õ¥©¥ó¥È¤¬¤É
+       ¤Î¤è¤¦¤Ê¥°¥ê¥Õ¥³¡¼¥ÉÂηϤò»ý¤Ä¤«¤Ï¤½¤Î¥Õ¥©¥ó¥È¤Î¥ì¥¸¥¹¥È¥ê̾¤Ç
+       ·è¤Þ¤ê¡¢¤½¤Î¥°¥ê¥Õ¥³¡¼¥ÉÂηϤÏʸ»ú¥»¥Ã¥È¤Î¥³¡¼¥É¥Ý¥¤¥ó¥È¤È°ìÂÐ
+       °ì¤ÎÂбþ¤¬¤¢¤ë¡£¤½¤³¤Ç¡¢³Æ¥Õ¥©¥ó¥È¤Î¥ì¥¸¥¹¥È¥ê̾¤ËÂбþ¤¹¤ëʸ»ú
+       ¥»¥Ã¥È¤¬¤ï¤«¤ì¤Ð¡¢Ê¸»ú¥³¡¼¥É¤ò¥°¥ê¥Õ¥³¡¼¥É¤ËÊÑ´¹¤¹¤ëÊýË¡¤¬¤ï¤«
+       ¤ë¡£
+
+\end{itemize}
+
+\item[ʸ»úÆþÎϤΤ¿¤á¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹]~\\
+  ÆþÎϥ᥽¥Ã¥É¤Ï¥æ¡¼¥¶¤ÎÆþÎÏ¥­¡¼¤ÎÎó¤òʸ»ú¤ËÊÑ´¹¤¹¤ë¡£¤³¤Î¤¿¤á¤ËÆþÎÏ¥á
+  ¥½¥Ã¥É¤Ï¡¢¥­¡¼ÆþÎÏÎó¤ò¼õ¤±¼è¤Ã¤Æ¡¢¤É¤Î¤è¤¦¤Ê¾õÂÖ¤ËÁ«°Ü¤¹¤ë¤«¡¢¤É¤Î¤è
+  ¤¦¤Êʸ»ú¡Ê¤¢¤ë¤¤¤Ïʸ»úÎó¡Ë¤ò½ÐÎϤ¹¤ë¤«¤ò·èÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¤³¤Î
+  ºÝ¤ËɬÍפʾðÊó¤òÍ¿¤¨¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤·¤Æ°Ê²¼¤Î¤â¤Î¤ò»îºî¤·¤¿¡£³Æ¥Ç¡¼
+  ¥¿¥Ù¡¼¥¹¤Î¥¿¥°¤Ï $<$\texttt{input-method ¸À¸ì̾ ÆþÎϥ᥽¥Ã¥É̾}$>$ ¤È
+  ¤¤¤¦·Á¼°¤Ç¤¢¤ë¡£
+
+  ¤³¤ì¤é¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¡¢ÆþÎϥ᥽¥Ã¥É¤ò¥ª¡¼¥×¥ó¤¹¤ë´Ø¿ô 
+  \IPAref{mim_open} ¤ª¤è¤ÓÆþÎÏ¥¤¥Ù¥ó¥È¤Î¥Õ¥£¥ë¥¿½èÍý¤ò¤¹¤ë´Ø¿ô
+  \IPAref{mim_filter_event} ¤Ë¤è¤Ã¤ÆÍøÍѤµ¤ì¤ë¤³¤È¤òÁÛÄꤷ¤Æ¤¤¤ë¡£
+
+  \begin{itemize}
+
+    \item \textbf{ ¥¿¥° $<$\texttt{input-method th kesmanee}$>$ ¤ò»ý¤Á¡¢
+      ¥¿¥¤¸ìÍѤÎ``kesmanee''¤È¤¤¤¦Ì¾Á°¤ÎÆþÎϥ᥽¥Ã¥É¤Ë´Ø¤¹¤ë¾ðÊó¤òÍ¿¤¨
+      ¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹}
+
+      ¤³¤ÎÆþÎϥ᥽¥Ã¥É¤Ï¡¢¥¿¥¤¤Ç¹­¤¯»È¤ï¤ì¤Æ¤¤¤ë¤¦¤Á¤Î°ì¤Ä¤Ç¤¢¤ê¡¢
+      Emacs ¤Ë´Þ¤Þ¤ì¤ëƱ̾¤ÎÆþÎϥ᥽¥Ã¥ÉÍѤΥǡ¼¥¿¤ò²Ã¹©¤·¤Æ»îºî¤·¤¿¡£
+
+    \item \textbf{¥¿¥° $<$\texttt{input-method hi itrans}$>$ ¤ò»ý¤Á¡¢
+      ¥Ò¥ó¥Ç¥£¡¼¸ìÍѤΠ``itrans'' ¤È¤¤¤¦Ì¾Á°¤ÎÆþÎϥ᥽¥Ã¥É¤Ë´Ø¤¹¤ë¾ðÊó
+      ¤òÍ¿¤¨¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹}
+
+      ¤³¤ÎÆþÎϥ᥽¥Ã¥É¤Ï¡¢¥Ç¥Ð¥Ê¥¬¥ê¥¹¥¯¥ê¥×¥È¤òÍѤ¤¤ë¸À¸ì¡Ê¥Ò¥ó¥Ç¥£¡¼¸ì
+      Åù¡Ë¤Îɸ½àŪ¤Ê¥È¥é¥ó¥¹¥ê¥Æ¥ì¡¼¥·¥ç¥ó\footnote{ËÝ»ú¡£Ê̤θÀ¸ì¤Î
+      Ê¸»ú¤Ç½ñ¤­Ä¾¤¹¤³¤È¡£¤³¤³¤Ç¤Ï¥Ç¥Ð¥Ê¥¬¥êʸ»ú¤ÎÂå¤ï¤ê¤Ë¥é¥Æ¥óʸ»ú¤Ç
+      É½¤ï¤¹¤³¤È¡£}ÊýË¡¤Ç¤¢¤ë ITRANS ¤ò¤½¤Î¤Þ¤Þ
+      ÆþÎÏ¥­¡¼¤È¤·¤Æ¼õ¤±ÉÕ¤±¤ë¤â¤Î¤Ç¤¢¤ê¡¢Emacs ¤Ë´Þ¤Þ¤ì¤ëƱ̾¤ÎÆþÎÏ¥á
+      ¥½¥Ã¥ÉÍѤΥǡ¼¥¿¤ò²Ã¹©¤·¤Æ»îºî¤·¤¿¡£
+
+    \item \textbf{¥¿¥° $<$\texttt{input-method ja romaji}$>$ ¤ò»ý¤Á¡¢
+      ÆüËܸì¤ÎÊ¿²¾Ì¾ÍѤΠ``romaji'' ¤È¤¤¤¦Ì¾Á°¤ÎÆþÎϥ᥽¥Ã¥É¤Ë´Ø¤¹¤ë¾ð
+      Êó¤òÍ¿¤¨¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹}
+
+      ¤³¤Î¥á¥½¥Ã¥É¤Ï¡¢JIS X 4063 ¤Ëµ¬Äꤵ¤ì¤¿¥í¡¼¥Þ»úÆþÎÏÊý¼°¤Ç¤¢¤ê¡¢
+      ¥¹¥¯¥é¥Ã¥Á¤«¤é»îºî¤·¤¿¡£
+
+  \end{itemize}
+
+  ¤³¤ì¤é¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¡¢ÆþÎϥ᥽¥Ã¥É¤Ë´Ø¤¹¤ë¼¡¤Î¾ðÊó¤òÍ¿¤¨¤ë¡£
+  \begin{itemize}
+    \item ÆþÎϥ᥽¥Ã¥É¤ò¼±Ê̤¹¤ë¤¿¤á¤Îû¤¤¥×¥í¥ó¥×¥Èʸ»úÎó¡£
+
+    \item ÆþÎϥ᥽¥Ã¥É¤Î³Æ¾õÂÖ¤Î̾Á°¡Ê¥·¥ó¥Ü¥ë¡Ë
+
+    \item ³Æ¾õÂÖËè¤Ë¼õ¤±¼è¤Ã¤¿ÆþÎÏ¥­¡¼Îó¤ËÂбþ¤·¤Æ¹Ô¤Ê¤¦¤Ù¤­¥¢¥¯¥·¥ç¥ó¤Î
+      Îó¡£¥¢¥¯¥·¥ç¥ó¤È¤Ï¡¢¸½ºßÀ¸À®¤·¤Æ¤¤¤ëʸ»úÎó¤ò²¿Ê¸»úºï½ü¤¹¤ë¤«¡¢¤É
+      ¤Îʸ»úÎó¤òÄɲ乤뤫¡¢¤½¤·¤Æ¡¢¤É¤Î¾õÂÖ¤ËÁ«°Ü¤¹¤ë¤«¤Ç¤¢¤ë¡£
+            \end{itemize}
+
+\item[¤½¤Î¾¤Îʸ»ú¤´¤È¤Î¾ðÊó¤Î¤¿¤á¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹]~\\
+UnicodeData.txt ¤Ë¤¢¤ëʸ»ú¤´¤È¤Î¾ðÊó¤òÍ¿¤¨¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤È¤·¤Æ¡¢°Ê²¼¤ò
+»îºî¤·¤¿¡£
+
+  \begin{itemize}
+    \item \textbf{¥¿¥° $<$\texttt{char-table string name}$>$ ¤ò»ý¤Á¡¢
+      Unicode ¤¬Äê¤á¤ë³Æʸ»ú¤Î̾Á°¤ò C-string ¤ÇÍ¿¤¨¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹}
+
+    \item \textbf{¥¿¥° $<$\texttt{char-table symbol category} $>$ ¤ò»ý
+      ¤Á¡¢Unicode ¤¬Äê¤á¤ë³Æʸ»ú¤Î°ìÈÌŪ¥«¥Æ¥´¥ê (General Category) ¤ò
+      Í¿¤¨¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹}
+
+      ³Æ¥«¥Æ¥´¥ê¤Ï\\
+      http://www.unicode.org/Public/UNIDATA/UnicodeData.html ¤Ë¼¨¤µ¤ì
+      ¤ë abbreviation ¤Î̾Á°¤Î¥·¥ó¥Ü¥ë¤ÇÍ¿¤¨¤é¤ì¤ë¡£
+
+    \item \textbf{¥¿¥° $<$\texttt{char-table symbol bidi}$>$ ¤ò»ý¤Á¡¢
+      Unicode ¤¬Äê¤á¤ë³Æʸ»ú¤ÎÁÐÊý¸þ¥«¥Æ¥´¥ê (Bidirectional Category) 
+      ¤òÍ¿¤¨¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹}
+
+      ³Æ¥«¥Æ¥´¥ê¤Ï\\
+      http://www.unicode.org/Public/UNIDATA/UnicodeData.html ¤Ë¼¨¤µ¤ì
+      ¤ëÁÐÊý¸þ¥«¥Æ¥´¥ê¤Î̾Á°¤Î¥·¥ó¥Ü¥ë¤ÇÍ¿¤¨¤é¤ì¤ë¡£
+
+  \end{itemize}
+
+¤³¤ì¤é¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¡¢Ê¸»ú¥×¥í¥Ñ¥Æ¥£¤ÎÃͤòÆÀ¤ë´Ø¿ô
+\IPAref{mchar_get_prop} ¤Ë¤è¤Ã¤ÆÍøÍѤµ¤ì¤ë¤³¤È¤òÁÛÄꤷ¤Æ¤¤¤ë¡£
+
+\end{description}
+
+\item  ¡Öm17n¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤òÁàºî¤¹¤ë¤¿¤á¤Î API
+
+¡Öm17n¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤Ë´Þ¤Þ¤ì¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÁàºî¤¹¤ë¤¿¤á¤Ë¡¢°Ê²¼¤Î
+API¤òÀ߷פ·¤¿¡£
+
+  \begin{itemize}
+
+  \item ¡Öm17n¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×Ã椫¤éɬÍפʥǡ¼¥¿¥Ù¡¼¥¹¤ò¸¡º÷¤¹¤ëµ¡Ç½
+
+    ´Ø¿ô \IPAref{mdatabase_find} ¤òÀ߷פ·¤¿¡£
+
+  \item ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ò¥í¡¼¥É¤¹¤ëµ¡Ç½
+
+    ´Ø¿ô \IPAref{mdatabase_load} ¤òÀ߷פ·¤¿¡£
+
+  \item ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤ò¼èÆÀ¤¹¤ëµ¡Ç½
+
+    ´Ø¿ô \IPAref{mdatabase_tag} ¤òÀ߷פ·¤¿¡£
+
+  \item ¡Öm17n¸À¸ì¾ðÊó¥Ù¡¼¥¹¡×¤Ë¿·¤·¤¤¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÄɲ乤뵡ǽ
+
+    ´Ø¿ô \IPAref{mdatabase_define} ¤òÀ߷פ·¤¿¡£
+
+  \end{itemize}
+
+\end{enumerate}
diff --git a/data-usr/header.tex b/data-usr/header.tex
new file mode 100644 (file)
index 0000000..a83371a
--- /dev/null
@@ -0,0 +1,41 @@
+\documentclass[a4paper,12pt,twoside]{article}  % -*- coding: euc-jp; -*-
+\setlength\headheight{14.5pt}
+\usepackage{makeidx}
+\usepackage{fancyhdr}
+\usepackage{graphicx}
+\usepackage{float}
+\usepackage{alltt}
+\usepackage[english]{babel}
+\usepackage{times}
+%%%\usepackage[dvips, a4paper, bookmarks, bookmarksnumbered, pdftitle={Unix/LinuxÈÆÍÑ¡£¡£¡£}]{hyperref} 
+\usepackage{doxygen}
+\usepackage{doxygen-m17n}
+\makeindex
+\setcounter{tocdepth}{2}
+\setlength{\footrulewidth}{0pt}
+\begin{document}
+\begin{titlepage}
+\begin{flushright}
+{\Large 13¾ð·ÐÂè1127¹æ}
+\end{flushright}
+\vspace*{2cm}
+\begin{center}
+{\Huge IPA¾ðÊ󵻽ѳ«È¯»Ù±ç»ö¶È}\\
+\vspace*{2cm}
+{\Huge Unix/Linux ÈÆÍÑ¿¸À¸ì½èÍýµ¡Ç½\\¥é¥¤¥Ö¥é¥ê¤Î³«È¯}\\
+\vspace*{2cm}
+{\Huge ³«È¯À®²ÌÊó¹ð½ñ}\\
+\vspace*{7cm}
+{\Huge Ê¿À®14ǯ2·î}\\
+\vspace*{1.5cm}
+{\Huge ÆÈΩ¹ÔÀ¯Ë¡¿Í »º¶Èµ»½ÑÁí¹ç¸¦µæ½ê}
+\end{center}
+\end{titlepage}
+\cleardoublepage
+\pagenumbering{roman}
+\tableofcontents
+\newpage
+\pagenumbering{arabic}
+\input{introduction.tex}
+\newpage
+\sectionOnNewpage
diff --git a/doxyfile.in b/doxyfile.in
new file mode 100644 (file)
index 0000000..2257cdc
--- /dev/null
@@ -0,0 +1,826 @@
+# Doxyfile 1.2.9.1     -*- coding: euc-jp; -*-
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# General configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
+# by quotes) that should identify the project.
+
+PROJECT_NAME           = %PROJECT_NAME%
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
+# This could be handy for archiving the generated documentation or 
+# if some version control system is used.
+
+PROJECT_NUMBER         = %PROJECT_NUMBER%
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
+# base path where the generated documentation will be put. 
+# If a relative path is entered, it will be relative to the location 
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = %DEV_OR_USR_OR_JA%
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
+# documentation generated by doxygen is written. Doxygen will use this 
+# information to generate all constant output in the proper language. 
+# The default language is English, other supported languages are: 
+# Brazilian, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French, 
+# German, Hungarian, Italian, Japanese, Korean, Norwegian, Polish, 
+# Portuguese, Romanian, Russian, Slovak, Slovene, Spanish and Swedish.
+
+OUTPUT_LANGUAGE        = %OUTPUT_LANGUAGE%
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
+# documentation are documented, even if no documentation was available. 
+# Private class members and static file members will be hidden unless 
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = yes
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = no
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file 
+# will be included in the documentation.
+
+EXTRACT_STATIC         = no
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
+# undocumented members of documented classes, files or namespaces. 
+# If set to NO (the default) these members will be included in the 
+# various overviews, but no documentation section is generated. 
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = yes
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
+# undocumented classes that are normally visible in the class hierarchy. 
+# If set to NO (the default) these class will be included in the various 
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
+# include brief member descriptions after the members that are listed in 
+# the file and class documentation (similar to JavaDoc). 
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = yes
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
+# the brief description of a member or function before the detailed description. 
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = no
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
+# Doxygen will generate a detailed section even if there is only a brief 
+# description.
+
+ALWAYS_DETAILED_SEC    = no
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
+# path before files name in the file list and in the header files. If set 
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
+# can be used to strip a user defined part of the path. Stripping is 
+# only done if one of the specified strings matches the left-hand part of 
+# the path. It is allowed to use relative paths in the argument list.
+
+STRIP_FROM_PATH        = 
+
+# The INTERNAL_DOCS tag determines if documentation 
+# that is typed after a \internal command is included. If the tag is set 
+# to NO (the default) then the documentation will be excluded. 
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = no
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
+# generate a class diagram (in Html and LaTeX) for classes with base or 
+# super classes. Setting the tag to NO turns the diagrams off.
+
+CLASS_DIAGRAMS         = YES
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
+# be generated. Documented entities will be cross-referenced with these sources.
+# with a discussion with Handa, decided to set to NO Jan/8/2002
+
+SOURCE_BROWSER         = 
+
+# Setting the INLINE_SOURCES tag to YES will include the body 
+# of functions and classes directly in the documentation.
+
+# This should be no 10/Jan
+
+INLINE_SOURCES         = no
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
+# doxygen to hide any special comment blocks from generated source code 
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
+# file names in lower case letters. If set to YES upper case letters are also 
+# allowed. This is useful if you have classes or files whose names only differ 
+# in case and if your file system supports case sensitive file names. Windows 
+# users are adviced to set this option to NO.
+
+CASE_SENSE_NAMES       = YES
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter 
+# (but less readable) file names. This can be useful is your file systems 
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
+# will show members with their full class and namespace scopes in the 
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
+# will generate a verbatim copy of the header file for each class for 
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = yes
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
+# will put list of the files that are included by a file in the documentation 
+# of that file.
+
+SHOW_INCLUDE_FILES     = yes
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
+# will interpret the first line (until the first dot) of a JavaDoc-style 
+# comment as the brief description. If set to NO, the JavaDoc 
+# comments  will behave just like the Qt-style comments (thus requiring an 
+# explict @brief command for a brief description.
+
+JAVADOC_AUTOBRIEF      = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
+# member inherits the documentation from any documented member that it 
+# reimplements.
+
+INHERIT_DOCS           = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
+# will sort the (detailed) documentation of file and class members 
+# alphabetically by member name. If set to NO the members will appear in 
+# declaration order.
+### # this seems to affect the order of module list. Dec14 Nishikimi
+
+SORT_MEMBER_DOCS       = yes
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
+# tag is set to YES, then doxygen will reuse the documentation of the first 
+# member in the group (if any) for the other members of the group. By default 
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = no
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 8
+
+# The ENABLED_SECTIONS tag can be used to enable conditional 
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS       = 
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or 
+# disable (NO) the todo list. This list is created by putting \todo 
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or 
+# disable (NO) the test list. This list is created by putting \test 
+# commands in the documentation.
+
+GENERATE_TESTLIST      = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or 
+# disable (NO) the bug list. This list is created by putting \bug 
+# commands in the documentation.
+
+GENERATE_BUGLIST       = YES
+
+# This tag can be used to specify a number of aliases that acts 
+# as commands in the documentation. An alias has the form "name=value". 
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
+# put the command \sideeffect (or @sideeffect) in the documentation, which 
+# will result in a user defined paragraph with heading "Side Effects:". 
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                = 
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
+# the initial value of a variable or define consist of for it to appear in 
+# the documentation. If the initializer consists of more lines than specified 
+# here it will be hidden. Use a value of 0 to hide initializers completely. 
+# The appearance of the initializer of individual variables and defines in the 
+# documentation can be controlled using \showinitializer or \hideinitializer 
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources 
+# only. Doxygen will then generate output that is more tailored for C. 
+# For instance some of the names that are used will be different. The list 
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = yes
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated 
+# at the bottom of the documentation of classes and structs. If set to YES the 
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = no
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated 
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are 
+# generated by doxygen. Possible values are YES and NO. If left blank 
+# NO is used.
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that 
+# doxygen can produce. The string should contain the $file, $line, and $text 
+# tags, which will be replaced by the file and line number from which the 
+# warning originated and the warning text.
+
+WARN_FORMAT            = "$text in $file line $line"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning 
+# and error messages should be written. If left blank the output is written 
+# to stderr.
+
+WARN_LOGFILE           = warning
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain 
+# documented source files. You may enter file names like "myfile.cpp" or 
+# directories like "/usr/src/myproject". Separate the files or directories 
+# with spaces.
+
+INPUT                  = @M17NLIB@/src/
+
+# If the value of the INPUT tag contains directories, you can use the 
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included.
+
+FILE_PATTERNS          = *.h *.c
+
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
+# should be searched for input files as well. Possible values are YES and NO. 
+# If left blank NO is used.
+
+RECURSIVE              = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should 
+# excluded from the INPUT source files. This way you can easily exclude a 
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE                = 
+
+# If the value of the INPUT tag contains directories, you can use the 
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
+# certain files from those directories.
+
+EXCLUDE_PATTERNS       = 
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or 
+# directories that contain example code fragments that are included (see 
+# the \include command).
+
+EXAMPLE_PATH           = 
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included.
+
+EXAMPLE_PATTERNS       = 
+
+# The IMAGE_PATH tag can be used to specify one or more files or 
+# directories that contain image that are included in the documentation (see 
+# the \image command).
+
+IMAGE_PATH             = /project/mule/m17n-lib/docs/doxygen/images
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should 
+# invoke to filter for each input file. Doxygen will invoke the filter program 
+# by executing (via popen()) the command <filter> <input-file>, where <filter> 
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
+# input file. Doxygen will then use the output that the filter program writes 
+# to standard output.
+
+INPUT_FILTER           = @srcdir@/utils/%DEV_OR_USR_OR_JA%_filter.rb
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 
+# INPUT_FILTER) will be used to filter the input files when producing source 
+# files to browse.
+
+FILTER_SOURCE_FILES    = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
+# of all compounds will be generated. Enable this if the project 
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = yes
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all 
+# classes will be put under the same header in the alphabetical index. 
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
+# generate HTML output.
+
+GENERATE_HTML          = %GENERATE_HTML%
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT            = 
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard header.
+
+HTML_HEADER            = @srcdir@/header.html
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard footer.
+
+HTML_FOOTER            = @srcdir@/footer.html
+
+# The HTML_STYLESHEET tag can be used to specify a user defined cascading 
+# style sheet that is used by each HTML page. It can be used to 
+# fine-tune the look of the HTML output. If the tag is left blank doxygen 
+# will generate a default style sheet
+
+HTML_STYLESHEET        = @srcdir@/m17nlib.css
+# HTML_STYLESHEET        = 
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
+# files or namespaces will be aligned in HTML using tables. If set to 
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS     = yes
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
+# will be generated that can be used as input for tools like the 
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag 
+# controls if a separate .chi index file is generated (YES) or that 
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag 
+# controls whether a binary table of contents is generated (YES) or a 
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members 
+# to the contents of the Html help documentation and to the tree view.
+
+TOC_EXPAND             = yes
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
+# top of each HTML page. The value NO (the default) enables the index and 
+# the value YES disables it.
+
+DISABLE_INDEX          = no
+
+# This tag can be used to set the number of enum values (range [1..20]) 
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
+# generated containing a tree-like index structure (just like the one that 
+# is generated for HTML Help). For this to work a browser that supports 
+# JavaScript and frames is required (for instance Netscape 4.0+ 
+# or Internet explorer 4.0+).
+
+GENERATE_TREEVIEW      = no
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be 
+# used to set the initial width (in pixels) of the frame in which the tree 
+# is shown.
+
+TREEVIEW_WIDTH         = 220
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
+# generate Latex output.
+
+GENERATE_LATEX         = %GENERATE_LATEX%
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT           = 
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
+# LaTeX documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_LATEX          = yes
+
+# The PAPER_TYPE tag can be used to set the paper type that is used 
+# by the printer. Possible values are: a4, a4wide, letter, legal and 
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         = 
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
+# the generated latex document. The header should contain everything until 
+# the first chapter. If it is left blank doxygen will generate a 
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER           = @srcdir@/header.tex
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
+# contain links (just like the HTML output) instead of page references 
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS         = no
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
+# plain latex in the generated Makefile. Set this option to YES to get a 
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
+# command to the generated LaTeX files. This will instruct LaTeX to keep 
+# running if errors occur, instead of asking the user for help. 
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
+# The RTF output is optimised for Word 97 and may not look very pretty with 
+# other RTF readers or editors.
+
+GENERATE_RTF           = no
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT             = 
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
+# RTF documents. This may be useful for small projects and may help to 
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
+# will contain hyperlink fields. The RTF file will 
+# contain links (just like the HTML output) instead of page references. 
+# This makes the output suitable for online browsing using WORD or other 
+# programs which support those fields. 
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's 
+# config file, i.e. a series of assigments. You only have to provide 
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    = 
+
+# Set optional variables used in the generation of an rtf document. 
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
+# generate man pages
+
+GENERATE_MAN           = no
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT             = 
+
+# The MAN_EXTENSION tag determines the extension that is added to 
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = 
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = yes
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will 
+# generate an XML file that captures the structure of 
+# the code including all documentation. Note that this 
+# feature is still experimental and incomplete at the 
+# moment.
+
+GENERATE_XML           = no
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
+# evaluate all C-preprocessor directives found in the sources and include 
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
+# names in the source code. If set to NO (the default) only conditional 
+# compilation will be performed. Macro expansion can be done in a controlled 
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
+# then the macro expansion is limited to the macros specified with the 
+# PREDEFINED and EXPAND_AS_PREDEFINED tags.
+
+EXPAND_ONLY_PREDEF     = YES
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that 
+# contain include files that are not input files but should be processed by 
+# the preprocessor.
+
+INCLUDE_PATH           = 
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
+# patterns (like *.h and *.hpp) to filter out the header-files in the 
+# directories. If left blank, the patterns specified with FILE_PATTERNS will 
+# be used.
+
+INCLUDE_FILE_PATTERNS  = 
+
+# The PREDEFINED tag can be used to specify one or more macro names that 
+# are defined before the preprocessor is started (similar to the -D option of 
+# gcc). The argument of the tag is a list of macros of the form: name 
+# or name=definition (no spaces). If the definition and the = are 
+# omitted =1 is assumed.
+
+PREDEFINED             = 
+
+# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then 
+# this tag can be used to specify a list of macro names that should be expanded. 
+# The macro definition that is found in the sources will be used. 
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED      = 
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references   
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tagfiles.
+
+TAGFILES               = 
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       = m17n.tag
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
+# in the class index. If set to NO only the inherited external classes 
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# The PERL_PATH should be the absolute path and name of the perl script 
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH              = 
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
+# available from the path. This tool is part of Graphviz, a graph visualization 
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT               = NO
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect inheritance relations. Setting this tag to YES will force the 
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect implementation dependencies (inheritance, containment, and 
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
+# tags are set to YES then doxygen will generate a graph for each documented 
+# file showing the direct and indirect include dependencies of the file with 
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each 
+# documented header file showing the documented files that directly or 
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = yes
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be 
+# found. If left blank, it is assumed the dot tool can be found on the path.
+
+DOT_PATH               = 
+
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images.
+
+MAX_DOT_GRAPH_WIDTH    = 1024
+
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images.
+
+MAX_DOT_GRAPH_HEIGHT   = 1024
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will 
+# generate a legend page explaining the meaning of the various boxes and 
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will 
+# remove the intermedate dot files that are used to generate 
+# the various graphs.
+
+DOT_CLEANUP            = YES
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine   
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be 
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE           = no
+
+# The CGI_NAME tag should be the name of the CGI script that 
+# starts the search engine (doxysearch) with the correct parameters. 
+# A script with this name will be generated by doxygen.
+
+CGI_NAME               = m17n-lib-cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the 
+# cgi binaries are located. See the documentation of your http daemon for 
+# details.
+
+CGI_URL                = http://mule.m17n.org/cgi-bin
+
+# The DOC_URL tag should be the absolute URL to the directory where the 
+# documentation is located. If left blank the absolute path to the 
+# documentation, with file:// prepended to it, will be used.
+
+DOC_URL                = http://mule.m17n.org/m17n-lib/%DEV_OR_USR_OR_JA%/html/
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the 
+# documentation is located. If left blank the directory on the local machine 
+# will be used.
+
+DOC_ABSPATH            = @srcdir@/%DEV_OR_USR_OR_JA%/html
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary 
+# is installed.
+
+BIN_ABSPATH            = /usr/local/bin
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to 
+# documentation generated for other projects. This allows doxysearch to search 
+# the documentation for these projects as well.
+
+EXT_DOC_PATHS          = 
diff --git a/footer.html b/footer.html
new file mode 100644 (file)
index 0000000..18b4824
--- /dev/null
@@ -0,0 +1,10 @@
+<hr>
+<a href="#top-of-page">Top of this page</a>
+<ADDRESS>
+<a href = "http://www.m17n.org/index.en.html" target = "mulewindow"><img src= "../../smallmule.gif" align=bottom alt="mulemark" border=0></a>
+<A HREF="mule-aist@m17n.org">mule-aist@m17n.org</a>
+
+</ADDRESS>
+</body>
+</HTML>
+
diff --git a/footer.html.ja b/footer.html.ja
new file mode 100644 (file)
index 0000000..dc00938
--- /dev/null
@@ -0,0 +1,10 @@
+<hr>
+<a href="#top-of-page">¤³¤Î¥Ú¡¼¥¸¤ÎÀèƬ¤ËÌá¤ë</a>
+<ADDRESS>
+<a href = "http://www.m17n.org/index.en.html" target = "mulewindow">m17n.org
+<img src= "../../smallmule.gif" align=bottom alt="mulemark" border=0></a>
+Copyright (C) 2002 AIST and IPA
+</ADDRESS>
+</body>
+</HTML>
+
diff --git a/head.ps b/head.ps
new file mode 100644 (file)
index 0000000..1470b54
--- /dev/null
+++ b/head.ps
@@ -0,0 +1,2 @@
+%!PS-Adobe-2.0
+/pdfmark { cleartomark } def
diff --git a/header.html b/header.html
new file mode 100644 (file)
index 0000000..177c8b0
--- /dev/null
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset="usascii">
+<title>Multilingual Library for Unix/Linux </title>
+<link href="m17nlib.css" rel="stylesheet" type="text/css">
+</head>
+
+<body bgcolor="#ffffff">
+
+<center>
+<!--  <a href = "http://www.m17n.org/m17n-lib/index.ja.html">About m17n-lib project (in Japanese)</a> &nbsp -->
+<!-- <a href = "http://mule.m17n.org/cgi-bin/namazu.cgi">Search with namazu</a>
+</center> -->
+
+<a name="top-of-page"></a>
+
+<hr>
\ No newline at end of file
diff --git a/header.html.ja b/header.html.ja
new file mode 100644 (file)
index 0000000..595328a
--- /dev/null
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset="EUC-JP">
+<title>Unix/Linux ¸þ¤±Â¿¸À¸ì¥é¥¤¥Ö¥é¥ê</title>
+<link href="m17nlib.css" rel="stylesheet" type="text/css">
+</head>
+
+<body bgcolor="#ffffff">
+
+<center>
+<!--  <a href = "http://www.m17n.org/m17n-lib/index.ja.html">About m17n-lib project (in Japanese)</a> &nbsp -->
+<!-- <a href = "http://mule.m17n.org/cgi-bin/namazu.cgi">Search with namazu</a>
+</center> -->
+
+<a name="top-of-page"></a>
+
+<hr>
\ No newline at end of file
diff --git a/header.tex b/header.tex
new file mode 100644 (file)
index 0000000..7325f98
--- /dev/null
@@ -0,0 +1 @@
+\input{header.tex}
diff --git a/m17nlib.css b/m17nlib.css
new file mode 100644 (file)
index 0000000..8a074ee
--- /dev/null
@@ -0,0 +1,23 @@
+H1 { text-align: center; font-family: cursive}
+A.qindex {}
+A.qindexRef {color: fuchsia}
+A.el { text-decoration: none; font-weight: bold }
+A.elRef { font-weight: bold }
+A.code { text-decoration: none; font-weight: normal; color: #4444ee }
+A.codeRef { font-weight: normal; color: #4444ee }
+A:hover { text-decoration: none; background-color: #f2f2ff }
+A:active {text-decoration: none; color: white; background-color: navy }
+DL.el { margin-left: -1cm }
+DIV.fragment { width: 100%; border: none; background-color: #eeeeee }
+DIV.ah { background-color: navy; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
+TD.md { background-color: #f2f2ff; font-weight: bold; }
+TD.mdname { background-color: #f2f2ff; font-weight: bold; font-style: italic }
+DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold }
+DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller }
+FONT.keyword       { color: #008000 }
+FONT.keywordtype   { color: #604020 }
+FONT.keywordflow   { color: #e08000 }
+FONT.comment       { color: #800000 }
+FONT.preprocessor  { color: #806020 }
+FONT.stringliteral { color: #002080 }
+FONT.charliteral   { color: #008080 }
diff --git a/mainpage.en.html b/mainpage.en.html
new file mode 100644 (file)
index 0000000..c89226d
--- /dev/null
@@ -0,0 +1,15 @@
+Multilingual Library m17n-lib is a C language library that provides
+the following basic maultilingual facilities for application software. 
+
+<DL>
+<DT><em> M-text </em><DD> A data structure used as objects for multilingual text. 
+<DT> Functions and macros <DD> Functions and macros for handling M-text.
+<DT> Decoder/Encoder <DD> Decoder/Encoder converts M-text from/to byte sequences
+in many kinds of formats.
+<DT> Huge space for character <DD> A character space that can contain all Unicode
+characters and the same number of non-Unicode characters.
+<DT> <em> CharTable </em> <DD> A data structure to store
+character-related attirubtes efficiently.
+<DT> User Interface for window systems <DD> Display and input of
+M-text on window systems.  
+</DL>
diff --git a/mainpage.ja.html b/mainpage.ja.html
new file mode 100644 (file)
index 0000000..726bd62
--- /dev/null
@@ -0,0 +1,14 @@
+¿¸À¸ì½èÍý¥é¥¤¥Ö¥é¥ê m17n-lib¤Ï C ¸À¸ìÍѥ饤¥Ö¥é¥ê¤Ç¤¢¤ê¡¢Â¿¸À¸ìʸ½ñ¤ò
+°·¤¦°Ê²¼¤Î´ðËܵ¡Ç½¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤ËÄ󶡤¹¤ë¡£
+
+<UL>
+<LI> Â¿¸À¸ì¥Æ¥­¥¹¥ÈÍÑ¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¤Î¹½Â¤ÂΠ<it> M-text </it> 
+<LI> M-text ¤ò°·¤¦¤¿¤á¤Î¿¤¯¤Î´Ø¿ô¡¦¥Þ¥¯¥í·²¡£¼ï¡¹¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç
+     ¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Æ¥­¥¹¥È¤È M-text ´Ö¤ÎÊÑ´¹¤ò¹Ô¤¦¥Ç¥³¡¼¥À¤È¥¨¥ó¥³¡¼¥À
+<LI> Unicode ¤ÎÁ´¤Æ¤Îʸ»ú¤Î¾¤Ë¡¢¤½¤ì¤ÈƱ¤¸¿ô¤ÎÈó Unicode Ê¸»ú¤ò°·
+    ¤¦¤³¤È¤Î¤Ç¤­¤ëµðÂç¤Êʸ»ú¶õ´Ö
+
+<LI> Ê¸»úËè¤Î¾ðÊó¤ò¸úΨÎɤ¯³ÊǼ¤¹¤ë¹½Â¤ÂΠ<it> CharTable </it>
+
+<LI> M-text¤Î¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à¾å¤Ç¤Îɽ¼¨¤ÈÆþÎÏ
+</UL>
\ No newline at end of file
diff --git a/smallmule.gif b/smallmule.gif
new file mode 100755 (executable)
index 0000000..4d56c7c
Binary files /dev/null and b/smallmule.gif differ
diff --git a/styles/backref.sty b/styles/backref.sty
new file mode 100644 (file)
index 0000000..f9a19ae
--- /dev/null
@@ -0,0 +1,151 @@
+%%
+%% This is file `backref.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% backref.dtx  (with options: `package')
+%% 
+\def\fileversion{1.19}
+\def\filedate{2000/01/19}
+%% File: backref.dtx Copyright (C) 1995, 1996, 1997, 1999 David Carlisle, Sebastian Rahtz
+%% This file is part of the `Hyperref Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the `Hyperref Bundle' is
+%% given in the file `manifest.txt'.
+\ProvidesPackage{backref}%
+  [\filedate\space v\fileversion\space Bibliographical back referencing]
+\newif\ifBR@verbose
+\@ifundefined{ifHy@verbose}{%
+  \BR@verbosefalse
+}{%
+  \let\ifBR@verbose\ifHy@verbose
+}
+\DeclareOption{verbose}{\BR@verbosetrue}
+\long\def\page@backref#1#2#3{#1}
+\long\def\section@backref#1#2#3{#2}
+\long\def\hyper@section@backref#1#2#3{\hyperlink{#3}{#2}}
+\long\def\hyper@page@backref#1#2#3{\hyperlink{page.#1}{#1}}
+\def\backrefpagesname{pages}
+\def\backrefsectionsname{sections}
+\DeclareOption{pageref}{%
+  \def\backref{\backrefpagesname\ }%
+  \let\backrefxxx\page@backref
+}
+\DeclareOption{ref}{%
+  \def\backref{\backrefsectionsname\ }%
+  \let\backrefxxx\section@backref
+}
+\DeclareOption{hyperref}{%
+  \def\backref{}\let\backrefxxx\hyper@section@backref
+}
+\DeclareOption{hyperpageref}{%
+  \def\backref{}\let\backrefxxx\hyper@page@backref
+}
+\ExecuteOptions{pageref}
+\ProcessOptions
+\def\BR@bibitem{\@ifnextchar[\BR@@lbibitem\BR@@bibitem}
+\def\BR@@lbibitem[#1]#2#3\par{%
+  \BRorg@bibitem[#1]{#2}#3
+  \newblock
+  \backref{\csname br@#2\endcsname}%
+  \par
+}%
+\def\BR@@bibitem#1#2\par{%
+  \BRorg@bibitem{#1}#2
+  \newblock
+  \backref{\csname br@#1\endcsname}%
+  \par
+}
+\@ifundefined{newblock}{\def\newblock{\par}}{}
+\def\backcite#1#2{%
+  \@for\x:=#1\do{%
+    \edef\x{\expandafter\@firstofone\x\@empty}%
+    \expandafter\ifx\csname br@\x\endcsname\relax
+      \expandafter\protected@xdef\csname br@\x\endcsname{%
+        \protect\backrefxxx#2%
+      }%
+    \else
+      \begingroup
+        \expandafter\def\expandafter\reserved@a\expandafter{%
+          \backrefxxx#2%
+        }%
+        \let\BRorg@backrefxxx\backrefxxx
+        \global\let\BR@found=N%
+        \long\def\backrefxxx##1##2##3{%
+          \expandafter\def\expandafter\reserved@b\expandafter{%
+            \BRorg@backrefxxx{##1}{##2}{##3}%
+          }%
+          \ifx\reserved@a\reserved@b
+            \global\let\BR@found=Y%
+          \fi
+        }%
+        \setbox\@tempboxa\hbox{\csname br@\x\endcsname}%
+      \endgroup
+      \if N\BR@found
+        \expandafter\protected@xdef\csname br@\x\endcsname{%
+          \csname br@\x\endcsname, %
+          \protect\backrefxxx#2%
+        }%
+      \fi
+    \fi
+  }%
+}
+\def\@currentHref{}
+\AtBeginDocument{%
+  \let\BRorg@bibitem\bibitem
+  \let\bibitem\BR@bibitem
+  \let\BRorg@thebibliography\thebibliography
+  \def\thebibliography{%
+    \@starttoc{brf}{}%
+    \BRorg@thebibliography
+  }%
+  \@ifundefined{NAT@parse}{%
+    \global\let\BRorg@citex\@citex
+    \global\let\@citex\BR@citex
+  }{%
+    \PackageInfo{backref}{** backref set up for natbib **}%
+  }%
+}
+\def\BR@citex[#1]#2{%
+  \BRorg@citex[#1]{#2}%
+  \ifBR@verbose
+    \PackageInfo{backref}{back cite \string`#2\string'}%
+  \fi
+  \Hy@backout{#2}%
+}
+\@ifpackageloaded{chicago}{%
+  \let\BRorg@citedatax\@citedatax
+  \def\@citedatax[#1]#2{%
+    \BRorg@citedatax[#1]{#2}%
+    \Hy@backout{#2}%
+  }%
+}{}
+\def\Hy@backout#1{%
+  \@bsphack
+  \ifx\@empty\@currentlabel
+    \protected@write\@auxout{}{%
+      \string\@writefile{brf}{%
+        \string\backcite{#1}{{\thepage}{(document)}{Doc-Start}}%
+      }%
+    }%
+  \else
+   \protected@write\@auxout{}{%
+     \string\@writefile{brf}{%
+       \string\backcite{#1}{{\thepage}{\@currentlabel}{\@currentHref}}%
+     }%
+   }%
+  \fi
+  \@esphack
+}
+\endinput
+%%
+%% End of file `backref.sty'.
diff --git a/styles/doxygen-m17n.sty b/styles/doxygen-m17n.sty
new file mode 100644 (file)
index 0000000..1faac7f
--- /dev/null
@@ -0,0 +1,82 @@
+%      -*- coding: euc-jp; -*-
+\ProvidesPackage{doxygen-m17n}
+
+%\usepackage{times}
+
+%% Don't leave the space for marginal notes.
+\setlength{\textwidth}{\paperwidth}
+\addtolength{\textwidth}{-2in}
+\setlength{\headwidth}{\textwidth}
+\setlength{\oddsidemargin}{0pt}
+\setlength{\evensidemargin}{0pt}
+\setlength{\marginparsep}{0pt}
+\setlength{\marginparwidth}{0pt}
+\addtolength{\textheight}{\footskip}
+
+\def\sectionmark#1{\markboth
+{\MakeUppercase{\ifnum \c@secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi #1}}{}}
+\def\sectionmark#1{\markboth{\MakeUppercase{#1}}{}}
+
+%% Don't write footers.
+\rfoot[]{}
+\lfoot[]{}
+
+%% Fixing incorrest indentation of the original `CompactItemize'
+%% environment.
+\renewenvironment{CompactItemize}
+{
+  \bgroup
+  \def\@listi{\leftmargin\leftmargini
+            \parsep 0\p@  \@plus2.5\p@ \@minus\p@
+            \topsep 10\p@ \@plus4\p@   \@minus6\p@
+            \itemsep0\p@  \@plus2.5\p@ \@minus\p@}
+  \def\@listii {\leftmargin\leftmarginii
+              \labelwidth\leftmarginii
+              \advance\labelwidth-\labelsep
+              \topsep    5\p@   \@plus2.5\p@ \@minus\p@
+              \parsep    0\p@ \@plus\p@    \@minus\p@
+              \itemsep   \parsep}
+  \begin{itemize}
+  \setlength{\leftskip}{-1.5em}
+}
+{\end{itemize}\egroup}
+
+\renewenvironment{Desc}
+{\begin{list}{}
+  {
+    \settowidth{\labelwidth}{40pt}
+    \setlength{\leftmargin}{\labelwidth}
+%    \setlength{\parsep}{0pt}
+    \setlength{\itemsep}{-4pt}
+    \renewcommand{\makelabel}{\entrylabel}
+  }
+}
+{\end{list}}
+
+
+%% Use arabic numbers in the second level `enumerate' environment.
+\renewcommand\theenumii{\@arabic\c@enumii}
+
+%% Treat `_' as a normal letter.
+\catcode`\_11\relax
+
+%% Make each section start with a new page.
+\let\origsection\section
+\def\newsection{\cleardoublepage\origsection}
+\def\sectionOnNewpage{\let\section\newsection}
+
+%% Cross reference for IPA document.
+\def\IPAlabel#1{\label{IPA:#1}}
+\def\IPAref#1{\texttt{#1} (P.\pageref{IPA:#1})}
+\def\IPApage#1{(P.\pageref{IPA:#1})}
+
+\let\origtt\tt
+\let\origbf\bf
+\newif\iftt
+\def\tt{\tttrue\origtt}
+\def\bf{\iftt\else\origbf\fi}
+\def\em{\ttfamily\bfseries}
+%{\catcode`"=\active\gdef"{{\catcode`"=12\verb+"+}}}
+%\catcode`"=\active
+%\def\includegraphics[#1]#2{}
diff --git a/styles/fancyhdr.sty b/styles/fancyhdr.sty
new file mode 100644 (file)
index 0000000..f1d70f7
--- /dev/null
@@ -0,0 +1,366 @@
+% fancyhdr.sty version 2.0
+% Fancy headers and footers for LaTeX.
+% Piet van Oostrum, 
+% Dept of Computer and Information Sciences, University of Utrecht,
+% Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands
+% Telephone: +31 30 2532180. Email: piet@cs.uu.nl
+% ========================================================================
+% LICENCE:
+% This file may be distributed under the terms of the LaTeX Project Public
+% License, as described in lppl.txt in the base LaTeX distribution.
+% Either version 1 or, at your option, any later version.
+% ========================================================================
+% MODIFICATION HISTORY:
+% Sep 16, 1994
+% version 1.4: Correction for use with \reversemargin
+% Sep 29, 1994:
+% version 1.5: Added the \iftopfloat, \ifbotfloat and \iffloatpage commands
+% Oct 4, 1994:
+% version 1.6: Reset single spacing in headers/footers for use with
+% setspace.sty or doublespace.sty
+% Oct 4, 1994:
+% version 1.7: changed \let\@mkboth\markboth to
+% \def\@mkboth{\protect\markboth} to make it more robust
+% Dec 5, 1994:
+% version 1.8: corrections for amsbook/amsart: define \@chapapp and (more
+% importantly) use the \chapter/sectionmark definitions from ps@headings if
+% they exist (which should be true for all standard classes).
+% May 31, 1995:
+% version 1.9: The proposed \renewcommand{\headrulewidth}{\iffloatpage...
+% construction in the doc did not work properly with the fancyplain style. 
+% June 1, 1995:
+% version 1.91: The definition of \@mkboth wasn't restored on subsequent
+% \pagestyle{fancy}'s.
+% June 1, 1995:
+% version 1.92: The sequence \pagestyle{fancyplain} \pagestyle{plain}
+% \pagestyle{fancy} would erroneously select the plain version.
+% June 1, 1995:
+% version 1.93: \fancypagestyle command added.
+% Dec 11, 1995:
+% version 1.94: suggested by Conrad Hughes <chughes@maths.tcd.ie>
+% CJCH, Dec 11, 1995: added \footruleskip to allow control over footrule
+% position (old hardcoded value of .3\normalbaselineskip is far too high
+% when used with very small footer fonts).
+% Jan 31, 1996:
+% version 1.95: call \@normalsize in the reset code if that is defined,
+% otherwise \normalsize.
+% this is to solve a problem with ucthesis.cls, as this doesn't
+% define \@currsize. Unfortunately for latex209 calling \normalsize doesn't
+% work as this is optimized to do very little, so there \@normalsize should
+% be called. Hopefully this code works for all versions of LaTeX known to
+% mankind.  
+% April 25, 1996:
+% version 1.96: initialize \headwidth to a magic (negative) value to catch
+% most common cases that people change it before calling \pagestyle{fancy}.
+% Note it can't be initialized when reading in this file, because
+% \textwidth could be changed afterwards. This is quite probable.
+% We also switch to \MakeUppercase rather than \uppercase and introduce a
+% \nouppercase command for use in headers. and footers.
+% May 3, 1996:
+% version 1.97: Two changes:
+% 1. Undo the change in version 1.8 (using the pagestyle{headings} defaults
+% for the chapter and section marks. The current version of amsbook and
+% amsart classes don't seem to need them anymore. Moreover the standard
+% latex classes don't use \markboth if twoside isn't selected, and this is
+% confusing as \leftmark doesn't work as expected.
+% 2. include a call to \ps@empty in ps@@fancy. This is to solve a problem
+% in the amsbook and amsart classes, that make global changes to \topskip,
+% which are reset in \ps@empty. Hopefully this doesn't break other things.
+% May 7, 1996:
+% version 1.98:
+% Added % after the line  \def\nouppercase
+% May 7, 1996:
+% version 1.99: This is the alpha version of fancyhdr 2.0
+% Introduced the new commands \fancyhead, \fancyfoot, and \fancyhf.
+% Changed \headrulewidth, \footrulewidth, \footruleskip to
+% macros rather than length parameters, In this way they can be
+% conditionalized and they don't consume length registers. There is no need
+% to have them as length registers unless you want to do calculations with
+% them, which is unlikely. Note that this may make some uses of them
+% incompatible (i.e. if you have a file that uses \setlength or \xxxx=)
+% May 10, 1996:
+% version 1.99a:
+% Added a few more % signs
+% May 10, 1996:
+% version 1.99b:
+% Changed the syntax of \f@nfor to be resistent to catcode changes of :=
+% Removed the [1] from the defs of \lhead etc. because the parameter is
+% consumed by the \@[xy]lhead etc. macros.
+% June 24, 1997:
+% version 1.99c:
+% corrected \nouppercase to also include the protected form of \MakeUppercase
+% \global added to manipulation of \headwidth.
+% \iffootnote command added.
+% Some comments added about \@fancyhead and \@fancyfoot.
+% Aug 24, 1998
+% version 1.99d
+% Changed the default \ps@empty to \ps@@empty in order to allow
+% \fancypagestyle{empty} redefinition.
+% Oct 11, 2000
+% version 2.0
+% Added LPPL license clause.
+%
+% A check for \headheight is added. An errormessage is given (once) if the
+% header is too large. Empty headers don't generate the error even if
+% \headheight is very small or even 0pt. 
+% Warning added for the use of 'E' option when twoside option is not used.
+% In this case the 'E' fields will never be used.
+%
+
+\def\ifancy@mpty#1{\def\temp@a{#1}\ifx\temp@a\@empty}
+
+\def\fancy@gdef#1#2{\ifancy@mpty{#2}\gdef#1{\leavevmode}\else\gdef#1{#2\strut}\fi}
+\def\fancy@ldef#1#2{\ifancy@mpty{#2}\def#1{\leavevmode}\else\def#1{#2\strut}\fi}
+
+\let\fancy@def\fancy@gdef
+
+\def\@fancyerrmsg#1{%
+        \ifx\PackageError\undefined
+        \errmessage{#1}\else
+        \PackageError{Fancyhdr}{#1}{}\fi}
+\def\@fancywarning#1{%
+        \ifx\PackageWarning\undefined
+        \errmessage{#1}\else
+        \PackageWarning{Fancyhdr}{#1}{}\fi}
+
+% Usage: \@forc \var{charstring}{command to be executed for each char}
+% This is similar to LaTeX's \@tfor, but expands the charstring.
+
+\def\@forc#1#2#3{\expandafter\f@rc\expandafter#1\expandafter{#2}{#3}}
+\def\f@rc#1#2#3{\def\temp@ty{#2}\ifx\@empty\temp@ty\else
+                                    \f@@rc#1#2\f@@rc{#3}\fi}
+\def\f@@rc#1#2#3\f@@rc#4{\def#1{#2}#4\f@rc#1{#3}{#4}}
+
+% Usage: \f@nfor\name:=list\do{body}
+% Like LaTeX's \@for but an empty list is treated as a list with an empty
+% element
+
+\newcommand{\f@nfor}[3]{\edef\@fortmp{#2}%
+    \expandafter\@forloop#2,\@nil,\@nil\@@#1{#3}}
+
+% Usage: \def@ult \cs{defaults}{argument}
+% sets \cs to the characters from defaults appearing in argument
+% or defaults if it would be empty. All characters are lowercased.
+
+\newcommand\def@ult[3]{%
+    \edef\temp@a{\lowercase{\edef\noexpand\temp@a{#3}}}\temp@a
+    \def#1{}%
+    \@forc\tmpf@ra{#2}%
+        {\expandafter\if@in\tmpf@ra\temp@a{\edef#1{#1\tmpf@ra}}{}}%
+    \ifx\@empty#1\def#1{#2}\fi}
+% 
+% \if@in <char><set><truecase><falsecase>
+%
+\newcommand{\if@in}[4]{%
+    \edef\temp@a{#2}\def\temp@b##1#1##2\temp@b{\def\temp@b{##1}}%
+    \expandafter\temp@b#2#1\temp@b\ifx\temp@a\temp@b #4\else #3\fi}
+
+\newcommand{\fancyhead}{\@ifnextchar[{\f@ncyhf h}{\f@ncyhf h[]}}
+\newcommand{\fancyfoot}{\@ifnextchar[{\f@ncyhf f}{\f@ncyhf f[]}}
+\newcommand{\fancyhf}{\@ifnextchar[{\f@ncyhf {}}{\f@ncyhf {}[]}}
+
+% The header and footer fields are stored in command sequences with
+% names of the form: \f@ncy<x><y><z> with <x> for [eo], <y> form [lcr]
+% and <z> from [hf].
+
+\def\f@ncyhf#1[#2]#3{%
+    \def\temp@c{}%
+    \@forc\tmpf@ra{#2}%
+        {\expandafter\if@in\tmpf@ra{eolcrhf,EOLCRHF}%
+            {}{\edef\temp@c{\temp@c\tmpf@ra}}}%
+    \ifx\@empty\temp@c\else
+        \@fancyerrmsg{Illegal char `\temp@c' in fancyhdr argument:
+          [#2]}%
+    \fi
+    \f@nfor\temp@c{#2}%
+        {\def@ult\f@@@eo{eo}\temp@c
+         \if@twoside\else
+           \if\f@@@eo e\@fancywarning
+             {fancyhdr's E option without twoside option is useless}\fi\fi
+         \def@ult\f@@@lcr{lcr}\temp@c
+         \def@ult\f@@@hf{hf}{#1\temp@c}%
+         \@forc\f@@eo\f@@@eo
+             {\@forc\f@@lcr\f@@@lcr
+                 {\@forc\f@@hf\f@@@hf
+                     {\expandafter\fancy@def\csname
+                      f@ncy\f@@eo\f@@lcr\f@@hf\endcsname
+                      {#3}}}}}}
+
+% Fancyheadings version 1 commands. These are more or less deprecated,
+% but they continue to work.
+
+\newcommand{\lhead}{\@ifnextchar[{\@xlhead}{\@ylhead}}
+\def\@xlhead[#1]#2{\fancy@def\f@ncyelh{#1}\fancy@def\f@ncyolh{#2}}
+\def\@ylhead#1{\fancy@def\f@ncyelh{#1}\fancy@def\f@ncyolh{#1}}
+
+\newcommand{\chead}{\@ifnextchar[{\@xchead}{\@ychead}}
+\def\@xchead[#1]#2{\fancy@def\f@ncyech{#1}\fancy@def\f@ncyoch{#2}}
+\def\@ychead#1{\fancy@def\f@ncyech{#1}\fancy@def\f@ncyoch{#1}}
+
+\newcommand{\rhead}{\@ifnextchar[{\@xrhead}{\@yrhead}}
+\def\@xrhead[#1]#2{\fancy@def\f@ncyerh{#1}\fancy@def\f@ncyorh{#2}}
+\def\@yrhead#1{\fancy@def\f@ncyerh{#1}\fancy@def\f@ncyorh{#1}}
+
+\newcommand{\lfoot}{\@ifnextchar[{\@xlfoot}{\@ylfoot}}
+\def\@xlfoot[#1]#2{\fancy@def\f@ncyelf{#1}\fancy@def\f@ncyolf{#2}}
+\def\@ylfoot#1{\fancy@def\f@ncyelf{#1}\fancy@def\f@ncyolf{#1}}
+
+\newcommand{\cfoot}{\@ifnextchar[{\@xcfoot}{\@ycfoot}}
+\def\@xcfoot[#1]#2{\fancy@def\f@ncyecf{#1}\fancy@def\f@ncyocf{#2}}
+\def\@ycfoot#1{\fancy@def\f@ncyecf{#1}\fancy@def\f@ncyocf{#1}}
+
+\newcommand{\rfoot}{\@ifnextchar[{\@xrfoot}{\@yrfoot}}
+\def\@xrfoot[#1]#2{\fancy@def\f@ncyerf{#1}\fancy@def\f@ncyorf{#2}}
+\def\@yrfoot#1{\fancy@def\f@ncyerf{#1}\fancy@def\f@ncyorf{#1}}
+
+\newdimen\headwidth
+\newcommand{\headrulewidth}{0.4pt}
+\newcommand{\footrulewidth}{\z@skip}
+\newcommand{\footruleskip}{.3\normalbaselineskip}
+
+% Fancyplain stuff shouldn't be used anymore (rather
+% \fancypagestyle{plain} should be used), but it must be present for
+% compatibility reasons.
+
+\newcommand{\plainheadrulewidth}{\z@skip}
+\newcommand{\plainfootrulewidth}{\z@skip}
+\newif\if@fancyplain \@fancyplainfalse
+\def\fancyplain#1#2{\if@fancyplain#1\else#2\fi}
+
+\headwidth=-123456789sp %magic constant
+
+% Command to reset various things in the headers:
+% a.o.  single spacing (taken from setspace.sty)
+% and the catcode of ^^M (so that epsf files in the header work if a
+% verbatim crosses a page boundary)
+% It also defines a \nouppercase command that disables \uppercase and
+% \Makeuppercase. It can only be used in the headers and footers.
+\def\fancy@reset{\restorecr
+ \def\baselinestretch{1}%
+ \def\nouppercase##1{{\let\uppercase\relax\let\MakeUppercase\relax
+     \expandafter\let\csname MakeUppercase \endcsname\relax##1}}%
+ \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e
+   \ifx\@normalsize\undefined \normalsize % for ucthesis.cls
+   \else \@normalsize \fi
+ \else% NFSS (2.09) present
+  \@newbaseline%
+ \fi}
+
+% Initialization of the head and foot text.
+
+% The default values still contain \fancyplain for compatibility.
+\fancyhf{} % clear all
+% lefthead empty on ``plain'' pages, \rightmark on even, \leftmark on odd pages
+% evenhead empty on ``plain'' pages, \leftmark on even, \rightmark on odd pages
+\if@twoside
+  \fancyhead[el,or]{\fancyplain{}{\sl\rightmark}}
+  \fancyhead[er,ol]{\fancyplain{}{\sl\leftmark}}
+\else
+  \fancyhead[l]{\fancyplain{}{\sl\rightmark}}
+  \fancyhead[r]{\fancyplain{}{\sl\leftmark}}
+\fi
+\fancyfoot[c]{\rm\thepage} % page number
+
+% Use box 0 as a temp box and dimen 0 as temp dimen. 
+% This can be done, because this code will always
+% be used inside another box, and therefore the changes are local.
+
+\def\@fancyvbox#1#2{\setbox0\vbox{#2}\ifdim\ht0>#1\@fancywarning
+  {\string#1 is too small (\the\headheight): ^^J Make it at least \the\ht0.^^J
+    We now make it that large for the rest of the document.^^J
+    This may cause the page layout to be inconsistent, however\@gobble}%
+  \dimen0=#1\global\setlength{#1}{\ht0}\ht0=\dimen0\fi
+  \box0}
+
+% Put together a header or footer given the left, center and
+% right text, fillers at left and right and a rule.
+% The \lap commands put the text into an hbox of zero size,
+% so overlapping text does not generate an errormessage.
+% These macros have 5 parameters:
+% 1. \@lodd or \@rodd % This determines at which side the header will stick
+%    out.
+% 2. \f@ncyolh, \f@ncyelh, \f@ncyolf or \f@ncyelf. This is the left component.
+% 3. \f@ncyoch, \f@ncyech, \f@ncyocf or \f@ncyecf. This is the middle comp.
+% 4. \f@ncyorh, \f@ncyerh, \f@ncyorf or \f@ncyerf. This is the right component.
+% 5. \@lodd or \@rodd % This determines at which side the header will stick
+%    out. This is the reverse of parameter nr. 1. One of them is always
+%    \relax and the other one is \hss (after expansion).
+
+\def\@fancyhead#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset
+  \@fancyvbox\headheight{\hbox
+    {\rlap{\parbox[b]{\headwidth}{\raggedright#2}}\hfill
+      \parbox[b]{\headwidth}{\centering#3}\hfill
+      \llap{\parbox[b]{\headwidth}{\raggedleft#4}}}\headrule}}#5}
+
+\def\@fancyfoot#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset
+    \@fancyvbox\footskip{\footrule
+      \hbox{\rlap{\parbox[t]{\headwidth}{\raggedright#2}}\hfill
+        \parbox[t]{\headwidth}{\centering#3}\hfill
+        \llap{\parbox[t]{\headwidth}{\raggedleft#4}}}}}#5}
+
+\def\headrule{{\if@fancyplain\let\headrulewidth\plainheadrulewidth\fi
+    \hrule\@height\headrulewidth\@width\headwidth \vskip-\headrulewidth}}
+
+\def\footrule{{\if@fancyplain\let\footrulewidth\plainfootrulewidth\fi
+    \vskip-\footruleskip\vskip-\footrulewidth
+    \hrule\@width\headwidth\@height\footrulewidth\vskip\footruleskip}}
+
+\def\ps@fancy{%
+\@ifundefined{@chapapp}{\let\@chapapp\chaptername}{}%for amsbook
+%
+% Define \MakeUppercase for old LaTeXen.
+% Note: we used \def rather than \let, so that \let\uppercase\relax (from
+% the version 1 documentation) will still work.
+%
+\@ifundefined{MakeUppercase}{\def\MakeUppercase{\uppercase}}{}%
+\@ifundefined{chapter}{\def\sectionmark##1{\markboth
+{\MakeUppercase{\ifnum \c@secnumdepth>\z@
+ \thesection\hskip 1em\relax \fi ##1}}{}}%
+\def\subsectionmark##1{\markright {\ifnum \c@secnumdepth >\@ne
+ \thesubsection\hskip 1em\relax \fi ##1}}}%
+{\def\chaptermark##1{\markboth {\MakeUppercase{\ifnum \c@secnumdepth>\m@ne
+ \@chapapp\ \thechapter. \ \fi ##1}}{}}%
+\def\sectionmark##1{\markright{\MakeUppercase{\ifnum \c@secnumdepth >\z@
+ \thesection. \ \fi ##1}}}}%
+%\csname ps@headings\endcsname % use \ps@headings defaults if they exist
+\ps@@fancy
+\gdef\ps@fancy{\@fancyplainfalse\ps@@fancy}%
+% Initialize \headwidth if the user didn't
+%
+\ifdim\headwidth<0sp
+%
+% This catches the case that \headwidth hasn't been initialized and the
+% case that the user added something to \headwidth in the expectation that
+% it was initialized to \textwidth. We compensate this now. This loses if
+% the user intended to multiply it by a factor. But that case is more
+% likely done by saying something like \headwidth=1.2\textwidth. 
+% The doc says you have to change \headwidth after the first call to
+% \pagestyle{fancy}. This code is just to catch the most common cases were
+% that requirement is violated.
+%
+    \global\advance\headwidth123456789sp\global\advance\headwidth\textwidth
+\fi}
+\def\ps@fancyplain{\ps@fancy \let\ps@plain\ps@plain@fancy}
+\def\ps@plain@fancy{\@fancyplaintrue\ps@@fancy}
+\let\ps@@empty\ps@empty
+\def\ps@@fancy{%
+\ps@@empty % This is for amsbook/amsart, which do strange things with \topskip
+\def\@mkboth{\protect\markboth}%
+\def\@oddhead{\@fancyhead\@lodd\f@ncyolh\f@ncyoch\f@ncyorh\@rodd}%
+\def\@oddfoot{\@fancyfoot\@lodd\f@ncyolf\f@ncyocf\f@ncyorf\@rodd}%
+\def\@evenhead{\@fancyhead\@rodd\f@ncyelh\f@ncyech\f@ncyerh\@lodd}%
+\def\@evenfoot{\@fancyfoot\@rodd\f@ncyelf\f@ncyecf\f@ncyerf\@lodd}%
+}
+\def\@lodd{\if@reversemargin\hss\else\relax\fi}
+\def\@rodd{\if@reversemargin\relax\else\hss\fi}
+
+\newif\iffootnote
+\let\latex@makecol\@makecol
+\def\@makecol{\ifvoid\footins\footnotetrue\else\footnotefalse\fi
+\let\topfloat\@toplist\let\botfloat\@botlist\latex@makecol}
+\def\iftopfloat#1#2{\ifx\topfloat\empty #2\else #1\fi}
+\def\ifbotfloat#1#2{\ifx\botfloat\empty #2\else #1\fi}
+\def\iffloatpage#1#2{\if@fcolmade #1\else #2\fi}
+
+\newcommand{\fancypagestyle}[2]{%
+  \@namedef{ps@#1}{\let\fancy@def\fancy@ldef#2\relax\ps@fancy}}
diff --git a/styles/float.sty b/styles/float.sty
new file mode 100644 (file)
index 0000000..7fa4a1a
--- /dev/null
@@ -0,0 +1,144 @@
+%%
+%% This is file `float.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% float.dtx  (with options: `package')
+%% 
+%% IMPORTANT NOTICE:
+%% This file is a stripped version of `float.dtx',
+%% copyright (c) 1991-2000 Anselm Lingnau
+%% (lingnau@tm.informatik.uni-frankfurt.de)
+%% 
+%% This file may only be distributed together with the corresponding
+%% `float.dtx' file. See `float.dtx' for distribution conditions on
+%% the original source.
+%% 
+%% Package `float' to use with LaTeX 2e
+%% Copyright (C) 1991-2000 Anselm Lingnau, all rights reserved
+%%
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+\ProvidesPackage{float}
+         [2000/03/09 v1.2e Float enhancements (AL)]
+\newcounter{float@type}
+\@ifundefined{c@figure}%
+  {\setcounter{float@type}{1}}%
+  {\setcounter{float@type}{4}}
+\newcommand\floatstyle[1]{\@ifundefined{fs@#1}%
+  {\float@error{#1}}%
+  {\def\float@style{#1}}}
+\newcommand\float@error[1]{\PackageError{float}{%
+  Unknown float style `#1'
+}{\@eha}}
+\newcommand\floatname[2]{\@namedef{fname@#1}{#2}}
+\newcommand\floatplacement[2]{\@namedef{fps@#1}{#2}}
+\newcommand\restylefloat[1]{\expandafter\edef\csname
+  fst@#1\endcsname{\expandafter\noexpand\csname
+    fs@\float@style\endcsname}%
+   \@namedef{#1}{\bgroup\@nameuse{fst@#1}\@float{#1}}%
+   \@namedef{#1*}{\bgroup\@nameuse{fst@#1}\@dblfloat{#1}}%
+   \expandafter\let\csname end#1\endcsname\float@end
+   \expandafter\let\csname end#1*\endcsname\float@dblend}
+\newcommand\newfloat[3]{\@namedef{ext@#1}{#3}
+  \floatplacement{#1}{#2}%
+  \@ifundefined{fname@#1}{\floatname{#1}{#1}}{}
+  \expandafter\edef\csname ftype@#1\endcsname{\value{float@type}}%
+  \addtocounter{float@type}{\value{float@type}}
+  \restylefloat{#1}%
+  \expandafter\edef\csname fnum@#1\endcsname%
+    {\expandafter\noexpand\csname fname@#1\endcsname{}
+       \expandafter\noexpand\csname the#1\endcsname}
+  \@ifnextchar[{\@xnewfloat{#1}}%
+    {\@ifundefined{c@#1}{\newcounter{#1}\@namedef{the#1}{\arabic{#1}}}%
+      {}}}
+\def\@xnewfloat#1[#2]{\@ifundefined{c@#1}{\newcounter{#1}[#2]%
+    \expandafter\edef\csname the#1\endcsname{%
+      \expandafter\noexpand\csname
+        the#2\endcsname.\noexpand\arabic{#1}}}%
+    {\PackageWarning{float}{Can't redefine counter variable for #1.}}}
+\let\@Hxfloat\@xfloat
+\def\@xfloat#1[{\@ifnextchar{H}{\@HHfloat{#1}[}{\@Hxfloat{#1}[}}
+\newsavebox\float@box
+\newif\if@flstyle
+\def\@HHfloat#1[H]{%
+  \expandafter\let\csname end#1\endcsname\float@endH
+  \let\@currbox\float@box
+  \def\@captype{#1}\setbox\@floatcapt=\vbox{}%
+  \expandafter\ifx\csname fst@#1\endcsname\relax
+    \@flstylefalse\else\@flstyletrue\fi
+  \setbox\@currbox\color@vbox\normalcolor
+    \vbox\bgroup \hsize\columnwidth \@parboxrestore
+      \reset@font \normalsize \@setnobreak \@setminipage
+  \ignorespaces}
+\newcommand\float@makebox{%
+  \vbox{\hsize\columnwidth \@parboxrestore
+    \@fs@pre\@fs@iftopcapt
+      \ifvbox\@floatcapt\unvbox\@floatcapt\par\@fs@mid\fi
+      \unvbox\@currbox
+    \else\unvbox\@currbox
+      \ifvbox\@floatcapt\par\@fs@mid\unvbox\@floatcapt\fi
+    \fi\par\@fs@post\vskip\z@}}
+\newcommand\float@end{\global\@minipagefalse \outer@nobreak
+  \egroup \color@endbox
+  \global\setbox\@currbox\float@makebox
+   \ifnum\@floatpenalty <\z@ \@largefloatcheck
+    \@cons\@currlist\@currbox
+     \ifnum\@floatpenalty < -\@Mii
+        \penalty -\@Miv \@tempdima\prevdepth
+        \vbox{}\prevdepth \@tempdima \penalty\@floatpenalty
+      \else \vadjust{\penalty -\@Miv
+        \vbox{}\penalty\@floatpenalty}\@Esphack
+     \fi\fi\egroup}
+\newcommand\float@endH{\par\vskip\z@skip
+    \global\@minipagefalse \outer@nobreak
+  \egroup \color@endbox \vskip\intextsep
+  \if@flstyle\float@makebox\egroup\else\box\@currbox\fi
+  \vskip\intextsep\relax}
+\newcommand\float@dblend{\if@twocolumn
+  \par\vskip\z@\egroup \outer@nobreak \color@endbox
+  \global\setbox\@currbox\float@makebox
+  \ifnum\@floatpenalty <\z@ \@largefloatcheck
+    \@cons\@dbldeferlist\@currbox\fi
+    \ifnum \@floatpenalty =-\@Mii \@Esphack\fi\egroup\else\float@end\fi}
+\newsavebox\@floatcapt
+\renewcommand\caption{\refstepcounter\@captype
+  \expandafter\ifx\csname fst@\@captype\endcsname\relax
+      \let\@tempf\@caption
+    \else\let\@tempf\float@caption\fi \@dblarg{\@tempf\@captype}}
+\long\def\float@caption#1[#2]#3{\addcontentsline{\@nameuse{ext@#1}}{#1}%
+   {\protect\numberline{\@nameuse{the#1}}{\ignorespaces #2}}
+  \global\setbox\@floatcapt\vbox\bgroup\@parboxrestore
+    \normalsize\@fs@capt{\@nameuse{fnum@#1}}{\ignorespaces #3}%
+    \@ifnextchar[{\float@ccon}{\egroup}}
+\long\def\float@ccon[#1]{#1\par\egroup}
+\newcommand\listof[2]{%
+  \@ifundefined{ext@#1}{\float@error{#1}}{%
+    \@ifundefined{chapter}{\def\@tempa{\section*}}%
+      {\def\@tempa{\chapter*}}%
+    \@tempa{#2\@mkboth{\uppercase{#2}}{\uppercase{#2}}}%
+    \@namedef{l@#1}{\@dottedtocline{1}{1.5em}{2.3em}}%
+    \@starttoc{\@nameuse{ext@#1}}}}
+\newcommand\floatc@plain[2]{\setbox\@tempboxa\hbox{{\@fs@cfont #1:} #2}%
+  \ifdim\wd\@tempboxa>\hsize {\@fs@cfont #1:} #2\par
+    \else\hbox to\hsize{\hfil\box\@tempboxa\hfil}\fi}
+\newcommand\fs@plain{\def\@fs@cfont{\rmfamily}\let\@fs@capt\floatc@plain
+  \def\@fs@pre{}\def\@fs@post{}\def\@fs@mid{\vspace{10pt}\relax}%
+  \let\@fs@iftopcapt\iffalse}
+\newcommand\floatc@ruled[2]{{\@fs@cfont #1} #2\par}
+\newcommand\fs@ruled{\def\@fs@cfont{\bfseries}\let\@fs@capt\floatc@ruled
+  \def\@fs@pre{\hrule height.8pt depth0pt \kern2pt}%
+  \def\@fs@post{\kern2pt\hrule\relax}%
+  \def\@fs@mid{\kern2pt\hrule\kern2pt}%
+  \let\@fs@iftopcapt\iftrue}
+\newcommand\fs@boxed{\def\@fs@cfont{\bfseries}\let\@fs@capt\floatc@plain
+  \def\@fs@pre{\setbox\@currbox\vbox{\hbadness10000
+    \moveleft3.4pt\vbox{\advance\hsize by6.8pt
+      \hrule \hbox to\hsize{\vrule\kern3pt
+        \vbox{\kern3pt\box\@currbox\kern3pt}\kern3pt\vrule}\hrule}}}%
+  \def\@fs@mid{\kern2pt}%
+  \def\@fs@post{}\let\@fs@iftopcapt\iffalse}
+\floatstyle{plain}
+\endinput
+%%
+%% End of file `float.sty'.
diff --git a/styles/hdvipdfm.def b/styles/hdvipdfm.def
new file mode 100644 (file)
index 0000000..e01dfaa
--- /dev/null
@@ -0,0 +1,861 @@
+%%
+%% This is file `hdvipdfm.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hyperref.dtx  (with options: `dvipdfm,pdfform,outlines')
+%% 
+%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
+%% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
+%%
+%% This file is part of the `Hyperref Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the `Hyperref Bundle' is
+%% given in the file `manifest.txt'.
+%%
+\ProvidesFile{hdvipdfm.def}
+  [2001/05/26 v6.71g
+  Hyperref driver for dvipdfm]
+\def\Hy@PutCatalog#1{\@pdfm@mark{docview << #1 >>}}
+\ifHy@pagelabels
+  \def\HyPL@StorePageLabel#1{%
+    \if@filesw
+      \begingroup
+        \edef\Hy@tempa{\the\Hy@abspage\space<< #1 >> }%
+        \immediate\write\@mainaux{%
+          \string\HyPL@Entry{\Hy@tempa}%
+        }%
+      \endgroup
+    \fi
+  }
+  \AfterBeginDocument{%
+    \if@filesw
+      \immediate\write\@mainaux{%
+        \string\providecommand\string*\string\HyPL@Entry[1]{}%
+      }%
+    \fi
+    \ifx\HyPL@Labels\@empty
+      \Hy@WarningNoLine{Rerun to get /PageLabels entry}%
+    \else
+      \HyPL@SetPageLabels
+    \fi
+    \let\HyPL@Entry\@gobble
+  }%
+  \def\HyPL@Entry#1{%
+    \expandafter\gdef\expandafter\HyPL@Labels\expandafter{%
+      \HyPL@Labels
+      #1%
+    }%
+  }
+\fi
+\newsavebox{\pdfm@box}
+\def\@pdfm@mark#1{\special{pdf:#1}}
+\def\@pdfm@dest#1{%
+  \Hy@SaveLastskip
+  \@pdfm@mark{dest (#1) [@thispage /\@pdfview\space @xpos @ypos]}%
+  \Hy@RestoreLastskip
+}
+\providecommand\@pdfview{XYZ}
+\providecommand\@pdfborder{0 0 1}
+\def\hyper@anchor#1{%
+  \@pdfm@dest{#1}%
+}
+\def\hyper@anchorstart#1{%
+  \Hy@activeanchortrue
+  \@pdfm@dest{#1}%
+}
+\def\hyper@anchorend{%
+  \Hy@activeanchorfalse
+}
+\def\Hy@undefinedname{UNDEFINED}
+\def\hyper@linkstart#1#2{%
+  \protected@edef\Hy@testname{#2}%
+  \ifx\Hy@testname\@empty
+    \let\Hy@testname\Hy@undefinedname
+  \fi
+  \@pdfm@mark{%
+    bann <<
+      /Type /Annot
+      /Subtype /Link
+      /Border [\@pdfborder]
+      /C [\csname @#1bordercolor\endcsname]
+      /A <<
+        /S /GoTo
+        /D (\Hy@testname)
+      >>
+    >>
+  }%
+  \Hy@colorlink{\csname @#1color\endcsname}%
+}
+\def\hyper@linkend{%
+  \Hy@endcolorlink
+  \@pdfm@mark{eann}%
+}
+\def\hyper@link#1#2#3{%
+  \hyper@linkstart{#1}{#2}#3\hyper@linkend
+}
+\def\hyper@linkfile#1#2#3{%
+  \@pdfm@mark{%
+    bann <<
+      /Type /Annot
+      /Subtype /Link
+      /Border [\@pdfborder]
+      /C [\@filebordercolor]
+      /A <<
+        /S /GoToR
+        /F (#2)
+        /D \ifx\\#3\\[0 \@pdfstartview]\else(#3)\fi\space
+        \ifHy@newwindow /NewWindow true \fi
+      >>
+    >>%
+  }%
+  \Hy@colorlink{\@filecolor}#1\Hy@endcolorlink
+  \@pdfm@mark{eann}%
+}
+\def\@hyper@launch run:#1\\#2#3{% filename, anchor text linkname
+  \@pdfm@mark{%
+    bann <<
+      /Type /Annot
+      /Subtype /Link
+      /Border [\@pdfborder]
+      /C [\@filebordercolor]
+      /A <<
+        /S /Launch
+        /F (#1)
+        \ifHy@newwindow /NewWindow true \fi
+        \ifx\\#3\\%
+        \else
+          /Win << /P (#3) /F (#1) >>
+        \fi
+      >>
+    >>%
+  }%
+  \Hy@colorlink{\@filecolor}#2\Hy@endcolorlink
+  \@pdfm@mark{eann}%
+}
+\def\hyper@linkurl#1#2{%
+  \@pdfm@mark{%
+    bann <<
+      /Type /Annot
+      /Subtype /Link
+      /Border [\@pdfborder]
+      /C [\@urlbordercolor]
+      /A <<
+        /S /URI
+        /URI (#2)
+      >>
+    >>%
+  }%
+  \Hy@colorlink{\@urlcolor}#1\Hy@endcolorlink
+  \@pdfm@mark{eann}%
+}
+\def\Acrobatmenu#1#2{%
+  \@pdfm@mark{%
+    bann <<
+      /Type /Annot
+      /Subtype /Link
+      /A <<
+        /S /Named
+        /N /#1
+      >>
+      /Border [\@pdfborder]
+      /C [\@menubordercolor]
+    >>%
+  }%
+  \Hy@colorlink{\@menucolor}#2\Hy@endcolorlink
+  \@pdfm@mark{eann}%
+}
+\def\@pdfproducer{dvipdfm}
+\def\PDF@FinishDoc{%
+  \@pdfm@mark{%
+    docinfo <<
+      /Title (\@pdftitle)
+      /Subject (\@pdfsubject)
+      /Creator (\@pdfcreator)
+      /Author (\@pdfauthor)
+      /Producer (\@pdfproducer)
+      /Keywords (\@pdfkeywords)
+    >>%
+  }%
+  \Hy@DisableOption{pdfauthor}%
+  \Hy@DisableOption{pdftitle}%
+  \Hy@DisableOption{pdfsubject}%
+  \Hy@DisableOption{pdfcreator}%
+  \Hy@DisableOption{pdfproducer}%
+  \Hy@DisableOption{pdfkeywords}%
+}
+\def\PDF@SetupDoc{%
+  \@pdfm@mark{%
+    docview <<
+      /Page \@pdfstartpage\space
+      /View \@pdfstartview\space
+      /URI << /Base (\@baseurl) >>
+      /PageMode \@pdfpagemode
+      /ViewerPreferences <<
+        \ifHy@toolbar\else /HideToolbar true \fi
+        \ifHy@menubar\else /HideMenubar true \fi
+        \ifHy@windowui\else /HideWindowUI true \fi
+        \ifHy@fitwindow /FitWindow true \fi
+        \ifHy@centerwindow /CenterWindow true \fi
+      >>
+      \ifx\pdf@pagelayout\@empty
+      \else
+        /PageLayout /\pdf@pagelayout\space
+      \fi
+    >>%
+  }%
+  \ifx\@pdfpagescrop\@empty
+  \else
+    \@pdfm@mark{put @pages << /CropBox [\@pdfpagescrop] >>}
+  \fi
+}
+\def\@Gauge[#1]#2#3#4{% parameters, label, minimum, maximum
+  \typeout{Sorry, dvipdfm does not support FORM gauges}%
+}
+\def\@Form[#1]{%
+  \@ifundefined{textcolor}{\let\textcolor\@gobble}{}%
+  \setkeys{Form}{#1}%
+  \@pdfm@mark{obj @afields [ ]}%
+  \@pdfm@mark{obj @corder [ ]}%
+  \@pdfm@mark{%
+    obj @aform <<
+      /Fields @afields
+      /DR << /Font << /ZaDb @OBJZaDb /Helv @OBJHelv >> >>
+      /DA (/Helv 10 Tf 0 g )
+      /CO @corder
+      /NeedAppearances true
+    >>%
+  }%
+  \@pdfm@mark{put @catalog << /AcroForm @aform >>}%
+}
+\def\@endForm{}
+\def\dvipdfm@setdim{%
+  height \the\ht\pdfm@box\space
+  width  \the\wd\pdfm@box\space
+  depth  \the\dp\pdfm@box\space
+}
+\def\@TextField[#1]#2{% parameters, label
+  \def\Fld@name{#2}%
+  \def\Fld@default{}%
+  \let\Fld@value\@empty
+  \def\Fld@width{\DefaultWidthofText}%
+  \def\Fld@height{\DefaultHeightofText}%
+  \bgroup
+    \Field@toks={ }%
+    \setkeys{Field}{#1}%
+    \ifFld@hidden\def\Fld@width{1sp}\fi
+    \ifx\Fld@value\@empty\def\Fld@value{\Fld@default}\fi
+    \ifFld@multiline
+      \def\Fld@height{4\DefaultHeightofText}% DANGER
+    \fi
+    \setbox\pdfm@box=\hbox{%
+      \MakeTextField{\Fld@width}{\Fld@height}%
+    }%
+    \LayoutTextField{#2}{%
+      \@pdfm@mark{%
+        ann @\Fld@name\space \dvipdfm@setdim << \PDFForm@Text >>%
+      }%
+    }%
+    \unhbox\pdfm@box
+    \@pdfm@mark{put @afields @\Fld@name}% record in @afields array
+  \egroup
+}
+\def\@ChoiceMenu[#1]#2#3{% parameters, label, choices
+  \def\Fld@name{#2}%
+  \def\Fld@default{}%
+  \def\Fld@width{\DefaultWidthofChoiceMenu}%
+  \def\Fld@height{\DefaultHeightofChoiceMenu}%
+  \bgroup
+    \Fld@menulength=0
+    \@tempdima\z@
+    \@for\@curropt:=#3\do{%
+      \expandafter\Fld@checkequals\@curropt==\\%
+      \Hy@StepCount\Fld@menulength
+      \settowidth{\@tempdimb}{\@currDisplay}%
+      \ifdim\@tempdimb>\@tempdima\@tempdima\@tempdimb\fi
+    }%
+    \advance\@tempdima by 15\p@
+    \Field@toks={ }%
+    \setkeys{Field}{#1}%
+    \ifFld@hidden\def\Fld@width{1sp}\fi
+    \LayoutChoiceField{#2}{%
+      \ifFld@radio
+        \@@Radio{#3}%
+      \else
+        {%
+          \ifdim\Fld@width<\@tempdima
+            \ifdim\@tempdima<1cm\@tempdima1cm\fi
+            \edef\Fld@width{\the\@tempdima}%
+          \fi
+          \def\Fld@flags{}%
+          \ifFld@combo\def\Fld@flags{/Ff 917504}\fi
+          \ifFld@popdown\def\Fld@flags{/Ff 131072}\fi
+          \ifx\Fld@flags\@empty
+            \@tempdima=\the\Fld@menulength\Fld@charsize
+            \advance\@tempdima by \Fld@borderwidth bp
+            \advance\@tempdima by \Fld@borderwidth bp
+            \edef\Fld@height{\the\@tempdima}%
+          \fi
+          \@@Listbox{#3}%
+        }%
+      \fi
+    }%
+  \egroup
+}
+\def\@@Radio#1{%
+  \Fld@listcount=0
+  \setbox\pdfm@box=\hbox{\MakeRadioField{\Fld@width}{\Fld@height}}%
+  \@for\@curropt:=#1\do{%
+    \expandafter\Fld@checkequals\@curropt==\\%
+    \Hy@StepCount\Fld@listcount
+    \@currDisplay\space
+    \leavevmode
+    \@pdfm@mark{%
+      ann \ifnum\Fld@listcount=1 @\Fld@name\space\fi
+      \dvipdfm@setdim
+      <<
+        \PDFForm@Radio\space
+        /AP << /N << /\@currValue /null >> >>
+      >>%
+    }%
+    \unhcopy\pdfm@box\space% deliberate space between radio buttons
+    \ifnum\Fld@listcount=1\@pdfm@mark{put @afields @\Fld@name}\fi
+  }%
+}
+\newcount\Fld@listcount
+\def\@@Listbox#1{%
+  \Choice@toks={ }%
+  \Fld@listcount=0
+  \@for\@curropt:=#1\do{%
+    \expandafter\Fld@checkequals\@curropt==\\%
+    \Hy@StepCount\Fld@listcount
+    \edef\@processme{%
+      \Choice@toks{\the\Choice@toks [(\@currValue) (\@currDisplay)]}%
+    }\@processme
+  }%
+  \setbox\pdfm@box=\hbox{\MakeChoiceField{\Fld@width}{\Fld@height}}%
+  \leavevmode
+  \@pdfm@mark{%
+    ann @\Fld@name\space\dvipdfm@setdim
+    << \PDFForm@List >>%
+  }%
+  \unhbox\pdfm@box
+  \@pdfm@mark{put @afields @\Fld@name}%
+}
+\def\@PushButton[#1]#2{% parameters, label
+  \def\Fld@name{#2}%
+  \bgroup
+    \Field@toks={ }%
+    \setkeys{Field}{#1}%
+    \ifFld@hidden\def\Fld@width{1sp}\fi
+    \setbox\pdfm@box=\hbox{\MakeButtonField{#2}}%
+    \LayoutPushButtonField{%
+      \leavevmode
+      \@pdfm@mark{%
+        ann @\Fld@name\space\dvipdfm@setdim
+        << \PDFForm@Push >>%
+      }%
+    }%
+    \unhbox\pdfm@box
+    \@pdfm@mark{put @afields @\Fld@name}%
+  \egroup
+}
+\def\@Submit[#1]#2{%
+  \Field@toks={ }%
+  \def\Fld@width{\DefaultWidthofSubmit}%
+  \def\Fld@height{\DefaultHeightofSubmit}%
+  \bgroup
+    \def\Fld@name{Submit}%
+    \setkeys{Field}{#1}%
+    \ifFld@hidden\def\Fld@width{1sp}\fi
+    \setbox\pdfm@box=\hbox{\MakeButtonField{#2}}%
+    \leavevmode
+    \@pdfm@mark{%
+      ann @\Fld@name\space\dvipdfm@setdim
+      << \PDFForm@Submit >>%
+    }%
+    \unhbox\pdfm@box%
+    \@pdfm@mark{put @afields @\Fld@name}%
+  \egroup
+}
+\def\@Reset[#1]#2{%
+  \Field@toks={ }%
+  \def\Fld@width{\DefaultWidthofReset}%
+  \def\Fld@height{\DefaultHeightofReset}%
+  \bgroup
+    \def\Fld@name{Reset}%
+    \setkeys{Field}{#1}%
+    \ifFld@hidden\def\Fld@width{1sp}\fi
+    \setbox\pdfm@box=\hbox{\MakeButtonField{#2}}%
+    \leavevmode
+    \@pdfm@mark{%
+      ann @\Fld@name\space\dvipdfm@setdim
+      << \PDFForm@Reset >>%
+    }%
+    \unhbox\pdfm@box
+    \@pdfm@mark{put @afields @\Fld@name}%
+  \egroup
+}
+\def\@CheckBox[#1]#2{% parameters, label
+  \def\Fld@name{#2}%
+  \def\Fld@default{0}%
+  \bgroup
+    \def\Fld@width{\DefaultWidthofCheckBox}%
+    \def\Fld@height{\DefaultHeightofCheckBox}%
+    \Field@toks={ }%
+    \setkeys{Field}{#1}%
+    \ifFld@hidden\def\Fld@width{1sp}\fi
+    \setbox\pdfm@box=\hbox{\MakeCheckField{\Fld@width}{\Fld@height}}%
+    \LayoutCheckField{#2}{%
+      \@pdfm@mark{%
+        ann @\Fld@name\space\dvipdfm@setdim
+        << \PDFForm@Check >>%
+      }%
+      \unhbox\pdfm@box
+      \@pdfm@mark{put @afields @\Fld@name}%
+    }%
+  \egroup
+}
+\@pdfm@mark{obj @OBJpdfdocencoding << /Type /Encoding /Differences [%
+   24 /breve /caron /circumflex /dotaccent /hungarumlaut /ogonek /ring
+      /tilde
+   39 /quotesingle
+   96 /grave
+  128 /bullet /dagger /daggerdbl /ellipsis /emdash /endash /florin
+      /fraction /guilsinglleft /guilsinglright /minus /perthousand
+      /quotedblbase /quotedblleft /quotedblright /quoteleft /quoteright
+      /quotesinglbase /trademark /fi /fl /Lslash /OE /Scaron /Ydieresis
+      /Zcaron /dotlessi /lslash /oe /scaron /zcaron
+  164 /currency
+  166 /brokenbar
+  168 /dieresis /copyright /ordfeminine
+  172 /logicalnot /.notdef /registered /macron /degree /plusminus
+      /twosuperior /threesuperior /acute /mu
+  183 /periodcentered /cedilla /onesuperior /ordmasculine
+  188 /onequarter /onehalf /threequarters
+  192 /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%
+  ] >>
+}
+\@pdfm@mark{obj @OBJZaDb
+  <<
+    /Type /Font
+    /Subtype /Type1
+    /Name /ZaDb
+    /BaseFont /ZapfDingbats
+  >>
+}
+\@pdfm@mark{obj @OBJHelv
+  <<
+    /Type /Font
+    /Subtype /Type1
+    /Name /Helv
+    /BaseFont /Helvetica
+    /Encoding @OBJpdfdocencoding
+  >>
+}
+\def\PDFForm@Check{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /Q \Fld@align\space
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /MK <<
+    /BC [\Fld@bordercolor]
+    \ifx\Fld@bcolor\@empty
+    \else
+      /BG [\Fld@bcolor]
+    \fi
+    /CA (\Fld@cbsymbol)
+  >>
+  /DA (/ZaDb \strip@pt\Fld@charsize\space Tf \Fld@color\space rg)
+  /FT /Btn
+  /H /P
+  \ifFld@checked /V /Yes \else /V /Off \fi
+}
+\def\PDFForm@Push{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /FT /Btn
+  /Ff 65540
+  /H /P
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /MK <<
+    /BC [\Fld@bordercolor]
+  >>
+  /A << /S /JavaScript /JS (\Fld@onclick;) >>
+}
+\def\PDFForm@List{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /FT /Ch
+  /Q \Fld@align\space
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /MK <<
+    /BC [\Fld@bordercolor]
+    \ifx\Fld@bcolor\@empty
+    \else
+      /BG [\Fld@bcolor]
+    \fi
+  >>
+  /DA (/Helv \strip@pt\Fld@charsize\space Tf \Fld@color\space rg )
+  /Opt [\the\Choice@toks]
+  /DV (\Fld@default)
+  \Fld@flags
+}
+\def\PDFForm@Radio{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /FT /Btn
+  /Ff 49152
+  /H /P
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /MK <<
+    /BC [\Fld@bordercolor]
+    \ifx\Fld@bcolor\@empty
+    \else
+      /BG [\Fld@bcolor]
+    \fi
+    /CA (H)
+  >>
+  /DA (/ZaDb \strip@pt\Fld@charsize\space Tf \Fld@color\space rg)
+  \ifx\@currValue\Fld@default
+    /V /\Fld@default\space
+  \else
+    /V /Off
+  \fi
+}
+\def\PDFForm@Text{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /Q \Fld@align\space
+  /FT /Tx
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /MK <<
+    /BC [\Fld@bordercolor]
+    \ifx\Fld@bcolor\@empty
+    \else
+      /BG [\Fld@bcolor]
+    \fi
+  >>
+  /DA (/Helv \strip@pt\Fld@charsize\space Tf \Fld@color\space rg )
+  /DV (\Fld@default)
+  /AA <<
+    \ifx\Fld@keystroke@code\@empty
+    \else
+      /K << /S /JavaScript /JS (\Fld@keystroke@code) >>
+    \fi
+    \ifx\Fld@format@code\@empty
+    \else
+      /F << /S /JavaScript /JS (\Fld@format@code) >>
+    \fi
+    \ifx\Fld@validate@code\@empty
+    \else
+      /V << /S /JavaScript /JS (\Fld@validate@code) >>
+    \fi
+    \ifx\Fld@calculate@code\@empty
+    \else
+      /C << /S /JavaScript /JS (\Fld@calculate@code) >>
+    \fi
+  >>
+  /V (\Fld@value)
+  \ifFld@multiline
+    \ifFld@readonly /Ff 4097 \else /Ff 4096 \fi
+  \else
+    \ifFld@password
+      \ifFld@readonly /Ff 8193 \else /Ff 8192 \fi
+    \fi
+  \fi
+  \ifnum\Fld@maxlen>0/MaxLen \Fld@maxlen \fi
+}
+\def\PDFForm@Submit{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /FT /Btn
+  /Ff 65540
+  /H /P
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /MK <<
+    /BC [\Fld@bordercolor]
+  >>
+  /A <<
+    /S /SubmitForm
+    /F <<
+      /FS /URL
+      /F (\Form@action)
+    >>
+    \ifForm@html /Flags 4 \fi
+  >>
+}
+\def\PDFForm@Reset{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /FT /Btn
+  /H /P
+  /DA (/Helv \strip@pt\Fld@charsize\space Tf 0 0 1 rg)
+  /Ff 65540
+  /MK <<
+    /BC [\Fld@bordercolor]
+  >>
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /A << /S /ResetForm >>
+}
+\newwrite\@outlinefile
+\def\Hy@writebookmark#1#2#3#4#5{% section number, text, label, level, file
+ \ifx\WriteBookmarks\relax%
+ \else
+  \ifnum#4>\c@tocdepth
+  \else
+   \@@writetorep{#1}{#2}{#3}{#4}{#5}%
+  \fi
+ \fi}
+\def\Hy@currentbookmarklevel{0}
+\def\Hy@numberline#1{#1 }
+\def\@@writetorep#1#2#3#4#5{%
+  \begingroup
+    \def\Hy@tempa{#5}%
+    \ifx\Hy@tempa\Hy@bookmarkstype
+      \edef\Hy@level{#4}%
+      \ifx\Hy@levelcheck Y%
+        \@tempcnta\Hy@level\relax
+        \advance\@tempcnta by -1
+        \ifnum\Hy@currentbookmarklevel<\@tempcnta
+          \advance\@tempcnta by -\Hy@currentbookmarklevel\relax
+          \advance\@tempcnta by 1
+          \Hy@Warning{%
+            Difference (\the\@tempcnta) between bookmark levels is %
+            greater \MessageBreak than one, level fixed%
+          }%
+          \@tempcnta\Hy@currentbookmarklevel
+          \advance\@tempcnta by 1
+          \edef\Hy@level{\the\@tempcnta}%
+        \fi
+      \else
+        \global\let\Hy@levelcheck Y%
+      \fi
+      \global\let\Hy@currentbookmarklevel\Hy@level
+      \@tempcnta\Hy@level\relax
+      \expandafter\xdef\csname Parent\Hy@level\endcsname{#3}%
+      \advance\@tempcnta by -1
+      \edef\Hy@tempa{#3}%
+      \edef\Hy@tempb{\csname Parent\the\@tempcnta\endcsname}%
+      \ifx\Hy@tempa\Hy@tempb
+        \Hy@Warning{%
+          The anchor of a bookmark and its parent's must not%
+          \MessageBreak be the same. Added a new anchor%
+        }%
+        \phantomsection
+      \fi
+      \ifHy@bookmarksnumbered
+        \let\numberline\Hy@numberline
+      \else
+        \let\numberline\@gobble
+      \fi
+      \pdfstringdef\Hy@tempa{#2}%
+      \protected@write\@outlinefile{}{%
+        \protect\BOOKMARK
+          [\Hy@level][\@bookmarkopenstatus{\Hy@level}]{#3}%
+          {\Hy@tempa}{\Hy@tempb}%
+      }%
+    \fi
+  \endgroup
+}
+\newcommand{\currentpdfbookmark}{%
+  \pdfbookmark[\Hy@currentbookmarklevel]%
+}
+\newcommand{\subpdfbookmark}{%
+  \@tempcnta\Hy@currentbookmarklevel
+  \Hy@StepCount\@tempcnta
+  \expandafter\pdfbookmark\expandafter[\the\@tempcnta]%
+}
+\newcommand{\belowpdfbookmark}[2]{%
+  \@tempcnta\Hy@currentbookmarklevel
+  \Hy@StepCount\@tempcnta
+  \expandafter\pdfbookmark\expandafter[\the\@tempcnta]{#1}{#2}%
+  \advance\@tempcnta by -1
+  \xdef\Hy@currentbookmarklevel{\the\@tempcnta}%
+}
+\renewcommand\pdfbookmark[3][0]{%
+  \Hy@writebookmark{}{#2}{#3.#1}{#1}{toc}%
+  \hyper@anchorstart{#3.#1}\hyper@anchorend
+}
+\def\BOOKMARK{\@ifnextchar[{\@BOOKMARK}{\@@BOOKMARK[1][-]}}
+\def\@BOOKMARK[#1]{\@ifnextchar[{\@@BOOKMARK[#1]}{\@@BOOKMARK[#1][-]}}
+\def\ReadBookmarks{%
+  \begingroup
+    \escapechar=`\\%
+    \let\escapechar\@gobble %
+    \def\@@BOOKMARK [##1][##2]##3##4##5{\calc@bm@number{##5}}%
+    \InputIfFileExists{\jobname.out}{}{}%
+    \ifx\WriteBookmarks\relax
+      \global\let\WriteBookmarks\relax
+    \fi
+    \def\@@BOOKMARK[##1][##2]##3##4##5{%
+      \def\Hy@temp{##4}%
+      \@pdfm@mark{%
+        outline ##1 <<
+          /Title (\expandafter\strip@prefix\meaning\Hy@temp)
+          /A <<
+            /S /GoTo
+            /D (##3)
+          >>
+        >>
+      }%
+   }%
+   {%
+    \def\WriteBookmarks{0}%
+    \InputIfFileExists{\jobname.out}{}{}%
+   }%
+   %{\escapechar\m@ne\InputIfFileExists{\jobname.out}{}{}}%
+   \ifx\WriteBookmarks\relax\else
+     \if@filesw\immediate\openout\@outlinefile=\jobname.out
+      \ifHy@typexml
+       \immediate\write\@outlinefile{<relaxxml>\relax}%
+      \fi
+     \fi
+   \fi
+   \endgroup
+}
+\def\check@bm@number#1{%
+  \expandafter\ifx\csname B_#1\endcsname\relax
+    0%
+  \else
+    \csname B_#1\endcsname
+  \fi
+}
+\def\calc@bm@number#1{%
+  \@tempcnta=\check@bm@number{#1}\relax
+  \advance\@tempcnta by1
+  \expandafter\xdef\csname B_#1\endcsname{\the\@tempcnta}%
+}
+\ifHy@implicit
+\else
+  \def\@begindvi{%
+    \unvbox\@begindvibox
+    \HyPL@EveryPage
+    \global\let\@begindvi\HyPL@EveryPage
+  }%
+  \expandafter\endinput
+\fi
+\let\H@old@ssect\@ssect
+\def\@ssect#1#2#3#4#5{%
+  \H@old@ssect{#1}{#2}{#3}{#4}{#5}%
+  \phantomsection
+}
+\let\H@old@schapter\@schapter
+\def\@schapter#1{%
+  \H@old@schapter{#1}%
+  \begingroup
+    \let\@mkboth\@gobbletwo
+    \Hy@GlobalStepCount\Hy@linkcounter
+    \xdef\@currentHref{\Hy@chapapp*.\the\Hy@linkcounter}%
+    \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+  \endgroup
+}
+\@ifundefined{@chapter}{}{%
+  \let\Hy@org@chapter\@chapter
+  \def\@chapter{%
+    \def\Hy@next{%
+      \Hy@GlobalStepCount\Hy@linkcounter
+      \xdef\@currentHref{\Hy@chapapp*.\the\Hy@linkcounter}%
+      \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+    }%
+    \ifnum\c@secnumdepth>\m@ne
+      \@ifundefined{if@mainmatter}%
+      \iftrue{\csname if@mainmatter\endcsname}
+        \let\Hy@next\relax
+      \fi
+    \fi
+    \Hy@next
+    \Hy@org@chapter
+  }%
+}
+\let\H@old@spart\@spart
+\def\@spart#1{%
+  \H@old@spart{#1}%
+  \Hy@GlobalStepCount\Hy@linkcounter
+  \xdef\@currentHref{part*.\the\Hy@linkcounter}%
+  \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+}
+\let\H@old@sect\@sect
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+  \ifnum #2>\c@secnumdepth
+    \Hy@GlobalStepCount\Hy@linkcounter
+    \xdef\@currentHref{section*.\the\Hy@linkcounter}%
+  \fi
+  \H@old@sect{#1}{#2}{#3}{#4}{#5}{#6}[{#7}]{#8}%
+  \ifnum #2>\c@secnumdepth
+    \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+  \fi
+}
+\expandafter\def\csname Parent-4\endcsname{}
+\expandafter\def\csname Parent-3\endcsname{}
+\expandafter\def\csname Parent-2\endcsname{}
+\expandafter\def\csname Parent-1\endcsname{}
+\expandafter\def\csname Parent0\endcsname{}
+\expandafter\def\csname Parent1\endcsname{}
+\expandafter\def\csname Parent2\endcsname{}
+\expandafter\def\csname Parent3\endcsname{}
+\expandafter\def\csname Parent4\endcsname{}
+\def\Hy@tempa{%
+  \def\@addchap[##1]##2{%
+    \typeout{##2}%
+    \if@twoside
+      \@mkboth{##1}{}%
+    \else
+      \@mkboth{}{##1}%
+    \fi
+    \addtocontents{lof}{\protect\addvspace{10\p@}}%
+    \addtocontents{lot}{\protect\addvspace{10\p@}}%
+    \Hy@GlobalStepCount\Hy@linkcounter
+    \xdef\@currentHref{\Hy@chapapp*.\the\Hy@linkcounter}%
+    \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+    \if@twocolumn
+       \@topnewpage[\@makeschapterhead{##2}]%
+    \else
+       \@makeschapterhead{##2}%
+       \@afterheading
+    \fi
+    \addcontentsline{toc}{chapter}{##1}%
+  }%
+}
+\@ifclassloaded{scrbook}{%
+  \@ifclasslater{scrbook}{2001/01/01}{%
+    \let\Hy@tempa\@empty
+  }{}%
+}{%
+  \@ifclassloaded{scrreprt}{%
+    \@ifclasslater{scrreprt}{2001/01/01}{%
+      \let\Hy@tempa\@empty
+    }{}%
+  }{%
+    \let\Hy@tempa\@empty
+  }%
+}%
+\Hy@tempa
+\endinput
+%%
+%% End of file `hdvipdfm.def'.
diff --git a/styles/hdvips.def b/styles/hdvips.def
new file mode 100644 (file)
index 0000000..df52174
--- /dev/null
@@ -0,0 +1,82 @@
+%%
+%% This is file `hdvips.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hyperref.dtx  (with options: `dvips')
+%% 
+%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
+%% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
+%%
+%% This file is part of the `Hyperref Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the `Hyperref Bundle' is
+%% given in the file `manifest.txt'.
+%%
+\ProvidesFile{hdvips.def}
+  [2001/05/26 v6.71g
+  Hyperref driver for dvips]
+\input{pdfmark.def}%
+\def\@pdfproducer{dvips + Distiller}
+\def\literalps@out#1{\special{ps:SDict begin #1 end}}%
+\def\headerps@out#1{\special{! #1}}%
+\providecommand\@pdfborder{0 0 12}
+\providecommand\@pdfview{XYZ}
+\providecommand\@pdfviewparams{ H.V}
+\AtBeginDvi{%
+  \headerps@out{%
+    /DvipsToPDF { 72.27 mul Resolution div } def
+    /PDFToDvips { 72.27 div Resolution mul } def
+    /HyperBorder  { 1 PDFToDvips } def
+    /H.V {pdf@hoff pdf@voff null} def
+    /H.B {/Rect[pdf@llx pdf@lly pdf@urx pdf@ury]} def
+    /H.S {
+      currentpoint
+      HyperBorder add /pdf@lly exch def
+      dup DvipsToPDF  /pdf@hoff exch def
+      HyperBorder sub /pdf@llx exch def
+    } def
+    /H.L {
+      2 sub dup
+      /HyperBasePt exch def
+      PDFToDvips /HyperBaseDvips exch def
+      currentpoint
+      HyperBaseDvips sub /pdf@ury exch def
+      /pdf@urx exch def
+    } def
+    /H.A {
+      H.L
+      currentpoint exch pop
+      vsize 72 sub exch DvipsToPDF
+      HyperBasePt sub % baseline skip
+      sub /pdf@voff exch def
+    } def
+    /H.R {
+      currentpoint
+      HyperBorder sub /pdf@ury exch def
+      HyperBorder add /pdf@urx exch def
+      currentpoint exch pop vsize 72 sub
+      exch DvipsToPDF sub /pdf@voff exch def
+    } def
+    systemdict
+    /pdfmark known not
+    {userdict /pdfmark systemdict /cleartomark get put} if
+  }%
+}
+\AfterBeginDocument{%
+  \ifx\special@paper\@empty\else
+    \special{papersize=\special@paper}%
+  \fi
+}
+\endinput
+%%
+%% End of file `hdvips.def'.
diff --git a/styles/hdvipson.def b/styles/hdvipson.def
new file mode 100644 (file)
index 0000000..769b947
--- /dev/null
@@ -0,0 +1,119 @@
+%%
+%% This is file `hdvipson.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hyperref.dtx  (with options: `dvipsone')
+%% 
+%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
+%% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
+%%
+%% This file is part of the `Hyperref Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the `Hyperref Bundle' is
+%% given in the file `manifest.txt'.
+%%
+\ProvidesFile{hdvipson.def}
+  [2001/05/26 v6.71g
+  Hyperref driver for dvipsone]
+\providecommand\@pdfborder{0 0 65781}
+\input{pdfmark.def}%
+\def\@pdfproducer{dvipsone + Distiller}
+\def\literalps@out#1{\special{ps:#1}}%
+\def\headerps@out#1{\special{! #1}}%
+\def\PDF@FinishDoc{%
+  \special{PDF: Keywords \@pdfkeywords}%
+  \special{PDF: Title \@pdftitle}%
+  \special{PDF: Creator \@pdfcreator}%
+  \special{PDF: Author \@pdfauthor}%
+  \special{PDF: Producer \@pdfproducer}%
+  \special{PDF: Subject \@pdfsubject}%
+  \Hy@DisableOption{pdfauthor}%
+  \Hy@DisableOption{pdftitle}%
+  \Hy@DisableOption{pdfsubject}%
+  \Hy@DisableOption{pdfcreator}%
+  \Hy@DisableOption{pdfproducer}%
+  \Hy@DisableOption{pdfkeywords}%
+}
+\def\PDF@SetupDoc{%
+  \pdfmark{%
+    pdfmark=/DOCVIEW,
+    Page=\@pdfstartpage,
+    View=\@pdfstartview,
+    URI={<< /Base (\@baseurl) >>},
+    PageMode=\@pdfpagemode
+  }%
+  \ifx\@pdfpagescrop\@empty
+  \else
+    \pdfmark{pdfmark=/PAGES,CropBox=\@pdfpagescrop}%
+  \fi
+  \pdfmark{%
+    pdfmark=/PUT,%
+    Raw={
+      \string{Catalog\string} <<
+        /ViewerPreferences <<
+          \ifHy@toolbar\else /HideToolbar true \fi
+          \ifHy@menubar\else /HideMenubar true \fi
+          \ifHy@windowui\else /HideWindowUI true \fi
+          \ifHy@fitwindow /FitWindow true \fi
+          \ifHy@centerwindow /CenterWindow true \fi
+        >>
+        \ifx\pdf@pagelayout\@empty
+        \else
+          /PageLayout /\pdf@pagelayout\space
+        \fi
+      >>%
+    }%
+  }%
+}
+\providecommand\@pdfview{XYZ}
+\providecommand\@pdfviewparams{ %
+  gsave revscl currentpoint grestore
+  72 add exch pop null exch null
+}
+\special{headertext=
+  /DvipsToPDF { 65781 div  } def
+  /PDFToDvips { 65781 mul } def
+  /HyperBorder  { 1 PDFToDvips } def
+  /H.B {/Rect[pdf@llx pdf@lly pdf@urx pdf@ury]} def
+  /H.S {
+    currentpoint
+    HyperBorder add /pdf@lly exch def
+    dup   DvipsToPDF /pdf@hoff exch def
+    HyperBorder sub /pdf@llx exch def
+  } def
+  /H.L {
+    2 sub
+    PDFToDvips /HyperBase exch def
+    currentpoint
+    HyperBase sub /pdf@ury exch def
+    /pdf@urx exch def
+  } def
+  /H.A {
+    H.L
+    currentpoint exch pop
+    HyperBase sub % baseline skip
+    DvipsToPDF /pdf@voff exch def
+  } def
+  /H.R {
+    currentpoint
+    HyperBorder sub /pdf@ury exch def
+    HyperBorder add /pdf@urx exch def
+    currentpoint exch pop DvipsToPDF /pdf@voff exch def
+  } def
+  systemdict
+  /pdfmark known not
+  {userdict /pdfmark systemdict /cleartomark get put} if
+}
+\endinput
+%%
+%% End of file `hdvipson.def'.
diff --git a/styles/hdviwind.def b/styles/hdviwind.def
new file mode 100644 (file)
index 0000000..dd084cd
--- /dev/null
@@ -0,0 +1,339 @@
+%%
+%% This is file `hdviwind.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hyperref.dtx  (with options: `dviwindo,pdfmarkbase')
+%% 
+%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
+%% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
+%%
+%% This file is part of the `Hyperref Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the `Hyperref Bundle' is
+%% given in the file `manifest.txt'.
+%%
+\ProvidesFile{hdviwind.def}
+  [2001/05/26 v6.71g
+  Hyperref driver for dviwindo]
+\def\Hy@PutCatalog#1{%
+  \pdfmark{pdfmark=/PUT,Raw={\string{Catalog\string} << #1 >>}}%
+}
+\ifHy@pagelabels
+  \def\HyPL@StorePageLabel#1{%
+    \if@filesw
+      \begingroup
+        \edef\Hy@tempa{\the\Hy@abspage\space<< #1 >> }%
+        \immediate\write\@mainaux{%
+          \string\HyPL@Entry{\Hy@tempa}%
+        }%
+      \endgroup
+    \fi
+  }
+  \AfterBeginDocument{%
+    \if@filesw
+      \immediate\write\@mainaux{%
+        \string\providecommand\string*\string\HyPL@Entry[1]{}%
+      }%
+    \fi
+    \ifx\HyPL@Labels\@empty
+      \Hy@WarningNoLine{Rerun to get /PageLabels entry}%
+    \else
+      \HyPL@SetPageLabels
+    \fi
+    \let\HyPL@Entry\@gobble
+  }%
+  \def\HyPL@Entry#1{%
+    \expandafter\gdef\expandafter\HyPL@Labels\expandafter{%
+      \HyPL@Labels
+      #1%
+    }%
+  }
+\fi
+\providecommand\wwwbrowser{c:\string\netscape\string\netscape}
+\def\hyper@anchor#1{%
+  \Hy@SaveLastskip
+  \begingroup
+    \let\protect=\string
+    \special{mark: #1}%
+  \endgroup
+  \Hy@activeanchortrue
+  \Hy@colorlink{\@anchorcolor}\anchor@spot\Hy@endcolorlink
+  \Hy@activeanchorfalse
+  \Hy@RestoreLastskip
+}
+\def\hyper@anchorstart#1{%
+  \Hy@SaveLastskip
+  \special{mark: #1}%
+  \Hy@activeanchortrue
+}
+\def\hyper@anchorend{%
+  \Hy@activeanchorfalse
+  \Hy@RestoreLastskip
+}
+\def\hyper@linkstart#1#2{%
+  \Hy@colorlink{\csname @#1color\endcsname}%
+  \special{button:
+    10000000
+    \number\baselineskip\space
+    #2%
+  }%
+}
+\def\hyper@linkend{%
+  \Hy@endcolorlink
+}
+\def\hyper@link#1#2#3{%
+  \setbox\@tempboxa=\color@hbox #3\color@endbox
+  \leavevmode
+  \ifHy@raiselinks
+    \@linkdim\dp\@tempboxa
+    \lower\@linkdim\hbox{%
+      \special{button:
+        \number\wd\@tempboxa\space
+        \number\ht\@tempboxa\space
+        #2%
+      }%
+      \Hy@colorlink{\csname @#1color\endcsname}#3%
+      \Hy@endcolorlink
+    }%
+    \@linkdim\ht\@tempboxa
+    \advance\@linkdim by -6.5\p@
+    \raise\@linkdim\hbox{}%
+  \else
+    \special{button:
+      \number\wd\@tempboxa\space
+      \number\ht\@tempboxa\space
+      #2%
+    }%
+    \Hy@colorlink{\csname @#1color\endcsname}#3\Hy@endcolorlink
+  \fi
+}
+\def\hyper@linkurl#1#2{%
+  \begingroup
+    \hyper@chars
+    \leavevmode
+    \setbox\@tempboxa=\color@hbox #1\color@endbox
+    \ifHy@raiselinks
+      \@linkdim\dp\@tempboxa
+      \lower\@linkdim\hbox{%
+        \special{button:
+          \number\wd\@tempboxa\space
+          \number\ht\@tempboxa\space
+          launch: \wwwbrowser\space
+          #2%
+        }%
+        \Hy@colorlink{\@urlcolor}#1\Hy@endcolorlink
+      }%
+      \@linkdim\ht\@tempboxa
+      \advance\@linkdim by -6.5\p@
+      \raise\@linkdim\hbox{}%
+    \else
+      \special{button:
+        \number\wd\@tempboxa\space
+        \number\ht\@tempboxa\space
+        launch: \wwwbrowser\space
+        #2%
+      }%
+      \Hy@colorlink{\@urlcolor}#1\Hy@endcolorlink
+    \fi
+  \endgroup
+}
+\def\hyper@linkfile#1#2#3{%
+  \begingroup
+    \hyper@chars
+    \leavevmode
+    \setbox\@tempboxa=\color@hbox #1\color@endbox
+    \ifHy@raiselinks
+      \@linkdim\dp\@tempboxa
+      \lower\@linkdim\hbox{%
+        \special{button:
+          \number\wd\@tempboxa\space
+          \number\ht\@tempboxa\space
+          #3,
+          file: #2%
+        }%
+        \Hy@colorlink{\@filecolor}#1\Hy@endcolorlink
+      }%
+      \@linkdim\ht\@tempboxa
+      \advance\@linkdim by -6.5\p@
+      \raise\@linkdim\hbox{}%
+    \else
+      \special{button:
+        \number\wd\@tempboxa\space
+        \number\ht\@tempboxa\space
+        #3,
+        file: #2
+      }%
+      \Hy@colorlink{\@filecolor}#1\Hy@endcolorlink
+    \fi
+  \endgroup
+}
+\def\@pdfproducer{dviwindo + Distiller}
+\def\PDF@FinishDoc{%
+  \special{PDF: Keywords \@pdfkeywords}%
+  \special{PDF: Title \@pdftitle}%
+  \special{PDF: Creator \@pdfcreator}%
+  \special{PDF: Author \@pdfauthor}%
+  \special{PDF: Producer \@pdfproducer}%
+  \special{PDF: Subject \@pdfsubject}%
+  \Hy@DisableOption{pdfauthor}%
+  \Hy@DisableOption{pdftitle}%
+  \Hy@DisableOption{pdfsubject}%
+  \Hy@DisableOption{pdfcreator}%
+  \Hy@DisableOption{pdfproducer}%
+  \Hy@DisableOption{pdfkeywords}%
+}
+\def\PDF@SetupDoc{%
+  \ifx\@baseurl\@empty\else
+    \special{PDF: Base \@baseurl}%
+  \fi
+  \ifx\@pdfpagescrop\@empty\else
+    \special{PDF: BBox \@pdfpagescrop}%
+  \fi
+  \pdfmark{pdfmark=/DOCVIEW,
+    Page=\@pdfstartpage,
+    View=\@pdfstartview,
+    PageMode=\@pdfpagemode
+  }%
+  \ifx\@pdfpagescrop\@empty
+  \else
+    \pdfmark{pdfmark=/PAGES,CropBox=\@pdfpagescrop}%
+  \fi
+  \pdfmark{pdfmark=/PUT,
+    Raw={
+      \string{Catalog\string} <<
+        /ViewerPreferences <<
+          \ifHy@toolbar\else /HideToolbar true \fi
+          \ifHy@menubar\else /HideMenubar true \fi
+          \ifHy@windowui\else /HideWindowUI true \fi
+          \ifHy@fitwindow /FitWindow true \fi
+          \ifHy@centerwindow /CenterWindow true \fi
+        >>
+        \ifx\pdf@pagelayout\@empty
+        \else
+          /PageLayout /\pdf@pagelayout\space
+        \fi
+      >>%
+    }%
+  }%
+}
+\def\pdfmark{\@ifnextchar[{\pdfmark@}{\pdfmark@[]}}
+\def\pdfmark@[#1]#2{%
+    \edef\@processme{\noexpand\pdf@toks={\the\pdf@defaulttoks}}%
+    \@processme
+    \let\pdf@type\relax
+    \setkeys{PDF}{#2}%
+    \ifx\pdf@type\relax
+       \Hy@WarningNoLine{no pdfmark type specified in #2!!}%
+       \ifx\\#1\\\relax\else\pdf@rect{#1}\fi
+    \else
+       \ifx\\#1\\\relax
+  \literalps@out{[\the\pdf@toks\space\pdf@type\space pdfmark}%
+       \else
+         \Hy@colorlink{\@ifundefined{@\pdf@linktype color}%
+                      {\@linkcolor}%
+                      {\csname @\pdf@linktype color\endcsname}}%
+         \pdf@rect{#1}%
+  \literalps@out{[\the\pdf@toks\space\pdf@type\space pdfmark}%
+         \Hy@endcolorlink
+       \fi
+    \fi
+}
+\newsavebox{\pdf@box}
+\def\pdf@rect#1{%
+  \leavevmode
+  \sbox\pdf@box{#1}%
+  \dimen@\ht\pdf@box
+  \leavevmode
+  \ifdim\dp\pdf@box=\z@
+    \literalps@out{H.S}%
+  \else
+    \lower\dp\pdf@box\hbox{\literalps@out{H.S}}%
+  \fi
+  \ifHy@breaklinks\unhbox\else\box\fi\pdf@box
+  \ifdim\dimen@=\z@
+    \literalps@out{H.R}%
+  \else
+    \raise\dimen@\hbox{\literalps@out{H.R}}%
+  \fi
+  \pdf@addtoksx{H.B}%
+}
+\newtoks\pdf@toks
+\newtoks\pdf@defaulttoks
+\pdf@defaulttoks={}%
+\def\pdf@addtoks#1#2{%
+  \edef\@processme{\pdf@toks{\the\pdf@toks\space /#2 #1}}%
+  \@processme
+}
+\def\pdf@addtoksx#1{%
+  \edef\@processme{\pdf@toks{\the\pdf@toks\space #1}}%
+  \@processme
+}
+\def\PDFdefaults#1{%
+  \pdf@defaulttoks={#1}%
+}
+\define@key{PDF}{pdfmark}{\def\pdf@type{#1}}
+\define@key{PDF}{linktype}{\def\pdf@linktype{#1}}
+\def\pdf@linktype{link}
+\define@key{PDF}{Raw}{\pdf@addtoksx{#1}}
+\define@key{PDF}{Action}{\pdf@addtoks{#1}{Action}}
+\define@key{PDF}{Border}{\pdf@addtoks{[#1]}{Border}}
+\define@key{PDF}{Color}{\pdf@addtoks{[#1]}{Color}}
+\define@key{PDF}{Contents}{\pdf@addtoks{(#1)}{Contents}}
+\define@key{PDF}{Count}{\pdf@addtoks{#1}{Count}}
+\define@key{PDF}{CropBox}{\pdf@addtoks{[#1]}{CropBox}}
+\define@key{PDF}{DOSFile}{\pdf@addtoks{(#1)}{DOSFile}}
+\define@key{PDF}{DataSource}{\pdf@addtoks{(#1)}{DataSource}}
+\define@key{PDF}{Dest}{%
+  \begingroup
+    \edef\x{#1}%
+  \expandafter\endgroup
+  \ifx\x\@empty\else\pdf@addtoks{(#1) cvn}{Dest}\fi
+}
+\define@key{PDF}{DestAnchor}{%
+  \begingroup
+    \edef\x{#1}%
+  \expandafter\endgroup
+  \ifx\x\@empty\else\pdf@addtoks{(#1) cvn}{Dest}\fi
+}
+\define@key{PDF}{Dir}{\pdf@addtoks{(#1)}{Dir}}
+\define@key{PDF}{File}{\pdf@addtoks{(#1)}{File}}
+\define@key{PDF}{Flags}{\pdf@addtoks{#1}{Flags}}
+\define@key{PDF}{AcroHighlight}{\pdf@addtoks{#1}{H}}
+\define@key{PDF}{ID}{\pdf@addtoks{[#1]}{ID}}
+\define@key{PDF}{MacFile}{\pdf@addtoks{(#1)}{MacFile}}
+\define@key{PDF}{ModDate}{\pdf@addtoks{(#1)}{ModDate}}
+\define@key{PDF}{Op}{\pdf@addtoks{(#1)}{Op}}
+\define@key{PDF}{Open}{\pdf@addtoks{#1}{Open}}
+\define@key{PDF}{Page}{\pdf@addtoks{#1}{Page}}
+\define@key{PDF}{PageMode}{\pdf@addtoks{#1}{PageMode}}
+\define@key{PDF}{Params}{\pdf@addtoks{(#1)}{Params}}
+\define@key{PDF}{Rect}{\pdf@addtoks{[#1]}{Rect}}
+\define@key{PDF}{SrcPg}{\pdf@addtoks{#1}{SrcPg}}
+\define@key{PDF}{Subtype}{\pdf@addtoks{#1}{Subtype}}
+\define@key{PDF}{Title}{\pdf@addtoks{(#1)}{Title}}
+\define@key{PDF}{Unix}{\pdf@addtoks{(#1)}{Unix}}
+\define@key{PDF}{UnixFile}{\pdf@addtoks{(#1)}{UnixFile}}
+\define@key{PDF}{View}{\pdf@addtoks{[#1]}{View}}
+\define@key{PDF}{WinFile}{\pdf@addtoks{(#1)}{WinFile}}
+\define@key{PDF}{Author}{\pdf@addtoks{(#1)}{Author}}
+\define@key{PDF}{CreationDate}{\pdf@addtoks{(#1)}{CreationDate}}
+\define@key{PDF}{Creator}{\pdf@addtoks{(#1)}{Creator}}
+\define@key{PDF}{Producer}{\pdf@addtoks{(#1)}{Producer}}
+\define@key{PDF}{Subject}{\pdf@addtoks{(#1)}{Subject}}
+\define@key{PDF}{Keywords}{\pdf@addtoks{(#1)}{Keywords}}
+\define@key{PDF}{ModDate}{\pdf@addtoks{(#1)}{ModDate}}
+\define@key{PDF}{Base}{\pdf@addtoks{(#1)}{Base}}
+\define@key{PDF}{URI}{\pdf@addtoks{#1}{URI}}
+\endinput
+%%
+%% End of file `hdviwind.def'.
diff --git a/styles/hpdftex.def b/styles/hpdftex.def
new file mode 100644 (file)
index 0000000..bf411d0
--- /dev/null
@@ -0,0 +1,954 @@
+%%
+%% This is file `hpdftex.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hyperref.dtx  (with options: `pdftex,pdfform,outlines')
+%% 
+%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
+%% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
+%%
+%% This file is part of the `Hyperref Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the `Hyperref Bundle' is
+%% given in the file `manifest.txt'.
+%%
+\ProvidesFile{hpdftex.def}
+  [2001/05/26 v6.71g
+  Hyperref driver for pdfTeX]
+\let\Hy@PutCatalog\pdfcatalog
+\ifHy@pagelabels
+  \def\HyPL@StorePageLabel#1{%
+    \toks@\expandafter{\HyPL@Labels}%
+    \xdef\HyPL@Labels{%
+      \the\toks@
+      \the\Hy@abspage\space<< #1 >> %
+    }%
+  }
+  \AtEndDocument{\clearpage\HyPL@SetPageLabels}
+\fi
+\def\setpdflinkmargin#1{\pdflinkmargin#1}
+\ifx\pdfstartlink\@undefined% less than version 14
+  \let\pdfstartlink\pdfannotlink
+  \let\pdflinkmargin\@tempdima
+  \let\pdfxform\pdfform
+  \let\pdflastxform\pdflastform
+  \let\pdfrefxform\pdfrefform
+\else
+  \pdflinkmargin1pt
+\fi
+\providecommand\@pdfview{XYZ}
+\def\new@pdflink#1{%
+  \ifHy@verbose
+    \typeout{pdftex: define anchor at line \the\inputlineno: #1}%
+  \fi
+  \Hy@SaveLastskip
+  \pdfdest name {#1}\@pdfview
+  \Hy@RestoreLastskip
+}
+\let\pdf@endanchor\@empty
+\providecommand\@pdfborder{0 0 1}
+\def\Hy@undefinedname{UNDEFINED}
+\def\find@pdflink#1#2{%
+  \leavevmode
+  \protected@edef\Hy@testname{#2}%
+  \ifx\Hy@testname\@empty
+    \let\Hy@testname\Hy@undefinedname
+  \fi
+  \pdfstartlink
+    attr{%
+      /Border [\@pdfborder]
+      /H \@pdfhighlight\space
+      /C [\CurrentBorderColor]%
+    }%
+    goto name {\Hy@testname}%
+  \Hy@colorlink{\csname @#1color\endcsname}%
+}
+\def\close@pdflink{\Hy@endcolorlink\pdfendlink}
+\def\hyper@anchor#1{\new@pdflink{#1}\anchor@spot\pdf@endanchor}
+\def\hyper@anchorstart#1{\new@pdflink{#1}\Hy@activeanchortrue}
+\def\hyper@anchorend{\pdf@endanchor\Hy@activeanchorfalse}
+\def\hyper@linkstart#1#2{%
+  \edef\CurrentBorderColor{\csname @#1bordercolor\endcsname}%
+  \find@pdflink{#1}{#2}}
+\def\hyper@linkend{\close@pdflink}
+\def\hyper@link#1#2#3{%
+  \edef\CurrentBorderColor{\csname @#1bordercolor\endcsname}%
+  \find@pdflink{#1}{#2}#3\close@pdflink
+}
+\def\CurrentBorderColor{\@linkbordercolor}
+\def\hyper@linkurl#1#2{%
+  \bgroup
+    \hyper@chars
+    \leavevmode
+    \pdfstartlink
+      attr{%
+        /Border [\@pdfborder]
+        /H \@pdfhighlight\space
+        /C [\@urlbordercolor]%
+      }%
+      user{%
+       /Subtype /Link
+       /A <<
+         /Type /Action
+         /S /URI
+         /URI (#2)
+       >>%
+      }%
+    \Hy@colorlink{\@urlcolor}#1%
+    \close@pdflink
+  \egroup
+}
+\def\hyper@linkfile#1#2#3{% anchor text, filename, linkname
+  \bgroup
+    \leavevmode
+    \pdfstartlink
+      attr{%
+        /Border [\@pdfborder]
+        /H \@pdfhighlight\space
+        /C [\@filebordercolor]%
+      }%
+      user {%
+        /Subtype /Link
+        /A <<
+          /F (#2)
+          /S /GoToR
+          \ifHy@newwindow /NewWindow true \fi
+          \ifx\\#3\\%
+            /D [0 \@pdfstartview]
+          \else
+            /D (#3)
+          \fi
+        >>%
+      }%
+    \Hy@colorlink{\@filecolor}#1%
+    \close@pdflink
+  \egroup
+}
+\def\@hyper@launch run:#1\\#2#3{% filename, anchor text linkname
+  \bgroup
+    \leavevmode
+    \pdfstartlink
+      attr{%
+        /Border [\@pdfborder]
+        /H \@pdfhighlight\space
+        /C [\@runbordercolor]%
+      }%
+      user {%
+        /Subtype /Link
+        /A <<
+          /F (#1)
+          /S /Launch
+          \ifHy@newwindow /NewWindow true \fi
+          \ifx\\#3\\%
+          \else
+            /Win << /P (#3) /F (#1) >>
+          \fi
+        >>%
+      }%
+    \Hy@colorlink{\@filecolor}#2%
+    \close@pdflink
+  \egroup
+}
+\ifx\pdftexversion\@undefined
+  \def\@pdfproducer{pdfTeX}
+\else
+  \def\@pdfproducer{pdfTeX\the\pdftexversion.\pdftexrevision}
+\fi
+\def\PDF@SetupDoc{%
+  \ifx\@pdfpagescrop\@empty
+  \else
+    \edef\process@me{%
+      \pdfpagesattr={%
+        /CropBox [\@pdfpagescrop]%
+        \expandafter\ifx\expandafter\\\the\pdfpagesattr\\%
+        \else
+          ^^J\the\pdfpagesattr
+        \fi
+      }%
+    }%
+    \process@me
+  \fi
+  \pdfcatalog {            % Catalog dictionary of PDF output.
+    /PageMode \@pdfpagemode
+    /URI << /Base (\@baseurl) >>
+  }
+  \ifx\@pdfstartview\@empty
+  \else
+    openaction goto page \@pdfstartpage {\@pdfstartview}%
+  \fi
+  \pdfcatalog{
+    /ViewerPreferences <<
+      \ifHy@toolbar\else /HideToolbar true \fi
+      \ifHy@menubar\else /HideMenubar true \fi
+      \ifHy@windowui\else /HideWindowUI true \fi
+      \ifHy@fitwindow /FitWindow true \fi
+      \ifHy@centerwindow /CenterWindow true \fi
+    >>
+    \ifx\pdf@pagelayout\@empty
+    \else
+      /PageLayout /\pdf@pagelayout\space
+    \fi
+  }%
+}
+\def\PDF@FinishDoc{%
+  \pdfinfo{%
+    /Author (\@pdfauthor)
+    /Title (\@pdftitle)
+    /Subject (\@pdfsubject)
+    /Creator (\@pdfcreator)
+    /Producer (\@pdfproducer)
+    /Keywords (\@pdfkeywords)
+  }%
+  \Hy@DisableOption{pdfauthor}%
+  \Hy@DisableOption{pdftitle}%
+  \Hy@DisableOption{pdfsubject}%
+  \Hy@DisableOption{pdfcreator}%
+  \Hy@DisableOption{pdfproducer}%
+  \Hy@DisableOption{pdfkeywords}%
+}
+\def\hyper@pagetransition{%
+  \ifx\@pdfpagetransition\relax
+  \else
+    \expandafter\Hy@RemoveTransPageAttr\the\pdfpageattr^^J/Trans{}>>\END
+    \ifx\@pdfpagetransition\@empty
+    \else
+      \edef\@processme{%
+        \global\pdfpageattr{%
+          \the\pdfpageattr
+          ^^J/Trans << /S /\@pdfpagetransition\space >>%
+        }%
+      }%
+      \@processme
+    \fi
+  \fi
+}
+\gdef\Hy@RemoveTransPageAttr#1^^J/Trans#2#3>>#4\END{%
+  \ifx\\#2\\%
+    \global\pdfpageattr{#1}%
+  \else
+    \Hy@RemoveTransPageAttr#1#4\END
+  \fi
+}
+\def\hyper@pageduration{%
+  \ifx\@pdfpageduration\relax
+  \else
+    \expandafter\Hy@RemoveDurPageAttr\the\pdfpageattr^^J/Dur{} \END
+    \ifx\@pdfpageduration\@empty
+    \else
+      \edef\@processme{%
+        \global\pdfpageattr{%
+          \the\pdfpageattr
+          ^^J/Dur \@pdfpageduration\space
+        }%
+      }%
+      \@processme
+    \fi
+  \fi
+}
+\gdef\Hy@RemoveDurPageAttr#1^^J/Dur#2#3 #4\END{%
+  \ifx\\#2\\%
+    \global\pdfpageattr{#1}%
+  \else
+    \Hy@RemoveDurPageAttr#1#4\END
+  \fi
+}
+\def\hyper@pagehidden{%
+  \ifHy@useHidKey
+    \expandafter\Hy@RemoveHidPageAttr\the\pdfpageattr^^J/Hid{} \END
+    \ifHy@pdfpagehidden
+      \edef\@processme{%
+        \global\pdfpageattr{%
+          \the\pdfpageattr
+          ^^J/Hid true % SPACE
+        }%
+      }%
+      \@processme
+    \fi
+  \fi
+}
+\gdef\Hy@RemoveHidPageAttr#1^^J/Hid#2#3 #4\END{%
+  \ifx\\#2\\%
+    \global\pdfpageattr{#1}%
+  \else
+    \Hy@RemoveHidPageAttr#1#4\END
+  \fi
+}
+\pdfoutput=1
+\pdfcompresslevel=9
+\AtBeginDocument{%
+  \@ifclassloaded{seminar}{%
+    \setlength{\pdfhorigin}{1truein}%
+    \setlength{\pdfvorigin}{1truein}%
+    \ifportrait
+      \ifdim\paperwidth=\z@
+      \else
+        \setlength{\pdfpagewidth}{\strip@pt\paperwidth truept}%
+      \fi
+      \ifdim\paperheight=\z@
+      \else
+        \setlength{\pdfpageheight}{\strip@pt\paperheight truept}%
+      \fi
+    \else
+      \ifdim\paperheight=\z@
+      \else
+        \setlength{\pdfpagewidth}{\strip@pt\paperheight truept}%
+      \fi
+      \ifdim\paperwidth=\z@
+      \else
+        \setlength{\pdfpageheight}{\strip@pt\paperwidth truept}%
+      \fi
+    \fi
+  }{%
+    \ifdim\paperwidth=\z@
+    \else
+      \setlength{\pdfpagewidth}{\paperwidth}%
+    \fi
+    \ifdim\paperheight=\z@
+    \else
+      \setlength{\pdfpageheight}{\paperheight}%
+    \fi
+  }%
+}
+\def\Acrobatmenu#1#2{%
+  \leavevmode
+  \pdfstartlink
+    attr{%
+      /Border [\@pdfborder]
+      /H \@pdfhighlight\space
+      /C [\@menubordercolor]%
+    }%
+    user{
+      /Subtype /Link
+      /A <<
+        /S /Named /N /#1
+      >>
+    }%
+  \Hy@colorlink{\@menucolor}#2\close@pdflink
+}
+\def\@Gauge[#1]#2#3#4{% parameters, label, minimum, maximum
+  \typeout{Sorry, pdftex does not support FORM gauges}%
+}
+\RequirePackage{pifont}%
+\def\MakeFieldObject#1#2{\sbox0{#1}%
+  \immediate\pdfxform0 %
+  \expandafter\edef\csname #2Object\endcsname{%
+    \the\pdflastxform\space 0 R%
+  }%
+}%
+\def\@Form[#1]{%
+  \@ifundefined{textcolor}{\let\textcolor\@gobble}{}%
+  \setkeys{Form}{#1}%
+  \ifnum\pdftexversion>13
+    \pdfrefobj\OBJ@pdfdocencoding
+    \pdfrefobj\OBJ@ZaDb
+    \pdfrefobj\OBJ@Helv
+    \pdfrefobj\OBJ@acroform
+  \fi
+  \pdfcatalog{/AcroForm \OBJ@acroform\space 0 R}%
+  \MakeFieldObject{\ding{123}}{Ding}%
+  \MakeFieldObject{\fbox{\textcolor{yellow}{\textsf{Submit}}}}{Submit}%
+  \MakeFieldObject{\fbox{\textcolor{yellow}{\textsf{SubmitP}}}}{SubmitP}%
+}
+\def\@endForm{}
+\def\@TextField[#1]#2{% parameters, label
+  \def\Fld@name{#2}%
+  \def\Fld@default{}%
+  \let\Fld@value\@empty
+  \def\Fld@width{\DefaultWidthofText}%
+  \def\Fld@height{\DefaultHeightofText}%
+  \bgroup
+    \Field@toks={ }%
+    \setkeys{Field}{#1}%
+    \ifFld@hidden\def\Fld@width{1sp}\fi
+    \ifx\Fld@value\@empty\def\Fld@value{\Fld@default}\fi
+    \ifFld@multiline
+      \def\Fld@height{4\DefaultHeightofText}%
+    \fi
+    \LayoutTextField{#2}{%
+    \pdfstartlink user {\PDFForm@Text}%
+    \MakeTextField{\Fld@width}{\Fld@height}\pdfendlink}%
+  \egroup
+}
+\def\@ChoiceMenu[#1]#2#3{% parameters, label, choices
+  \def\Fld@name{#2}%
+  \def\Fld@default{}%
+  \def\Fld@width{\DefaultWidthofChoiceMenu}%
+  \def\Fld@height{\DefaultHeightofChoiceMenu}%
+  \bgroup
+    \Fld@menulength=0
+    \@tempdima\z@
+    \@for\@curropt:=#3\do{%
+      \expandafter\Fld@checkequals\@curropt==\\%
+      \Hy@StepCount\Fld@menulength
+      \settowidth{\@tempdimb}{\@currDisplay}%
+      \ifdim\@tempdimb>\@tempdima\@tempdima\@tempdimb\fi
+    }%
+    \advance\@tempdima by 15\p@
+    \Field@toks={ }%
+    \setkeys{Field}{#1}%
+    \ifFld@hidden\def\Fld@width{1sp}\fi
+    \LayoutChoiceField{#2}{%
+      \ifFld@radio
+        \@@Radio{#3}%
+      \else
+        {%
+          \ifdim\Fld@width<\@tempdima
+            \ifdim\@tempdima<1cm\@tempdima1cm\fi
+            \edef\Fld@width{\the\@tempdima}%
+          \fi
+          \def\Fld@flags{}%
+          \ifFld@combo\def\Fld@flags{/Ff 917504}\fi
+          \ifFld@popdown\def\Fld@flags{/Ff 131072}\fi
+          \ifx\Fld@flags\@empty
+            \@tempdima=\the\Fld@menulength\Fld@charsize
+            \advance\@tempdima by \Fld@borderwidth bp
+            \advance\@tempdima by \Fld@borderwidth bp
+            \edef\Fld@height{\the\@tempdima}%
+          \fi
+          \@@Listbox{#3}%
+        }%
+      \fi
+    }%
+  \egroup
+}
+\def\@@Radio#1{%
+  \Fld@listcount=0
+  \@for\@curropt:=#1\do{%
+    \expandafter\Fld@checkequals\@curropt==\\%
+    \Hy@StepCount\Fld@listcount
+    \@currDisplay\space
+    \leavevmode
+    \pdfstartlink user {%
+      \PDFForm@Radio
+      /AP <<
+        /N <<
+          /\@currValue\space \DingObject
+        >>
+      >>
+    }%
+    \MakeRadioField{\Fld@width}{\Fld@height}\pdfendlink
+    \space% deliberate space between radio buttons
+  }%
+}
+\newcount\Fld@listcount
+\def\@@Listbox#1{%
+  \Choice@toks={ }%
+  \Fld@listcount=0
+  \@for\@curropt:=#1\do{%
+    \expandafter\Fld@checkequals\@curropt==\\%
+    \Hy@StepCount\Fld@listcount
+    \edef\@processme{%
+      \Choice@toks{\the\Choice@toks [(\@currValue) (\@currDisplay)]}%
+    }\@processme
+  }%
+  \leavevmode
+  \pdfstartlink user {\PDFForm@List}%
+  \MakeChoiceField{\Fld@width}{\Fld@height}%
+  \pdfendlink
+}
+\def\@PushButton[#1]#2{% parameters, label
+  \def\Fld@name{#2}%
+  \bgroup
+    \Field@toks={ }%
+    \setkeys{Field}{#1}%
+    \ifFld@hidden\def\Fld@width{1sp}\fi
+    \LayoutPushButtonField{%
+      \leavevmode
+      \pdfstartlink user {\PDFForm@Push}%
+      \MakeButtonField{#2}%
+      \pdfendlink
+    }%
+  \egroup
+}
+\def\@Submit[#1]#2{%
+  \Field@toks={ }%
+  \def\Fld@width{\DefaultWidthofSubmit}%
+  \def\Fld@height{\DefaultHeightofSubmit}%
+  \bgroup
+    \def\Fld@name{Submit}%
+    \setkeys{Field}{#1}%
+    \ifFld@hidden\def\Fld@width{1sp}\fi
+    \leavevmode
+    \pdfstartlink user {%
+      \PDFForm@Submit
+      /AP << /N \SubmitObject\space /D \SubmitPObject >>
+    }%
+    \MakeButtonField{#2}%
+    \pdfendlink
+  \egroup
+}
+\def\@Reset[#1]#2{%
+  \Field@toks={ }%
+  \def\Fld@width{\DefaultWidthofReset}%
+  \def\Fld@height{\DefaultHeightofReset}%
+  \bgroup
+    \def\Fld@name{Reset}%
+    \setkeys{Field}{#1}%
+    \ifFld@hidden\def\Fld@width{1sp}\fi
+    \leavevmode
+    \pdfstartlink user {\PDFForm@Reset}%
+    \MakeButtonField{#2}%
+    \pdfendlink
+  \egroup
+}
+\def\@CheckBox[#1]#2{% parameters, label
+  \def\Fld@name{#2}%
+  \def\Fld@default{0}%
+  \bgroup
+    \def\Fld@width{\DefaultWidthofCheckBox}%
+    \def\Fld@height{\DefaultHeightofCheckBox}%
+    \Field@toks={ }%
+    \setkeys{Field}{#1}%
+    \ifFld@hidden\def\Fld@width{1sp}\fi
+    \LayoutCheckField{#2}{%
+      \pdfstartlink user {\PDFForm@Check}%
+      \MakeCheckField{\Fld@width}{\Fld@height}%
+      \pdfendlink
+    }%
+  \egroup
+}
+\pdfobj { << /Type /Encoding /Differences [ 24 /breve /caron
+/circumflex /dotaccent /hungarumlaut /ogonek /ring /tilde 39
+/quotesingle 96 /grave 128 /bullet /dagger /daggerdbl /ellipsis
+/emdash /endash /florin /fraction /guilsinglleft /guilsinglright
+/minus /perthousand /quotedblbase /quotedblleft /quotedblright
+/quoteleft /quoteright /quotesinglbase /trademark /fi /fl /Lslash /OE
+/Scaron /Ydieresis /Zcaron /dotlessi /lslash /oe /scaron /zcaron 164
+/currency 166 /brokenbar 168 /dieresis /copyright /ordfeminine 172
+/logicalnot /.notdef /registered /macron /degree /plusminus
+/twosuperior /threesuperior /acute /mu 183 /periodcentered /cedilla
+/onesuperior /ordmasculine 188 /onequarter /onehalf /threequarters 192
+/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 ] >>
+}
+\edef\OBJ@pdfdocencoding{\the\pdflastobj}
+\pdfobj {
+  <<
+   /Type /Font
+   /Subtype /Type1
+   /Name /ZaDb
+   /BaseFont /ZapfDingbats
+>>
+}
+\edef\OBJ@ZaDb{\the\pdflastobj}
+\pdfobj {  <<
+  /Type /Font
+  /Subtype /Type1
+  /Name /Helv
+  /BaseFont /Helvetica
+  /Encoding \OBJ@pdfdocencoding\space 0 R
+  >>
+}
+\edef\OBJ@Helv{\the\pdflastobj}
+\pdfobj {
+  <<
+    /Fields []
+    /DR <<
+      /Font << /ZaDb \OBJ@ZaDb\space 0 R /Helv \OBJ@Helv\space0 R >>
+    >>
+    /DA (/Helv 10 Tf 0 g )
+    /NeedAppearances true
+  >>
+}
+\edef\OBJ@acroform{\the\pdflastobj}
+\def\PDFForm@Check{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /Q \Fld@align\space
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /MK <<
+    /BC [\Fld@bordercolor]
+    \ifx\Fld@bcolor\@empty
+    \else
+      /BG [\Fld@bcolor]
+    \fi
+    /CA (\Fld@cbsymbol)
+  >>
+  /DA (/ZaDb \strip@pt\Fld@charsize\space Tf \Fld@color\space rg)
+  /FT /Btn
+  /H /P
+  \ifFld@checked /V /Yes \else /V /Off \fi
+}
+\def\PDFForm@Push{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /FT /Btn
+  /Ff 65540
+  /H /P
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /MK <<
+    /BC [\Fld@bordercolor]
+  >>
+  /A << /S /JavaScript /JS (\Fld@onclick;) >>
+}
+\def\PDFForm@List{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /FT /Ch
+  /Q \Fld@align\space
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /MK <<
+    /BC [\Fld@bordercolor]
+    \ifx\Fld@bcolor\@empty
+    \else
+      /BG [\Fld@bcolor]
+    \fi
+  >>
+  /DA (/Helv \strip@pt\Fld@charsize\space Tf \Fld@color\space rg )
+  /Opt [\the\Choice@toks]
+  /DV (\Fld@default)
+  \Fld@flags
+}
+\def\PDFForm@Radio{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /FT /Btn
+  /Ff 49152
+  /H /P
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /MK <<
+    /BC [\Fld@bordercolor]
+    \ifx\Fld@bcolor\@empty
+    \else
+      /BG [\Fld@bcolor]
+    \fi
+    /CA (H)
+  >>
+  /DA (/ZaDb \strip@pt\Fld@charsize\space Tf \Fld@color\space rg)
+  \ifx\@currValue\Fld@default
+    /V /\Fld@default\space
+  \else
+    /V /Off
+  \fi
+}
+\def\PDFForm@Text{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /Q \Fld@align\space
+  /FT /Tx
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /MK <<
+    /BC [\Fld@bordercolor]
+    \ifx\Fld@bcolor\@empty
+    \else
+      /BG [\Fld@bcolor]
+    \fi
+  >>
+  /DA (/Helv \strip@pt\Fld@charsize\space Tf \Fld@color\space rg )
+  /DV (\Fld@default)
+  /AA <<
+    \ifx\Fld@keystroke@code\@empty
+    \else
+      /K << /S /JavaScript /JS (\Fld@keystroke@code) >>
+    \fi
+    \ifx\Fld@format@code\@empty
+    \else
+      /F << /S /JavaScript /JS (\Fld@format@code) >>
+    \fi
+    \ifx\Fld@validate@code\@empty
+    \else
+      /V << /S /JavaScript /JS (\Fld@validate@code) >>
+    \fi
+    \ifx\Fld@calculate@code\@empty
+    \else
+      /C << /S /JavaScript /JS (\Fld@calculate@code) >>
+    \fi
+  >>
+  /V (\Fld@value)
+  \ifFld@multiline
+    \ifFld@readonly /Ff 4097 \else /Ff 4096 \fi
+  \else
+    \ifFld@password
+      \ifFld@readonly /Ff 8193 \else /Ff 8192 \fi
+    \fi
+  \fi
+  \ifnum\Fld@maxlen>0/MaxLen \Fld@maxlen \fi
+}
+\def\PDFForm@Submit{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /FT /Btn
+  /Ff 65540
+  /H /P
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /MK <<
+    /BC [\Fld@bordercolor]
+  >>
+  /A <<
+    /S /SubmitForm
+    /F <<
+      /FS /URL
+      /F (\Form@action)
+    >>
+    \ifForm@html /Flags 4 \fi
+  >>
+}
+\def\PDFForm@Reset{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /FT /Btn
+  /H /P
+  /DA (/Helv \strip@pt\Fld@charsize\space Tf 0 0 1 rg)
+  /Ff 65540
+  /MK <<
+    /BC [\Fld@bordercolor]
+  >>
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /A << /S /ResetForm >>
+}
+\newwrite\@outlinefile
+\def\Hy@writebookmark#1#2#3#4#5{% section number, text, label, level, file
+ \ifx\WriteBookmarks\relax%
+ \else
+  \ifnum#4>\c@tocdepth
+  \else
+   \@@writetorep{#1}{#2}{#3}{#4}{#5}%
+  \fi
+ \fi}
+\def\Hy@currentbookmarklevel{0}
+\def\Hy@numberline#1{#1 }
+\def\@@writetorep#1#2#3#4#5{%
+  \begingroup
+    \def\Hy@tempa{#5}%
+    \ifx\Hy@tempa\Hy@bookmarkstype
+      \edef\Hy@level{#4}%
+      \ifx\Hy@levelcheck Y%
+        \@tempcnta\Hy@level\relax
+        \advance\@tempcnta by -1
+        \ifnum\Hy@currentbookmarklevel<\@tempcnta
+          \advance\@tempcnta by -\Hy@currentbookmarklevel\relax
+          \advance\@tempcnta by 1
+          \Hy@Warning{%
+            Difference (\the\@tempcnta) between bookmark levels is %
+            greater \MessageBreak than one, level fixed%
+          }%
+          \@tempcnta\Hy@currentbookmarklevel
+          \advance\@tempcnta by 1
+          \edef\Hy@level{\the\@tempcnta}%
+        \fi
+      \else
+        \global\let\Hy@levelcheck Y%
+      \fi
+      \global\let\Hy@currentbookmarklevel\Hy@level
+      \@tempcnta\Hy@level\relax
+      \expandafter\xdef\csname Parent\Hy@level\endcsname{#3}%
+      \advance\@tempcnta by -1
+      \edef\Hy@tempa{#3}%
+      \edef\Hy@tempb{\csname Parent\the\@tempcnta\endcsname}%
+      \ifx\Hy@tempa\Hy@tempb
+        \Hy@Warning{%
+          The anchor of a bookmark and its parent's must not%
+          \MessageBreak be the same. Added a new anchor%
+        }%
+        \phantomsection
+      \fi
+      \ifHy@bookmarksnumbered
+        \let\numberline\Hy@numberline
+      \else
+        \let\numberline\@gobble
+      \fi
+      \pdfstringdef\Hy@tempa{#2}%
+      \protected@write\@outlinefile{}{%
+        \protect\BOOKMARK
+          [\Hy@level][\@bookmarkopenstatus{\Hy@level}]{#3}%
+          {\Hy@tempa}{\Hy@tempb}%
+      }%
+    \fi
+  \endgroup
+}
+\newcommand{\currentpdfbookmark}{%
+  \pdfbookmark[\Hy@currentbookmarklevel]%
+}
+\newcommand{\subpdfbookmark}{%
+  \@tempcnta\Hy@currentbookmarklevel
+  \Hy@StepCount\@tempcnta
+  \expandafter\pdfbookmark\expandafter[\the\@tempcnta]%
+}
+\newcommand{\belowpdfbookmark}[2]{%
+  \@tempcnta\Hy@currentbookmarklevel
+  \Hy@StepCount\@tempcnta
+  \expandafter\pdfbookmark\expandafter[\the\@tempcnta]{#1}{#2}%
+  \advance\@tempcnta by -1
+  \xdef\Hy@currentbookmarklevel{\the\@tempcnta}%
+}
+\renewcommand\pdfbookmark[3][0]{%
+  \Hy@writebookmark{}{#2}{#3.#1}{#1}{toc}%
+  \hyper@anchorstart{#3.#1}\hyper@anchorend
+}
+\def\BOOKMARK{\@ifnextchar[{\@BOOKMARK}{\@@BOOKMARK[1][-]}}
+\def\@BOOKMARK[#1]{\@ifnextchar[{\@@BOOKMARK[#1]}{\@@BOOKMARK[#1][-]}}
+\def\ReadBookmarks{%
+  \begingroup
+    \escapechar=`\\%
+    \let\escapechar\@gobble %
+    \def\@@BOOKMARK [##1][##2]##3##4##5{\calc@bm@number{##5}}%
+    \InputIfFileExists{\jobname.out}{}{}%
+    \ifx\WriteBookmarks\relax
+      \global\let\WriteBookmarks\relax
+    \fi
+    \def\@@BOOKMARK[##1][##2]##3##4##5{%
+      \def\Hy@temp{##4}%
+      \pdfoutline goto
+        name{##3}%
+        count ##2\check@bm@number{##3}{%
+          \expandafter\strip@prefix\meaning\Hy@temp
+        }%
+   }%
+   {%
+    \def\WriteBookmarks{0}%
+    \InputIfFileExists{\jobname.out}{}{}%
+   }%
+   %{\escapechar\m@ne\InputIfFileExists{\jobname.out}{}{}}%
+   \ifx\WriteBookmarks\relax\else
+     \if@filesw\immediate\openout\@outlinefile=\jobname.out
+      \ifHy@typexml
+       \immediate\write\@outlinefile{<relaxxml>\relax}%
+      \fi
+     \fi
+   \fi
+   \endgroup
+}
+\def\check@bm@number#1{%
+  \expandafter\ifx\csname B_#1\endcsname\relax
+    0%
+  \else
+    \csname B_#1\endcsname
+  \fi
+}
+\def\calc@bm@number#1{%
+  \@tempcnta=\check@bm@number{#1}\relax
+  \advance\@tempcnta by1
+  \expandafter\xdef\csname B_#1\endcsname{\the\@tempcnta}%
+}
+\ifHy@implicit
+\else
+  \def\@begindvi{%
+    \unvbox\@begindvibox
+    \HyPL@EveryPage
+    \global\let\@begindvi\HyPL@EveryPage
+  }%
+  \expandafter\endinput
+\fi
+\let\H@old@ssect\@ssect
+\def\@ssect#1#2#3#4#5{%
+  \H@old@ssect{#1}{#2}{#3}{#4}{#5}%
+  \phantomsection
+}
+\let\H@old@schapter\@schapter
+\def\@schapter#1{%
+  \H@old@schapter{#1}%
+  \begingroup
+    \let\@mkboth\@gobbletwo
+    \Hy@GlobalStepCount\Hy@linkcounter
+    \xdef\@currentHref{\Hy@chapapp*.\the\Hy@linkcounter}%
+    \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+  \endgroup
+}
+\@ifundefined{@chapter}{}{%
+  \let\Hy@org@chapter\@chapter
+  \def\@chapter{%
+    \def\Hy@next{%
+      \Hy@GlobalStepCount\Hy@linkcounter
+      \xdef\@currentHref{\Hy@chapapp*.\the\Hy@linkcounter}%
+      \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+    }%
+    \ifnum\c@secnumdepth>\m@ne
+      \@ifundefined{if@mainmatter}%
+      \iftrue{\csname if@mainmatter\endcsname}
+        \let\Hy@next\relax
+      \fi
+    \fi
+    \Hy@next
+    \Hy@org@chapter
+  }%
+}
+\let\H@old@spart\@spart
+\def\@spart#1{%
+  \H@old@spart{#1}%
+  \Hy@GlobalStepCount\Hy@linkcounter
+  \xdef\@currentHref{part*.\the\Hy@linkcounter}%
+  \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+}
+\let\H@old@sect\@sect
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+  \ifnum #2>\c@secnumdepth
+    \Hy@GlobalStepCount\Hy@linkcounter
+    \xdef\@currentHref{section*.\the\Hy@linkcounter}%
+  \fi
+  \H@old@sect{#1}{#2}{#3}{#4}{#5}{#6}[{#7}]{#8}%
+  \ifnum #2>\c@secnumdepth
+    \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+  \fi
+}
+\expandafter\def\csname Parent-4\endcsname{}
+\expandafter\def\csname Parent-3\endcsname{}
+\expandafter\def\csname Parent-2\endcsname{}
+\expandafter\def\csname Parent-1\endcsname{}
+\expandafter\def\csname Parent0\endcsname{}
+\expandafter\def\csname Parent1\endcsname{}
+\expandafter\def\csname Parent2\endcsname{}
+\expandafter\def\csname Parent3\endcsname{}
+\expandafter\def\csname Parent4\endcsname{}
+\def\Hy@tempa{%
+  \def\@addchap[##1]##2{%
+    \typeout{##2}%
+    \if@twoside
+      \@mkboth{##1}{}%
+    \else
+      \@mkboth{}{##1}%
+    \fi
+    \addtocontents{lof}{\protect\addvspace{10\p@}}%
+    \addtocontents{lot}{\protect\addvspace{10\p@}}%
+    \Hy@GlobalStepCount\Hy@linkcounter
+    \xdef\@currentHref{\Hy@chapapp*.\the\Hy@linkcounter}%
+    \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+    \if@twocolumn
+       \@topnewpage[\@makeschapterhead{##2}]%
+    \else
+       \@makeschapterhead{##2}%
+       \@afterheading
+    \fi
+    \addcontentsline{toc}{chapter}{##1}%
+  }%
+}
+\@ifclassloaded{scrbook}{%
+  \@ifclasslater{scrbook}{2001/01/01}{%
+    \let\Hy@tempa\@empty
+  }{}%
+}{%
+  \@ifclassloaded{scrreprt}{%
+    \@ifclasslater{scrreprt}{2001/01/01}{%
+      \let\Hy@tempa\@empty
+    }{}%
+  }{%
+    \let\Hy@tempa\@empty
+  }%
+}%
+\Hy@tempa
+\endinput
+%%
+%% End of file `hpdftex.def'.
diff --git a/styles/htex4ht.cfg b/styles/htex4ht.cfg
new file mode 100644 (file)
index 0000000..dfe14a3
--- /dev/null
@@ -0,0 +1,41 @@
+%%
+%% This is file `htex4ht.cfg',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hyperref.dtx  (with options: `tex4htcfg')
+%% 
+%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
+%% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
+%%
+%% This file is part of the `Hyperref Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the `Hyperref Bundle' is
+%% given in the file `manifest.txt'.
+%%
+\ProvidesFile{htex4ht.cfg}
+  [2001/05/26 v6.71g
+  Hyperref configuration file for TeX4ht]
+\IfFileExists{\jobname.cfg}{\endinput}{}
+\Preamble{html}
+   \begin{document}
+\EndPreamble
+\def\TeX{TeX}
+\def\OMEGA{Omega}
+\def\LaTeX{La\TeX}
+\def\LaTeXe{\LaTeX2e}
+\def\eTeX{e-\TeX}
+\def\MF{Metafont}
+\def\MP{Metapost}
+\endinput
+%%
+%% End of file `htex4ht.cfg'.
diff --git a/styles/htex4ht.def b/styles/htex4ht.def
new file mode 100644 (file)
index 0000000..5ba24f3
--- /dev/null
@@ -0,0 +1,254 @@
+%%
+%% This is file `htex4ht.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hyperref.dtx  (with options: `tex4ht')
+%% 
+%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
+%% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
+%%
+%% This file is part of the `Hyperref Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the `Hyperref Bundle' is
+%% given in the file `manifest.txt'.
+%%
+\ProvidesFile{htex4ht.def}
+  [2001/05/26 v6.71g
+  Hyperref driver for TeX4ht]
+\@ifpackageloaded{tex4ht}
+  {\typeout{hyperref tex4ht: tex4ht already loaded}}%
+  {\RequirePackage[htex4ht]{tex4ht}}
+\def\PDF@FinishDoc{}
+\def\PDF@SetupDoc{%
+  \ifx\@baseurl\@empty\else
+    \special{t4ht=<base href="\@baseurl">}%
+  \fi
+}
+\def\hyper@anchor#1{%
+  \Hy@SaveLastskip
+  \begingroup
+    \let\protect=\string
+    \special{t4ht=<a name=\hyper@quote #1\hyper@quote>}%
+  \endgroup
+  \Hy@activeanchortrue
+  \Hy@colorlink{\@anchorcolor}\anchor@spot\Hy@endcolorlink
+  \special{t4ht=</a>}%
+  \Hy@activeanchorfalse
+  \Hy@RestoreLastskip
+}
+\def\hyper@anchorstart#1{%
+  \Hy@SaveLastskip
+  \begingroup
+    \hyper@chars\special{t4ht=<a name=\hyper@quote#1\hyper@quote>}%
+  \endgroup
+  \Hy@activeanchortrue
+}
+\def\hyper@anchorend{%
+  \special{t4ht=</a>}%
+  \Hy@activeanchorfalse
+  \Hy@RestoreLastskip
+}
+\def\@urltype{url}
+\def\hyper@linkstart#1#2{%
+  \Hy@colorlink{\csname @#1color\endcsname}%
+  \def\Hy@tempa{#1}%
+  \ifx\Hy@tempa\@urltype
+    \special{t4ht=<a href=\hyper@quote#2\hyper@quote>}%
+  \else
+    {\hyper@chars\special{t4ht=<a href=\hyper@quote\##2\hyper@quote>}}%
+  \fi
+}
+\def\hyper@linkend{%
+  \special{t4ht=</a>}%
+  \Hy@endcolorlink
+}
+\def\hyper@linkfile#1#2#3{%
+  \hyper@linkurl{#1}{file:#2\ifx\\#3\\\else\##3\fi}%
+}
+\def\hyper@linkurl#1#2{%
+  \leavevmode
+  \ifHy@raiselinks
+    \setbox\@tempboxa=\color@hbox #1\color@endbox
+    \@linkdim\dp\@tempboxa
+    \lower\@linkdim\hbox{%
+      \begingroup
+        \hyper@chars\special{t4ht=<a href=\hyper@quote#2\hyper@quote>}%
+      \endgroup
+    }%
+    \Hy@colorlink{\@urlcolor}#1\Hy@endcolorlink
+    \@linkdim\ht\@tempboxa
+    \advance\@linkdim by -6.5\p@
+    \raise\@linkdim\hbox{\special{t4ht=</a>}}%
+ \else
+   \begingroup
+     \hyper@chars
+     \special{t4ht=<a href=\hyper@quote#2\hyper@quote>}%
+     \Hy@colorlink{\@urlcolor}#1\Hy@endcolorlink
+     \special{t4ht=</a>}%
+   \endgroup
+ \fi
+}
+\def\hyper@link#1#2#3{%
+  \hyper@linkurl{#3}{\##2}%
+}
+\def\hyper@image#1#2{%
+  \begingroup
+    \hyper@chars
+    \special{t4ht=<img src=\hyper@quote#1\hyper@quote>}%
+  \endgroup
+}
+\let\autoref\ref
+\ifx \rEfLiNK \UnDef
+  \def\rEfLiNK #1#2{#2}%
+\fi
+\def\backref#1{}
+\def\@Form[#1]{%
+  \setkeys{Form}{#1}%
+  \HCode{<form action="\Form@action" method="\Form@method">}%
+}
+\def\@endForm{\HCode{</form>}}
+\def\@Gauge[#1]#2#3#4{% parameters, label, minimum, maximum
+  \typeout{Sorry, TeX4ht does not support gauges}%
+}
+\def\@TextField[#1]#2{% parameters, label
+  \let\Hy@reserved@a\@empty
+  \def\Fld@name{#2}%
+  \def\Fld@default{}%
+  \bgroup
+    \Field@toks={ }%
+    \setkeys{Field}{#1}%
+    \HCode{<label for="\Fld@name">#2</label>}%
+    \ifFld@password
+      \@@PasswordField
+    \else
+      \@@TextField
+    \fi
+  \egroup
+}
+\def\@@PasswordField{%
+  \HCode{%
+    <input type="password"
+     id="\Fld@name"
+     name="\Fld@name"
+     \ifFld@hidden type="hidden"\fi
+     value="\Fld@default"
+     \the\Field@toks
+    >%
+  }%
+}
+\def\@@TextField{%
+  \ifFld@multiline
+    \HCode{<textarea
+      \ifFld@readonly readonly \fi
+      id="\Fld@name"
+      name="\Fld@name"
+      \ifFld@hidden type="hidden"\fi
+      \the\Field@toks>%
+    }%
+    \Fld@default
+    \HCode{</textarea>}%
+  \else
+    \HCode{<input type="textbox"
+      \ifFld@readonly readonly \fi
+      id="\Fld@name"
+      name="\Fld@name"
+      \ifFld@hidden type="hidden"\fi
+      value="\Fld@default" \the\Field@toks>
+    }%
+  \fi
+}
+\def\@ChoiceMenu[#1]#2#3{% parameters, label, choices
+  \def\Fld@name{#2}%
+  \def\Fld@default{}%
+  \let\Hy@reserved@a\relax
+  \bgroup
+   \expandafter\Fld@findlength#3\\%
+   \Field@toks={ }%
+   \setkeys{Field}{#1}%
+   #2%
+   \ifFld@radio
+     \expandafter\@@Radio#3\\%
+   \else
+     \expandafter\@@Menu#3\\%
+   \fi
+  \egroup
+}
+\def\Fld@findlength#1\\{%
+  \Fld@menulength=0
+  \@for\@curropt:=#1\do{\Hy@StepCount\Fld@menulength}%
+}
+\def\@@Menu#1\\{%
+  \HCode{<select size="\the\Fld@menulength"
+    name="\Fld@name"  \the\Field@toks>}%
+  \@for\@curropt:=#1\do{%
+    \expandafter\Fld@checkequals\@curropt==\\%
+    \HCode{<option
+      \ifx\@curropt\Fld@default selected \fi
+      value="\@currValue">\@currDisplay</option>%
+    }%
+  }%
+  \HCode{</select>}%
+}
+\def\@@Radio#1\\{%
+  \@for\@curropt:=#1\do{%
+    \expandafter\Fld@checkequals\@curropt==\\%
+    \HCode{<input type="radio"
+      \ifx\@curropt\Fld@default checked \fi
+      name="\Fld@name"
+      value="\@currValue"
+      \the\Field@toks>%
+    }%
+    \@currDisplay
+  }%
+}
+\def\@PushButton[#1]#2{% parameters, label
+  \def\Fld@name{#2}%
+  \bgroup
+    \Field@toks={ }%
+    \setkeys{Field}{#1}%
+    \HCode{<input type="button"
+      name="\Fld@name"
+      value="#2"
+      \the\Field@toks>%
+    }%
+    \HCode{</button>}%
+  \egroup
+}
+\def\@Submit[#1]#2{%
+  \HCode{<button type="submit">#2</button>}%
+}
+\def\@Reset[#1]#2{%
+  \HCode{<button type="reset">#2</button>}%
+}
+\def\@CheckBox[#1]#2{% parameters, label
+  \let\Hy@reserved@a\@empty
+  \def\Fld@name{#2}%
+  \def\Fld@default{0}%
+  \bgroup
+    \Field@toks={ }%
+    \setkeys{Field}{#1}%
+    \HCode{<input type="checkbox"
+      \ifFld@checked checked \fi
+      \ifFld@disabled disabled \fi
+      \ifFld@readonly readonly \fi
+      name="\Fld@name"
+      \ifFld@hidden type="hidden"\fi
+      value="\Fld@default"
+      \the\Field@toks>%
+      #2%
+    }%
+  \egroup
+}
+\endinput
+%%
+%% End of file `htex4ht.def'.
diff --git a/styles/htexture.def b/styles/htexture.def
new file mode 100644 (file)
index 0000000..9e3b488
--- /dev/null
@@ -0,0 +1,170 @@
+%%
+%% This is file `htexture.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hyperref.dtx  (with options: `textures')
+%% 
+%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
+%% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
+%%
+%% This file is part of the `Hyperref Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the `Hyperref Bundle' is
+%% given in the file `manifest.txt'.
+%%
+\ProvidesFile{htexture.def}
+  [2001/05/26 v6.71g
+  Hyperref driver for Textures]
+\input{pdfmark.def}%
+\def\@pdfproducer{Textures + Distiller}%
+\def\literalps@out#1{\special{rawpostscript #1}}%
+\def\headerps@out#1{\special{prepostscript #1}}%
+\providecommand\@pdfborder{0 0 1}
+\providecommand\@pdfview{XYZ}
+\providecommand\@pdfviewparams{ H.V}
+\headerps@out{%
+  /vsize {\Hy@pageheight} def
+  /DvipsToPDF {} def
+  /PDFToDvips {} def
+  /HyperBorder  { 1 PDFToDvips } def
+  /H.V {pdf@hoff pdf@voff null} def
+  /H.B {/Rect[pdf@llx pdf@lly pdf@urx pdf@ury]} def
+  /H.S {
+    currentpoint
+    HyperBorder add /pdf@lly exch def
+    dup DvipsToPDF  /pdf@hoff exch def
+    HyperBorder sub /pdf@llx exch def
+  } def
+  /H.L {
+    2 sub
+    PDFToDvips /HyperBase exch def
+    currentpoint
+    HyperBase sub /pdf@ury exch def
+    /pdf@urx exch def
+  } def
+  /H.A {
+    H.L
+    currentpoint exch pop
+    vsize 72 sub exch DvipsToPDF
+    HyperBase sub % baseline skip
+    sub /pdf@voff exch def
+  } def
+  /H.R {
+    currentpoint
+    HyperBorder sub /pdf@ury exch def
+    HyperBorder add /pdf@urx exch def
+    currentpoint exch pop vsize 72 sub
+    exch DvipsToPDF sub /pdf@voff exch def
+  } def
+  systemdict
+  /pdfmark known not
+  {userdict /pdfmark systemdict /cleartomark get put} if
+}
+\AfterBeginDocument{%
+  \ifHy@colorlinks
+    \headerps@out{%
+      TeXdict begin^^J%
+        /PDFBorder{/Border [0 0 0]}def^^J%
+      end%
+    }%
+  \fi
+}
+\expandafter\let\expandafter\keepPDF@SetupDoc
+  \csname PDF@SetupDoc\endcsname
+\def\PDF@SetupDoc{%
+  \ifx\@baseurl\@empty\else
+    \special{html:<base href="\@baseurl">}%
+  \fi
+  \keepPDF@SetupDoc
+}
+\def\hyper@anchor#1{%
+  \Hy@SaveLastskip
+  \begingroup
+    \let\protect=\string
+    \special{html:<a name=\hyper@quote #1\hyper@quote>}%
+  \endgroup
+  \Hy@activeanchortrue
+  \Hy@colorlink{\@anchorcolor}\anchor@spot\Hy@endcolorlink
+  \special{html:</a>}%
+  \Hy@activeanchorfalse
+  \Hy@RestoreLastskip
+}
+\def\hyper@anchorstart#1{%
+  \Hy@SaveLastskip
+  \begingroup
+    \hyper@chars
+    \special{html:<a name=\hyper@quote#1\hyper@quote>}%
+  \endgroup
+  \Hy@activeanchortrue
+}
+\def\hyper@anchorend{%
+  \special{html:</a>}%
+  \Hy@activeanchorfalse
+  \Hy@RestoreLastskip
+}
+\def\@urltype{url}
+\def\hyper@linkstart#1#2{%
+  \Hy@colorlink{\csname @#1color\endcsname}%
+  \def\Hy@tempa{#1}%
+  \ifx\Hy@tempa\@urltype
+    \special{html:<a href=\hyper@quote#2\hyper@quote>}%
+  \else
+    \begingroup
+      \hyper@chars
+      \special{html:<a href=\hyper@quote\##2\hyper@quote>}%
+    \endgroup
+  \fi
+}
+\def\hyper@linkend{%
+  \special{html:</a>}%
+  \Hy@endcolorlink
+}
+\def\hyper@linkfile#1#2#3{%
+  \hyper@linkurl{#1}{file:#2\ifx\\#3\\\else\##3\fi}%
+}
+\def\hyper@linkurl#1#2{%
+  \leavevmode
+  \ifHy@raiselinks
+    \setbox\@tempboxa=\color@hbox #1\color@endbox
+    \@linkdim\dp\@tempboxa
+    \lower\@linkdim\hbox{%
+      \hyper@chars
+      \special{html:<a href=\hyper@quote#2\hyper@quote>}%
+    }%
+    \Hy@colorlink{\@urlcolor}#1%
+    \@linkdim\ht\@tempboxa
+    \advance\@linkdim by -6.5\p@
+    \raise\@linkdim\hbox{\special{html:</a>}}%
+    \Hy@endcolorlink
+  \else
+    \begingroup
+      \hyper@chars
+      \special{html:<a href=\hyper@quote#2\hyper@quote>}%
+      \Hy@colorlink{\@urlcolor}#1%
+      \special{html:</a>}%
+      \Hy@endcolorlink
+    \endgroup
+  \fi
+}
+\def\hyper@link#1#2#3{%
+  \hyper@linkurl{#3}{\##2}%
+}
+\def\hyper@image#1#2{%
+  \begingroup
+    \hyper@chars
+    \special{html:<img src=\hyper@quote#1\hyper@quote>}%
+  \endgroup
+}
+\endinput
+%%
+%% End of file `htexture.def'.
diff --git a/styles/hvtex.def b/styles/hvtex.def
new file mode 100644 (file)
index 0000000..2bd92b3
--- /dev/null
@@ -0,0 +1,633 @@
+%%
+%% This is file `hvtex.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hyperref.dtx  (with options: `vtex,outlines')
+%% 
+%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
+%% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
+%%
+%% This file is part of the `Hyperref Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the `Hyperref Bundle' is
+%% given in the file `manifest.txt'.
+%%
+\ProvidesFile{hvtex.def}
+  [2001/05/26 v6.71g
+  Hyperref driver for VTeX in PDF/PS mode]
+\edef\Hy@VTeXversion{%
+  \ifx\VTeXversion\@undefined
+    \z@
+  \else
+    \ifx\VTeXversion\relax
+      \z@
+    \else
+      \VTeXversion
+    \fi
+  \fi
+}
+\begingroup
+  \ifnum\Hy@VTeXversion<660 %
+    \gdef\Hy@PutCatalog#1{%
+      \Hy@WarningNoLine{%
+        VTeX 6.59g or above required for pdfpagelabels%
+      }%
+    }
+  \else
+    \gdef\Hy@PutCatalog#1{%
+      \Hy@vt@PutCatalog#1/PageLabels <<>>\@nil
+    }
+    \gdef\Hy@vt@PutCatalog#1/PageLabels <<#2>>#3\@nil{%
+      \ifx\\#2\\%
+      \else
+        \immediate\special{!pdfpagelabels #2}%
+      \fi
+    }
+  \fi
+\endgroup
+\ifHy@pagelabels
+  \def\HyPL@StorePageLabel#1{%
+    \toks@\expandafter{\HyPL@Labels}%
+    \xdef\HyPL@Labels{%
+      \the\toks@
+      \the\Hy@abspage\space<< #1 >> %
+    }%
+  }
+  \AtEndDocument{\clearpage\HyPL@SetPageLabels}
+\fi
+\ifx\mediaheight\@undefined
+\else
+   \ifx\mediaheight\relax
+   \else
+      \providecommand*{\VTeXInitMediaSize}{%
+        \setlength\mediaheight\paperheight
+        \setlength\mediawidth\paperwidth
+      }%
+      \AtBeginDocument{\VTeXInitMediaSize}%
+   \fi
+\fi
+\providecommand\@pdfview{xyz}
+\providecommand\@pdfborder{0 0 1}%
+\def\CurrentBorderColor{\@linkbordercolor}
+\def\hyper@anchor#1{%
+  \Hy@SaveLastskip
+  \begingroup
+    \let\protect=\string
+    \hyper@chars
+    \special{!aname #1;\@pdfview}%
+  \endgroup
+  \Hy@activeanchortrue
+  \Hy@colorlink{\@anchorcolor}\anchor@spot\Hy@endcolorlink
+  \Hy@activeanchorfalse
+  \Hy@RestoreLastskip
+}
+\def\hyper@anchorstart#1{%
+  \Hy@SaveLastskip
+  \begingroup
+    \hyper@chars
+    \special{!aname #1;\@pdfview}%
+  \endgroup
+  \Hy@activeanchortrue
+}
+\def\hyper@anchorend{%
+  \Hy@activeanchorfalse
+  \Hy@RestoreLastskip
+}
+\def\@urltype{url}
+\def\Hy@undefinedname{UNDEFINED}
+\def\hyper@linkstart#1#2{%
+  \Hy@colorlink{\csname @#1color\endcsname}%
+  \edef\CurrentBorderColor{\csname @#1bordercolor\endcsname}%
+  \def\Hy@tempa{#1}%
+  \ifx\Hy@tempa\@urltype
+    \special{!%
+      aref <u=/Type /Action /S /URI /URI (#2)>;%
+      a=</Border [\@pdfborder] /C [\CurrentBorderColor]>%
+    }%
+  \else
+    \protected@edef\Hy@testname{#2}%
+    \ifx\Hy@testname\@empty
+      \let\Hy@testname\Hy@undefinedname
+    \fi
+    \special{!%
+      aref \Hy@testname;%
+      a=</Border [\@pdfborder] /C [\CurrentBorderColor]>%
+    }%
+  \fi
+}
+\def\hyper@linkend{%
+  \special{!endaref}%
+  \Hy@endcolorlink
+}
+\def\hyper@linkfile#1#2#3{%
+  \leavevmode
+  \special{!%
+    aref <f=#2>#3;%
+    a=</Border [\@pdfborder] /C [\@filebordercolor]>%
+  }%
+  \Hy@colorlink{\@filecolor}#1\Hy@endcolorlink
+  \special{!endaref}%
+}
+\def\hyper@linkurl#1#2{%
+  \begingroup
+    \hyper@chars
+    \leavevmode
+    \special{!%
+      aref <u=/Type /Action /S /URI /URI (#2)>;%
+      a=</Border [\@pdfborder] /C [\@urlbordercolor]>%
+    }%
+    \Hy@colorlink{\@urlcolor}#1\Hy@endcolorlink
+    \special{!endaref}%
+  \endgroup
+}
+\def\hyper@link#1#2#3{%
+  \edef\CurrentBorderColor{\csname @#1bordercolor\endcsname}%
+  \leavevmode
+  \protected@edef\Hy@testname{#2}%
+  \ifx\Hy@testname\@empty
+    \let\Hy@testname\Hy@undefinedname
+  \fi
+  \special{!%
+    aref \Hy@testname;%
+    a=</Border [\@pdfborder] /C [\CurrentBorderColor]>%
+  }%
+  \Hy@colorlink{\csname @#1color\endcsname}#3\Hy@endcolorlink
+  \special{!endaref}%
+}
+\def\hyper@image#1#2{%
+  \hyper@linkurl{#2}{#1}%
+}
+\def\@hyper@launch run:#1\\#2#3{%
+  \leavevmode
+  \special{!aref
+    <u=%
+      /Type /Action
+      /S /Launch
+      /F (#1)
+      \ifHy@newwindow /NewWindow true \fi
+      \ifx\\#3\\\else /Win << /F (#1) /P (#3) >> \fi%
+    >;%
+    a=</Border [\@pdfborder] /C [\@runbordercolor]>%
+  }%
+  \Hy@colorlink{\@filecolor}#2\Hy@endcolorlink
+  \special{!endaref}%
+}
+\def\Acrobatmenu#1#2{%
+  \leavevmode
+  \special{!%
+    aref <u=/S /Named /N /#1>;%
+    a=</Border [\@pdfborder] /C [\@menubordercolor]>%
+  }%
+  \Hy@colorlink{\@menucolor}#2\Hy@endcolorlink
+  \special{!endaref}%
+}
+\ifnum\Hy@VTeXversion<702 %
+\else
+  \def\hyper@pagetransition{%
+    \ifx\@pdfpagetransition\relax
+    \else
+      \ifx\@pdfpagetransition\@empty
+      \else
+        \hvtex@parse@trans\@pdfpagetransition
+      \fi
+    \fi
+  }
+  \def\hvtex@trans@effect@Blinds{\def\hvtex@trans@code{B}}
+  \def\hvtex@trans@effect@Box{\def\hvtex@trans@code{X}}
+  \def\hvtex@trans@effect@Dissolve{\def\hvtex@trans@code{D}}
+  \def\hvtex@trans@effect@Glitter{\def\hvtex@trans@code{G}}
+  \def\hvtex@trans@effect@Split{\def\hvtex@trans@code{S}}
+  \def\hvtex@trans@effect@Wipe{\def\hvtex@trans@code{W}}
+  \def\hvtex@trans@effect@R{\def\hvtex@trans@code{R}}
+  \def\hvtex@par@dimension{/Dm}
+  \def\hvtex@par@direction{/Di}
+  \def\hvtex@par@duration{/D}
+  \def\hvtex@par@motion{/M}
+  \def\hvtex@gettoken{\expandafter\hvtex@gettoken@\hvtex@buffer\@nil}
+  \def\hvtex@gettoken@#1 #2\@nil{%
+    \edef\hvtex@token{#1}%
+    \edef\hvtex@buffer{#2}%
+  }
+  \def\hvtex@parse@trans#1{%
+    \let\hvtex@trans@code\@empty
+    \let\hvtex@param@dimension\@empty
+    \let\hvtex@param@direction\@empty
+    \let\hvtex@param@duration\@empty
+    \let\hvtex@param@motion\@empty
+    \edef\hvtex@buffer{#1\space}%
+    \hvtex@gettoken
+    \ifx\hvtex@token\@empty
+      \ifx\hvtex@buffer\@empty
+      \else
+        \hvtex@gettoken
+      \fi
+    \fi
+    \csname hvtex@trans@effect@\hvtex@token\endcsname
+    \hvtex@trans@params
+  }
+  \def\hvtex@trans@params{%
+    \ifx\hvtex@buffer\@empty
+    \else
+      \hvtex@gettoken
+      \let\hvtex@trans@par\hvtex@token
+      \ifx\hvtex@buffer\@empty
+      \else
+        \hvtex@gettoken
+        \ifx\hvtex@trans@par\hvtex@par@duration
+          \let\hvtex@param@duration\hvtex@token
+        \else \ifx\hvtex@trans@par\hvtex@par@motion
+          \expandafter\edef\expandafter\hvtex@param@motion
+            \expandafter{\expandafter\@gobble\hvtex@token}%
+        \else \ifx\hvtex@trans@par\hvtex@par@dimension
+          \expandafter\edef\expandafter\hvtex@param@dimension
+            \expandafter{\expandafter\@gobble\hvtex@token}%
+        \else \ifx\hvtex@trans@par\hvtex@par@direction
+          \let\hvtex@param@direction\hvtex@token
+        \fi\fi\fi\fi
+      \fi
+    \fi
+    \ifx\hvtex@buffer\@empty
+      \let\next\hvtex@produce@trans
+    \else
+      \let\next\hvtex@trans@params
+    \fi
+    \next
+  }
+  \def\hvtex@produce@trans{%
+    \let\vtex@trans@special\@empty
+    \if S\hvtex@trans@code
+      \edef\vtex@trans@special{\hvtex@trans@code
+        \hvtex@param@dimension\hvtex@param@motion}%
+    \else \if B\hvtex@trans@code
+      \edef\vtex@trans@special{\hvtex@trans@code\hvtex@param@dimension}%
+    \else \if X\hvtex@trans@code
+      \edef\vtex@trans@special{\hvtex@trans@code\hvtex@param@motion}%
+    \else \if W\hvtex@trans@code
+      \edef\vtex@trans@special{\hvtex@trans@code\hvtex@param@direction}%
+    \else \if D\hvtex@trans@code
+      \let\vtex@trans@special\hvtex@trans@code
+    \else \if R\hvtex@trans@code
+      \let\vtex@trans@special\hvtex@trans@code
+    \else \if G\hvtex@trans@code
+      \edef\vtex@trans@special{\hvtex@trans@code\hvtex@param@direction}%
+    \fi\fi\fi\fi\fi\fi\fi
+    \ifx\vtex@trans@special\@empty
+    \else
+      \ifx\hvtex@param@duration\@empty
+      \else
+        \setlength{\dimen@}{\hvtex@param@duration\p@}%
+        \multiply\dimen@\@m
+        \edef\vtex@trans@special{\vtex@trans@special,\strip@pt\dimen@}%
+      \fi
+      \special{!trans \vtex@trans@special}%
+    \fi
+  }
+  \def\hyper@pageduration{%
+    \ifx\@pdfpageduration\relax
+    \else
+      \ifx\@pdfpageduration\@empty
+        \special{!duration-}%
+      \else
+        \special{!duration \@pdfpageduration}%
+      \fi
+    \fi
+  }
+  \def\hyper@pagehidden{%
+    \ifHy@useHidKey
+      \special{!hidden\ifHy@pdfpagehidden +\else -\fi}%
+    \fi
+  }
+\fi
+\def\@pdfproducer{VTeX}
+\ifnum\Hy@VTeXversion>\z@
+  \count@\VTeXversion
+  \divide\count@ 100
+  \edef\@pdfproducer{\@pdfproducer\space v\the\count@}
+  \multiply\count@ -100
+  \advance\count@\VTeXversion
+  \edef\@pdfproducer{%
+    \@pdfproducer
+    .\ifnum\count@<10 0\fi\the\count@,\space
+    \ifnum\OpMode=\@ne PDF\else PS\fi
+    \space backend%
+    \ifx\gexmode\@undefined\else
+      \ifnum\gexmode>\z@\space with GeX\fi
+    \fi
+  }
+\fi
+\def\PDF@SetupDoc{%
+  \ifx\@pdfpagescrop\@empty
+  \else
+    \special{!pdfinfo b=<\@pdfpagescrop>}%
+  \fi
+  \special{!onopen Page\@pdfstartpage}%
+  \special{!pdfinfo p=<\@pdfpagemode>}%
+  \ifx\@baseurl\@empty
+  \else
+    \special{!pdfinfo u=<<</Base (\@baseurl)>>>}%
+  \fi
+  \special{!pdfinfo v=<<<%
+    \ifHy@toolbar\else /HideToolbar true \fi
+    \ifHy@menubar\else /HideMenubar true \fi
+    \ifHy@windowui\else /HideWindowUI true \fi
+    \ifHy@fitwindow /FitWindow true \fi
+    \ifHy@centerwindow /CenterWindow true \fi
+  >>>}%
+  \ifx\pdf@pagelayout\@empty
+  \else
+    \special{!pdfinfo l=</\pdf@pagelayout\space>}%
+  \fi
+}%
+\def\PDF@FinishDoc{%
+  \special{!pdfinfo a=<\@pdfauthor>}%
+  \special{!pdfinfo t=<\@pdftitle>}%
+  \special{!pdfinfo s=<\@pdfsubject>}%
+  \special{!pdfinfo c=<\@pdfcreator>}%
+  \special{!pdfinfo r=<\@pdfproducer>}%
+  \special{!pdfinfo k=<\@pdfkeywords>}%
+  \Hy@DisableOption{pdfauthor}%
+  \Hy@DisableOption{pdftitle}%
+  \Hy@DisableOption{pdfsubject}%
+  \Hy@DisableOption{pdfcreator}%
+  \Hy@DisableOption{pdfproducer}%
+  \Hy@DisableOption{pdfkeywords}%
+}
+\newwrite\@outlinefile
+\def\Hy@writebookmark#1#2#3#4#5{% section number, text, label, level, file
+ \ifx\WriteBookmarks\relax%
+ \else
+  \ifnum#4>\c@tocdepth
+  \else
+   \@@writetorep{#1}{#2}{#3}{#4}{#5}%
+  \fi
+ \fi}
+\def\Hy@currentbookmarklevel{0}
+\def\Hy@numberline#1{#1 }
+\def\@@writetorep#1#2#3#4#5{%
+  \begingroup
+    \def\Hy@tempa{#5}%
+    \ifx\Hy@tempa\Hy@bookmarkstype
+      \edef\Hy@level{#4}%
+      \ifx\Hy@levelcheck Y%
+        \@tempcnta\Hy@level\relax
+        \advance\@tempcnta by -1
+        \ifnum\Hy@currentbookmarklevel<\@tempcnta
+          \advance\@tempcnta by -\Hy@currentbookmarklevel\relax
+          \advance\@tempcnta by 1
+          \Hy@Warning{%
+            Difference (\the\@tempcnta) between bookmark levels is %
+            greater \MessageBreak than one, level fixed%
+          }%
+          \@tempcnta\Hy@currentbookmarklevel
+          \advance\@tempcnta by 1
+          \edef\Hy@level{\the\@tempcnta}%
+        \fi
+      \else
+        \global\let\Hy@levelcheck Y%
+      \fi
+      \global\let\Hy@currentbookmarklevel\Hy@level
+      \@tempcnta\Hy@level\relax
+      \expandafter\xdef\csname Parent\Hy@level\endcsname{#3}%
+      \advance\@tempcnta by -1
+      \edef\Hy@tempa{#3}%
+      \edef\Hy@tempb{\csname Parent\the\@tempcnta\endcsname}%
+      \ifx\Hy@tempa\Hy@tempb
+        \Hy@Warning{%
+          The anchor of a bookmark and its parent's must not%
+          \MessageBreak be the same. Added a new anchor%
+        }%
+        \phantomsection
+      \fi
+      \ifHy@bookmarksnumbered
+        \let\numberline\Hy@numberline
+      \else
+        \let\numberline\@gobble
+      \fi
+      \pdfstringdef\Hy@tempa{#2}%
+      \protected@write\@outlinefile{}{%
+        \protect\BOOKMARK
+          [\Hy@level][\@bookmarkopenstatus{\Hy@level}]{#3}%
+          {\Hy@tempa}{\Hy@tempb}%
+      }%
+    \fi
+  \endgroup
+}
+\newcommand{\currentpdfbookmark}{%
+  \pdfbookmark[\Hy@currentbookmarklevel]%
+}
+\newcommand{\subpdfbookmark}{%
+  \@tempcnta\Hy@currentbookmarklevel
+  \Hy@StepCount\@tempcnta
+  \expandafter\pdfbookmark\expandafter[\the\@tempcnta]%
+}
+\newcommand{\belowpdfbookmark}[2]{%
+  \@tempcnta\Hy@currentbookmarklevel
+  \Hy@StepCount\@tempcnta
+  \expandafter\pdfbookmark\expandafter[\the\@tempcnta]{#1}{#2}%
+  \advance\@tempcnta by -1
+  \xdef\Hy@currentbookmarklevel{\the\@tempcnta}%
+}
+\renewcommand\pdfbookmark[3][0]{%
+  \Hy@writebookmark{}{#2}{#3.#1}{#1}{toc}%
+  \hyper@anchorstart{#3.#1}\hyper@anchorend
+}
+\def\BOOKMARK{\@ifnextchar[{\@BOOKMARK}{\@@BOOKMARK[1][-]}}
+\def\@BOOKMARK[#1]{\@ifnextchar[{\@@BOOKMARK[#1]}{\@@BOOKMARK[#1][-]}}
+\newcount\@serial@counter\@serial@counter=1\relax
+\begingroup
+  \catcode`\'=12
+  \ifnum\Hy@VTeXversion<650 %
+    \catcode`\"=12
+    \gdef\hv@pdf@char#1#2#3{%
+      \char
+      \ifcase'#1#2#3
+         "00\or"01\or"02\or"03\or"04\or"05\or"06\or"07%
+      \or"08\or"09\or"0A\or"0B\or"0C\or"0D\or"0E\or"0F%
+      \or"10\or"11\or"12\or"13\or"14\or"15\or"16\or"17%
+      \or"18\or"19\or"1A\or"1B\or"1C\or"1D\or"1E\or"1F%
+      \or"20\or"21\or"22\or"23\or"24\or"25\or"26\or"27%
+      \or"28\or"29\or"2A\or"2B\or"2C\or"2D\or"2E\or"2F%
+      \or"30\or"31\or"32\or"33\or"34\or"35\or"36\or"37%
+      \or"38\or"39\or"3A\or"3B\or"3C\or"3D\or"3E\or"3F%
+      \or"40\or"41\or"42\or"43\or"44\or"45\or"46\or"47%
+      \or"48\or"49\or"4A\or"4B\or"4C\or"4D\or"4E\or"4F%
+      \or"50\or"51\or"52\or"53\or"54\or"55\or"56\or"57%
+      \or"58\or"59\or"5A\or"5B\or"5C\or"5D\or"5E\or"5F%
+      \or"60\or"61\or"62\or"63\or"64\or"65\or"66\or"67%
+      \or"68\or"69\or"6A\or"6B\or"6C\or"6D\or"6E\or"6F%
+      \or"70\or"71\or"72\or"73\or"74\or"75\or"76\or"77%
+      \or"78\or"79\or"7A\or"7B\or"7C\or"7D\or"7E\or"7F%
+      \or"80\or"81\or"82\or"83\or"84\or"85\or"86\or"87%
+      \or"88\or"89\or"8A\or"8B\or"8C\or"8D\or"8E\or"8F%
+      \or"90\or"91\or"92\or"93\or"94\or"95\or"96\or"97%
+      \or"98\or"99\or"9A\or"9B\or"9C\or"9D\or"9E\or"9F%
+      \or"A0\or"A1\or"A2\or"A3\or"A4\or"A5\or"A6\or"A7%
+      \or"A8\or"A9\or"AA\or"AB\or"AC\or"AD\or"AE\or"AF%
+      \or"B0\or"B1\or"B2\or"B3\or"B4\or"B5\or"B6\or"B7%
+      \or"B8\or"B9\or"BA\or"BB\or"BC\or"BD\or"BE\or"BF%
+      \or"C0\or"C1\or"C2\or"C3\or"C4\or"C5\or"C6\or"C7%
+      \or"C8\or"C9\or"CA\or"CB\or"CC\or"CD\or"CE\or"CF%
+      \or"D0\or"D1\or"D2\or"D3\or"D4\or"D5\or"D6\or"D7%
+      \or"D8\or"D9\or"DA\or"DB\or"DC\or"DD\or"DE\or"DF%
+      \or"E0\or"E1\or"E2\or"E3\or"E4\or"E5\or"E6\or"E7%
+      \or"E8\or"E9\or"EA\or"EB\or"EC\or"ED\or"EE\or"EF%
+      \or"F0\or"F1\or"F2\or"F3\or"F4\or"F5\or"F6\or"F7%
+      \or"F8\or"F9\or"FA\or"FB\or"FC\or"FD\or"FE\or"FF%
+      \fi
+    }
+  \else
+    \gdef\hv@pdf@char{\char'}
+  \fi
+\endgroup
+\def\@@BOOKMARK[#1][#2]#3#4#5{%
+  \expandafter\edef\csname @count@#3\endcsname{\the\@serial@counter}%
+  \edef\@mycount{\the\@serial@counter}%
+  \Hy@StepCount\@serial@counter
+  \edef\@parcount{%
+    \expandafter\ifx\csname @count@#5\endcsname\relax
+      0%
+    \else
+      \csname @count@#5\endcsname
+    \fi
+  }%
+  \immediate\special{!outline #3;p=\@parcount,i=\@mycount,s=\ifx#2-c\else
+o\fi,t=#4}%
+}%
+\def\ReadBookmarks{%
+  \begingroup
+    \def\0{\hv@pdf@char 0}%
+    \def\1{\hv@pdf@char 1}%
+    \def\2{\hv@pdf@char 2}%
+    \def\3{\hv@pdf@char 3}%
+    \def\({(}%
+    \def\){)}%
+    \InputIfFileExists{\jobname.out}{}{}%
+  \endgroup
+  \ifx\WriteBookmarks\relax
+  \else
+    \if@filesw
+      \immediate\openout\@outlinefile=\jobname.out
+      \ifHy@typexml
+        \immediate\write\@outlinefile{<relaxxml>\relax}%
+      \fi
+    \fi
+  \fi
+}
+\ifHy@implicit
+\else
+  \def\@begindvi{%
+    \unvbox\@begindvibox
+    \HyPL@EveryPage
+    \global\let\@begindvi\HyPL@EveryPage
+  }%
+  \expandafter\endinput
+\fi
+\let\H@old@ssect\@ssect
+\def\@ssect#1#2#3#4#5{%
+  \H@old@ssect{#1}{#2}{#3}{#4}{#5}%
+  \phantomsection
+}
+\let\H@old@schapter\@schapter
+\def\@schapter#1{%
+  \H@old@schapter{#1}%
+  \begingroup
+    \let\@mkboth\@gobbletwo
+    \Hy@GlobalStepCount\Hy@linkcounter
+    \xdef\@currentHref{\Hy@chapapp*.\the\Hy@linkcounter}%
+    \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+  \endgroup
+}
+\@ifundefined{@chapter}{}{%
+  \let\Hy@org@chapter\@chapter
+  \def\@chapter{%
+    \def\Hy@next{%
+      \Hy@GlobalStepCount\Hy@linkcounter
+      \xdef\@currentHref{\Hy@chapapp*.\the\Hy@linkcounter}%
+      \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+    }%
+    \ifnum\c@secnumdepth>\m@ne
+      \@ifundefined{if@mainmatter}%
+      \iftrue{\csname if@mainmatter\endcsname}
+        \let\Hy@next\relax
+      \fi
+    \fi
+    \Hy@next
+    \Hy@org@chapter
+  }%
+}
+\let\H@old@spart\@spart
+\def\@spart#1{%
+  \H@old@spart{#1}%
+  \Hy@GlobalStepCount\Hy@linkcounter
+  \xdef\@currentHref{part*.\the\Hy@linkcounter}%
+  \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+}
+\let\H@old@sect\@sect
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+  \ifnum #2>\c@secnumdepth
+    \Hy@GlobalStepCount\Hy@linkcounter
+    \xdef\@currentHref{section*.\the\Hy@linkcounter}%
+  \fi
+  \H@old@sect{#1}{#2}{#3}{#4}{#5}{#6}[{#7}]{#8}%
+  \ifnum #2>\c@secnumdepth
+    \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+  \fi
+}
+\expandafter\def\csname Parent-4\endcsname{}
+\expandafter\def\csname Parent-3\endcsname{}
+\expandafter\def\csname Parent-2\endcsname{}
+\expandafter\def\csname Parent-1\endcsname{}
+\expandafter\def\csname Parent0\endcsname{}
+\expandafter\def\csname Parent1\endcsname{}
+\expandafter\def\csname Parent2\endcsname{}
+\expandafter\def\csname Parent3\endcsname{}
+\expandafter\def\csname Parent4\endcsname{}
+\def\Hy@tempa{%
+  \def\@addchap[##1]##2{%
+    \typeout{##2}%
+    \if@twoside
+      \@mkboth{##1}{}%
+    \else
+      \@mkboth{}{##1}%
+    \fi
+    \addtocontents{lof}{\protect\addvspace{10\p@}}%
+    \addtocontents{lot}{\protect\addvspace{10\p@}}%
+    \Hy@GlobalStepCount\Hy@linkcounter
+    \xdef\@currentHref{\Hy@chapapp*.\the\Hy@linkcounter}%
+    \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+    \if@twocolumn
+       \@topnewpage[\@makeschapterhead{##2}]%
+    \else
+       \@makeschapterhead{##2}%
+       \@afterheading
+    \fi
+    \addcontentsline{toc}{chapter}{##1}%
+  }%
+}
+\@ifclassloaded{scrbook}{%
+  \@ifclasslater{scrbook}{2001/01/01}{%
+    \let\Hy@tempa\@empty
+  }{}%
+}{%
+  \@ifclassloaded{scrreprt}{%
+    \@ifclasslater{scrreprt}{2001/01/01}{%
+      \let\Hy@tempa\@empty
+    }{}%
+  }{%
+    \let\Hy@tempa\@empty
+  }%
+}%
+\Hy@tempa
+\endinput
+%%
+%% End of file `hvtex.def'.
diff --git a/styles/hvtexhtm.def b/styles/hvtexhtm.def
new file mode 100644 (file)
index 0000000..4ba09fb
--- /dev/null
@@ -0,0 +1,126 @@
+%%
+%% This is file `hvtexhtm.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hyperref.dtx  (with options: `vtexhtml')
+%% 
+%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
+%% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
+%%
+%% This file is part of the `Hyperref Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the `Hyperref Bundle' is
+%% given in the file `manifest.txt'.
+%%
+\ProvidesFile{hvtexhtml.def}
+  [2001/05/26 v6.71g
+  Hyperref driver for VTeX in HTML mode]
+\RequirePackage{vtexhtml}
+\newif\if@Localurl
+\def\PDF@FinishDoc{}
+\def\PDF@SetupDoc{%
+  \ifx\@baseurl\@empty\else
+    \special{!direct <base href="\@baseurl">}%
+  \fi
+}
+\def\@urltype{url}
+\def\hyper@link#1#2#3{%
+  \leavevmode
+  \special{!direct <a href=\hyper@quote\hyper@hash#2\hyper@quote>}%
+  #3%
+  \special{!direct </a>}%
+}
+\def\hyper@linkurl#1#2{%
+  \begingroup
+    \hyper@chars
+    \leavevmode
+    \MathBSuppress=1\relax
+    \special{!direct <a href=\hyper@quote#2\hyper@quote>}%
+    #1%
+    \MathBSuppress=0\relax
+    \special{!direct </a>}%
+  \endgroup
+}
+\def\hyper@linkfile#1#2#3{%
+  \hyper@linkurl{#1}{file:#2\ifx\\#3\\\else\##3\fi}%
+}
+\def\hyper@linkstart#1#2{%
+  \def\Hy@tempa{#1}\ifx\Hy@tempa\@urltype
+    \@Localurltrue
+    \special{!direct <a href=\hyper@quote#2\hyper@quote>}%
+  \else
+    \@Localurlfalse
+    \begingroup
+      \hyper@chars
+      \special{!aref #2}%
+    \endgroup
+  \fi
+}
+\def\hyper@linkend{%
+  \if@Localurl
+    \special{!endaref}%
+  \else
+    \special{!direct </a>}%
+  \fi
+}
+\def\hyper@anchorstart#1{%
+  \Hy@SaveLastskip
+  \begingroup
+    \hyper@chars
+    \special{!aname #1}%
+    \special{!direct <a name=\hyper@quote#1\hyper@quote>}%
+  \endgroup
+  \Hy@activeanchortrue
+}
+\def\hyper@anchorend{%
+  \special{!direct </a>}%
+  \Hy@activeanchorfalse
+  \Hy@RestoreLastskip
+}
+\def\hyper@anchor#1{%
+  \Hy@SaveLastskip
+  \begingroup
+    \let\protect=\string
+    \hyper@chars
+    \leavevmode
+    \special{!aname #1}%
+    \special{!direct <a name=\hyper@quote #1\hyper@quote>}%
+  \endgroup
+  \Hy@activeanchortrue
+  \bgroup\anchor@spot\egroup
+  \special{!direct </a>}%
+  \Hy@activeanchorfalse
+  \Hy@RestoreLastskip
+}
+\def\@Form[#1]{\typeout{Sorry, TeXpider does not yet support FORMs}}
+\def\@endForm{}
+\def\@Gauge[#1]#2#3#4{% parameters, label, minimum, maximum
+  \typeout{Sorry, TeXpider does not yet support FORM gauges}%
+}
+\def\@TextField[#1]#2{% parameters, label
+  \typeout{Sorry, TeXpider does not yet support FORM text fields}%
+  }
+\def\@CheckBox[#1]#2{% parameters, label
+  \typeout{Sorry, TeXpider does not yet support FORM checkboxes}%
+  }
+\def\@ChoiceMenu[#1]#2#3{% parameters, label, choices
+  \typeout{Sorry, TeXpider does not yet support FORM choice menus}%
+}
+\def\@PushButton[#1]#2{% parameters, label
+  \typeout{Sorry, TeXpider does not yet support FORM pushbuttons}%
+}
+\def\@Reset[#1]#2{\typeout{Sorry, TeXpider does not yet support FORMs}}
+\def\@Submit[#1]#2{\typeout{Sorry, TeXpider does not yet support FORMs}}
+\endinput
+%%
+%% End of file `hvtexhtm.def'.
diff --git a/styles/hvtexmrk.def b/styles/hvtexmrk.def
new file mode 100644 (file)
index 0000000..8e9f69e
--- /dev/null
@@ -0,0 +1,82 @@
+%%
+%% This is file `hvtexmrk.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hyperref.dtx  (with options: `vtexpdfmark')
+%% 
+%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
+%% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
+%%
+%% This file is part of the `Hyperref Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the `Hyperref Bundle' is
+%% given in the file `manifest.txt'.
+%%
+\ProvidesFile{hvtexmrk.def}
+  [2001/05/26 v6.71g
+ Hyperref driver for VTeX in PDF/PS mode (pdfmark specials)]
+\input{pdfmark.def}%
+\ifnum\OpMode=\@ne
+  \def\@pdfproducer{VTeX}
+\else
+  \def\@pdfproducer{VTeX + Distiller}
+\fi
+\def\literalps@out#1{\special{pS:#1}}%
+\def\headerps@out#1{\immediate\special{pS:#1}}%
+\providecommand\@pdfborder{0 0 12}
+\providecommand\@pdfview{XYZ}
+\providecommand\@pdfviewparams{ H.V}
+\AtBeginDvi{%
+  \headerps@out{%
+    /vsize {\Hy@pageheight} def
+    /HyperBorder {1} def
+    /H.V {pdf@hoff pdf@voff null} def
+    /H.B {/Rect[pdf@llx pdf@lly pdf@urx pdf@ury]} def
+    /H.S {
+      currentpoint
+      HyperBorder sub
+      /pdf@lly exch def
+      dup 72 add /pdf@hoff exch def
+      HyperBorder sub
+      /pdf@llx exch def
+    } def
+    /H.L {
+      2 sub
+      /HyperBasePt exch def
+      currentpoint
+      HyperBasePt add HyperBorder add
+      /pdf@ury exch def
+      HyperBorder add
+      /pdf@urx exch def
+    } def
+    /H.A {
+      H.L
+      currentpoint exch pop
+      vsize 72 sub exch
+      HyperBasePt add add
+      /pdf@voff exch def
+    } def
+    /H.R {
+      currentpoint
+      HyperBorder add
+      /pdf@ury exch def
+      HyperBorder add
+      /pdf@urx exch def
+      currentpoint exch pop vsize 72 sub add
+      /pdf@voff exch def
+    } def
+  }%
+}
+\endinput
+%%
+%% End of file `hvtexmrk.def'.
diff --git a/styles/hyperref.sty b/styles/hyperref.sty
new file mode 100644 (file)
index 0000000..cd23e4f
--- /dev/null
@@ -0,0 +1,3770 @@
+%%
+%% This is file `hyperref.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hyperref.dtx  (with options: `package')
+%% 
+%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
+%% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
+%%
+%% This file is part of the `Hyperref Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the `Hyperref Bundle' is
+%% given in the file `manifest.txt'.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{hyperref}
+  [2001/05/26 v6.71g
+  Hypertext links for LaTeX]
+\begingroup
+  \@makeother\`%
+  \@makeother\=%
+  \edef\x{%
+    \edef\noexpand\x{%
+      \endgroup
+      \noexpand\toks@{%
+        \catcode 96=\noexpand\the\catcode`\noexpand\`\relax
+        \catcode 61=\noexpand\the\catcode`\noexpand\=\relax
+      }%
+    }%
+    \noexpand\x
+  }%
+\x
+\@makeother\`
+\@makeother\=
+\def\Hy@SetCatcodes{%
+  \@makeother\`%
+  \@makeother\=%
+  \catcode`\$=3
+  \catcode`\&=4
+  \catcode`\^=7
+  \catcode`\_=8
+  \@makeother\|%
+  \@makeother\:%
+  \@makeother\(%
+  \@makeother\)%
+  \@makeother\[%
+  \@makeother\]%
+  \@makeother\/%
+  \@makeother\!%
+  \@makeother\<%
+  \@makeother\>%
+  \@makeother\.%
+  \@makeother\;%
+  \@makeother\+%
+  \@makeother\-%
+  \@makeother\"%
+  \@makeother\'%
+}
+\begingroup
+  \def\x#1{\catcode`\noexpand#1=\the\catcode`#1\relax}%
+  \xdef\Hy@RestoreCatcodes{%
+    \the\toks@
+    \x\$%
+    \x\&%
+    \x\^%
+    \x\_%
+    \x\|%
+    \x\:%
+    \x\(%
+    \x\)%
+    \x\[%
+    \x\]%
+    \x\/%
+    \x\!%
+    \x\<%
+    \x\>%
+    \x\.%
+    \x\;%
+    \x\+%
+    \x\-%
+    \x\"%
+    \x\'%
+  }%
+\endgroup
+\Hy@SetCatcodes
+\RequirePackage{keyval}[1997/11/10]
+\def\Hy@Warning#1{\PackageWarning{hyperref}{#1}}
+\def\Hy@WarningNoLine#1{\PackageWarningNoLine{hyperref}{#1}}
+\def\Hy@Info#1{\PackageInfo{hyperref}{#1}}
+\@ifundefined{AfterBeginDocument}{%
+ \let\AfterBeginDocument\AtBeginDocument
+ }{}%
+\newif\ifHy@typexml
+\newif\ifHy@activeanchor
+\newif\ifHy@backref
+\newif\ifHy@bookmarks
+\newif\ifHy@bookmarksnumbered
+\newif\ifHy@bookmarksopen
+\newif\ifHy@breaklinks
+\newif\ifHy@centerwindow
+\newif\ifHy@CJKbookmarks
+\newif\ifHy@colorlinks
+\newif\ifHy@draft
+\newif\ifHy@figures
+\newif\ifHy@fitwindow
+\newif\ifHy@frenchlinks
+\newif\ifHy@hyperfootnotes
+\newif\ifHy@hyperindex
+\newif\ifHy@hypertexnames
+\newif\ifHy@implicit
+\newif\ifHy@linktocpage
+\newif\ifHy@menubar
+\newif\ifHy@naturalnames
+\newif\ifHy@nesting
+\newif\ifHy@newwindow
+\newif\ifHy@pageanchor
+\newif\ifHy@pagelabels
+\newif\ifHy@pdfpagehidden
+\newif\ifHy@pdfstring
+\newif\ifHy@plainpages
+\newif\ifHy@psize
+\newif\ifHy@raiselinks
+\newif\ifHy@seminarslides
+\newif\ifHy@texht
+\newif\ifHy@toolbar
+\newif\ifHy@unicode
+\newif\ifHy@verbose
+\newif\ifHy@windowui
+\Hy@backreffalse
+\Hy@bookmarksnumberedfalse
+\Hy@bookmarksopenfalse
+\Hy@bookmarkstrue
+\Hy@breaklinksfalse
+\Hy@centerwindowfalse
+\Hy@CJKbookmarksfalse
+\Hy@figuresfalse
+\Hy@fitwindowfalse
+\Hy@hyperfootnotestrue
+\Hy@hyperindextrue
+\Hy@hypertexnamestrue
+\Hy@implicittrue
+\Hy@linktocpagefalse
+\Hy@menubartrue
+\Hy@naturalnamesfalse
+\Hy@nestingfalse
+\Hy@newwindowfalse
+\Hy@pageanchortrue
+\Hy@pagelabelsfalse
+\Hy@pdfpagehiddenfalse
+\Hy@pdfstringfalse
+\Hy@plainpagestrue
+\Hy@raiselinksfalse
+\Hy@texhtfalse
+\Hy@toolbartrue
+\Hy@typexmlfalse
+\Hy@unicodefalse
+\Hy@verbosefalse
+\Hy@windowuitrue
+\def\Hy@StepCount#1{\advance#1 by 1 }%
+\def\Hy@GlobalStepCount#1{\global\advance#1 by 1 }%
+\newdimen\@linkdim
+\let\Hy@driver\@empty
+\let\MaybeStopEarly\relax
+\newcount\Hy@linkcounter
+\newcount\Hy@pagecounter
+\Hy@linkcounter0
+\Hy@pagecounter0
+\long\def\Hy@ReturnAfterElseFi#1\else#2\fi{\fi#1}
+\long\def\Hy@ReturnAfterFi#1\fi{\fi#1}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname dimexpr\endcsname\relax
+  \def\hypercalcbpdef#1#2{%
+    \begingroup
+      \toks@{}%
+      \HyCal@scan#2\hypercalcbp\@nil
+    \expandafter\endgroup
+    \expandafter\def\expandafter#1\expandafter{\the\toks@}%
+  }
+  \def\HyCal@scan#1\hypercalcbp#2\@nil{%
+    \toks@\expandafter{\the\toks@ #1}%
+    \ifx\\#2\\%
+    \else
+      \Hy@ReturnAfterFi{%
+        \HyCal@do#2\@nil
+      }%
+    \fi
+  }
+  \def\HyCal@do#1#2\@nil{%
+    \setlength{\dimen@}{#1}%
+    \setlength{\dimen@}{0.99626401\dimen@}%
+    \edef\x{%
+      \toks@{%
+        \the\toks@
+        \strip@pt\dimen@
+      }%
+    }\x
+    \HyCal@scan#2\@nil
+  }
+\else
+  \def\hypercalcbp#1{%
+    \strip@pt\dimexpr 0.99626401\dimexpr #1\relax\relax
+  }
+  \def\hypercalcbpdef{\def}
+\fi
+\def\pdfstringdef#1#2{%
+  \begingroup
+    \escapechar`\\%
+    \edef\0{\string\0}%
+    \edef\1{\string\1}%
+    \edef\2{\string\2}%
+    \edef\3{\string\3}%
+    \ifHy@unicode
+      \edef\8{\string\8}%
+      \edef\9{\string\9}%
+      \fontencoding{PU}%
+    \else
+      \fontencoding{PD1}%
+    \fi
+    \enc@update
+    \@inmathwarn\pdfstringdef
+    \let\@inmathwarn\HyPsd@inmathwarn
+    \let\add@accent\HyPsd@add@accent
+    \let\{\textbraceleft
+    \let\}\textbraceright
+    \let\\\textbackslash
+    \let\#\textnumbersign
+    \let\$\textdollar
+    \let\%\textpercent
+    \let\&\textampersand
+    \let\_\textunderscore
+    \let\P\textparagraph
+    \let\ldots\textellipsis
+    \let\dots\textellipsis
+    \def\\{\pdfstringdefWarn\\}%
+    \def\newline{\pdfstringdefWarn\newline}%
+    \def\TeX{TeX}%
+    \def\LaTeX{La\TeX}%
+    \def\LaTeXe{\LaTeX2e}%
+    \def\eTeX{e-\TeX}%
+    \def\MF{Metafont}%
+    \def\MP{Metapost}%
+    \let\emph\@firstofone
+    \let\textbf\@firstofone
+    \let\textit\@firstofone
+    \let\textmd\@firstofone
+    \let\textnormal\@firstofone
+    \let\textrm\@firstofone
+    \let\textsc\@firstofone
+    \let\textsf\@firstofone
+    \let\textsl\@firstofone
+    \let\texttt\@firstofone
+    \let\textup\@firstofone
+    \let\ttfamily\@empty
+    \let\sffamily\@empty
+    \let\itshape\@empty
+    \let\upshape\@empty
+    \let\bfseries\@empty
+    \let\rm\@empty
+    \let\Huge\@empty
+    \let\LARGE\@empty
+    \let\Large\@empty
+    \let\footnotesize\@empty
+    \let\huge\@empty
+    \let\large\@empty
+    \let\normalsize\@empty
+    \let\scriptsize\@empty
+    \let\small\@empty
+    \let\tiny\@empty
+    \let\textlatin\@firstofone
+    \@ifundefined{language@group}{}{%
+      \csname HyPsd@babel@\language@group\endcsname
+    }%
+    \let\glqq\textglqq
+    \let\grqq\textgrqq
+    \let\glq\textglq
+    \let\grq\textgrq
+    \let\flqq\textflqq
+    \let\frqq\textfrqq
+    \let\flq\textflq
+    \let\frq\textfrq
+    \HyPSD@AMSclassfix
+    \let\hspace\HyPsd@hspace
+    \let\label\@gobble
+    \let\index\@gobble
+    \let\glossary\@gobble
+    \let\href\@secondoftwo
+    \let\ref\HyPsd@ref
+    \let\pageref\HyPsd@pageref
+    \let\leavevmode\@empty
+    \def\halign{\pdfstringdefWarn\halign\@gobble}%
+    \ifHy@CJKbookmarks
+      \HyPsd@CJKhook
+    \fi
+    \Hy@pdfstringtrue
+    \pdfstringdefPreHook
+    \HyPsd@LetUnexpandableSpace\space
+    \HyPsd@LetUnexpandableSpace\ %
+    \HyPsd@LetUnexpandableSpace~%
+    \HyPsd@LetUnexpandableSpace\nobreakspace
+    \@ifundefined{@xspace}{%
+      \let\xspace\HyPsd@ITALCORR
+    }{%
+      \let\xspace\HyPsd@XSPACE
+    }%
+    \let\/\HyPsd@ITALCORR
+    \let\bgroup\/%
+    \let\egroup\/%
+    \let\discretionary\@gobbletwo
+    \let\@ifnextchar\HyPsd@ifnextchar
+    \let\@protected@testopt\HyPsd@protected@testopt
+    \begingroup
+      \let\GenericError\@gobblefour
+      \let\GenericWarning\@gobbletwo
+      \let\GenericInfo\@gobbletwo
+      \ifx\nofrenchguillemets\@undefined
+      \else
+        \nofrenchguillemets
+      \fi
+      \let\Hy@temp\xdef
+      \let\def\HyPsd@DefCommand
+      \let\gdef\HyPsd@DefCommand
+      \let\edef\HyPsd@DefCommand
+      \let\xdef\HyPsd@DefCommand
+      \let\futurelet\HyPsd@LetCommand
+      \let\let\HyPsd@LetCommand
+      \Hy@temp#1{#2}%
+    \endgroup
+    \ifx#1\@empty
+    \else
+      \HyPsd@ProtectSpaces#1%
+      \let\HyPsd@String\@empty
+      \expandafter\HyPsd@RemoveBraces\expandafter{#1|}%
+      \global\let#1\HyPsd@String
+      \let\HyPsd@SPACEOPTI\relax
+      {%
+         \let\HyPsd@String\@empty
+         \expandafter\HyPsd@CheckCatcodes#1\HyPsd@End
+         \global\let#1\HyPsd@String
+      }%
+      \expandafter\HyPsd@RemoveMask\expandafter
+        |\expandafter\@empty#1\HyPsd@End#1%
+      \expandafter\HyPsd@Subst\expandafter{\HyPsd@GLYPHERR}{\relax}#1%
+      \let\HyPsd@String\@empty
+      \expandafter\HyPsd@GlyphProcess#1\relax\@empty
+      \global\let#1\HyPsd@String
+      \HyPsd@StringSubst{\\}{\textbackslash}#1%
+      \ifHy@unicode
+        \expandafter\HyPsd@StringSubst\csname 80\040\endcsname
+          \HyPsd@SPACEOPTI#1%
+        \edef\Hy@temp@A{\HyPsd@SPACEOPTI\HyPsd@SPACEOPTI\80\273}%
+        \expandafter\HyPsd@Subst\expandafter{\Hy@temp@A}%
+          {\HyPsd@SPACEOPTI\80\273}#1%
+      \else
+        \HyPsd@StringSubst{\040}\HyPsd@SPACEOPTI#1%
+        \expandafter\HyPsd@Subst\expandafter{%
+          \expandafter\HyPsd@SPACEOPTI\expandafter\HyPsd@SPACEOPTI
+          \string\273}{\HyPsd@SPACEOPTI\273}#1%
+      \fi
+      \ifHy@unicode
+        \HyPsd@StringSubst{\)}{\80\051}#1%
+        \HyPsd@Subst){\80\051}#1%
+        \let\HyPsd@empty\relax
+        \expandafter\HyPsd@StringSubst\csname 80\051\endcsname
+          {\HyPsd@empty\80\051}#1%
+      \else
+        \HyPsd@StringSubst{\)}{\051}#1%
+        \HyPsd@Subst){\051}#1%
+        \let\HyPsd@empty\relax
+        \HyPsd@StringSubst{\051}{\HyPsd@empty\string\)}#1%
+      \fi
+      \expandafter\HyPsd@Subst\expandafter{\/}\HyPsd@empty#1%
+      \@ifundefined{@xspace}{%
+      }{%
+        \let\HyPsd@xspace\relax
+        \expandafter\HyPsd@Subst\expandafter
+          {\HyPsd@XSPACE}\HyPsd@xspace#1%
+        \let\HyPsd@xspace\HyPsd@doxspace
+      }%
+      \xdef#1{#1\HyPsd@empty}%
+      \HyPsd@Subst{!`}\textexclamdown#1%
+      \HyPsd@Subst{?`}\textquestiondown#1%
+      \let\HyPsd@empty\@empty
+      \ifHy@unicode
+        \HyPsd@StringSubst\(\textparenleft#1%
+        \HyPsd@Subst(\textparenleft#1%
+      \else
+        \HyPsd@StringSubst\({\050}#1%
+        \HyPsd@Subst({\050}#1%
+        \HyPsd@StringSubst{\050}{\string\(}#1%
+      \fi
+      \ifHy@unicode
+        \edef\HyPsd@SPACEOPTI{\80\040}%
+      \else
+        \let\HyPsd@SPACEOPTI\HyPsd@spaceopti
+      \fi
+      \xdef#1{#1\@empty}%
+    \fi
+    \ifHy@unicode
+      \HyPsd@ConvertToUnicode#1%
+    \fi
+    \pdfstringdefPostHook#1%
+  \endgroup
+}
+\@ifundefined{T@PD1}{\input{pd1enc.def}}{}
+\DeclareFontFamily{PD1}{pdf}{}
+\DeclareFontShape{PD1}{pdf}{m}{n}{ <-> cmr10 }{}
+\DeclareFontSubstitution{PD1}{pdf}{m}{n}
+\def\HyPsd@InitUnicode{%
+  \@ifundefined{T@PU}{\input{puenc.def}}{}%
+  \DeclareFontFamily{PU}{pdf}{}%
+  \DeclareFontShape{PU}{pdf}{m}{n}{ <-> cmr10 }{}%
+  \DeclareFontSubstitution{PU}{pdf}{m}{n}%
+  \let\HyPsd@InitUnicode\relax
+}
+\newcommand*{\texorpdfstring}{%
+   \ifHy@pdfstring
+     \expandafter\@secondoftwo
+   \else
+     \expandafter\@firstoftwo
+   \fi
+}
+\@ifundefined{pdfstringdefPreHook}{%
+  \let\pdfstringdefPreHook\@empty
+}{}
+\@ifundefined{pdfstringdefPostHook}{%
+  \let\pdfstringdefPostHook\@gobble
+}{}
+\def\pdfstringdefDisableCommands{%
+  \begingroup
+    \makeatletter
+    \HyPsd@DisableCommands
+}
+\long\def\HyPsd@DisableCommands#1{%
+    \toks0=\expandafter{\pdfstringdefPreHook}%
+    \toks1={#1}%
+    \xdef\pdfstringdefPreHook{\the\toks0 \the\toks1}%
+  \endgroup
+}
+\def\pdfstringdefWarn#1{%
+   \expandafter\noexpand\csname<>-\string#1\endcsname
+}
+\newif\ifHy@next
+\@ifpackagewith{babel}{danish}{%
+  \def\HyPsd@babel@danish{%
+    \declare@shorthand{danish}{"|}{}%
+    \declare@shorthand{danish}{"~}{-}%
+  }%
+}{}
+\@ifpackagewith{babel}{dutch}{%
+  \def\HyPsd@babel@dutch{%
+    \declare@shorthand{dutch}{"|}{}%
+    \declare@shorthand{dutch}{"~}{-}%
+  }%
+}{}
+\@ifpackagewith{babel}{finnish}{%
+  \def\HyPsd@babel@finnish{%
+    \declare@shorthand{finnish}{"|}{}%
+  }%
+}{}
+\Hy@nextfalse
+\@ifpackagewith{babel}{frenchb}{\Hy@nexttrue}{}
+\@ifpackagewith{babel}{francais}{\Hy@nexttrue}{}
+\ifHy@next
+  \def\HyPsd@babel@frenchb{%
+    \def\guill@spacing{ }%
+  }%
+\fi
+\Hy@nextfalse
+\@ifpackagewith{babel}{german}{\Hy@nexttrue}{}%
+\@ifpackagewith{babel}{germanb}{\Hy@nexttrue}{}%
+\@ifpackagewith{babel}{austrian}{\Hy@nexttrue}{}%
+\ifHy@next
+  \def\HyPsd@babel@german{%
+    \declare@shorthand{german}{"f}{f}%
+    \declare@shorthand{german}{"|}{}%
+    \declare@shorthand{german}{"~}{-}%
+  }%
+\fi
+\Hy@nextfalse
+\@ifpackagewith{babel}{ngerman}{\Hy@nexttrue}{}%
+\@ifpackagewith{babel}{ngermanb}{\Hy@nexttrue}{}%
+\@ifpackagewith{babel}{naustrian}{\Hy@nexttrue}{}%
+\ifHy@next
+  \def\HyPsd@babel@ngerman{%
+    \declare@shorthand{german}{"|}{}%
+    \declare@shorthand{german}{"~}{-}%
+  }%
+\fi
+\Hy@nextfalse
+\@ifpackagewith{babel}{usorbian}{\Hy@nexttrue}{}%
+\@ifpackagewith{babel}{uppersorbian}{\Hy@nexttrue}{}%
+\ifHy@next
+  \def\HyPsd@babel@usorbian{%
+    \declare@shorthand{usorbian}{"f}{f}%
+    \declare@shorthand{usorbian}{"|}{}%
+  }%
+\fi
+\Hy@nextfalse
+\@ifpackagewith{babel}{brazil}{\Hy@nexttrue}{}%
+\@ifpackagewith{babel}{brazilian}{\Hy@nexttrue}{}%
+\@ifpackagewith{babel}{portuges}{\Hy@nexttrue}{}%
+\@ifpackagewith{babel}{portuguese}{\Hy@nexttrue}{}%
+\ifHy@next
+  \def\HyPsd@babel@portuges{%
+    \declare@shorthand{portuges}{"|}{}%
+  }%
+\fi
+\Hy@nextfalse
+\@ifpackagewith{babel}{russian}{\Hy@nexttrue}{}
+\@ifpackagewith{babel}{russianb}{\Hy@nexttrue}{}
+\ifHy@next
+  \def\HyPsd@babel@russian{%
+    \declare@shorthand{russian}{"|}{}%
+    \declare@shorthand{russian}{"~}{-}%
+  }%
+\fi
+\Hy@nextfalse
+\@ifpackagewith{babel}{ukrainian}{\Hy@nexttrue}{}
+\@ifpackagewith{babel}{ukraineb}{\Hy@nexttrue}{}
+\ifHy@next
+  \def\HyPsd@babel@ukrainian{%
+    \declare@shorthand{ukrainian}{"|}{}%
+    \declare@shorthand{ukrainian}{"~}{-}%
+  }%
+\fi
+\@ifpackagewith{babel}{slovene}{%
+  \def\HyPsd@babel@slovene{%
+    \declare@shorthand{slovene}{"|}{}%
+  }%
+}{}
+\@ifpackagewith{babel}{swedish}{%
+  \def\HyPsd@babel@swedish{%
+    \declare@shorthand{swedish}{"|}{}%
+    \declare@shorthand{swedish}{"~}{-}%
+  }%
+}{}
+\begingroup
+  \toks@{%
+    \let\CJK@ignorespaces\empty
+    \def\CJK@char#1{\@gobbletwo}%
+    \let\CJK@charx\@gobblefour
+    \let\CJK@punctchar\@gobblefour
+    \def\CJK@punktcharx#1{\@gobblefour}%
+    % ... ?
+    \ifHy@unicode
+      \def\Hy@cjkpu{\80}%
+    \else
+      \let\Hy@cjkpu\@empty
+    \fi
+    \HyPsd@CJKActiveChars
+  }%
+  \count@=127
+  \@whilenum\count@<255 \do{%
+    \advance\count@ by 1
+    \lccode`\~=\count@
+    \lowercase{%
+      \toks@\expandafter{\the\toks@ ~}%
+    }%
+  }%
+  \toks@\expandafter{\the\toks@ !}%
+  \xdef\HyPsd@CJKhook{\the\toks@}%
+\endgroup
+\def\HyPsd@CJKActiveChars#1{%
+  \ifx#1!%
+    \let\HyPsd@CJKActiveChars\relax
+  \else
+    \edef#1{\noexpand\Hy@cjkpu\string#1}%
+  \fi
+  \HyPsd@CJKActiveChars
+}
+\def\HyPsd@inmathwarn#1#2{%
+  \ifx#2\expandafter
+    \expandafter\ifx\csname\cf@encoding\string#1\endcsname\relax
+      \HyPsd@GLYPHERR
+      \expandafter\@gobble\string#1%
+      >%
+      \expandafter\expandafter\expandafter\HyPsd@EndWithElse
+    \else
+      \expandafter\expandafter\expandafter\HyPsd@GobbleFiFi
+    \fi
+  \else
+    \expandafter#2%
+  \fi
+}
+\def\HyPsd@GobbleFiFi#1\fi#2\fi{}
+\def\HyPsd@EndWithElse#1\else{\else}
+\def\HyPsd@add@accent#1#2{%
+  \HyPsd@GLYPHERR\expandafter\@gobble\string#1+\string#2>%
+  #2%
+}%
+\def\HyPsd@LetUnexpandableSpace#1{%
+  \expandafter\futurelet\expandafter#1\expandafter\@gobble\space\relax
+}
+\HyPsd@LetUnexpandableSpace\HyPsd@UnexpandableSpace
+\edef\HyPsd@XSPACE{\string#\string X}
+\edef\HyPsd@ITALCORR{\string#\string I}
+\edef\HyPsd@GLYPHERR{\string#\string G}
+\def\HyPsd@hspace#1{\HyPsd@@hspace#1*\END}
+\def\HyPsd@@hspace#1*#2\END{%
+  \ifx\\#2\\%
+    \HyPsd@hspacetest{#1}%
+  \else
+    \expandafter\HyPsd@hspacetest
+  \fi
+}
+\def\HyPsd@hspacetest#1{\ifdim#1>\z@\space\fi}
+\@ifundefined{tocsection}{%
+  \let\HyPSD@AMSclassfix\relax
+}{%
+  \def\HyPSD@AMSclassfix{%
+    \let\tocpart\HyPSD@tocsection
+    \let\tocchapter\HyPSD@tocsection
+    \let\tocappendix\HyPSD@tocsection
+    \let\tocsection\HyPSD@tocsection
+    \let\tocsubsection\HyPSD@tocsection
+    \let\tocsubsubsection\HyPSD@tocsection
+    \let\tocparagraph\HyPSD@tocsection
+  }%
+  \def\HyPSD@tocsection#1#2#3{%
+    \if @#2@\else\if @#1@\else#1 \fi#2. \fi
+    #3%
+  }%
+}
+\def\HyPsd@ref#1{\HyPsd@@ref#1*\END}%
+\def\HyPsd@@ref#1*#2\END{%
+  \ifx\\#2\\%
+    \HyPsd@@@ref{#1}%
+  \else
+    \expandafter\HyPsd@@@ref
+  \fi
+}%
+\def\HyPsd@@@ref#1{%
+  \expandafter\ifx\csname r@#1\endcsname\relax
+    ??%
+  \else
+    \expandafter\expandafter\expandafter\@car\csname r@#1\endcsname\@nil
+  \fi
+}
+\def\HyPsd@pageref#1{\HyPsd@@pageref#1*\END}
+\def\HyPsd@@pageref#1*#2\END{%
+  \ifx\\#2\\%
+    \HyPsd@@@pageref{#1}%
+  \else
+    \expandafter\HyPsd@@@pageref
+  \fi
+}
+\def\HyPsd@@@pageref#1{%
+  \expandafter\ifx\csname r@#1\endcsname\relax
+    ??%
+  \else
+    \expandafter\expandafter\expandafter\expandafter
+    \expandafter\expandafter\expandafter\@car
+    \expandafter\expandafter\expandafter\@gobble
+    \csname r@#1\endcsname\@nil
+  \fi
+}
+\begingroup
+  \def\x#1#2{%
+    \endgroup
+    \let#1\def
+    \def\HyPsd@DefCommand##1##2##{%
+      #1%
+      \expandafter\noexpand
+        \csname\expandafter\@gobble\string##1\@empty\endcsname
+      \@gobble
+    }%
+    \let#2\let
+    \def\HyPsd@LetCommand##1{%
+      #2%
+      \expandafter\noexpand
+        \csname\expandafter\@gobble\string##1\@empty\endcsname
+    }%
+  }%
+\expandafter\x\csname <def>-command\expandafter\endcsname
+              \csname <let>-command\endcsname
+\def\HyPsd@ifnextchar{%
+  \pdfstringdefWarn\@ifnextchar
+  \expandafter\@gobbletwo\@gobble
+}
+\def\HyPsd@protected@testopt#1{%
+  \pdfstringdefWarn#1%
+  \@gobbletwo
+}
+\def\HyPsd@Warning#1{%
+  \begingroup
+    \def\space{ }%
+    \Hy@Warning{#1}%
+  \endgroup
+}
+\def\HyPsd@ProtectSpaces#1{%
+  \expandafter\HyPsd@@ProtectSpaces
+    \expandafter|\expandafter\@empty#1| \HyPsd@End#1%
+}
+\def\HyPsd@@ProtectSpaces#1 #2\HyPsd@End#3{%
+  \ifx\scrollmode#2\scrollmode
+    \HyPsd@RemoveMask#1\HyPsd@End#3%
+  \else
+    \gdef#3{#1\HyPsd@UnexpandableSpace#2}%
+    \Hy@ReturnAfterFi{%
+      \expandafter\HyPsd@@ProtectSpaces#3\HyPsd@End#3%
+    }%
+  \fi
+}
+\def\HyPsd@RemoveMask|#1|\HyPsd@End#2{%
+  \toks@\expandafter{#1}%
+  \xdef#2{\the\toks@}%
+}
+\def\HyPsd@RemoveBraces#1{%
+  \ifx\scrollmode#1\scrollmode
+  \else
+    \Hy@ReturnAfterFi{%
+      \HyPsd@@RemoveBraces#1\HyPsd@End{#1}%
+    }%
+  \fi
+}
+\def\HyPsd@@RemoveBraces#1#2\HyPsd@End#3{%
+  \def\Hy@temp@A{#1#2}%
+  \def\Hy@temp@B{#3}%
+  \ifx\Hy@temp@A\Hy@temp@B
+    \expandafter\def\expandafter\HyPsd@String\expandafter{%
+      \HyPsd@String#1%
+    }%
+    \Hy@ReturnAfterElseFi{%
+      \ifx\scrollmode#2\scrollmode
+      \else
+        \Hy@ReturnAfterFi{%
+          \HyPsd@RemoveBraces{#2}%
+        }%
+      \fi
+    }%
+  \else
+    \def\Hy@temp@A{#1}%
+    \HyPsd@AppendItalcorr\HyPsd@String
+    \Hy@ReturnAfterFi{%
+      \ifx\Hy@temp@A\@empty
+        \Hy@ReturnAfterElseFi{%
+          \HyPsd@RemoveBraces{#2}%
+        }%
+      \else
+        \Hy@ReturnAfterFi{%
+          \HyPsd@ProtectSpaces\Hy@temp@A
+          \HyPsd@AppendItalcorr\Hy@temp@A
+          \expandafter\HyPsd@RemoveBraces\expandafter
+            {\Hy@temp@A#2}%
+        }%
+      \fi
+    }%
+  \fi
+}
+\def\HyPsd@AppendItalcorr#1{%
+  \expandafter\HyPsd@@AppendItalcorr\expandafter{\/}#1%
+}
+\def\HyPsd@@AppendItalcorr#1#2{%
+  \expandafter\def\expandafter#2\expandafter{#2#1}%
+}
+\def\HyPsd@CheckCatcodes#1#2\HyPsd@End{%
+  \global\let\HyPsd@Rest\relax
+  \ifcat\relax\noexpand#1\relax
+    \ifx#1\protect
+    \else
+      \ifx#1\penalty
+        \setbox\z@=\hbox{%
+          \afterassignment\HyPsd@AfterCountRemove
+          \count@=#2\HyPsd@End
+        }%
+      \else
+        \ifx#1\kern
+          \setbox\z@=\hbox{%
+            \afterassignment\HyPsd@AfterDimenRemove
+            \dimen@=#2\HyPsd@End
+          }%
+        \else
+          \ifx#1\hskip
+            \setbox\z@=\hbox{%
+              \afterassignment\HyPsd@AfterSkipRemove
+              \skip@=#2\HyPsd@End
+            }%
+          \else
+            \HyPsd@CatcodeWarning{#1}%
+          \fi
+        \fi
+      \fi
+    \fi
+  \else
+    \ifcat#1 %SPACE
+      \expandafter\def\expandafter\HyPsd@String\expandafter{%
+        \HyPsd@String\HyPsd@SPACEOPTI
+      }%
+    \else
+      \ifcat$#1%
+        \HyPsd@CatcodeWarning{math shift}%
+      \else
+        \ifcat&#1%
+          \HyPsd@CatcodeWarning{alignment tab}%
+        \else
+          \ifcat^#1%
+            \HyPsd@CatcodeWarning{superscript}%
+          \else
+            \ifcat_#1%
+              \HyPsd@CatcodeWarning{subscript}%
+            \else
+              \expandafter\def\expandafter\HyPsd@String\expandafter{%
+                \HyPsd@String#1%
+              }%
+            \fi
+          \fi
+        \fi
+      \fi
+    \fi
+  \fi
+  \ifx\HyPsd@Rest\relax
+    \Hy@ReturnAfterElseFi{%
+      \ifx\scrollmode#2\scrollmode
+      \else
+        \Hy@ReturnAfterFi{%
+          \HyPsd@CheckCatcodes#2\HyPsd@End
+        }%
+      \fi
+    }%
+  \else
+    \Hy@ReturnAfterFi{%
+      \ifx\HyPsd@Rest\@empty
+      \else
+        \expandafter\HyPsd@CheckCatcodes\HyPsd@Rest\HyPsd@End
+      \fi
+    }%
+  \fi
+}
+\def\HyPsd@AfterCountRemove#1\HyPsd@End{%
+  \gdef\HyPsd@Rest{#1}%
+}
+\def\HyPsd@AfterDimenRemove#1\HyPsd@End{%
+  \ifdim\ifx\HyPsd@String\@empty\z@\else\dimen@\fi>1ex
+    \HyPsd@ReplaceSpaceWarning{\string\kern\space\the\dimen@}%
+    \gdef\HyPsd@Rest{\HyPsd@UnexpandableSpace #1}%
+  \else
+    \ifdim\dimen@=\z@
+    \else
+      \HyPsd@RemoveSpaceWarning{\string\kern\space\the\dimen@}%
+    \fi
+    \gdef\HyPsd@Rest{#1}%
+  \fi
+}
+\def\HyPsd@AfterSkipRemove#1\HyPsd@End{%
+  \ifdim\ifx\HyPsd@String\@empty\z@\else\skip@\fi>1ex
+    \HyPsd@ReplaceSpaceWarning{\string\hskip\space\the\skip@}%
+    \gdef\HyPsd@Rest{\HyPsd@UnexpandableSpace #1}%
+  \else
+    \ifdim\skip@=\z@
+    \else
+      \HyPsd@RemoveSpaceWarning{\string\kern\space\the\skip@}%
+    \fi
+    \gdef\HyPsd@Rest{#1}%
+  \fi
+}
+\def\HyPsd@CatcodeWarning#1{%
+  \HyPsd@Warning{%
+    Token not allowed in a PDFDocEncoded string,%
+    \MessageBreak removing `\HyPsd@RemoveCmdPrefix#1'%
+  }%
+}
+\begingroup
+  \catcode`\|=0
+  \catcode`\\=12
+  |gdef|HyPsd@RemoveCmdPrefix#1{%
+    |expandafter|HyPsd@@RemoveCmdPrefix
+      |string#1|@empty\<>-|@empty|@empty
+  }%
+  |gdef|HyPsd@@RemoveCmdPrefix#1\<>-#2|@empty#3|@empty{#1#2}%
+|endgroup
+\def\HyPsd@RemoveSpaceWarning#1{%
+  \HyPsd@Warning{%
+    Token not allowed in a PDFDocEncoded string:%
+    \MessageBreak #1\MessageBreak
+    removed%
+  }%
+}
+\def\HyPsd@ReplaceSpaceWarning#1{%
+  \HyPsd@Warning{%
+    Token not allowed in a PDFDocEncoded string:%
+    \MessageBreak #1\MessageBreak
+    replaced by space%
+  }%
+}
+\def\HyPsd@GlyphProcess#1\relax#2\@empty{%
+  \expandafter\def\expandafter\HyPsd@String\expandafter{%
+    \HyPsd@String#1%
+  }%
+  \ifx\\#2\\%
+  \else
+    \Hy@ReturnAfterFi{%
+      \HyPsd@GlyphProcessWarning#2\@empty
+    }%
+  \fi
+}
+\def\HyPsd@GlyphProcessWarning#1>#2\@empty{%
+  \HyPsd@Warning{%
+    Glyph not defined in %
+    P\ifHy@unicode U\else D1\fi\space encoding,\MessageBreak
+    removing `\@backslashchar#1'%
+  }%
+  \HyPsd@GlyphProcess#2\@empty
+}
+\def\HyPsd@spaceopti#1{ % first space
+  \ifx\HyPsd@spaceopti#1%
+    \040%
+  \else
+    #1%
+  \fi
+}%
+\def\HyPsd@Subst#1#2#3{%
+  \def\HyPsd@@Replace##1#1##2\END{%
+    ##1%
+    \ifx\\##2\\%
+    \else
+      #2%
+      \Hy@ReturnAfterFi{%
+        \HyPsd@@Replace##2\END
+      }%
+    \fi
+  }%
+  \xdef#3{%
+    \expandafter\HyPsd@@Replace#3#1\END
+  }%
+}
+\def\HyPsd@StringSubst#1{%
+  \expandafter\HyPsd@Subst\expandafter{\string#1}%
+}
+\def\HyPsd@doxspace#1{%
+  \ifx#1\relax\else
+   \ifx#1.\else
+    \ifx#1:\else
+     \ifx#1,\else
+      \ifx#1;\else
+       \ifx#1!\else
+        \ifx#1?\else
+         \ifx#1/\else
+          \ifx#1-\else
+           \ifx#1'\else
+             \HyPsd@SPACEOPTI
+           \fi
+          \fi
+         \fi
+        \fi
+       \fi
+      \fi
+     \fi
+    \fi
+   \fi
+  \fi
+  #1%
+}%
+\begingroup
+  \catcode`\|=0
+  \catcode`\\=12
+  |gdef|HyPsd@ConvertToUnicode#1{%
+    |xdef#1{%
+      \376\377%
+      |expandafter|HyPsd@DoConvert#1|@empty|@empty|@empty
+    }%
+  }
+  |gdef|HyPsd@DoConvert#1{%
+    |ifx#1|@empty
+    |else
+      |Hy@ReturnAfterFi{%
+        |ifx#1\%
+          \%
+          |expandafter|HyPsd@DoEscape
+        |else
+          \000#1%
+          |expandafter|HyPsd@DoConvert
+        |fi
+      }%
+    |fi
+  }
+  |gdef|HyPsd@DoEscape#1{%
+    |ifx#19%
+      |expandafter|HyPsd@GetTwoBytes
+    |else
+      |Hy@ReturnAfterFi{%
+        |ifx#18%
+          00%
+          |expandafter|HyPsd@GetTwoBytes
+        |else
+          #1%
+          |expandafter|HyPsd@GetOneByte
+        |fi
+      }%
+    |fi
+  }
+  |gdef|HyPsd@GetTwoBytes#1\#2#3#4{%
+    #1\#2#3#4%
+    |HyPsd@DoConvert
+  }
+  |gdef|HyPsd@GetOneByte#1#2{%
+    #1#2%
+    |HyPsd@DoConvert
+  }
+|endgroup
+\def\HyPsd@GetNextTwoTokens#1#2#3\END#4{%
+  \xdef#4{#4#1#2}%
+  \HyPsd@@ConvertToUnicode#3\END#4%
+}
+\@ifpackageloaded{subfigure}{%
+  \Hy@hypertexnamesfalse
+}{}
+\@ifundefined{XR@addURL}{%
+}{%
+  \def\XR@addURL#1{\XR@@dURL#1{}{}{}{}\\}%
+  \def\XR@@dURL#1#2#3#4#5\\{%
+    {#1}{#2}%
+    \if!#4!%
+    \else
+      {#3}{#4}{\XR@URL}%
+    \fi
+  }%
+}
+\def\Hy@true{true}
+\def\Hy@false{false}
+\let\literalps@out\@gobble
+\newcommand\pdfbookmark[3][]{}
+\let\Acrobatmenu\@gobble
+\def\Hy@writebookmark#1#2#3#4#5{}%
+\let\HyperRaiseLinkLength\@tempdima
+\let\HyperRaiseLinkHook\@empty
+\def\HyperRaiseLinkDefault{\baselineskip}
+\def\Hy@raisedlink#1{%
+  \setlength\HyperRaiseLinkLength\HyperRaiseLinkDefault
+  \HyperRaiseLinkHook
+  \ifvmode
+    #1%
+  \else
+    \smash{\raise\HyperRaiseLinkLength\hbox{#1}}%
+  \fi
+}
+\def\Hy@SaveLastskip{%
+  \let\Hy@RestoreLastskip\relax
+  \ifvmode
+    \ifdim\lastskip=\z@
+      \let\Hy@RestoreLastskip\nobreak
+    \else
+      \begingroup
+        \skip@=-\lastskip
+        \edef\x{%
+          \endgroup
+          \def\noexpand\Hy@RestoreLastskip{%
+            \noexpand\ifvmode
+              \noexpand\nobreak
+              \vskip\the\skip@
+              \vskip\the\lastskip\relax
+            \noexpand\fi
+          }%
+        }%
+      \x
+    \fi
+  \else
+    \ifhmode
+      \ifdim\lastskip=\z@
+        \let\Hy@RestoreLastskip\nobreak
+      \else
+        \begingroup
+          \skip@=-\lastskip
+          \edef\x{%
+            \endgroup
+            \def\noexpand\Hy@RestoreLastskip{%
+              \noexpand\ifhmode
+                \noexpand\nobreak
+                \hskip\the\skip@
+                \hskip\the\lastskip\relax
+              \noexpand\fi
+            }%
+          }%
+        \x
+      \fi
+    \fi
+  \fi
+}%
+\def\Hy@boolkey{\@dblarg\Hy@@boolkey}
+\def\Hy@@boolkey[#1]#2#3{%
+  \lowercase{\def\Hy@tempa{#3}}%
+  \ifx\Hy@tempa\@empty
+    \let\Hy@tempa\Hy@true
+  \fi
+  \ifx\Hy@tempa\Hy@true
+  \else
+    \ifx\Hy@tempa\Hy@false
+    \else
+      \let\Hy@tempa\relax
+    \fi
+  \fi
+  \ifx\Hy@tempa\relax
+    \Hy@WarnOptionValue{#3}{#1}{`true' or 'false'}%
+  \else
+    \Hy@Info{Option `#1' set `\Hy@tempa'}%
+    \csname Hy@#2\Hy@tempa\endcsname
+  \fi
+}
+\def\Hy@WarnOptionValue#1#2#3{%
+  \Hy@Warning{%
+    Unexpected value `#1'\MessageBreak
+    of option `#2' instead of\MessageBreak
+    #3%
+  }
+}
+\def\Hy@DisableOption#1{%
+  \@ifundefined{KV@Hyp@#1@default}{%
+    \define@key{Hyp}{#1}%
+  }{%
+    \define@key{Hyp}{#1}[]%
+  }%
+  {\Hy@WarnOptionDisabled{#1}}%
+}
+\def\Hy@WarnOptionDisabled#1{%
+  \Hy@Warning{%
+    Option `#1' has already been used,\MessageBreak
+    setting the option has no effect%
+  }%
+}
+\define@key{Hyp}{implicit}[true]{%
+  \Hy@boolkey{implicit}{#1}%
+}
+\define@key{Hyp}{draft}[true]{%
+  \Hy@boolkey{draft}{#1}%
+}
+\let\KV@Hyp@nolinks\KV@Hyp@draft
+\define@key{Hyp}{a4paper}[true]{%
+  \def\special@paper{210mm,297mm}%
+  \def\Hy@pageheight{842}%
+}
+\define@key{Hyp}{a5paper}[true]{%
+  \def\special@paper{148mm,210mm}%
+  \def\Hy@pageheight{595}%
+}
+\define@key{Hyp}{b5paper}[true]{%
+  \def\special@paper{176mm,250mm}%
+  \def\Hy@pageheight{709}%
+}
+\define@key{Hyp}{letterpaper}[true]{%
+  \def\special@paper{8.5in,11in}%
+  \def\Hy@pageheight{792}%
+}
+\define@key{Hyp}{legalpaper}[true]{%
+  \def\special@paper{8.5in,14in}%
+  \def\Hy@pageheight{1008}%
+}
+\define@key{Hyp}{executivepaper}[true]{%
+  \def\special@paper{7.25in,10.5in}%
+  \def\Hy@pageheight{720}%
+}
+\define@key{Hyp}{debug}[true]{%
+  \Hy@boolkey[debug]{verbose}{#1}%
+}
+\define@key{Hyp}{linktocpage}[true]{%
+  \Hy@boolkey{linktocpage}{#1}%
+}
+\define@key{Hyp}{extension}{\def\XR@ext{#1}}
+\def\XR@ext{dvi}
+\define@key{Hyp}{verbose}[true]{%
+  \Hy@boolkey{verbose}{#1}%
+}
+\define@key{Hyp}{typexml}[true]{%
+  \Hy@boolkey{typexml}{#1}%
+}
+\define@key{Hyp}{raiselinks}[true]{%
+  \Hy@boolkey{raiselinks}{#1}%
+}
+\define@key{Hyp}{breaklinks}[true]{%
+  \Hy@boolkey{breaklinks}{#1}%
+}
+\define@key{Hyp}{pageanchor}[true]{%
+  \Hy@boolkey{pageanchor}{#1}%
+}
+\define@key{Hyp}{plainpages}[true]{%
+  \Hy@boolkey{plainpages}{#1}%
+}
+\define@key{Hyp}{naturalnames}[true]{%
+  \Hy@boolkey{naturalnames}{#1}%
+}
+\define@key{Hyp}{hypertexnames}[true]{%
+  \Hy@boolkey{hypertexnames}{#1}%
+}
+\define@key{Hyp}{nesting}[true]{%
+  \Hy@boolkey{nesting}{#1}%
+}
+\define@key{Hyp}{unicode}[true]{%
+  \Hy@boolkey{unicode}{#1}%
+  \HyPsd@InitUnicode
+}
+\define@key{Hyp}{hyperref}[true]{}
+\define@key{Hyp}{tex4ht}[true]{%
+  \def\XR@ext{html}%
+  \Hy@texhttrue
+  \def\Hy@raisedlink{}%
+  \setkeys{Hyp}{colorlinks=true}%
+  \def\BeforeTeXIVht{\usepackage{color}}%
+  \def\Hy@driver{htex4ht}%
+  \def\MaybeStopEarly{%
+    \typeout{Hyperref stopped early}%
+    \AfterBeginDocument{\PDF@FinishDoc}%
+    \endinput
+  }%
+}
+\define@key{Hyp}{pdftex}[true]{%
+  \def\Hy@driver{hpdftex}%
+  \def\XR@ext{pdf}%
+  \PassOptionsToPackage{pdftex}{color}%
+  \Hy@breaklinkstrue
+}
+\define@key{Hyp}{dvipdf}[true]{%
+}
+\define@key{Hyp}{nativepdf}[true]{%
+  \def\Hy@driver{hdvips}%
+  \def\XR@ext{pdf}%
+}
+\define@key{Hyp}{dvipdfm}[true]{%
+  \def\Hy@driver{hdvipdfm}%
+  \def\XR@ext{pdf}%
+  \Hy@breaklinkstrue
+}
+\define@key{Hyp}{pdfmark}[true]{%
+  \def\Hy@driver{hdvips}%
+  \def\XR@ext{pdf}%
+}
+\define@key{Hyp}{dvips}[true]{%
+  \def\Hy@driver{hdvips}%
+  \def\XR@ext{pdf}%
+}
+\define@key{Hyp}{hypertex}[true]{%
+  \def\Hy@driver{hypertex}%
+}
+\let\Hy@MaybeStopNow\relax
+\define@key{Hyp}{vtex}[true]{%
+  \begingroup\expandafter\expandafter\expandafter\endgroup
+  \expandafter\ifx\csname OpMode\endcsname\relax
+    \@latex@error{Non-VTeX processor}{}%
+    \global\let\Hy@MaybeStopNow\endinput
+    \endinput
+  \else
+    \ifnum\ifnum\OpMode=2 1\else\OpMode\fi=1 % SPACE
+      \def\XR@ext{pdf}%
+      \def\Hy@driver{hvtex}%
+    \else
+      \ifnum\OpMode=10\relax
+        \def\XR@ext{htm}%
+        \def\Hy@driver{hvtexhtm}%
+        \def\MaybeStopEarly{%
+           \typeout{Hyperref stopped early}%
+           \AfterBeginDocument{\PDF@FinishDoc}%
+           \endinput
+        }%
+      \else
+        \@latex@error{Mode (\the\OpMode) has no hyperref driver}{}%
+        \global\let\Hy@MaybeStopNow\endinput
+        \endinput
+      \fi
+    \fi
+  \fi
+}
+\define@key{Hyp}{vtexpdfmark}[true]{%
+  \begingroup\expandafter\expandafter\expandafter\endgroup
+  \expandafter\ifx\csname OpMode\endcsname\relax
+    \@latex@error{Non-VTeX processor}{}%
+    \let\Hy@MaybeStopNow\endinput
+    \endinput
+  \else
+    \ifnum\ifnum\OpMode=2 1\else\OpMode\fi=1 % SPACE
+      \def\XR@ext{pdf}%
+      \def\Hy@driver{hvtexmrk}%
+    \else
+      \@latex@error{Mode (\the\OpMode) has no hyperref driver}{}%
+      \let\Hy@MaybeStopNow\endinput
+      \endinput
+    \fi
+  \fi
+}
+\define@key{Hyp}{dviwindo}[true]{%
+  \def\Hy@driver{hdviwind}%
+  \setkeys{Hyp}{colorlinks}%
+  \PassOptionsToPackage{dviwindo}{color}%
+}
+\define@key{Hyp}{dvipsone}[true]{%
+  \def\XR@ext{pdf}%
+  \def\Hy@driver{hdvipson}%
+}
+\define@key{Hyp}{textures}[true]{%
+  \def\XR@ext{pdf}%
+  \def\Hy@driver{htexture}%
+}
+\define@key{Hyp}{latex2html}[true]{%
+  \AtBeginDocument{\@@latextohtmlX}%
+}
+\define@key{Hyp}{ps2pdf}[true]{%
+  \def\Hy@driver{hdvips}%
+  \providecommand\@pdfborder{0 0 1}%
+}
+\define@key{Hyp}{hyperfigures}[true]{%
+  \Hy@boolkey[hyperfigures]{figures}{#1}%
+}
+\define@key{Hyp}{hyperfootnotes}[true]{%
+  \Hy@boolkey{hyperfootnotes}{#1}%
+}
+\def\back@none{none}
+\def\back@section{section}
+\def\back@page{page}
+\def\back@slide{slide}
+\define@key{Hyp}{backref}[section]{%
+  \lowercase{\def\Hy@tempa{#1}}%
+  \ifx\Hy@tempa\@empty
+    \let\Hy@tempa\back@section
+  \fi
+  \ifx\Hy@tempa\Hy@false
+    \let\Hy@tempa\back@none
+  \fi
+  \ifx\Hy@tempa\back@slide
+    \let\Hy@tempa\back@section
+  \fi
+  \ifx\Hy@tempa\back@page
+    \PassOptionsToPackage{hyperpageref}{backref}%
+    \Hy@backreftrue
+  \else
+    \ifx\Hy@tempa\back@section
+      \PassOptionsToPackage{hyperref}{backref}%
+      \Hy@backreftrue
+    \else
+      \ifx\Hy@tempa\back@none
+        \Hy@backreffalse
+      \else
+        \Hy@WarnOptionValue{#1}{backref}{%
+          `section', `slide', `page', `none',\MessageBreak
+          or `false'}%
+      \fi
+    \fi
+  \fi
+}
+\define@key{Hyp}{pagebackref}[true]{%
+  \lowercase{\def\Hy@tempa{#1}}%
+  \ifx\Hy@tempa\@empty
+    \let\Hy@tempa\Hy@true
+  \fi
+  \ifx\Hy@tempa\Hy@true
+    \PassOptionsToPackage{hyperpageref}{backref}%
+    \Hy@backreftrue
+  \else
+    \ifx\Hy@tempa\Hy@false
+      \Hy@backreffalse
+    \else
+      \Hy@WarnOptionValue{#1}{pagebackref}{`true' or `false'}%
+    \fi
+  \fi
+}
+\define@key{Hyp}{hyperindex}[true]{%
+  \Hy@boolkey{hyperindex}{#1}%
+}
+\def\Hy@setcaptions#1#2{%
+  \@ifpackageloaded{babel}{%
+    \expandafter\addto\csname captions#2\expandafter\endcsname
+    \expandafter{#1}%
+  }{%
+    #1%
+  }%
+}
+\def\Hy@autorefenglish{\Hy@setcaptions\Hy@captionsenglish}
+\def\Hy@autorefgerman{\Hy@setcaptions\Hy@captionsgerman}
+\def\Hy@autorefspanish{\Hy@setcaptions\Hy@captionsspanish}
+\def\Hy@captionsenglish{%
+  \def\equationautorefname{Equation}%
+  \def\footnoteautorefname{footnote}%
+  \def\itemautorefname{item}%
+  \def\figureautorefname{Figure}%
+  \def\tableautorefname{Table}%
+  \def\partautorefname{Part}%
+  \def\appendixautorefname{Appendix}%
+  \def\chapterautorefname{chapter}%
+  \def\sectionautorefname{section}%
+  \def\subsectionautorefname{subsection}%
+  \def\subsubsectionautorefname{subsubsection}%
+  \def\paragraphautorefname{paragraph}%
+  \def\subparagraphautorefname{subparagraph}%
+  \def\FancyVerbLineautorefname{line}%
+  \def\theoremautorefname{Theorem}%
+}
+\def\Hy@captionsgerman{%
+  \def\equationautorefname{Gleichung}%
+  \def\footnoteautorefname{Fu\ss note}%
+  \def\itemautorefname{Punkt}%
+  \def\figureautorefname{Abbildung}%
+  \def\tableautorefname{Tabelle}%
+  \def\partautorefname{Teil}%
+  \def\appendixautorefname{Anhang}%
+  \def\chapterautorefname{Kapitel}%
+  \def\sectionautorefname{Abschnitt}%
+  \def\subsectionautorefname{Unterabschnitt}%
+  \def\subsubsectionautorefname{Unterunterabschnitt}%
+  \def\paragraphautorefname{Absatz}%
+  \def\subparagraphautorefname{Unterabsatz}%
+  \def\FancyVerbLineautorefname{Zeile}%
+  \def\theoremautorefname{Theorem}%
+}
+\def\Hy@captionsspanish{%
+  \def\equationautorefname{Ecuaci\'on}%
+  \def\footnoteautorefname{Nota a pie de p\'agina}%
+  \def\itemautorefname{Elemento}%
+  \def\figureautorefname{Figura}%
+  \def\tableautorefname{Tabla}%
+  \def\partautorefname{Parte}%
+  \def\appendixautorefname{Ap\'endice}%
+  \def\chapterautorefname{Cap\'itulo}%
+  \def\sectionautorefname{Secci\'on}%
+  \def\subsectionautorefname{Subsecci\'on}%
+  \def\subsubsectionautorefname{Subsubsecci\'on}%
+  \def\paragraphautorefname{P\'arrafo}%
+  \def\subparagraphautorefname{Subp\'arrafo}%
+  \def\FancyVerbLineautorefname{L\'inea}%
+  \def\theoremautorefname{Teorema}%
+}
+\define@key{Hyp}{english}[]{\Hy@autorefenglish{english}}
+\define@key{Hyp}{UKenglish}[]{\Hy@autorefenglish{UKenglish}}
+\define@key{Hyp}{british}[]{\Hy@autorefenglish{british}}
+\define@key{Hyp}{USenglish}[]{\Hy@autorefenglish{USenglish}}
+\define@key{Hyp}{american}[]{\Hy@autorefenglish{american}}
+\define@key{Hyp}{german}[]{\Hy@autorefgerman{german}}
+\define@key{Hyp}{austrian}[]{\Hy@autorefgerman{austrian}}
+\define@key{Hyp}{ngerman}[]{\Hy@autorefgerman{ngerman}}
+\define@key{Hyp}{naustrian}[]{\Hy@autorefgerman{naustrian}}
+\define@key{Hyp}{spanish}[]{\Hy@autorefspanish{spanish}}
+\define@key{Hyp}{colorlinks}[true]{%
+  \Hy@boolkey{colorlinks}{#1}%
+  \ifHy@colorlinks
+    \def\@pdfborder{0 0 0}%
+  \fi
+}
+\define@key{Hyp}{frenchlinks}[true]{%
+  \Hy@boolkey{frenchlinks}{#1}%
+}
+\define@key{Hyp}{bookmarks}[true]{%
+  \Hy@boolkey{bookmarks}{#1}%
+}
+\define@key{Hyp}{bookmarksopen}[true]{%
+  \Hy@boolkey{bookmarksopen}{#1}%
+}
+\define@key{Hyp}{bookmarksopenlevel}{%
+  \def\@bookmarksopenlevel{#1}%
+}
+\def\@bookmarksopenlevel{\maxdimen}
+\define@key{Hyp}{bookmarkstype}{%
+  \def\Hy@bookmarkstype{#1}%
+}
+\def\Hy@bookmarkstype{toc}
+\define@key{Hyp}{bookmarksnumbered}[true]{%
+  \Hy@boolkey{bookmarksnumbered}{#1}%
+}
+\define@key{Hyp}{CJKbookmarks}[true]{%
+  \Hy@boolkey{CJKbookmarks}{#1}%
+}
+\define@key{Hyp}{linkcolor}{\def\@linkcolor{#1}}
+\define@key{Hyp}{anchorcolor}{\def\@anchorcolor{#1}}
+\define@key{Hyp}{citecolor}{\def\@citecolor{#1}}
+\define@key{Hyp}{urlcolor}{\def\@urlcolor{#1}}
+\define@key{Hyp}{menucolor}{\def\@menucolor{#1}}
+\define@key{Hyp}{filecolor}{\def\@filecolor{#1}}
+\define@key{Hyp}{pagecolor}{\def\@pagecolor{#1}}
+\def\@linkcolor{red}
+\def\@anchorcolor{black}
+\def\@citecolor{green}
+\def\@filecolor{cyan}
+\def\@urlcolor{magenta}
+\def\@menucolor{red}
+\def\@pagecolor{red}
+\def\hyperbaseurl#1{\def\@baseurl{#1}}
+\define@key{Hyp}{baseurl}{\hyperbaseurl{#1}}
+\let\@baseurl\@empty
+\def\hyperlinkfileprefix#1{\def\Hy@linkfileprefix{#1}}
+\define@key{Hyp}{linkfileprefix}{\hyperlinkfileprefix{#1}}
+\hyperlinkfileprefix{file:}
+\let\@pdfpagetransition\relax
+\define@key{Hyp}{pdfpagetransition}{\def\@pdfpagetransition{#1}}
+\let\@pdfpageduration\relax
+\define@key{Hyp}{pdfpageduration}{\def\@pdfpageduration{#1}}
+\newif\ifHy@useHidKey
+\Hy@useHidKeyfalse
+\define@key{Hyp}{pdfpagehidden}[true]{%
+  \Hy@boolkey{pdfpagehidden}{#1}%
+  \ifHy@pdfpagehidden
+    \global\Hy@useHidKeytrue
+  \fi
+}
+\define@key{Hyp}{linkbordercolor}{\def\@linkbordercolor{#1}}
+\define@key{Hyp}{urlbordercolor}{\def\@urlbordercolor{#1}}
+\define@key{Hyp}{menubordercolor}{\def\@menubordercolor{#1}}
+\define@key{Hyp}{filebordercolor}{\def\@filebordercolor{#1}}
+\define@key{Hyp}{runbordercolor}{\def\@runbordercolor{#1}}
+\define@key{Hyp}{citebordercolor}{\def\@citebordercolor{#1}}
+\define@key{Hyp}{pagebordercolor}{\def\@pagebordercolor{#1}}
+\define@key{Hyp}{pdfhighlight}{\def\@pdfhighlight{#1}}
+\define@key{Hyp}{pdfborder}{\def\@pdfborder{#1}}
+\define@key{Hyp}{pdfpagemode}{\def\@pdfpagemode{/#1 }}
+\define@key{Hyp}{pdftitle}{\pdfstringdef\@pdftitle{#1}}
+\define@key{Hyp}{pdfauthor}{\pdfstringdef\@pdfauthor{#1}}
+\define@key{Hyp}{pdfproducer}{\pdfstringdef\@pdfproducer{#1}}
+\define@key{Hyp}{pdfcreator}{\pdfstringdef\@pdfcreator{#1}}
+\define@key{Hyp}{pdfsubject}{\pdfstringdef\@pdfsubject{#1}}
+\define@key{Hyp}{pdfkeywords}{\pdfstringdef\@pdfkeywords{#1}}
+\define@key{Hyp}{pdfview}{\calculate@pdfview#1 \\}
+\define@key{Hyp}{pdflinkmargin}{\setpdflinkmargin{#1}}
+\let\setpdflinkmargin\@gobble
+\def\calculate@pdfview#1 #2\\{%
+  \def\@pdfview{#1}%
+  \ifx\\#2\\%
+    \def\@pdfviewparams{ -32768}%
+  \else
+    \def\@pdfviewparams{ #2}%
+  \fi
+}
+\define@key{Hyp}{pdfstartpage}{\def\@pdfstartpage{#1}}
+\define@key{Hyp}{pdfstartview}{%
+  \ifx\\#1\\%
+    \def\@pdfstartview{}%
+  \else
+    \hypercalcbpdef\@pdfstartview{ /#1 }%
+  \fi
+}
+\define@key{Hyp}{pdfpagescrop}{\edef\@pdfpagescrop{#1}}
+\define@key{Hyp}{pdftoolbar}[true]{%
+  \Hy@boolkey[pdftoolbar]{toolbar}{#1}%
+}
+\define@key{Hyp}{pdfmenubar}[true]{%
+  \Hy@boolkey[pdfmenubar]{menubar}{#1}%
+}
+\define@key{Hyp}{pdfwindowui}[true]{%
+  \Hy@boolkey[pdfwindowui]{windowui}{#1}%
+}
+\define@key{Hyp}{pdffitwindow}[true]{%
+  \Hy@boolkey[pdffitwindow]{fitwindow}{#1}%
+}
+\define@key{Hyp}{pdfcenterwindow}[true]{%
+  \Hy@boolkey[pdfcenterwindow]{centerwindow}{#1}%
+}
+\define@key{Hyp}{pdfnewwindow}[true]{%
+  \Hy@boolkey[pdfnewwindow]{newwindow}{#1}%
+}
+\define@key{Hyp}{pdfpagelayout}{\def\pdf@pagelayout{#1}}
+\def\pdf@pagelayout{}
+\define@key{Hyp}{pdfpagelabels}[true]{%
+  \Hy@boolkey[pdfpagelabels]{pagelabels}{#1}%
+}
+\def\@linkbordercolor{1 0 0}
+\def\@urlbordercolor{0 1 1}
+\def\@menubordercolor{1 0 0}
+\def\@filebordercolor{0 .5 .5}
+\def\@runbordercolor{0 .7 .7}
+\def\@citebordercolor{0 1 0}
+\def\@pagebordercolor{1 1 0}
+\def\@pdfhighlight{/I}
+\def\@pdfpagemode{}
+\def\@pdftitle{}
+\def\@pdfauthor{}
+\def\@pdfproducer{}
+\def\@pdfcreator{LaTeX with hyperref package}
+\def\@pdfsubject{}
+\def\@pdfkeywords{}
+\def\@pdfpagescrop{}
+\def\@pdfstartview{ /Fit }
+\def\@pdfstartpage{1}
+\let\PDF@SetupDoc\@empty
+\let\PDF@FinishDoc\@empty
+\edef\special@paper{\the\paperwidth,\the\paperheight}
+\hypercalcbpdef\Hy@pageheight{\hypercalcbp{\paperheight}}
+\def\hypersetup{\setkeys{Hyp}}
+\let\hyper@normalise\ExecuteOptions
+\let\ExecuteOptions\hypersetup
+\Hy@RestoreCatcodes
+\InputIfFileExists{hyperref.cfg}{}{}
+\Hy@SetCatcodes
+\let\ExecuteOptions\hyper@normalise
+\Hy@MaybeStopNow
+\def\ProcessOptionsWithKV#1{%
+  \let\@tempc\relax
+  \let\Hy@tempa\@empty
+  \@for\CurrentOption:=\@classoptionslist\do{%
+    \@ifundefined{KV@#1@\CurrentOption}%
+    {}%
+    {%
+      \edef\Hy@tempa{\Hy@tempa,\CurrentOption,}%
+      \@expandtwoargs\@removeelement\CurrentOption
+        \@unusedoptionlist\@unusedoptionlist
+    }%
+  }%
+  \edef\Hy@tempa{%
+    \noexpand\setkeys{#1}{%
+      \Hy@tempa\@ptionlist{\@currname.\@currext}%
+    }%
+  }%
+  \Hy@tempa
+}
+\let\ReadBookmarks\relax
+\ProcessOptionsWithKV{Hyp}
+\AtBeginDocument{%
+  \ifHy@draft
+    \let\hyper@@anchor\@gobble
+    \gdef\hyper@link#1#2#3{#3}%
+    \let\hyper@anchorstart\@gobble
+    \let\hyper@anchorend\@empty
+    \let\hyper@linkstart\@gobbletwo
+    \let\hyper@linkend\@empty
+    \def\hyper@linkurl#1#2{#1}%
+    \def\hyper@linkfile#1#2#3{#1}%
+    \def\Acrobatmenu#1#2{#2}%
+    \let\PDF@SetupDoc\@empty
+    \let\PDF@FinishDoc\@empty
+    \let\@fifthoffive\@secondoftwo
+    \let\@secondoffive\@secondoftwo
+    \let\ReadBookmarks\relax
+    \let\WriteBookmarks\relax
+    \Hy@WarningNoLine{ draft mode on}%
+  \fi
+  \Hy@DisableOption{draft}%
+}%
+\ifx\HyPsd@InitUnicode\relax
+  \define@key{Hyp}{unicode}[true]{%
+    \Hy@boolkey{unicode}{#1}%
+  }
+\else
+  \define@key{Hyp}{unicode}[true]{%
+    \Hy@boolkey{unicode}{#1}%
+    \ifHy@unicode
+      \Hy@WarningNoLine{Set package option `unicode' first\MessageBreak
+                  in order to load unicode support%
+      }%
+      \Hy@unicodefalse
+    \fi
+  }
+\fi
+\let\HyPsd@InitUnicode\@undefined
+\Hy@nextfalse
+\@ifpackagewith{babel}{spanish}{\Hy@nexttrue}{}
+\@ifpackagewith{babel}{galician}{\Hy@nexttrue}{}
+\@ifpackagewith{babel}{estonian}{\Hy@nexttrue}{}
+\ifHy@next
+  \let\texttilde\~%
+\fi
+\def\WriteBookmarks{0}
+\def\@bookmarkopenstatus#1{%
+  \ifHy@bookmarksopen
+    \ifnum#1<\expandafter\@firstofone\expandafter
+             {\number\@bookmarksopenlevel} % explicit space
+    \else
+      -%
+    \fi
+  \else
+    -%
+  \fi
+}
+\ifHy@bookmarks
+  \Hy@Info{Bookmarks ON}%
+  \ifx\@pdfpagemode\@empty
+    \def\@pdfpagemode{/UseOutlines }%
+  \fi
+\else
+  \def\@bookmarkopenstatus#1{}%
+  \Hy@Info{Bookmarks OFF}%
+  \AtEndOfPackage{%
+    \global\let\ReadBookmarks\relax
+    \global\let\WriteBookmarks\relax
+  }
+  \ifx\@pdfpagemode\@empty
+    \def\@pdfpagemode{/UseNone}%
+  \fi
+\fi
+\Hy@DisableOption{bookmarks}
+\ifHy@figures
+  \Hy@Info{Hyper figures ON}
+\else
+  \Hy@Info{Hyper figures OFF}
+\fi
+\ifHy@nesting
+  \Hy@Info{Link nesting ON}
+\else
+  \Hy@Info{Link nesting OFF}
+\fi
+\ifHy@hyperindex
+  \Hy@Info{Hyper index ON}
+\else
+  \Hy@Info{Hyper index OFF}
+\fi
+\ifHy@plainpages
+  \Hy@Info{Plain pages ON}
+\else
+  \Hy@Info{Plain pages OFF}
+\fi
+\ifHy@backref
+  \Hy@Info{Backreferencing ON}
+\else
+  \Hy@Info{Backreferencing OFF}
+\fi
+\ifHy@typexml
+   \AtEndOfPackage{\RequirePackage{color}\RequirePackage{nameref}}
+\fi
+\Hy@DisableOption{typexml}
+\ifHy@implicit
+  \typeout{Implicit mode ON; LaTeX internals redefined}%
+\else
+  \typeout{Implicit mode OFF; no redefinition of LaTeX internals}%
+  \def\MaybeStopEarly{%
+    \typeout{Hyperref stopped early}%
+    \AfterBeginDocument{\PDF@FinishDoc}%
+    \endinput
+  }%
+  \AtBeginDocument{%
+    \let\autoref\ref
+    \ifx\@pdfpagemode\@empty
+      \gdef\@pdfpagemode{/UseNone}%
+    \fi
+    \global\Hy@backreffalse
+  }%
+  \AtEndOfPackage{%
+    \global\let\ReadBookmarks\relax
+    \global\let\WriteBookmarks\relax
+  }%
+\fi
+\Hy@DisableOption{implicit}
+\AtEndOfPackage{%
+  \@ifpackageloaded{tex4ht}{%
+    \def\Hy@driver{htex4ht}%
+    \Hy@texhttrue
+  }{}%
+  \ifx\Hy@driver\@empty
+    \@ifundefined{pdfoutput}{%
+      \let\pdfoutput\@undefined
+      \@ifundefined{OpMode}{%
+        \def\Hy@driver{hypertex}%
+      }{%
+        \ifnum\ifnum\OpMode=2 1\else\OpMode\fi=1 % SPACE
+          \def\Hy@driver{hvtex}%
+          \def\XR@ext{pdf}%
+        \else
+          \ifnum\OpMode=10\relax
+            \def\XR@ext{htm}%
+            \def\Hy@driver{hvtexhtm}%
+            \def\MaybeStopEarly{%
+              \typeout{Hyperref stopped early}%
+              \AfterBeginDocument{\PDF@FinishDoc}%
+              \endinput
+            }%
+          \else
+            \def\Hy@driver{hypertex}%
+          \fi
+        \fi
+      }
+    }{%
+      \ifcase\pdfoutput
+        \let\pdfoutput\@undefined
+        \def\Hy@driver{hypertex}%
+      \else
+        \def\Hy@driver{hpdftex}%
+        \def\XR@ext{pdf}%
+        \PassOptionsToPackage{pdftex}{color}%
+        \Hy@breaklinkstrue
+      \fi
+    }%
+    \typeout{*hyperref using default driver \Hy@driver*}%
+  \else
+    \typeout{*hyperref using driver \Hy@driver*}%
+  \fi
+  \input{\Hy@driver.def}%
+  \let\@unprocessedoptions\relax
+  \Hy@RestoreCatcodes
+}
+\Hy@DisableOption{tex4ht}
+\Hy@DisableOption{pdftex}
+\Hy@DisableOption{dvipdf}
+\Hy@DisableOption{nativepdf}
+\Hy@DisableOption{dvipdfm}
+\Hy@DisableOption{pdfmark}
+\Hy@DisableOption{dvips}
+\Hy@DisableOption{hypertex}
+\Hy@DisableOption{vtex}
+\Hy@DisableOption{vtexpdfmark}
+\Hy@DisableOption{dviwindo}
+\Hy@DisableOption{dvipsone}
+\Hy@DisableOption{textures}
+\Hy@DisableOption{latex2html}
+\Hy@DisableOption{ps2pdf}
+\AtBeginDocument{%
+  \ifHy@colorlinks
+    \ifHy@typexml\else\RequirePackage{color}\fi
+    \def\Hy@colorlink#1{\begingroup\color{#1}}%
+    \def\Hy@endcolorlink{\endgroup}%
+    \Hy@Info{Link coloring ON}%
+  \else
+    \ifHy@frenchlinks
+      \def\Hy@colorlink#1{\begingroup\fontshape{sc}\selectfont}%
+      \def\Hy@endcolorlink{\endgroup}%
+      \Hy@Info{French linking ON}%
+    \else
+      \def\Hy@colorlink#1{\begingroup}%
+      \def\Hy@endcolorlink{\endgroup}%
+      \Hy@Info{Link coloring OFF}%
+    \fi
+  \fi
+  \Hy@DisableOption{colorlinks}%
+  \Hy@DisableOption{frenchlinks}%
+  \ifHy@texht
+    \long\def\@firstoffive#1#2#3#4#5{#1}%
+    \long\def\@secondoffive#1#2#3#4#5{#2}%
+    \long\def\@thirdoffive#1#2#3#4#5{#3}%
+    \long\def\@fourthoffive#1#2#3#4#5{#4}%
+    \long\def\@fifthoffive#1#2#3#4#5{#5}%
+    \providecommand*\@safe@activestrue{}%
+    \providecommand*\@safe@activesfalse{}%
+    \def\T@ref#1{%
+      \@safe@activestrue
+      \expandafter\@setref\csname r@#1\endcsname\@firstoffive{#1}%
+      \@safe@activesfalse
+    }%
+    \def\T@pageref#1{%
+      \@safe@activestrue
+      \expandafter\@setref\csname r@#1\endcsname\@secondoffive{#1}%
+      \@safe@activesfalse
+    }%
+  \else
+    \ifHy@typexml\else\RequirePackage{nameref}\fi
+  \fi
+  \DeclareRobustCommand\ref{\@ifstar\@refstar\T@ref}%
+  \DeclareRobustCommand\pageref{%
+    \@ifstar\@pagerefstar\T@pageref
+  }%
+}
+\AfterBeginDocument{%
+  \ifHy@texht
+  \else
+    \ReadBookmarks
+  \fi
+}
+\ifHy@backref
+  \RequirePackage{backref}
+\else
+  \let\Hy@backout\@gobble
+\fi
+\Hy@DisableOption{backref}
+\Hy@DisableOption{pagebackref}
+\Hy@activeanchorfalse
+\begingroup
+  \endlinechar=-1
+  \catcode`\^^M\active
+  \catcode`\%\active
+  \catcode`\#\active
+  \catcode`\_\active
+  \gdef\hyper@normalise{
+    \begingroup
+    \catcode`\^^M\active
+    \def^^M{ }
+    \catcode`\%\active
+    \let%\@percentchar
+    \let\%\@percentchar
+    \catcode`\#\active
+    \def#{\hyper@hash}
+    \def\#{\hyper@hash}
+    \catcode`\_\active
+    \def_{\string_}
+    \let~\hyper@tilde
+    \let\~\hyper@tilde
+    \ifx\@safe@activestrue\@undefined\else\@safe@activestrue\fi
+    \hyper@n@rmalise
+  }
+  \catcode`\#=6
+  \gdef\hyper@n@rmalise#1#2{
+    \edef\Hy@tempa{
+      \endgroup
+      \noexpand#1{\Hy@RemovePercentCr#2%^^M\@nil}
+    }
+    \Hy@tempa
+  }
+  \gdef\Hy@RemovePercentCr#1%^^M#2\@nil{
+    #1
+    \ifx\limits#2\limits
+    \else
+      \Hy@ReturnAfterFi{
+        \Hy@RemovePercentCr #2\@nil
+      }
+    \fi
+  }
+\endgroup
+\providecommand\hyper@chars{%
+  \let\#\hyper@hash
+  \let\%\@percentchar
+}
+\def\hyperlink#1#2{%
+  \hyper@@link{}{#1}{#2}%
+}
+\DeclareRobustCommand*{\href}{\hyper@normalise\href@}
+\begingroup
+  \catcode`\$=6
+  \catcode`\#=12
+  \gdef\href@$1{\expandafter\href@split$1##\\}
+  \gdef\href@split$1#$2#$3\\{%
+    \hyper@@link{$1}{$2}%
+  }
+\endgroup
+\RequirePackage{url}
+\let\HyOrg@url\url
+\def\Hurl{\begingroup \Url}
+\let\nolinkurl\Hurl
+\DeclareRobustCommand*{\url}{\hyper@normalise\url@}
+\def\url@#1{\hyper@linkurl{\Hurl{#1}}{#1}}
+\DeclareRobustCommand*{\hyperimage}{\hyper@normalise\hyper@image}
+\providecommand\hyper@image[2]{#2}
+\def\hypertarget#1#2{%
+  \ifHy@nesting
+    \hyper@@anchor{#1}{#2}%
+  \else
+    \hyper@@anchor{#1}{\relax}#2%
+  \fi
+}
+\DeclareRobustCommand*{\hyperref}{%
+  \@ifnextchar[\label@hyperref\@hyperref
+}
+\def\@hyperref{\hyper@normalise\@@hyperref}
+\def\@@hyperref#1#2#3{%
+  \edef\ref@one{\ifx\\#2\\\else#2.\fi#3}%
+  \expandafter\tryhyper@link\ref@one\\{#1}%
+}
+\def\tryhyper@link#1\\#2{%
+ \hyper@@link{#2}{#1}%
+}
+\def\hyperdef{\@ifnextchar[{\label@hyperdef}{\@hyperdef}}
+\def\@hyperdef#1#2#3{%, category, name, text
+  \ifHy@nesting
+    \hyper@@anchor{#1.#2}{#3}%
+  \else
+    \hyper@@anchor{#1.#2}{\relax}#3%
+  \fi
+}
+\def\label@hyperref[#1]{%
+  \expandafter\label@@hyperref\csname r@#1\endcsname{#1}%
+}%
+\def\label@@hyperref#1#2#3{%
+  \ifx#1\relax
+    \protect\G@refundefinedtrue
+    \@latex@warning{%
+      Hyper reference `#2' on page \thepage \space undefined%
+    }%
+    \hyper@@link{}{??}{#3}%
+  \else
+    \hyper@@link{\expandafter\@fifthoffive#1}%
+      {\expandafter\@fourthoffive#1\@empty\@empty}{#3}%
+  \fi
+}
+\def\label@hyperdef[#1]#2#3#4{% label name, category, name,
+                                % anchor text
+  \@bsphack
+  \protected@write\@auxout{}%
+    {\string\newlabel{#1}{{}{}{}\##2.#3}}%
+  \@esphack
+  \ifHy@nesting
+    \hyper@@anchor{#2.#3}{#4}%
+  \else
+    \hyper@@anchor{#2.#3}{\relax}#4%
+  \fi
+}
+\def\hyper@@link{\let\Hy@reserved@a\relax
+  \@ifnextchar[{\hyper@link@}{\hyper@link@[link]}%
+}
+\def\hyper@link@[#1]#2#3#4{%
+  \edef\Hy@tempa{#2}%
+  \ifx\Hy@tempa\@empty
+    \hyper@link{#1}{#3}{#4}%
+  \else
+    \expandafter\hyper@readexternallink#2\\{#1}{#3}{#4}%
+  \fi
+}
+\def\hyper@readexternallink#1\\#2#3#4{%
+  \expandafter\@hyper@readexternallink{#2}{#3}{#4}#1::\\{#1}%
+}
+\def\@pdftempwordfile{file}%
+\def\@pdftempwordrun{run}%
+\def\@hyper@readexternallink#1#2#3#4:#5:#6\\#7{%
+  \ifx\\#6\\%
+    \expandafter\@hyper@linkfile file:#7\\{#3}{#2}%
+  \else
+    \ifx\\#4\\%
+      \expandafter\@hyper@linkfile file:#7\\{#3}{#2}%
+    \else
+      \def\@pdftempa{#4}%
+      \ifx\@pdftempa\@pdftempwordfile
+        \expandafter\@hyper@linkfile#7\\{#3}{#2}%
+      \else
+        \ifx\@pdftempa\@pdftempwordrun
+          \expandafter\@hyper@launch#7\\{#3}{#2}%
+        \else
+          \hyper@linkurl{#3}{#7\ifx\\#2\\\else\##2\fi}%
+        \fi
+      \fi
+    \fi
+  \fi
+}
+\def\@hyper@launch run:#1\\#2#3{% filename, anchor text, linkname
+   \hyper@linkurl{#2}{file:#1\ifx\\#3\\\else\##3\fi}%
+}
+\def\@hyper@linkfile file:#1\\#2#3{%
+     %file url,link string, name
+  \filename@parse{#1}%
+  \ifx\filename@ext\relax
+    \edef\filename@ext{\XR@ext}%
+  \fi
+  \def\use@file{\filename@area\filename@base.\filename@ext}%
+  \ifx\filename@ext\XR@ext
+    \hyper@linkfile{#2}{\use@file}{#3}%
+  \else
+    \ifx\@baseurl\@empty
+      \hyper@linkurl{#2}{%
+        \Hy@linkfileprefix\use@file\ifx\\#3\\\else\##3\fi
+      }%
+    \else
+      \hyper@linkurl{#2}{\use@file\ifx\\#3\\\else\##3\fi}%
+    \fi
+  \fi
+}
+\long\def\hyper@@anchor#1#2{\@hyper@@anchor#1\relax#2\relax}
+\long\def\@hyper@@anchor#1\relax#2#3\relax{%
+  \ifx\\#1\\%
+    #2\Hy@WarningNoLine{empty link? #1: #2#3}%
+  \else
+    \def\anchor@spot{#2#3}%
+    \let\put@me@back\@empty
+    \ifx\relax#2\relax
+    \else
+      \ifHy@nesting
+      \else
+        \ifcat a\noexpand#2\relax
+        \else
+          \ifcat 0\noexpand#2 \relax
+          \else
+            \let\anchor@spot\@empty
+            \def\put@me@back{#2#3}%
+          \fi
+        \fi
+      \fi
+    \fi
+    \ifHy@activeanchor
+      \anchor@spot
+    \else
+      \hyper@anchor{#1}%
+    \fi
+    \expandafter\put@me@back
+  \fi
+  \let\anchor@spot\@empty
+}
+\let\htmladdimg\hyperimage
+\def\htmladdnormallink#1#2{\href{#2}{#1}}
+\def\htmladdnormallinkfoot#1#2{\href{#2}{#1}\footnote{#2}}
+\def\htmlref#1#2{% anchor text, label
+  \label@hyperref[{#2}]{#1}%
+}
+\def\@@latextohtmlX{%
+  \let\hhyperref\hyperref
+  \def\hyperref##1##2##3##4{% anchor text for HTML
+                     % text to print before label in print
+                     % label
+                     % post-label text in print
+    ##2\ref{##4}##3%
+  }%
+}
+\newif\ifFld@checked
+\newif\ifFld@hidden
+\newif\ifFld@multiline
+\newif\ifFld@readonly
+\newif\ifFld@disabled
+\newif\ifFld@password
+\newif\ifFld@radio
+\newif\ifFld@combo
+\newif\ifFld@popdown
+\Fld@multilinefalse
+\Fld@checkedfalse
+\Fld@hiddenfalse
+\Fld@readonlyfalse
+\Fld@disabledfalse
+\Fld@radiofalse
+\Fld@combofalse
+\Fld@popdownfalse
+\Fld@passwordfalse
+\newcount\Fld@menulength
+\newdimen\Field@Width
+\newdimen\Fld@charsize
+\Fld@charsize=10\p@
+\def\Fld@maxlen{0}
+\def\Fld@align{0}
+\def\Fld@color{0 0 0}
+\def\Fld@bcolor{1 1 1}
+\def\Fld@bordercolor{1 0 0}
+\def\Fld@bordersep{1\p@}
+\def\Fld@borderwidth{1}
+\def\Fld@borderstyle{S}
+\def\Fld@cbsymbol{4}
+\newtoks\Choice@toks
+\def\Form{\@ifnextchar[{\@Form}{\@Form[]}}
+\def\endForm{\@endForm}
+\newif\ifForm@html
+\Form@htmlfalse
+\def\Form@boolkey#1#2{%
+  \csname Form@#2\ifx\relax#1\relax true\else#1\fi\endcsname
+}
+\define@key{Form}{action}{%
+  \def\Form@action{#1}%
+}
+\def\enc@@html{html}
+\define@key{Form}{encoding}{%
+  \def\Hy@tempa{#1}%
+  \ifx\Hy@tempa\enc@@html
+    \Form@htmltrue
+  \else
+    \typeout{hyperref: form `encoding' key set to #1 %
+      -- unknown type%
+    }%
+    \Form@htmlfalse
+  \fi
+}
+\define@key{Form}{method}{%
+  \def\Form@method{#1}%
+}
+\def\Form@method{}
+\def\Field@boolkey#1#2{%
+  \csname Fld@#2\ifx\relax#1\relax true\else#1\fi\endcsname
+}
+\newtoks\Field@toks
+\Field@toks={ }%
+\def\Field@addtoks#1#2{%
+  \edef\@processme{\Field@toks{\the\Field@toks\space #1="#2"}}%
+  \@processme
+}
+\def\Fld@checkequals#1=#2=#3\\{%
+  \def\@currDisplay{#1}%
+  \ifx\\#2\\%
+    \def\@currValue{#1}%
+  \else
+    \def\@currValue{#2}%
+  \fi
+}
+\define@key{Field}{loc}{%
+  \def\Fld@loc{#1}%
+}
+\define@key{Field}{multiline}[true]{%
+  \lowercase{\Field@boolkey{#1}}{multiline}%
+}
+\define@key{Field}{checked}[true]{%
+  \lowercase{\Field@boolkey{#1}}{checked}%
+}
+\define@key{Field}{hidden}[true]{%
+  \lowercase{\Field@boolkey{#1}}{hidden}%
+}
+\define@key{Field}{readonly}[true]{%
+  \lowercase{\Field@boolkey{#1}}{readonly}%
+}
+\define@key{Field}{disabled}[true]{%
+  \lowercase{\Field@boolkey{#1}}{disabled}%
+}
+\define@key{Field}{password}[true]{%
+  \lowercase{\Field@boolkey{#1}}{password}%
+}
+\define@key{Field}{radio}[true]{%
+  \lowercase{\Field@boolkey{#1}}{radio}%
+}
+\define@key{Field}{combo}[true]{%
+  \lowercase{\Field@boolkey{#1}}{combo}%
+}
+\define@key{Field}{popdown}[true]{%
+  \lowercase{\Field@boolkey{#1}}{popdown}%
+}
+\define@key{Field}{accesskey}{%
+  \Field@addtoks{accesskey}{#1}%
+}
+\define@key{Field}{tabkey}{%
+  \Field@addtoks{tabkey}{#1}%
+}
+\define@key{Field}{name}{%
+  \def\Fld@name{#1}%
+}
+\define@key{Field}{width}{%
+  \def\Fld@width{#1}%
+  \Field@Width#1\setbox0=\hbox{m}%
+}
+\define@key{Field}{maxlen}{%
+  \def\Fld@maxlen{#1}%
+}
+\define@key{Field}{menulength}{%
+  \Fld@menulength=#1\relax
+}
+\define@key{Field}{height}{%
+  \def\Fld@height{#1}%
+}
+\define@key{Field}{charsize}{%
+  \Fld@charsize#1%
+}
+\define@key{Field}{fillcolor}{%
+  \def\Fld@fillcolor{#1}%
+}
+\define@key{Field}{bordercolor}{%
+  \def\Fld@bordercolor{#1}%
+}
+\define@key{Field}{color}{%
+  \def\Fld@color{#1}%
+}
+\define@key{Field}{borderwidth}{%
+  \def\Fld@borderwidth{#1}%
+}
+\define@key{Field}{borderstyle}{%
+  \def\Fld@borderstyle{#1}%
+}
+\define@key{Field}{bordersep}{%
+  \def\Fld@bordersep{#1}%
+}
+\define@key{Field}{default}{%
+  \def\Fld@default{#1}%
+}
+\define@key{Field}{align}{%
+  \def\Fld@align{#1}%
+}
+\define@key{Field}{value}{%
+  \def\Fld@value{#1}%
+}
+\define@key{Field}{backgroundcolor}{%
+  \def\Fld@bcolor{#1}%
+}
+\define@key{Field}{checkboxsymbol}{%
+  \def\Fld@cbsymbol{#1}%
+}
+\def\Fld@format@code{}
+\def\Fld@validate@code{}
+\def\Fld@calculate@code{}
+\def\Fld@keystroke@code{}
+\define@key{Field}{keystroke}{%
+  \def\Fld@keystroke@code{#1}%
+}
+\define@key{Field}{format}{%
+  \def\Fld@format@code{#1}%
+}
+\define@key{Field}{validate}{%
+  \def\Fld@validate@code{#1}%
+}
+\define@key{Field}{calculate}{%
+  \def\Fld@calculate@code{#1}%
+}
+\define@key{Field}{onfocus}{%
+  \Field@addtoks{onfocus}{#1}%
+}
+\define@key{Field}{onblur}{%
+  \Field@addtoks{onblur}{#1}%
+}
+\define@key{Field}{onselect}{%
+  \Field@addtoks{onselect}{#1}%
+}
+\define@key{Field}{onchange}{%
+  \Field@addtoks{onchange}{#1}%
+}
+\define@key{Field}{onclick}{%
+  \def\Fld@onclick{#1}%
+  \Field@addtoks{onclick}{#1}%
+}
+\define@key{Field}{ondblclick}{%
+  \Field@addtoks{ondblclick}{#1}%
+}
+\define@key{Field}{onmousedown}{%
+  \Field@addtoks{onmousedown}{#1}%
+}
+\define@key{Field}{onmouseup}{%
+  \Field@addtoks{onmouseup}{#1}%
+}
+\define@key{Field}{onmouseover}{%
+  \Field@addtoks{onmouseover}{#1}%
+}
+\define@key{Field}{onmousemove}{%
+  \Field@addtoks{onmousemove}{#1}%
+}
+\define@key{Field}{onmouseout}{%
+  \Field@addtoks{onmouseout}{#1}%
+}
+\define@key{Field}{onkeypress}{%
+  \Field@addtoks{onkeypress}{#1}%
+}
+\define@key{Field}{onkeydown}{%
+  \Field@addtoks{onkeydown}{#1}%
+}
+\define@key{Field}{onkeyup}{%
+  \Field@addtoks{onkeyup}{#1}%
+}
+\DeclareRobustCommand\TextField{%
+  \@ifnextchar[{\@TextField}{\@TextField[]}%
+}
+\DeclareRobustCommand\ChoiceMenu{%
+  \@ifnextchar[{\@ChoiceMenu}{\@ChoiceMenu[]}%
+}
+\DeclareRobustCommand\CheckBox{%
+  \@ifnextchar[{\@CheckBox}{\@CheckBox[]}%
+}
+\DeclareRobustCommand\PushButton{%
+  \@ifnextchar[{\@PushButton}{\@PushButton[]}%
+}
+\DeclareRobustCommand\Gauge{%
+  \@ifnextchar[{\@Gauge}{\@Gauge[]}%
+}
+\DeclareRobustCommand\Submit{%
+  \@ifnextchar[{\@Submit}{\@Submit[]}%
+}
+\DeclareRobustCommand\Reset{%
+  \@ifnextchar[{\@Reset}{\@Reset[]}%
+}
+\def\LayoutTextField#1#2{% label, field
+  #1 #2%
+}
+\def\LayoutChoiceField#1#2{% label, field
+  #1 #2%
+}
+\def\LayoutCheckField#1#2{% label, field
+  #1 #2%
+}
+\def\LayoutPushButtonField#1{% button
+  #1%
+}
+\def\MakeRadioField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}}
+\def\MakeCheckField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}}
+\def\MakeTextField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}}
+\def\MakeChoiceField#1#2{\vbox to #2{\hbox to #1{\hfill}\vfill}}
+\def\MakeButtonField#1{%
+  \sbox0{%
+    \hskip\Fld@borderwidth bp#1\hskip\Fld@borderwidth bp%
+  }%
+  \@tempdima\ht0
+  \advance\@tempdima by \Fld@borderwidth bp
+  \advance\@tempdima by \Fld@borderwidth bp
+  \ht0\@tempdima
+  \@tempdima\dp0
+  \advance\@tempdima by \Fld@borderwidth bp
+  \advance\@tempdima by \Fld@borderwidth bp
+  \dp0\@tempdima
+  \box0\relax
+}
+\def\DefaultHeightofSubmit{14pt}
+\def\DefaultWidthofSubmit{2cm}
+\def\DefaultHeightofReset{14pt}
+\def\DefaultWidthofReset{2cm}
+\def\DefaultHeightofCheckBox{\baselineskip}
+\def\DefaultWidthofCheckBox{\baselineskip}
+\def\DefaultHeightofChoiceMenu{\baselineskip}
+\def\DefaultWidthofChoiceMenu{\baselineskip}
+\def\DefaultHeightofText{\baselineskip}
+\def\DefaultWidthofText{3cm}
+\ifHy@figures
+  \Hy@Info{Hyper figures ON}
+\else
+  \Hy@Info{Hyper figures OFF}
+\fi
+\ifHy@nesting
+  \Hy@Info{Link nesting ON}
+\else
+  \Hy@Info{Link nesting OFF}
+\fi
+\ifHy@hyperindex
+  \Hy@Info{Hyper index ON}
+\else
+  \Hy@Info{Hyper index OFF}
+\fi
+\ifHy@backref
+  \Hy@Info{backreferencing ON}
+\else
+  \Hy@Info{backreferencing OFF}
+\fi
+\ifHy@colorlinks
+  \Hy@Info{Link coloring ON}
+\else
+  \Hy@Info{Link coloring OFF}
+\fi
+\edef\hyper@hash{\string#}
+\edef\hyper@tilde{\string~}
+\edef\hyper@quote{\string"}
+\let\@currentHref\@empty
+\AfterBeginDocument{%
+  \Hy@pdfstringtrue
+  \PDF@SetupDoc
+  \let\PDF@SetupDoc\@empty
+  \Hy@DisableOption{4}%
+  \Hy@DisableOption{pdfpagescrop}%
+  \Hy@DisableOption{pdfpagemode}%
+  \Hy@DisableOption{pdfstartview}%
+  \Hy@DisableOption{pdfstartpage}%
+  \Hy@DisableOption{pdftoolbar}%
+  \Hy@DisableOption{pdfmenubar}%
+  \Hy@DisableOption{pdfwindowui}%
+  \Hy@DisableOption{pdffitwindow}%
+  \Hy@DisableOption{pdfcenterwindow}%
+  \Hy@DisableOption{pdfpagelayout}%
+  \Hy@DisableOption{baseurl}%
+  \ifHy@texht\else\hyper@anchorstart{Doc-Start}\hyper@anchorend\fi
+  \Hy@pdfstringfalse
+}
+\def\NoHyper{%
+  \def\hyper@link@[##1]##2##3##4{##4}%
+  \def\hyper@@anchor##1{}%
+  \global\let\hyper@livelink\hyper@link
+  \gdef\hyper@link##1##2##3{##3}%
+  \def\hyper@anchorstart##1{}%
+  \let\hyper@anchorend\@empty
+  \def\hyper@linkstart##1##2{}%
+  \let\hyper@linkend\@empty
+  \def\hyper@linkurl##1##2{##1}%
+  \def\hyper@linkfile##1##2##3{##1}%
+  \let\Hy@backout\@gobble
+}
+\def\stop@hyper{%
+  \def\hyper@link@[##1]##2##3##4{##4}%
+  \let\Hy@backout\@gobble
+  \def\hyper@@anchor##1{}%
+  \def\hyper@link##1##2##3{##3}%
+  \def\hyper@anchorstart##1{}%
+  \let\hyper@anchorend\@empty
+  \def\hyper@linkstart##1##2{}%
+  \let\hyper@linkend\@empty
+  \def\hyper@linkurl##1##2{##1}%
+  \def\hyper@linkfile##1##2##3{##1}%
+}
+\def\endNoHyper{%
+  \global\let\hyper@link\hyper@livelink
+}
+\AfterBeginDocument{%
+  \if@filesw
+   \ifHy@typexml
+     \immediate\closeout\@mainaux
+     \immediate\openout\@mainaux\jobname.aux
+     \immediate\write\@auxout{<relaxxml>\relax}%
+   \fi
+   \immediate\write\@auxout{%
+      \string\ifx\string\hyper@anchor\string\@undefined^^J%
+        \global\let\string\oldcontentsline\string\contentsline^^J%
+        \gdef\string\contentsline%
+          \string#1\string#2\string#3\string#4{%
+          \string\oldcontentsline%
+            {\string#1}{\string#2}{\string#3}}^^J%
+        \global\let\string\oldnewlabel\string\newlabel^^J%
+        \gdef\string\newlabel\string#1\string#2{%
+           \string\newlabelxx{\string#1}\string#2}^^J%
+        \gdef\string\newlabelxx%
+           \string#1\string#2\string#3\string#4\string#5\string#6{%
+           \string\oldnewlabel{\string#1}{{\string#2}{\string#3}}}^^J%
+        \string\AtEndDocument{%
+          \let\string\contentsline\string\oldcontentsline^^J%
+          \let\string\newlabel\string\oldnewlabel}^^J%
+      \string\else^^J%
+        \global\let\string\hyper@last\relax^^J%
+      \string\fi^^J%
+    }%
+  \fi
+  \ifx\hyper@last\@undefined
+    \def\@starttoc#1{%
+      \begingroup
+        \makeatletter
+        \IfFileExists{\jobname.#1}{%
+          \Hy@WarningNoLine{%
+            old #1 file detected, not used; run LaTeX again%
+          }%
+        }{}%
+        \if@filesw
+          \expandafter\newwrite\csname tf@#1\endcsname
+          \immediate\openout\csname tf@#1\endcsname \jobname.#1\relax
+        \fi
+        \@nobreakfalse
+      \endgroup
+    }%
+    \def\newlabel#1#2{\@newl@bel r{#1}{#2{}{}{}{}}}%
+  \fi
+}
+\ifHy@pagelabels
+  \def\thispdfpagelabel#1{%
+    \gdef\HyPL@thisLabel{#1}%
+  }
+  \global\let\HyPL@thisLabel\relax
+  \def\HyPL@Labels{}
+  \newcount\Hy@abspage
+  \Hy@abspage=0
+  \def\HyPL@LastType{init}%
+  \def\HyPL@LastNumber{0}%
+  \def\HyPL@LastPrefix{}%
+  \def\HyPL@arabic{D}%
+  \def\HyPL@Roman{R}%
+  \def\HyPL@roman{r}%
+  \def\HyPL@Alph{A}%
+  \def\HyPL@alph{a}%
+  \def\HyPL@EveryPage{%
+    \begingroup
+      \ifx\HyPL@thisLabel\relax
+        \let\HyPL@page\thepage
+      \else
+        \let\HyPL@page\HyPL@thisLabel
+        \global\let\HyPL@thisLabel\relax
+      \fi
+      \let\HyPL@Type\relax
+      \ifnum\the\c@page>0
+        \expandafter\HyPL@CheckThePage\HyPL@page\@nil
+      \fi
+      \let\Hy@temp Y%
+      \ifx\HyPL@Type\HyPL@LastType
+      \else
+        \let\Hy@temp N%
+      \fi
+      \ifx\HyPL@Type\relax
+         \pdfstringdef\HyPL@Prefix{\HyPL@page}%
+      \else
+         \pdfstringdef\HyPL@Prefix\HyPL@Prefix
+      \fi
+      \ifx\HyPL@Prefix\HyPL@LastPrefix
+      \else
+        \let\Hy@temp N%
+      \fi
+      \if Y\Hy@temp
+        \advance\c@page by -1
+        \ifnum\HyPL@LastNumber=\the\c@page\relax
+        \else
+          \let\Hy@temp N%
+        \fi
+        \Hy@StepCount\c@page
+      \fi
+      \if N\Hy@temp
+        \ifx\HyPL@Type\relax
+          \HyPL@StorePageLabel{/P (\HyPL@Prefix)}%
+        \else
+          \HyPL@StorePageLabel{%
+            \ifx\HyPL@Prefix\@empty
+            \else
+              /P (\HyPL@Prefix)
+            \fi
+            /S /\csname HyPL\HyPL@Type\endcsname
+            \ifnum\the\c@page=1
+            \else
+              \space/St \the\c@page
+            \fi
+          }%
+        \fi
+      \fi
+      \xdef\HyPL@LastNumber{\the\c@page}%
+      \global\let\HyPL@LastType\HyPL@Type
+      \global\let\HyPL@LastPrefix\HyPL@Prefix
+    \endgroup
+    \Hy@GlobalStepCount\Hy@abspage
+  }
+  \def\HyPL@CheckThePage#1\@nil{%
+    \HyPL@@CheckThePage{#1}#1\csname\endcsname\c@page\@nil
+  }
+  \def\HyPL@@CheckThePage#1#2\csname#3\endcsname\c@page#4\@nil{%
+    \def\Hy@tempa{#4}%
+    \def\Hy@tempb{\csname\endcsname\c@page}%
+    \ifx\Hy@tempa\Hy@tempb
+      \expandafter\ifx\csname HyPL#3\endcsname\relax
+      \else
+        \def\HyPL@Type{#3}%
+        \def\HyPL@Prefix{#2}%
+      \fi
+    \else
+      \begingroup
+        \let\Hy@next\endgroup
+        \let\HyPL@found\@undefined
+        \def\arabic{\HyPL@Format{arabic}}%
+        \def\Roman{\HyPL@Format{Roman}}%
+        \def\roman{\HyPL@Format{roman}}%
+        \def\Alph{\HyPL@Format{Alph}}%
+        \def\alph{\HyPL@Format{alph}}%
+        \protected@edef\Hy@temp{#1}%
+        \ifx\HyPL@found\relax
+          \toks@\expandafter{\Hy@temp}%
+          \edef\Hy@next{\endgroup
+            \noexpand\HyPL@@@CheckThePage\the\toks@
+               \noexpand\HyPL@found\relax\noexpand\@nil
+          }%
+        \fi
+      \Hy@next
+    \fi
+  }
+  \def\HyPL@Format#1#2{%
+    \ifx\HyPL@found\@undefined
+      \expandafter\ifx\csname c@#2\endcsname\c@page
+        \expandafter\noexpand\csname HyPL@found\endcsname{#1}%
+      \else
+        \expandafter\noexpand\csname#1\endcsname{#2}%
+      \fi
+    \else
+      \expandafter\noexpand\csname#1\endcsname{#2}%
+    \fi
+  }
+  \def\HyPL@@@CheckThePage#1\HyPL@found#2#3\@nil{%
+    \def\Hy@tempa{#3}%
+    \def\Hy@tempb{\HyPL@found\relax}%
+    \ifx\Hy@tempa\Hy@tempb
+      \def\HyPL@Type{@#2}%
+      \def\HyPL@Prefix{#1}%
+    \fi
+  }
+  \providecommand*{\HyPL@StorePageLabel}[1]{}
+  \def\HyPL@Useless{0 << /S /D >> }%
+  \def\HyPL@SetPageLabels{%
+    \ifx\HyPL@Labels\@empty
+    \else
+      \ifx\HyPL@Labels\HyPL@Useless
+      \else
+        \Hy@PutCatalog{/PageLabels << /Nums [\HyPL@Labels] >>}%
+      \fi
+    \fi
+  }
+\else
+  \let\HyPL@EveryPage\@empty
+\fi
+\Hy@DisableOption{pdfpagelabels}
+\MaybeStopEarly
+\newcommand\theHequation{\theHsection.\arabic{equation}}
+\@ifundefined{thepart}{}{\newcommand\theHpart{\arabic{part}}}
+\@ifundefined{thechapter}{%
+  \newcommand\theHsection    {\arabic{section}}
+  \newcommand\theHfigure     {\arabic{figure}}
+  \newcommand\theHtable      {\arabic{table}}
+}{%
+  \newcommand\theHchapter    {\arabic{chapter}}
+  \newcommand\theHfigure     {\theHchapter.\arabic{figure}}
+  \newcommand\theHtable      {\theHchapter.\arabic{table}}
+  \newcommand\theHsection    {\theHchapter.\arabic{section}}
+}
+\newcommand\theHsubsection   {\theHsection.\arabic{subsection}}
+\newcommand\theHsubsubsection{\theHsubsection.\arabic{subsubsection}}
+\newcommand\theHparagraph    {\theHsubsubsection.\arabic{paragraph}}
+\newcommand\theHsubparagraph {\theHparagraph.\arabic{subparagraph}}
+\newcommand\theHtheorem      {\theHsection.\arabic{theorem}}
+\newcommand\theHthm          {\theHsection.\arabic{thm}}
+\let\H@item\item
+\newcounter{Item}
+\def\theHItem{\arabic{Item}}
+\def\item{%
+  \@hyper@itemfalse
+  \if@nmbrlist\@hyper@itemtrue\fi
+  \H@item
+}
+\newcommand\theHenumi     {\theHItem}
+\newcommand\theHenumii    {\theHItem}
+\newcommand\theHenumiii   {\theHItem}
+\newcommand\theHenumiv    {\theHItem}
+\newcommand\theHHfootnote {\arabic{Hfootnote}}
+\newcommand\theHmpfootnote{\arabic{mpfootnote}}
+\let\theHHmpfootnote\theHHfootnote
+\let\H@refstepcounter\refstepcounter
+\edef\name@of@eq{equation}%
+\edef\name@of@slide{slide}%
+\newif\if@hyper@item
+\newif\if@skiphyperref
+\@hyper@itemfalse
+\@skiphyperreffalse
+\def\refstepcounter#1{%
+  \H@refstepcounter{#1}%
+  \edef\This@name{#1}%
+  \ifx\This@name\name@of@slide
+  \else
+    \if@skiphyperref
+    \else
+      \if@hyper@item
+        \stepcounter{Item}%
+        \hyper@refstepcounter{Item}%
+      \else
+        \hyper@refstepcounter{#1}%
+      \fi
+    \fi
+  \fi
+}
+\@ifpackageloaded{amsmath}{}{\newif\ifmeasuring@\measuring@false}
+\def\hyper@refstepcounter#1{%
+  \edef\This@name{#1}%
+  \ifx\This@name\name@of@eq
+    \make@stripped@name{\theequation}%
+    \let\theHequation\newname
+  \fi
+  \@ifundefined{theH#1}{%
+    \expandafter\def\csname theH#1\endcsname{\arabic{#1}}%
+  }{}%
+  \hyper@makecurrent{#1}%
+  \ifmeasuring@
+  \else
+    \Hy@raisedlink{%
+      \hyper@anchorstart{\@currentHref}\hyper@anchorend
+    }%
+  \fi
+}
+\def\Hy@chapterstring{chapter}
+\def\Hy@appendixstring{appendix}
+\def\Hy@chapapp{\Hy@chapterstring}
+\let\Hy@org@appendix\appendix
+\def\appendix{%
+  \Hy@org@appendix
+  \@ifundefined{chapter}%
+    {\gdef\theHsection{\Alph{section}}}%
+    {\gdef\theHchapter{\Alph{chapter}}}%
+  \xdef\Hy@chapapp{\Hy@appendixstring}%
+}
+\def\hyper@makecurrent#1{%
+  \begingroup
+    \edef\Hy@param{#1}%
+    \ifx\Hy@param\Hy@chapterstring
+      \let\Hy@param\Hy@chapapp
+    \fi
+    \ifHy@hypertexnames
+      \ifHy@naturalnames
+        \let\textlatin\@firstofone
+        \xdef\@currentHlabel{\csname the#1\endcsname}%
+      \else
+        \xdef\@currentHlabel{\csname theH#1\endcsname}%
+      \fi
+      \xdef\@currentHref{%
+        \Hy@param.\expandafter\strip@prefix\meaning\@currentHlabel
+      }%
+    \else
+      \Hy@GlobalStepCount\Hy@linkcounter
+      \xdef\@currentHref{\Hy@param.\the\Hy@linkcounter}%
+    \fi
+  \endgroup
+}
+\@ifpackageloaded{fancyvrb}{%
+  \def\FV@StepLineNo{%
+    \FV@SetLineNo
+    \def\FV@StepLineNo{\H@refstepcounter{FancyVerbLine}}%
+    \FV@StepLineNo
+  }%
+}{}
+\AtBeginDocument{%
+  \@ifpackageloaded{lastpage}{%
+    \ifHy@pageanchor
+    \else
+      \Hy@WarningNoLine{%
+        The \string\pageref{LastPage} link doesn't work\MessageBreak
+        with disabled option `pageanchor'%
+      }%
+    \fi
+    \def\lastpage@putlabel{%
+      \addtocounter{page}{-1}%
+      \if@filesw
+        \begingroup
+          \ifHy@pageanchor
+            \ifHy@hypertexnames
+              \ifHy@plainpages
+                \def\Hy@temp{\arabic{page}}%
+              \else
+                \let\textlatin\@firstofone
+                \edef\Hy@temp{\thepage}%
+              \fi
+            \else
+              \def\Hy@temp{\the\Hy@pagecounter}%
+            \fi
+          \fi
+          \immediate\write\@auxout{%
+            \string\newlabel
+              {LastPage}{{}{\thepage}{}{%
+                \ifHy@pageanchor page.\Hy@temp\fi}{}}%
+          }%
+        \endgroup
+      \fi
+      \addtocounter{page}{1}%
+    }%
+  }{}%
+}
+\newcommand*{\hypergetpageref}[1]{%
+  \expandafter\Hy@getpageref\csname r@#1\endcsname{#1}%
+}
+\def\Hy@getpageref#1#2{%
+  \ifx#1\relax
+    0%
+    \protect\G@refundefinedtrue
+    \@latex@warning{Reference `#2' on page \thepage\space
+      undefined%
+    }%
+  \else
+    \expandafter\Hy@GetSecondArg#1\@nil
+  \fi
+}
+\long\def\Hy@GetSecondArg#1#2#3\@nil{#2}
+\newcommand*{\hypergetref}[1]{%
+  \expandafter\Hy@getref\csname r@#1\endcsname{#1}%
+}
+\def\Hy@getref#1#2{%
+  \ifx#1\relax
+    ??%
+    \protect\G@refundefinedtrue
+    \@latex@warning{Reference `#2' on page \thepage\space
+      undefined%
+    }%
+  \else
+    \expandafter\@car#1\@nil
+  \fi
+}
+\@ifpackageloaded{ifthen}{%
+  \let\HyOrg@ifthenelse\ifthenelse
+  \def\ifthenelse{%
+    \let\begingroup\Hy@TE@begingroup
+    \HyOrg@ifthenelse
+  }%
+  \let\HyOrg@begingroup\begingroup
+  \def\Hy@TE@begingroup{%
+    \let\begingroup\HyOrg@begingroup
+    \begingroup
+    \let\ref\hypergetref
+    \let\pageref\hypergetpageref
+  }%
+}{}
+\@ifpackageloaded{titlesec}{%
+  \def\ttl@Hy@steplink#1{%
+    \Hy@GlobalStepCount\Hy@linkcounter
+    \xdef\@currentHref{#1*.\the\Hy@linkcounter}%
+    \def\ttl@Hy@saveanchor{%
+      \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+    }%
+  }%
+  \def\ttl@Hy@refstepcounter#1{%
+    \let\ttl@b\Hy@raisedlink
+    \def\Hy@raisedlink##1{\def\ttl@Hy@saveanchor{\Hy@raisedlink{##1}}}%
+    \refstepcounter{#1}%
+    \let\Hy@raisedlink\ttl@b
+  }%
+}{}
+\@ifpackageloaded{titletoc}{%
+  \def\ttl@gobblecontents#1#2#3#4{\ignorespaces}%
+}{}
+\let\new@refstepcounter\refstepcounter
+\let\H@equation\equation
+\let\H@endequation\endequation
+\@ifpackageloaded{amsmath}{}{%
+  \def\equation{%
+  \let\refstepcounter\H@refstepcounter
+  \H@equation
+  \make@stripped@name{\theequation}%
+  \let\theHequation\newname
+  \hyper@makecurrent{equation}%
+  \Hy@raisedlink{\hyper@anchorstart{\@currentHref}}%
+  \let\refstepcounter\new@refstepcounter}%
+  \def\endequation{\Hy@raisedlink{\hyper@anchorend}\H@endequation}%
+}
+\newif\if@eqnstar
+\@eqnstarfalse
+\let\H@eqnarray\eqnarray
+\let\H@endeqnarray\endeqnarray
+\def\eqnarray{%
+  \let\Hy@reserved@a\relax
+  \def\@currentHref{}%
+  \H@eqnarray
+  \if@eqnstar
+  \else
+    \ifx\\\@currentHref\\%
+    \else
+      \make@stripped@name{\theequation}%
+      \let\theHequation\newname
+      \hyper@makecurrent{equation}%
+      \hyper@anchorstart{\@currentHref}{}\hyper@anchorend
+    \fi
+  \fi
+}
+\def\endeqnarray{%
+  \H@endeqnarray
+}
+\@namedef{eqnarray*}{%
+  \def\@eqncr{\nonumber\@seqncr}\@eqnstartrue\eqnarray
+}
+\@namedef{endeqnarray*}{%
+  \nonumber\endeqnarray\@eqnstarfalse
+}
+\@ifundefined{subeqnarray}{}{%
+  \let\H@subeqnarray\subeqnarray
+  \let\H@endsubeqnarray\endsubeqnarray
+  \def\subeqnarray{%
+    \let\Hy@reserved@a\relax
+    \H@subeqnarray
+    \make@stripped@name{\theequation}%
+    \let\theHequation\newname
+    \hyper@makecurrent{equation}%
+    \hyper@anchorstart{\@currentHref}{}\hyper@anchorend
+  }%
+  \def\endsubeqnarray{%
+    \H@endsubeqnarray
+  }%
+  \newcommand\theHsubequation{\theHequation\alph{subequation}}%
+}
+\def\make@stripped@name#1{%
+  \begingroup
+    \escapechar\m@ne
+    \global\let\newname\@empty
+    \protected@edef\Hy@tempa{#1}%
+    \edef\@tempb{%
+      \noexpand\@tfor\noexpand\Hy@tempa:=%
+        \expandafter\strip@prefix\meaning\Hy@tempa
+    }%
+    \@tempb\do{%
+      \if{\Hy@tempa\else
+        \if}\Hy@tempa\else
+          \xdef\newname{\newname\Hy@tempa}%
+        \fi
+      \fi
+    }%
+  \endgroup
+}
+\@ifpackageloaded{tabularx}{\Hy@hyperfootnotesfalse}{}
+\ifHy@hyperfootnotes
+  \newcounter{Hfootnote}
+  \let\H@@footnotetext\@footnotetext
+  \let\H@@footnotemark\@footnotemark
+  \def\@xfootnotenext[#1]{%
+    \begingroup
+      \csname c@\@mpfn\endcsname #1\relax
+      \unrestored@protected@xdef\@thefnmark{\thempfn}%
+    \endgroup
+    \ifx\@footnotetext\@mpfootnotetext
+      \expandafter\H@@mpfootnotetext
+    \else
+      \expandafter\H@@footnotetext
+    \fi
+  }%
+  \def\@xfootnotemark[#1]{%
+    \begingroup
+      \c@footnote #1\relax
+      \unrestored@protected@xdef\@thefnmark{\thefootnote}%
+    \endgroup
+    \H@@footnotemark
+  }%
+  \let\H@@mpfootnotetext\@mpfootnotetext
+  \long\def\@mpfootnotetext#1{%
+    \H@@mpfootnotetext{%
+      \ifHy@nesting
+        \hyper@@anchor{\@currentHref}{#1}%
+      \else
+        \Hy@raisedlink{\hyper@@anchor{\@currentHref}{\relax}}#1%
+      \fi
+    }%
+  }%
+  \long\def\@footnotetext#1{%
+    \H@@footnotetext{%
+      \ifHy@nesting
+        \hyper@@anchor{\@currentHref}{#1}%
+      \else
+        \Hy@raisedlink{\hyper@@anchor{\@currentHref}{\relax}}#1%
+      \fi
+    }%
+  }%
+  \def\@footnotemark{%
+    \leavevmode
+    \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
+    \H@refstepcounter{Hfootnote}%
+    \hyper@makecurrent{Hfootnote}%
+    \hyper@linkstart{link}{\@currentHref}%
+    \@makefnmark
+    \hyper@linkend
+    \ifhmode\spacefactor\@x@sf\fi
+    \relax
+  }%
+  \let\HyOrg@maketitle\maketitle
+  \def\maketitle{%
+    \let\Hy@saved@footnotemark\@footnotemark
+    \let\Hy@saved@footnotetext\@footnotetext
+    \let\@footnotemark\H@@footnotemark
+    \let\@footnotetext\H@@footnotetext
+    \HyOrg@maketitle
+    \ifx\@footnotemark\H@@footnotemark
+      \let\@footnotemark\Hy@saved@footnotemark
+    \fi
+    \ifx\@footnotetext\H@@footnotetext
+      \let\@footnotetext\Hy@saved@footnotetext
+    \fi
+  }%
+  \def\realfootnote{%
+    \@ifnextchar[\@xfootnote{%
+      \stepcounter{\@mpfn}%
+      \protected@xdef\@thefnmark{\thempfn}%
+      \H@@footnotemark\H@@footnotetext
+    }%
+  }%
+\fi
+\Hy@DisableOption{hyperfootnotes}
+\def\caption{%
+  \ifx\@captype\@undefined
+    \@latex@error{\noexpand\caption outside float}\@ehd
+    \expandafter\@gobble
+  \else
+    \H@refstepcounter\@captype
+    \expandafter\@firstofone
+  \fi
+  {\@dblarg{\@caption\@captype}}%
+}
+\long\def\@caption#1[#2]#3{%
+  \hyper@makecurrent{\@captype}%
+  \par\addcontentsline{\csname ext@#1\endcsname}{#1}{%
+    \protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}%
+  }%
+  \begingroup
+    \@parboxrestore
+    \if@minipage
+      \@setminipage
+    \fi
+    \normalsize
+    \@makecaption{\csname fnum@#1\endcsname}{%
+      \ignorespaces
+      \ifHy@nesting
+        \hyper@@anchor{\@currentHref}{#3}%
+      \else
+        \hyper@@anchor{\@currentHref}{\relax}#3%
+      \fi
+    }%
+    \par
+  \endgroup
+}
+\def\hyper@natlinkstart#1{%
+  \Hy@backout{#1}%
+  \hyper@linkstart{cite}{cite.#1}%
+  \def\hyper@nat@current{#1}%
+}
+\def\hyper@natlinkend{%
+  \hyper@linkend
+}
+\def\hyper@natlinkbreak#1#2{%
+  \hyper@linkend#1\hyper@linkstart{cite}{cite.#2}%
+}
+\def\hyper@natanchorstart#1{%
+  \hyper@anchorstart{cite.#1}%
+}
+\def\hyper@natanchorend{\hyper@anchorend}
+\@ifundefined{NAT@parse}{%
+  \def\bibcite#1#2{%
+    \@newl@bel{b}{#1}{\hyper@@link[cite]{}{cite.#1}{#2}}%
+  }%
+    \let\Hy@bibcite\bibcite
+    \begingroup
+      \@ifundefined{bbl@cite@choice}{}{%
+        \g@addto@macro\bbl@cite@choice{%
+          \let\bibcite\Hy@bibcite
+        }%
+      }%
+    \endgroup
+  \providecommand{\@BIBLABEL}{\@biblabel}%
+  \def\@lbibitem[#1]#2{%
+    \@skiphyperreftrue
+    \H@item[\hyper@anchorstart{cite.#2}%
+    \@BIBLABEL{#1}\hyper@anchorend\hfill]%
+    \@skiphyperreffalse
+    \if@filesw
+      \begingroup
+        \let\protect\noexpand
+        \immediate\write\@auxout{%
+          \string\bibcite{#2}{#1}%
+        }%
+      \endgroup
+    \fi
+    \ignorespaces
+  }%
+  \def\@bibitem#1{%
+    \@skiphyperreftrue\H@item\@skiphyperreffalse
+    \hyper@anchorstart{cite.#1}\relax\hyper@anchorend
+    \if@filesw
+      \begingroup
+        \let\protect\noexpand
+        \immediate\write\@auxout{%
+          \string\bibcite{#1}{\the\value{\@listctr}}%
+        }%
+      \endgroup
+    \fi
+    \ignorespaces
+  }%
+}{}
+\@ifclassloaded{revtex}{%
+  \Hy@Info{*** compatibility with revtex **** }%
+  \def\revtex@checking#1#2{%
+    \expandafter\let\expandafter\T@temp\csname b@#1\endcsname
+    \expandafter\def\csname b@#1\endcsname{#2}%
+    \@SetMaxRnhefLabel{#1}%
+    \expandafter\let\csname b@#1\endcsname\T@temp
+  }%
+  \@ifundefined{@CITE}{\def\@CITE{\@cite}}{}%
+  \def\@CITEX[#1]#2{%
+    \let\@citea\@empty
+    \leavevmode
+    \unskip
+    $^{%
+      \scriptstyle
+      \@CITE{%
+        \@for\@citeb:=#2\do{%
+          \@citea
+          \def\@citea{,\penalty\@m\ }%
+          \edef\@citeb{\expandafter\@firstofone\@citeb}%
+          \if@filesw
+            \immediate\write\@auxout{\string\citation{\@citeb}}%
+          \fi
+          \@ifundefined{b@\@citeb}{%
+            \mbox{\reset@font\bfseries ?}%
+            \G@refundefinedtrue
+            \@latex@warning{%
+              Citation `\@citeb' on page \thepage \space undefined%
+            }%
+          }{%
+            {\csname b@\@citeb\endcsname}%
+          }%
+        }%
+      }{#1}%
+    }$%
+  }%
+  \def\@citex[#1]#2{%
+    \let\@citea\@empty
+    \@cite{%
+      \@for\@citeb:=#2\do{%
+        \@citea
+        \def\@citea{,\penalty\@m\ }%
+        \edef\@citeb{\expandafter\@firstofone\@citeb}%
+        \if@filesw
+          \immediate\write\@auxout{\string\citation{\@citeb}}%
+        \fi
+        \@ifundefined{b@\@citeb}{%
+          \mbox{\reset@font\bfseries ?}%
+          \G@refundefinedtrue
+          \@latex@warning{%
+            Citation `\@citeb' on page \thepage \space undefined%
+          }%
+        }{%
+          \hbox{\csname b@\@citeb\endcsname}%
+        }%
+      }%
+    }{#1}%
+  }%
+}{}
+\@ifpackageloaded{harvard}{%
+  \Hy@Info{*** compatibility with harvard **** }%
+  \Hy@raiselinksfalse
+  \def\harvardcite#1#2#3#4{%
+    \global\@namedef{HAR@fn@#1}{\hyper@@link[cite]{}{cite.#1}{#2}}%
+    \global\@namedef{HAR@an@#1}{\hyper@@link[cite]{}{cite.#1}{#3}}%
+    \global\@namedef{HAR@yr@#1}{\hyper@@link[cite]{}{cite.#1}{#4}}%
+    \global\@namedef{HAR@df@#1}{\csname HAR@fn@#1\endcsname}%
+  }%
+  \def\HAR@citetoaux#1{%
+    \if@filesw\immediate\write\@auxout{\string\citation{#1}}\fi%
+    \ifHy@backref
+      \ifx\@empty\@currentlabel
+      \else
+        \@bsphack
+        \protected@write\@auxout{}{%
+          \string\@writefile{brf}{%
+            \string\backcite{#1}{%
+              {\thepage}{\@currentlabel}{\@currentHref}%
+            }%
+          }%
+        }%
+        \@esphack
+      \fi
+    \fi
+  }%
+  \def\harvarditem{%
+    \@ifnextchar[{\@harvarditem}{\@harvarditem[\null]}%
+  }%
+  \def\@harvarditem[#1]#2#3#4#5\par{%
+    \item[]%
+    \hyper@anchorstart{cite.#4}\relax\hyper@anchorend
+    \if@filesw
+      \begingroup
+        \def\protect##1{\string ##1\space}%
+        \ifthenelse{\equal{#1}{\null}}%
+          {\def\next{{#4}{#2}{#2}{#3}}}%
+          {\def\next{{#4}{#2}{#1}{#3}}}%
+        \immediate\write\@auxout{\string\harvardcite\codeof\next}%
+     \endgroup
+    \fi
+    \protect\hspace*{-\labelwidth}%
+    \protect\hspace*{-\labelsep}%
+    \ignorespaces
+    #5%
+    \ifHy@backref
+      \newblock
+      \backref{\csname br@#4\endcsname}%
+    \fi
+    \par
+  }%
+  \long\def\HAR@checkcitations#1#2#3#4{%
+    \def\HAR@tempa{\hyper@@link[cite]{}{cite.#1}{#2}}%
+    \expandafter\ifx\csname HAR@fn@#1\endcsname\HAR@tempa
+      \def\HAR@tempa{\hyper@@link[cite]{}{cite.#1}{#3}}%
+      \expandafter\ifx\csname HAR@an@#1\endcsname\HAR@tempa
+        \def\HAR@tempa{\hyper@@link[cite]{}{cite.#1}{#4}}%
+        \expandafter\ifx\csname HAR@yr@#1\endcsname\HAR@tempa
+        \else
+          \@tempswatrue
+        \fi
+      \else
+        \@tempswatrue
+      \fi
+    \else
+      \@tempswatrue
+    \fi
+  }%
+}{}
+\@ifpackageloaded{chicago}{%
+  \def\citeN{%
+    \def\@citeseppen{-1000}%
+    \def\@cite##1##2{##1}%
+    \def\citeauthoryear##1##2##3{##1 (##3\@cite@opt)}%
+    \@citedata@opt
+  }%
+  \def\shortciteN{%
+    \def\@citeseppen{-1000}%
+    \def\@cite##1##2{##1}%
+    \def\citeauthoryear##1##2##3{##2 (##3\@cite@opt)}%
+    \@citedata@opt
+  }%
+  \def\@citedata@opt{%
+    \let\@cite@opt\@empty
+    \@ifnextchar [{%
+      \@tempswatrue
+      \@citedatax@opt
+    }{%
+      \@tempswafalse
+      \@citedatax[]%
+    }%
+  }%
+  \def\@citedatax@opt[#1]{%
+    \def\@cite@opt{, #1}%
+    \@citedatax[{#1}]%
+  }
+}{}
+\def\@begindvi{%
+  \unvbox \@begindvibox
+  \Hy@begindvi
+  \global\let\@begindvi\Hy@begindvi
+}
+\def\Hy@begindvi{%
+  \ifHy@pageanchor
+    \@hyperfixhead
+  \fi
+  \HyPL@EveryPage
+}
+\def\pagenumbering#1{%
+  \global\c@page \@ne
+  \gdef\thepage{\csname @#1\endcsname\c@page}%
+}
+\let\HYPERPAGEANCHOR\hyperpageanchor
+\providecommand\hyper@pagetransition{}
+\providecommand\hyper@pageduration{}
+\providecommand\hyper@pagehidden{}
+\def\@hyperfixhead{%
+  \ifHy@hypertexnames
+    \ifHy@plainpages
+      \gdef\Hy@TempPageAnchor{\hyper@@anchor{page.\arabic{page}}}%
+    \else
+      \begingroup
+        \let\textlatin\@firstofone
+        \xdef\@the@H@page{\thepage}%
+      \endgroup
+      \gdef\Hy@TempPageAnchor{\hyper@@anchor{page.\@the@H@page}}%
+    \fi
+  \else
+    \Hy@GlobalStepCount\Hy@pagecounter
+    \gdef\Hy@TempPageAnchor{\hyper@@anchor{page.\the\Hy@pagecounter}}%
+  \fi
+  \let\H@old@thehead\@thehead
+  \if^\@thehead^%
+    \def\H@old@thehead{\hfil}%
+  \fi
+  \ifHy@texht
+    \def\@thehead{}%
+  \else
+    \ifHy@seminarslides
+      \begingroup
+        \let\leavevmode\relax
+        \Hy@TempPageAnchor\relax
+        \hyper@pagetransition
+        \hyper@pageduration
+        \hyper@pagehidden
+      \endgroup
+    \else
+      \def\@thehead{%
+        \Hy@TempPageAnchor\relax
+        \hyper@pagetransition
+        \hyper@pageduration
+        \hyper@pagehidden
+        \H@old@thehead
+      }%
+    \fi
+  \fi
+  \ifx\PDF@FinishDoc\@empty
+  \else
+    \PDF@FinishDoc
+    \gdef\PDF@FinishDoc{}%
+  \fi
+}
+\begingroup\expandafter\expandafter\expandafter\endgroup
+\expandafter\ifx\csname chapter\endcsname\relax
+  \def\toclevel@part{0}
+\else
+  \def\toclevel@part{-1}
+\fi
+\def\toclevel@chapter{0}
+\def\toclevel@section{1}
+\def\toclevel@subsection{2}
+\def\toclevel@subsubsection{3}
+\def\toclevel@paragraph{4}
+\def\toclevel@subparagraph{5}
+\def\toclevel@figure{0}
+\def\toclevel@table{0}
+\@ifpackageloaded{listings}{%
+  \def\theHlstlisting{\thelstlisting}%
+  \def\toclevel@lstlisting{0}%
+}{}
+\@ifpackageloaded{listing}{%
+  \def\theHlisting{\thelisting}%
+  \def\toclevel@listing{0}%
+}{}
+\def\addcontentsline#1#2#3{% toc extension, type, tag
+  \begingroup
+    \let\label\@gobble
+    \let\textlatin\@firstofone
+    \ifx\@currentHref\@empty
+      \Hy@Warning{%
+        No destination for bookmark of \string\addcontentsline,%
+        \MessageBreak destination is added%
+      }%
+      \phantomsection
+    \fi
+    \expandafter\ifx\csname toclevel@#2\endcsname\relax
+      \Hy@WarningNoLine{bookmark level for unknown #2 defaults to 0}%
+      \def\Hy@toclevel{0}%
+    \else
+      \edef\Hy@toclevel{\csname toclevel@#2\endcsname}%
+    \fi
+    \Hy@writebookmark{\csname the#2\endcsname}%
+      {#3}%
+      {\@currentHref}%
+      {\Hy@toclevel}%
+      {#1}%
+    \ifHy@verbose
+      \typeout{pdftex: bookmark at \the\inputlineno:
+        {\csname the#2\endcsname}
+        {#3}
+        {\@currentHref}%
+        {\Hy@toclevel}%
+        {#1}%
+      }%
+    \fi
+    \addtocontents{#1}{%
+      \protect\contentsline{#2}{#3}{\thepage}{\@currentHref}%
+    }%
+  \endgroup
+}
+\def\contentsline#1#2#3#4{%
+  \ifx\\#4\\%
+    \csname l@#1\endcsname{#2}{#3}%
+  \else
+    \ifHy@linktocpage
+      \csname l@#1\endcsname{{#2}}{%
+        \hyper@linkstart{link}{#4}{#3}\hyper@linkend
+      }%
+    \else
+      \csname l@#1\endcsname{%
+        \hyper@linkstart{link}{#4}{#2}\hyper@linkend
+      }{#3}%
+    \fi
+  \fi
+}
+\let\H@definecounter\@definecounter
+\def\@definecounter#1{%
+  \H@definecounter{#1}%
+  \expandafter\def\csname theH#1\endcsname{\arabic{#1}}%
+}
+\let\H@newctr\@newctr
+\def\@newctr#1[#2]{%
+  \H@newctr#1[{#2}]%
+  \expandafter\def\csname theH#1\endcsname
+    {\csname the#2\endcsname.\arabic{#1}}%
+}
+\let\Hmake@df@tag@@\make@df@tag@@
+\def\make@df@tag@@#1{%
+  \Hmake@df@tag@@{#1}%
+  \Hy@GlobalStepCount\Hy@linkcounter
+  \xdef\@currentHref{AMS.\the\Hy@linkcounter}%
+  \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+}
+\let\Hmake@df@tag@@@\make@df@tag@@@
+\def\make@df@tag@@@#1{%
+  \Hmake@df@tag@@@{#1}%
+  \Hy@GlobalStepCount\Hy@linkcounter
+  \xdef\@currentHref{AMS.\the\Hy@linkcounter}%
+  \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+}
+\@ifpackagewith{hyperref}{pdftex}{%
+   \let\H@seteqlabel\@seteqlabel
+   \def\@seteqlabel#1{%
+     \H@seteqlabel{#1}%
+     \xdef\@currentHref{AMS.\the\Hy@linkcounter}%
+     \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+   }%
+}{}
+\@ifpackageloaded{amsmath}{%
+  \@ifpackagelater{amsmath}{1999/12/14}{%
+    \renewcommand*{\numberwithin}[3][\arabic]{%
+      \@ifundefined{c@#2}{\@nocounterr{#2}}{%
+        \@ifundefined{c@#3}{\@nocnterr{#3}}{%
+          \@addtoreset{#2}{#3}%
+          \@xp\xdef\csname the#2\endcsname{%
+            \@xp\@nx\csname the#3\endcsname .\@nx#1{#2}%
+          }%
+          \@xp\xdef\csname theH#2\endcsname{%
+            \@xp\@nx
+            \csname the\@ifundefined{theH#3}{}H#3\endcsname
+            .\@nx#1{#2}%
+          }%
+        }%
+      }%
+    }%
+  }{%
+    \Hy@WarningNoLine{%
+      \string\numberwithin\space of package `amsmath'
+      only fixed\MessageBreak
+      for version 2000/06/06 v2.12 or newer%
+    }%
+  }
+}{}
+\ifHy@figures
+  \let\Hy@Gin@setfile\Gin@setfile
+  \def\Gin@setfile#1#2#3{%
+    \hyperimage{#3}{\Hy@Gin@setfile{#1}{#2}{#3}}%
+  }
+\fi
+\Hy@DisableOption{hyperfigures}
+\ifHy@hyperindex
+  \def\HyInd@ParenLeft{(}%
+  \@ifpackageloaded{multind}{%
+    \let\HyInd@org@wrindex\@wrindex
+    \def\@wrindex#1#2{\HyInd@@wrindex{#1}#2||\\}%
+    \def\HyInd@@wrindex#1#2|#3|#4\\{%
+      \ifx\\#3\\%
+        \HyInd@org@wrindex{#1}{#2|hyperpage}%
+      \else
+        \def\Hy@temp@A{#3}%
+        \ifx\Hy@temp@A\HyInd@ParenLeft
+          \HyInd@org@wrindex{#1}{#2|#3hyperpage}%
+        \else
+          \HyInd@org@wrindex{#1}{#2|#3}%
+        \fi
+      \fi
+    }%
+  }{%
+    \def\@wrindex#1{\@@wrindex#1||\\}
+    \def\@@wrindex#1|#2|#3\\{%
+      \ifx\\#2\\%
+        \protected@write\@indexfile{}{%
+          \string\indexentry{#1|hyperpage}{\thepage}%
+        }%
+      \else
+        \def\Hy@temp@A{#2}%
+        \ifx\Hy@temp@A\HyInd@ParenLeft
+          \protected@write\@indexfile{}{%
+             \string\indexentry{#1|#2hyperpage}{\thepage}%
+          }%
+        \else
+          \protected@write\@indexfile{}{%
+            \string\indexentry{#1|#2}{\thepage}%
+          }%
+        \fi
+      \fi
+      \endgroup
+      \@esphack
+    }%
+  }%
+\fi
+\Hy@DisableOption{hyperindex}
+\def\hyperpage#1{\@hyperpage#1----\\}
+\def\@hyperpage#1--#2--#3\\{%
+  \ifx\\#2\\%
+    \@commahyperpage{#1}%
+  \else
+    \hyperlink{page.#1}{#1}--\hyperlink{page.#2}{#2}%
+  \fi
+}
+\def\@commahyperpage#1{\@@commahyperpage#1, ,\\}
+\def\@@commahyperpage#1, #2,#3\\{%
+  \ifx\\#2\\%
+    \hyperlink{page.#1}{#1}%
+  \else
+    \hyperlink{page.#1}{#1}, \hyperlink{page.#2}{#2}%
+  \fi
+}
+\@ifclassloaded{foils}{%
+  \providecommand*\ext@table{lot}%
+  \providecommand*\ext@figure{lof}%
+}{}
+\@ifclassloaded{seminar}{%
+  \Hy@seminarslidestrue\newcommand\theHslide{\arabic{slide}}%
+}{%
+  \Hy@seminarslidesfalse
+}
+\@ifpackageloaded{slidesec}{%
+  \newcommand\theHslidesection   {\arabic{slidesection}}%
+  \newcommand\theHslidesubsection{%
+    \theHslidesection.\arabic{slidesubsection}%
+  }%
+  \def\slide@heading[#1]#2{%
+    \H@refstepcounter{slidesection}%
+    \@addtoreset{slidesubsection}{slidesection}%
+    \addtocontents{los}{%
+      \protect\l@slide{\the\c@slidesection}{\ignorespaces#1}%
+        {\@SCTR}{slideheading.\theslidesection}%
+    }%
+    \def\Hy@tempa{#2}%
+    \ifx\Hy@tempa\@empty
+    \else
+      {%
+        \edef\@currentlabel{%
+          \csname p@slidesection\endcsname\theslidesection
+        }%
+        \makeslideheading{#2}%
+      }%
+    \fi
+    \gdef\theslideheading{#1}%
+    \gdef\theslidesubheading{}%
+    \ifHy@hypertexnames
+       \ifHy@naturalnames
+         \hyper@@anchor{slideheading.\theslidesection}{\relax}%
+         \Hy@writebookmark
+           {\theslidesection}%
+           {#1}%
+           {slideheading.\theslidesection}%
+           {1}%
+           {toc}%
+       \else
+         \hyper@@anchor{slideheading.\theHslidesection}{\relax}%
+         \Hy@writebookmark
+           {\theslidesection}%
+           {#1}%
+           {slideheading.\theHslidesection}%
+           {1}%
+           {toc}%
+       \fi
+    \else
+      \Hy@GlobalStepCount\Hy@linkcounter
+      \hyper@@anchor{slideheading.\the\Hy@linkcounter}{\relax}%
+      \Hy@writebookmark
+        {\theslidesection}%
+        {#1}%
+        {slideheading.\the\Hy@linkcounter}%
+        {1}%
+        {toc}%
+    \fi
+  }%
+  \def\slide@subheading[#1]#2{%
+    \H@refstepcounter{slidesubsection}%
+    \addtocontents{los}{%
+      \protect\l@subslide{\the\c@slidesubsection}{\ignorespaces#1}%
+        {\@SCTR}{slideheading.\theslidesubsection}%
+    }%
+    \def\Hy@tempa{#2}%
+    \ifx\Hy@tempa\@empty
+    \else
+      {%
+        \edef\@currentlabel{%
+          \csname p@slidesubsection\endcsname\theslidesubsection
+        }%
+        \makeslidesubheading{#2}%
+      }%
+    \fi
+    \gdef\theslidesubheading{#1}%
+    \ifHy@hypertexnames
+      \ifHy@naturalnames
+        \hyper@@anchor{slideheading.\theslidesubsection}{\relax}%
+        \Hy@writebookmark
+          {\theslidesubsection}%
+          {#1}%
+          {slideheading.\theslidesubsection}%
+          {2}%
+          {toc}%
+      \else
+        \hyper@@anchor{slideheading.\theHslidesubsection}{\relax}%
+        \Hy@writebookmark
+          {\theslidesubsection}%
+          {#1}%
+          {slideheading.\theHslidesubsection}%
+          {2}%
+          {toc}%
+      \fi
+    \else
+      \Hy@GlobalStepCount\Hy@linkcounter
+      \hyper@@anchor{slideheading.\the\Hy@linkcounter}{\relax}%
+      \Hy@writebookmark
+        {\theslidesubsection}%
+        {#1}%
+        {slideheading.\the\Hy@linkcounter}%
+        {1}%
+        {toc}%
+    \fi
+  }%
+  \providecommand{\listslidename}{List of Slides}%
+  \def\listofslides{%
+    \section*{%
+      \listslidename
+      \@mkboth{%
+        \expandafter\MakeUppercase\listslidename
+      }{%
+        \expandafter\MakeUppercase\listslidename
+      }%
+    }%
+    \def\l@slide##1##2##3##4{%
+      \slide@undottedcline{%
+        \slidenumberline{##3}{\hyperlink{##4}{##2}}%
+      }{}%
+    }%
+    \let\l@subslide\l@slide
+    \@startlos
+  }%
+  \def\slide@contents{%
+    \def\l@slide##1##2##3##4{%
+      \slide@cline{\slidenumberline{##3}{\hyperlink{##4}{##2}}}{##3}%
+    }%
+    \let\l@subslide\@gobblefour
+    \@startlos
+  }%
+  \def\Slide@contents{%
+    \def\l@slide##1##2##3##4{%
+      \ifcase\lslide@flag
+        \message{##1 ** \the\c@slidesection}%
+        \ifnum##1>\c@slidesection
+          \def\lslide@flag{1}%
+          {%
+            \large
+            \slide@cline{%
+              \slidenumberline{$\Rightarrow\bullet$}%
+                {\hyperlink{##4}{##2}}%
+            }{##3}%
+          }%
+        \else
+          {%
+            \large
+            \slide@cline{%
+              \slidenumberline{$\surd\;\bullet$}%
+                {\hyperlink{##4}{##2}}%
+            }{##3}%
+          }%
+        \fi
+      \or
+        \def\lslide@flag{2}%
+        {%
+          \large
+          \slide@cline{%
+            \slidenumberline{$\bullet$}%
+              {\hyperlink{##4}{##2}}%
+          }{##3}%
+        }%
+      \or
+        {%
+          \large
+          \slide@cline{%
+            \slidenumberline{$\bullet$}%
+             {\hyperlink{##4}{##2}}%
+          }{##3}%
+        }%
+      \fi
+    }%
+    \def\l@subslide##1##2##3##4{%
+      \ifnum\lslide@flag=1
+        \@undottedtocline{2}{3.8em}{3.2em}{\hyperlink{##4}{##2}}{}%
+      \fi
+    }%
+    \def\lslide@flag{0}%
+    \@startlos
+  }%
+}{}
+\ifHy@texht\endinput\fi
+\let\real@setref\@setref
+\def\@setref#1#2#3{% csname, extract group, refname
+  \ifx#1\relax
+    \protect\G@refundefinedtrue
+    \nfss@text{\reset@font\bfseries ??}%
+    \@latex@warning{%
+      Reference `#3' on page \thepage \space undefined%
+    }%
+  \else
+    \hyper@@link
+      {\expandafter\@fifthoffive#1}%
+      {\expandafter\@fourthoffive#1\@empty\@empty}%
+      {\expandafter#2#1\@empty\@empty\null}%
+  \fi
+}
+\def\@pagesetref#1#2#3{% csname, extract macro, ref
+  \ifx#1\relax
+    \protect\G@refundefinedtrue
+    \nfss@text{\reset@font\bfseries ??}%
+    \@latex@warning{%
+      Reference `#3' on page \thepage \space undefined%
+    }%
+  \else
+    \protect\hyper@@link
+      {\expandafter\@fifthoffive#1}%
+      {page.\expandafter\@secondoffive#1}%
+      {\expandafter\@secondoffive#1}%
+  \fi
+}
+\def\@refstar#1{%
+  \@safe@activestrue
+  \expandafter\real@setref\csname r@#1\endcsname\@firstoffive{#1}%
+  \@safe@activesfalse
+}
+\def\@pagerefstar#1{%
+  \@safe@activestrue
+  \expandafter\real@setref\csname r@#1\endcsname\@secondoffive{#1}%
+  \@safe@activesfalse
+}
+\DeclareRobustCommand\autoref[1]{%
+  \expandafter\auto@setref\csname r@#1\endcsname\@firstoffive{#1}%
+}
+\def\auto@setref#1#2#3{% csname, extract group, refname
+  \@safe@activestrue
+  \ifx#1\relax
+    \protect\G@refundefinedtrue
+    \nfss@text{\reset@font\bfseries ??}%
+    \@latex@warning{%
+      Reference `#3' on page \thepage \space undefined%
+    }%
+  \else
+    \edef\@thisref{\expandafter\@fourthoffive#1\@empty\@empty}%
+    \expandafter\test@reftype\@thisref\\%
+    \hyper@@link
+      {\expandafter\@fifthoffive#1}%
+      {\expandafter\@fourthoffive#1\@empty\@empty}%
+      {\@currentHtag\expandafter#2#1\@empty\@empty\null}%
+  \fi
+  \@safe@activesfalse
+}
+\def\test@reftype#1.#2\\{%
+  \@ifundefined{#1autorefname}{%
+    \@ifundefined{#1name}{%
+      \def\@currentHtag{}%
+      \@latex@warning{no tag name for #1 at \the\inputlineno}%
+    }{%
+      \def\@currentHtag{\csname#1name\endcsname~}%
+    }%
+  }{%
+    \def\@currentHtag{\csname#1autorefname\endcsname~}%
+  }%
+}
+\def\@currentHtag{}
+\providecommand\AMSautorefname{\equationautorefname}
+\providecommand\Hfootnoteautorefname{\footnoteautorefname}
+\providecommand\Itemautorefname{\itemautorefname}
+\providecommand\equationautorefname{Equation}
+\providecommand\footnoteautorefname{footnote}
+\providecommand\itemautorefname{item}
+\providecommand\figureautorefname{Figure}
+\providecommand\tableautorefname{Table}
+\providecommand\partautorefname{Part}
+\providecommand\appendixautorefname{Appendix}
+\providecommand\chapterautorefname{chapter}
+\providecommand\sectionautorefname{section}
+\providecommand\subsectionautorefname{subsection}
+\providecommand\subsubsectionautorefname{subsubsection}
+\providecommand\paragraphautorefname{paragraph}
+\providecommand\subparagraphautorefname{subparagraph}
+\providecommand\FancyVerbLineautorefname{line}
+\providecommand\theoremautorefname{Theorem}
+\def\phantomsection{%
+ \Hy@GlobalStepCount\Hy@linkcounter
+ \xdef\@currentHref{section*.\the\Hy@linkcounter}%
+ \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+}
+\endinput
+%%
+%% End of file `hyperref.sty'.
diff --git a/styles/hypertex.def b/styles/hypertex.def
new file mode 100644 (file)
index 0000000..dfde390
--- /dev/null
@@ -0,0 +1,221 @@
+%%
+%% This is file `hypertex.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hyperref.dtx  (with options: `hypertex')
+%% 
+%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
+%% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
+%%
+%% This file is part of the `Hyperref Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the `Hyperref Bundle' is
+%% given in the file `manifest.txt'.
+%%
+\ProvidesFile{hypertex.def}
+  [2001/05/26 v6.71g
+  Hyperref driver for HyperTeX specials]
+\def\PDF@FinishDoc{}
+\def\PDF@SetupDoc{%
+  \ifx\@baseurl\@empty\else
+    \special{html:<base href="\@baseurl">}%
+  \fi
+}
+\def\hyper@anchor#1{%
+  \Hy@SaveLastskip
+  \begingroup
+    \let\protect=\string
+    \hyper@chars
+    \special{html:<a name=\hyper@quote #1\hyper@quote>}%
+  \endgroup
+  \Hy@activeanchortrue
+  \Hy@colorlink{\@anchorcolor}\anchor@spot\Hy@endcolorlink
+  \special{html:</a>}%
+  \Hy@activeanchorfalse
+  \Hy@RestoreLastskip
+}
+\def\hyper@anchorstart#1{%
+  \Hy@SaveLastskip
+  \begingroup
+    \hyper@chars
+    \special{html:<a name=\hyper@quote#1\hyper@quote>}%
+  \endgroup
+  \Hy@activeanchortrue
+}
+\def\hyper@anchorend{%
+  \special{html:</a>}%
+  \Hy@activeanchorfalse
+  \Hy@RestoreLastskip
+}
+\def\@urltype{url}
+\def\hyper@linkstart#1#2{%
+  \Hy@colorlink{\csname @#1color\endcsname}%
+  \def\Hy@tempa{#1}%
+  \ifx\Hy@tempa\@urltype
+    \special{html:<a href=\hyper@quote#2\hyper@quote>}%
+  \else
+    \begingroup
+      \hyper@chars
+      \special{html:<a href=\hyper@quote\##2\hyper@quote>}%
+    \endgroup
+  \fi
+}
+\def\hyper@linkend{%
+  \special{html:</a>}%
+  \Hy@endcolorlink
+}
+\def\hyper@linkfile#1#2#3{%
+  \hyper@linkurl{#1}{file:#2\ifx\\#3\\\else\##3\fi}%
+}
+\def\hyper@linkurl#1#2{%
+  \leavevmode
+  \ifHy@raiselinks
+    \setbox\@tempboxa=\color@hbox #1\color@endbox
+    \@linkdim\dp\@tempboxa
+    \lower\@linkdim\hbox{%
+      \hyper@chars
+      \special{html:<a href=\hyper@quote#2\hyper@quote>}%
+    }%
+    \Hy@colorlink{\@urlcolor}#1%
+    \@linkdim\ht\@tempboxa
+    \advance\@linkdim by -6.5\p@
+    \raise\@linkdim\hbox{\special{html:</a>}}%
+    \Hy@endcolorlink
+  \else
+    \begingroup
+      \hyper@chars
+      \special{html:<a href=\hyper@quote#2\hyper@quote>}%
+      \Hy@colorlink{\@urlcolor}#1%
+      \special{html:</a>}%
+      \Hy@endcolorlink
+    \endgroup
+  \fi
+}
+\def\hyper@link#1#2#3{%
+  \hyper@linkurl{#3}{\##2}%
+}
+\def\hyper@image#1#2{%
+  \begingroup
+    \hyper@chars
+    \special{html:<img src=\hyper@quote#1\hyper@quote>}%
+  \endgroup
+}
+\def\@Form[#1]{\typeout{Sorry, HyperTeX does not support FORMs}}
+\def\@endForm{}
+\def\@Gauge[#1]#2#3#4{% parameters, label, minimum, maximum
+  \typeout{Sorry, HyperTeX does not support FORM gauges}%
+}
+\def\@TextField[#1]#2{% parameters, label
+  \typeout{Sorry, HyperTeX does not support FORM text fields}%
+}
+\def\@CheckBox[#1]#2{% parameters, label
+  \typeout{Sorry, HyperTeX does not support FORM checkboxes}%
+}
+\def\@ChoiceMenu[#1]#2#3{% parameters, label, choices
+  \typeout{Sorry, HyperTeX does not support FORM choice menus}%
+}
+\def\@PushButton[#1]#2{% parameters, label
+  \typeout{Sorry, HyperTeX does not support FORM pushbuttons}%
+}
+\def\@Reset[#1]#2{\typeout{Sorry, HyperTeX does not support FORMs}}
+\def\@Submit[#1]#2{\typeout{Sorry, HyperTeX does not support FORMs}}
+\let\H@old@ssect\@ssect
+\def\@ssect#1#2#3#4#5{%
+  \H@old@ssect{#1}{#2}{#3}{#4}{#5}%
+  \phantomsection
+}
+\let\H@old@schapter\@schapter
+\def\@schapter#1{%
+  \H@old@schapter{#1}%
+  \begingroup
+    \let\@mkboth\@gobbletwo
+    \Hy@GlobalStepCount\Hy@linkcounter
+    \xdef\@currentHref{\Hy@chapapp*.\the\Hy@linkcounter}%
+    \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+  \endgroup
+}
+\@ifundefined{@chapter}{}{%
+  \let\Hy@org@chapter\@chapter
+  \def\@chapter{%
+    \def\Hy@next{%
+      \Hy@GlobalStepCount\Hy@linkcounter
+      \xdef\@currentHref{\Hy@chapapp*.\the\Hy@linkcounter}%
+      \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+    }%
+    \ifnum\c@secnumdepth>\m@ne
+      \@ifundefined{if@mainmatter}%
+      \iftrue{\csname if@mainmatter\endcsname}
+        \let\Hy@next\relax
+      \fi
+    \fi
+    \Hy@next
+    \Hy@org@chapter
+  }%
+}
+\let\H@old@spart\@spart
+\def\@spart#1{%
+  \H@old@spart{#1}%
+  \Hy@GlobalStepCount\Hy@linkcounter
+  \xdef\@currentHref{part*.\the\Hy@linkcounter}%
+  \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+}
+\let\H@old@sect\@sect
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+  \ifnum #2>\c@secnumdepth
+    \Hy@GlobalStepCount\Hy@linkcounter
+    \xdef\@currentHref{section*.\the\Hy@linkcounter}%
+  \fi
+  \H@old@sect{#1}{#2}{#3}{#4}{#5}{#6}[{#7}]{#8}%
+  \ifnum #2>\c@secnumdepth
+    \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+  \fi
+}
+\def\Hy@tempa{%
+  \def\@addchap[##1]##2{%
+    \typeout{##2}%
+    \if@twoside
+      \@mkboth{##1}{}%
+    \else
+      \@mkboth{}{##1}%
+    \fi
+    \addtocontents{lof}{\protect\addvspace{10\p@}}%
+    \addtocontents{lot}{\protect\addvspace{10\p@}}%
+    \Hy@GlobalStepCount\Hy@linkcounter
+    \xdef\@currentHref{\Hy@chapapp*.\the\Hy@linkcounter}%
+    \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+    \if@twocolumn
+       \@topnewpage[\@makeschapterhead{##2}]%
+    \else
+       \@makeschapterhead{##2}%
+       \@afterheading
+    \fi
+    \addcontentsline{toc}{chapter}{##1}%
+  }%
+}
+\@ifclassloaded{scrbook}{%
+  \@ifclasslater{scrbook}{2001/01/01}{%
+    \let\Hy@tempa\@empty
+  }{}%
+}{%
+  \@ifclassloaded{scrreprt}{%
+    \@ifclasslater{scrreprt}{2001/01/01}{%
+      \let\Hy@tempa\@empty
+    }{}%
+  }{%
+    \let\Hy@tempa\@empty
+  }%
+}%
+\Hy@tempa
+\endinput
+%%
+%% End of file `hypertex.def'.
diff --git a/styles/minitoc-hyper.sty b/styles/minitoc-hyper.sty
new file mode 100644 (file)
index 0000000..2106de9
--- /dev/null
@@ -0,0 +1,2304 @@
+\def\fileversion{v28href}
+\def\filedate{1999/05/17}
+% minitoc-hyper.sty
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Jean-Pierre Drucbert
+% ONERA/CERT/GPI
+% Office National d'\'Etudes et de Recherches A\'erospatiales
+% Centre d'\'Etudes et de Recherches de Toulouse
+% Groupe de Prestations Informatiques
+% Complexe Scientifique de Rangueil
+% 2, Avenue \'Edouard Belin
+% BP 4025
+% F-31055 TOULOUSE CEDEX
+% FRANCE
+%
+% Phone +33-62-25-25-15
+%
+% Email: drucbert@onecert.fr
+%
+% Please send me any (constructive) suggestions and comments.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Temporarily patched by Bernd Jaehne [Bernd.Jaehne@aeon.de] 
+% and Didier Verna [verna@inf.enst.fr] to
+% work with hyperref.sty from s.rahtz@elsevier.co.uk
+% using input from Tony Roberts [aroberts@usq.edu.au]
+% For changes see comments %%BJ and %DV
+%
+% However: this patch works only when  hyperref.sty is used,
+% otherwise errors occur. Thus it may be advisable to add code
+% so that minitoc runs both in standard and hyperref mode.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% History (contains some obsolete things... it is NOT
+% the REAL documentation)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% minitoc.sty --- redefines the \chapter command to display a
+%  mini-table-of-contents at the beginning of every chapter.
+%  Oct-90       Original version, by Nigel Ward.
+%  Nov-91       Revised to reuse \chapter, \section, \subsection commands
+%               transparently, generate toc-file-name automatically,
+%               assorted other cleanup.  Dan Jurafsky
+%  Jun/Jul-93   New design, to avoid allocating a newwrite
+%               for each chapter (!)
+%               Added \chapterend to terminate the scope of a minitoc.
+%               (IF YOU FORGOT PUTTING \chapterend at the end
+%               of EACH chapter, an entry for the next chapter
+%               will appear in each minitoc.) (Thanks to Yufan Hu).
+%               Replaced ``minipage'' environnement by a ``verse''
+%               environnement, to allow a minitoc split across pages.
+%               All the layout of the minitoc is in the
+%               \minitableofcontents command, so if someboby wants
+%               to redefine that layout, he has just to
+%               rewrite it (and only it).
+%
+%               You can inhibit the minitoc for the next chapter
+%               by preceding it with \minitocno. (\minitocyes
+%               is useless for the user: it is implicit AFTER
+%               the \chapter* pseudo-chapters).
+%
+%               Problems: you MUST have \chapterend to terminate each
+%               chapter with a minitoc.
+%               How about avoiding this constraint?
+%
+%               The depth of the minitoc is user-adjustable with
+%               the counter `minitocdepth' (as `tocdepth' for the table
+%               of contents).
+%               At least three passes (3!!!) of LaTeX are necessary to get
+%               correct minitoc's (the first pass creates the .mtcX files,
+%               the second uses them (but they may contain wrong page
+%               numbers) and recreates them, the third should be ok).
+%
+%               Works with \chapter[xxx]{yyy} and floating bodies.
+%               Works with two columns (but the minitoc is in composed in
+%               one column; how to make it to spread over the two column?)
+%               Some mods added to work with xr.sty (external references).
+%               xr.sty version 5 is much more tolerant.
+%   05Jul93     Version 2
+%               Added compatibility with hangcaption.sty (the option
+%               hangcaption (if present) must be given BEFORE minitoc
+%               option.)
+%               BEWARE to options modifying \@caption
+%               Version 3 not released (buggy)
+%   09Jul93     Version 4
+%               Added \if@realch to avoid contentslines from
+%               pseudo-chapters to go into the toc!
+%               The option file mtcoff.sty allows to use a latex
+%               document with minitoc commands and to make them
+%               transparent: just replace the minitoc option by
+%               mtcoff.
+%   13Jul93     Version 5
+%               Added a selection mechanism to not write spurious things
+%               in the minitoc's.
+%   15Jul93     Version 6
+%               Fixed problems about chapters in the toc,
+%               removed obsolete \caption stuff (filters are better)
+%               added compatibility with toch.sty
+%               (toch.sty makes a table of chapters. If used,
+%               must be loaded BEFORE minitoc.sty)
+%   22Jul93     Version 7 (MAJOR DIFFERENCES)
+%               Completely rewritten, using tricks from xr.sty
+%               (the version 5, by David Carlisle). The info
+%               for minitocs is directly stolen from the .toc
+%               file.
+%               \chapterend and \minitocno are suppressed
+%               \minitoc, \dominitoc and \faketableofcontents added
+%   29Jul93     Version 8
+%               Spacing adjustements.
+%   04Aug93     Version 9
+%               Added mods for MS-DOS (search MS-DOS, uncomment;
+%               search UNIX, comment out). MS-DOS allows only
+%               3 characters for extensions in file names (what a pity!).
+%   05Aug93     Version 10
+%               Works with appendices.
+%               Detects obsolete versions of latex.tex.
+%               (\@inputcheck or \reset@font not defined).
+%   18Aug93     Version 11
+%               Added \mtcSfont, font for section entries,
+%               \mtcSSfont for subsection entries,
+%               \mtcSSSfont for subsubsection entries,
+%               \mtcPfont for paragraph entries,
+%               \mtcSPfont for subparagraph entries.
+%
+%   16Dec93     Version 12
+%               Use \kern's in place of \vspace*'s,
+%               and added penalties (\nopagebreak) to
+%               avoid a page break just before last \mtc@rule.
+%               Also added a \samepage environnement.
+%               Removed old commented out lines from
+%               previous versions.
+%
+%   17Dec93     Version 13
+%               Added minilof and minilot stuff.
+%               For MS-DOS, uncomment the definition of \SHORTEXT.
+%
+%   03Jan94     Version 14
+%               Corrected space under minitoc/lof/lot and added a
+%               \raggedright to avoid ``underfull'' warnings.
+%               Corrected some spacing problems (avoiding ~'s).
+%               \mtifont changed from \normalsize\bf to
+%               \large\bf.
+%               Some mods suggested by Donald Arseneau (thanks):
+%               \@newread becomes \newread, not outer
+%               version of \newread.
+%               \empty replaced by \relax in the spare definition
+%               of \reset@font.
+%               Removed \clubpenalty=10000 and \widowpenalty=10000
+%               (done by \samepage), and \noindent.
+%               Simplified processing of optional argument in
+%               \minitoc, \minilof and \minilot.
+%
+%   27Jan94     Version 15
+%               Added parttoc, partlof and partlot for books,
+%               with commands and parameters parallel to
+%               those for mini-things.
+%
+%               Added secttoc, sectlof and sectlot for articles,
+%               with commands and parameters parallel to
+%               those for mini-things.
+%
+%   02Feb94     Version 16
+%               Bug fixes (typos).
+%
+%   23Jun94     Version 17
+%               Keyword 'n' (null) synonym of 'e' (empty).
+%               Compatibility with LaTeX ``2e''.
+%               Thanks to Denis Roegel (who found
+%               the problem) and Frank Mittelbach
+%               (who gave the hints to solve).
+%
+%   26Jun94     Version 18
+%               Make minitoc really compatible with latex2e
+%               Introduce the language files as options
+%               Thanks to Michel Goossens (via Frank Mittelbach)
+%               who was inspired by the code of babel (Johannes Braams).
+%
+%   16Aug94     Version 19
+%               Added stuff for numbering of chapters (parts,
+%               sections) not starting at 1.
+%               \firstchapteris etc. commands added.
+%               \mtcrule, \nomtcrule etc. commands added.
+%               Corrected a bug in \c@mti.
+%               Corrected mtcswedish.sty (Jan Michel Rynning)
+%               Corrected appendix in articles
+%
+%   25Aug94     Version 20
+%               Corrected spacing before and after minitocs
+%               and siblings.
+%               Added \mtcpagenumbers and \nomtcpagenumbers
+%               (and siblings) to make minitocs with/without
+%               page numbers. Default: page numbers.
+%               Corrected (difficult bug) appendix in articles.
+%               Corrected vertical spacing.
+%               Corrected a problem with chapters numbered
+%               with (uppercase) roman numbers.
+%
+%   07Sep94     Version 21
+%               Corrected typos in minitoc.sty and minitoc.tex.
+%
+%   10Oct94     Version 22
+%               Corrected typos in minitoc.sty.
+%
+%   08Nov94     Version 23
+%               Added a missing line in \sectlof@.
+%               Works with document classes resetting
+%               chapter (or section) number at each part.
+%               (Thanks to Denis Roegel)
+%               Removed stuff for \firstchapteris and co.
+%               These commands are obsolete.
+%               Removed appendix stuff.
+%
+%   21Dec94     Version 24
+%               The \protect commands have been removed from
+%               the .toc, .lot and .lot files, so some internal
+%               macros have been corrected to be compatible
+%               with the LaTeX2e release of December 1994.
+%               Thanks to Denis Roegel who did the work.
+%
+%   13Sep96     Version 25
+%               Updated mtcnorsk.sty and added mtcnynorsk.sty
+%               on a suggestion from Dag Langmyhr (dag@ifi.uio.no).
+%
+%   14Nov96     Version 26
+%               Language specific commands are now names <language>.mld
+%               (in place of mtc<language>.sty) because there are not
+%               packages and it makes shorter names.
+%               Added breton, estonian, germanb, greek, irish,
+%               russianb, scottish, lower and upper sorbian;
+%               renamed esperanto into esperant like in Babel.
+%
+%   20Dec96     Version 27
+%               Corrections for starred sectionning commands.
+%               english.mld loaded as default language.
+%               Added vietnam.mld.
+%               Added arab.mld.
+%               Renamed minitocoff.sty into mtcoff.sty to
+%               keep the name short.
+%
+%
+%               Jean-Pierre Drucbert
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]%
+%%% This file will not work with latex2.09
+\ProvidesPackage{minitoc}[\filedate\space\fileversion\space
+                        The minitoc package]
+\typeout{*** minitoc package, version 27p ***}%
+\@ifundefined{part}%
+{}%
+{\typeout{*** part level macros available ***}
+\let\mtc@svpart\part %23
+\def\part{\stepcounter{ptc}\mtc@svpart}} %23
+\@ifundefined{chapter}%
+{%
+\@ifundefined{section}%
+{\typeout{*** no section or chapter level macros available ***}%
+\typeout{*** PLEASE VERIFY YOUR MAIN DOCUMENT CLASS ***}}%
+{\typeout{*** section level macros available ***}
+\let\mtc@svsection\section %23
+\def\section{\stepcounter{stc}\mtc@svsection} %23
+\let\mtc@svss\@ssect %23
+%v25 \def\@ssect{\addtocounter{stc}{-1}\mtc@svss} %23
+}%
+}%
+{\typeout{*** chapter level macros available ***}
+\let\mtc@svchapter\@chapter %23
+\def\@chapter{\stepcounter{mtc}\mtc@svchapter} %23
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%         *****  ****   ***  *****
+%         *      *   *   *     *
+%         ***    *   *   *     *
+%         *      *   *   *     *
+%         *****  ****   ***    *
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\def\SHORTEXT{SHORTEXT}    %%% UNCOMMENT FOR DOS AND
+                            %%% SYSTEMS WITH SHORT EXTENSIONS
+                            %%% TO FILE NAMES
+                            %%% LEAVE IT COMMENTED OUT
+                            %%% FOR UNIX AND O.S. WITH
+                            %%% LONG EXTENSIONS
+                            %%% YOU CAN VERIFY BY LATEXING
+                            %%% AN EXAMPLE DOCUMENT
+                            %%% ONE OF THE FOLLOWING MESSAGES APPEARS
+                            %%% PLEASE CORRECT IF THE MESSAGE IS WRONG
+% v27 : claim the type of system!
+\@ifundefined{SHORTEXT}%
+{\typeout{==> this version is configured for UNIX-like (long extensions) file names.}}%
+{\typeout{==> this version is configured for MSDOS-like (8+3) file names.}}
+%
+%not outer version of \newread
+\def\newread{\alloc@6\read\chardef\sixt@@n}
+\@ifundefined{@inputcheck}%
+  {\typeout{Your version of latex.tex is obsolete.}%
+  \typeout{Trying to continue...}\newread\@inputcheck\relax}{}
+\@ifundefined{reset@font}%
+  {\typeout{Your version of latex.tex is very obsolete.}%
+  \typeout{Trying to continue...}\let\reset@font\relax}{}
+\newwrite\tf@mtc  % a file descriptor to write minitocs
+\newtoks\mtc@toks
+\def\mtc@string{\relax}
+\newbox\mtc@strutbox
+\setbox\mtc@strutbox=\hbox{\vrule height2.5ex
+      depth1.8ex width\z@}
+\def\mtc@strut{\relax\ifmmode\copy\mtc@strutbox\else\unhcopy\mtc@strutbox\fi}
+\def\mtc@v{\leavevmode%
+     \mtc@strut\vphantom{Lp$^{l^l}_{p_p}$}}  % a pseudo-strut ?
+% \@BBR discourages page breaks
+\def\@BBR{\unpenalty\nopagebreak[4]}
+% Modified version to ignore the dots and the page number.              % 17b
+\def\@undottedtocline#1#2#3#4#5{\ifnum #1>\c@tocdepth \else             % 17b
+  \vskip \z@ plus.2\p@                                                  % 17b
+  {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip    % 17b
+    \parindent #2\relax\@afterindenttrue                                % 17b
+   \interlinepenalty\@M                                                 % 17b
+   \leavevmode                                                          % 17b
+   \@tempdima #3\relax \advance\leftskip \@tempdima \hbox{}%            % 17b
+   \hskip -\leftskip                                                    % 17b
+    #4\nobreak\hfill \nobreak                                           % 17b
+           \null\par}\fi}                                               % 17b
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%17b
+\def\mtcpagenumbers{\let\mtc@pgno\null}         %17b
+\mtcpagenumbers %default                        %17b
+\def\nomtcpagenumbers{\let\mtc@pgno\relax}      %17b
+\def\stcpagenumbers{\let\stc@pgno\null}         %17b
+\stcpagenumbers %default                        %17b
+\def\nostcpagenumbers{\let\stc@pgno\relax}      %17b
+\def\ptcpagenumbers{\let\ptc@pgno\null}         %17b
+\ptcpagenumbers %default                        %17b
+\def\noptcpagenumbers{\let\ptc@pgno\relax}      %17b
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%17b
+\def\mlfpagenumbers{\let\mlf@pgno\null}         %17b
+\mlfpagenumbers %default                        %17b
+\def\nomlfpagenumbers{\let\mlf@pgno\relax}      %17b
+\def\slfpagenumbers{\let\slf@pgno\null}         %17b
+\slfpagenumbers %default                        %17b
+\def\noslfpagenumbers{\let\slf@pgno\relax}      %17b
+\def\plfpagenumbers{\let\plf@pgno\null}         %17b
+\plfpagenumbers %default                        %17b
+\def\noplfpagenumbers{\let\plf@pgno\relax}      %17b
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%17b
+\def\mltpagenumbers{\let\mlt@pgno\null}         %17b
+\mltpagenumbers %default                        %17b
+\def\nomltpagenumbers{\let\mlt@pgno\relax}      %17b
+\def\sltpagenumbers{\let\slt@pgno\null}         %17b
+\sltpagenumbers %default                        %17b
+\def\nosltpagenumbers{\let\slt@pgno\relax}      %17b
+\def\pltpagenumbers{\let\plt@pgno\null}         %17b
+\pltpagenumbers %default                        %17b
+\def\nopltpagenumbers{\let\plt@pgno\relax}      %17b
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%17b
+% if you don't want a table of contents, but want minitocs,
+% you need to create the .toc file, without inputing it
+% into your document. This command is a stripped off version
+% of \tableofcontents
+\def\faketableofcontents{\fake@starttoc{toc}}
+% idem for list of figures
+\def\fakelistoffigures{\fake@starttoc{lof}}
+% idem for list of tables
+\def\fakelistoftables{\fake@starttoc{lot}}
+\def\fake@starttoc#1{\begingroup
+  \makeatletter
+  \if@filesw \expandafter\newwrite\csname tf@#1\endcsname
+             \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax
+  \fi \global\@nobreakfalse \endgroup}
+%%
+\global\let\mtc@markboth\markboth
+\global\let\@mkboth\markboth
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\@ifundefined{chapter}{}{%
+\def\The@chapter{\arabic{mtc}} %23
+\def\firstchapteris#1%
+  {\typeout{^^JWARNING*** \string\firstchapteris}%
+   \typeout{ is an obsolete command^^J}}
+\newcounter{mtc}  % counter of minitocs
+\setcounter{mtc}{0}
+\gdef\themtc{\arabic{mtc}}
+\newcounter{minitocdepth} % analog to tocdepth, but for minitocs
+\setcounter{minitocdepth}{2} % default value
+\def\mtc@rule{\kern-3\p@%
+  \hrule width \columnwidth \kern2.6\p@} % the \hrule is .4pt high
+
+\newlength\mtcindent % indentation (left/right) of minitocs
+\mtcindent=24pt      % defaut value
+\def\mtcfont{\small\rm}    % font for the minitoc
+\def\mtcSfont{\small\bf}   % font for the minitoc (sections)
+\def\mtcSSfont{\mtcfont}   % font for the minitoc (subsections)
+\def\mtcSSSfont{\mtcfont}  % font for the minitoc (subsubsections)
+\def\mtcPfont{\mtcfont}    % font for the minitoc (paragraphs)
+\def\mtcSPfont{\mtcfont}   % font for the minitoc (subparagraphs)
+\def\mlffont{\mtcfont}     % font for the minilof (figures)
+\def\mltfont{\mtcfont}     % font for the minilot (tables)
+\def\mtifont{\large\bf}    % font for titles
+
+% Centering, flushleft, flushright or empty titles.
+\def\c@mti#1{\null\hfill #1\hfill\null}
+\def\l@mti#1{\null #1\hfill\null}
+\def\r@mti#1{\null\hfill #1\null}
+\def\e@mti#1{\relax}
+\def\n@mti#1{\relax}
+
+% Default: titles on left
+\let\do@mtitc\l@mti
+\let\df@mtitc\l@mti
+\let\do@mtilf\l@mti
+\let\df@mtilf\l@mti
+\let\do@mtilt\l@mti
+\let\df@mtilt\l@mti
+
+%v27 Language dependent names: default values. Now
+%v27 english.mld is loaded first.
+%v27 \@ifundefined{mtctitle}{\def\mtctitle{Contents}}{\relax}
+%v27 \@ifundefined{mlftitle}{\def\mlftitle{Figures}}{\relax}
+%v27 \@ifundefined{mlttitle}{\def\mlttitle{Tables}}{\relax}
+
+\def\mtc@verse{\let\\=\@centercr
+  \list{}{\itemsep\z@\itemindent \z@\listparindent \itemindent
+          \leftmargin\mtcindent
+          \rightmargin\leftmargin}\item[]}
+\def\endmtc@verse{\nopagebreak[4]\endlist}
+
+% this command must be used after \chapter
+% if you need a minitoc (no automatic minitoc)
+\def\minitoc{\@ifnextchar[{\minitoc@}{\minitoc@[d]}}
+
+\def\minitoc@[#1]{%
+        \relax\begin{samepage}% we begin a local group here, using samepage
+        \if #1e\let\do@mtitc\e@mti
+        \else\if #1n\let\do@mtitc\n@mti
+        \else\if #1c\let\do@mtitc\c@mti
+        \else\if #1l\let\do@mtitc\l@mti
+        \else\if #1r\let\do@mtitc\r@mti
+        \else\if #1d\let\do@mtitc\df@mtitc
+        \fi\fi\fi\fi\fi\fi
+        \raggedright % added #14
+        \parskip=\z@%
+        \reset@font\mtcfont%
+        \parindent=\z@%
+        \nopagebreak[4]%
+        \kern-0.8\baselineskip\nopagebreak[4]%
+        \par\noindent %%
+        \ifx\mtc@rule\relax
+        \begin{tabular}{@{}p{\columnwidth}@{}}
+        {\reset@font\mtifont\do@mtitc{\mtc@v\mtctitle}}\\
+        \end{tabular}\else
+        \begin{tabular}{@{}p{\columnwidth}@{}}
+        {\reset@font\mtifont\do@mtitc{\mtc@v\mtctitle}}\\\hline
+        \end{tabular}\fi
+        \nopagebreak[4]\null\leavevmode\vrule width \z@
+        height \z@ depth \z@\\\@BBR%
+        \leftmargin\mtcindent
+        \rightmargin\mtcindent
+        \itemindent=\z@\labelwidth=\z@%
+        \labelsep=\z@\listparindent=\z@%
+        \begin{mtc@verse}\c@tocdepth=\c@minitocdepth%
+        \leavevmode\\\@BBR% this blank line is necessary to avoid
+                % a wild negative indentation
+        \vskip -.5\baselineskip
+\begingroup
+  \makeatletter
+  \@ifundefined{mtc@pgno}%
+  {\let\@dottedtocline\@undottedtocline}{}
+\@ifundefined{SHORTEXT}%
+{\def\@tocfile{mtc\The@chapter}}%  % UNIX
+{\def\@tocfile{M\The@chapter}}%    % MS-DOS
+  \@input{\jobname.\@tocfile}\if@filesw
+  \fi%
+  \global\@nobreakfalse\endgroup
+        \end{mtc@verse}%
+        \kern0.\baselineskip%
+        \nopagebreak[4]\mtc@rule\null\leavevmode\\%
+        \vskip-1.0\baselineskip
+        \vrule width \z@ height \z@
+        depth \z@\end{samepage}% %## the \\ is essential
+        \par\pagebreak[1]\vspace*{-1ex}}%
+        % some space under the minitoc
+
+% Added in version #13
+% this command must be used after \chapter
+% if you need a minilof (no automatic minilof)
+\def\minilof{\@ifnextchar[{\minilof@}{\minilof@[d]}}
+
+\def\minilof@[#1]{%
+        \relax\begin{samepage}% we begin a local group here, using samepage
+        \if #1e\let\do@mtilf\e@mti
+        \else\if #1n\let\do@mtilf\n@mti
+        \else\if #1c\let\do@mtilf\c@mti
+        \else\if #1l\let\do@mtilf\l@mti
+        \else\if #1r\let\do@mtilf\r@mti
+        \else\if #1d\let\do@mtilf\df@mtilf
+        \fi\fi\fi\fi\fi\fi
+        \raggedright % added #14
+        \parskip=\z@%
+        \reset@font\mlffont%
+        \parindent=\z@%
+        \nopagebreak[4]%
+        \kern-0.8\baselineskip\nopagebreak[4]%
+        \par\noindent
+        \ifx\mtc@rule\relax
+        \begin{tabular}{@{}p{\columnwidth}@{}}
+        {\reset@font\mtifont\do@mtilf{\mtc@v\mlftitle}}\\
+        \end{tabular}\else
+        \begin{tabular}{@{}p{\columnwidth}@{}}
+        {\reset@font\mtifont\do@mtilf{\mtc@v\mlftitle}}\\\hline
+        \end{tabular}\fi
+        \nopagebreak[4]\null\leavevmode\vrule width \z@
+        height \z@ depth \z@\\\@BBR%
+        \leftmargin\mtcindent
+        \rightmargin\mtcindent
+        \itemindent=\z@\labelwidth=\z@%
+        \labelsep=\z@\listparindent=\z@%
+        % depth does not matter for minilof
+        \begin{mtc@verse}%\c@tocdepth=\c@minitocdepth%
+        \leavevmode\\\@BBR% this blank line is necessary to avoid
+                % a wild negative indentation
+        \vskip -.5\baselineskip
+\begingroup
+  \makeatletter
+  \@ifundefined{mlf@pgno}%
+  {\let@dottedtocline\@undottedtocline}{}
+\@ifundefined{SHORTEXT}%
+{\def\@tocfile{mlf\The@chapter}}%  % UNIX
+{\def\@tocfile{F\The@chapter}}%    % MS-DOS
+  \@input{\jobname.\@tocfile}\if@filesw
+  \fi%
+  \global\@nobreakfalse\endgroup
+        \end{mtc@verse}%
+        \kern0.\baselineskip%
+        \nopagebreak[4]\mtc@rule\null\leavevmode\\%
+        \vskip-1.0\baselineskip
+        \vrule width \z@ height \z@
+        depth \z@\end{samepage}% %## the \\ is essential
+        \par\pagebreak[1]\vspace*{-1ex}}%
+        % some space under the minilof
+
+% Added in version #13
+% this command must be used after \chapter
+% if you need a minilot (no automatic minilot)
+\def\minilot{\@ifnextchar[{\minilot@}{\minilot@[d]}}
+
+\def\minilot@[#1]{%
+        \relax\begin{samepage}% we begin a local group here, using samepage
+        \if #1e\let\do@mtilt\e@mti
+        \else\if #1n\let\do@mtilt\n@mti
+        \else\if #1c\let\do@mtilt\c@mti
+        \else\if #1l\let\do@mtilt\l@mti
+        \else\if #1r\let\do@mtilt\r@mti
+        \else\if #1d\let\do@mtilt\df@mtilt
+        \fi\fi\fi\fi\fi\fi
+        \raggedright % added #14
+        \parskip=\z@%
+        \reset@font\mltfont%
+        \parindent=\z@%
+        \nopagebreak[4]%
+        \kern-0.8\baselineskip\nopagebreak[4]%
+        \par\noindent
+        \ifx\mtc@rule\relax
+        \begin{tabular}{@{}p{\columnwidth}@{}}
+        {\reset@font\mtifont\do@mtilt{\mtc@v\mlttitle}}\\
+        \end{tabular}\else
+        \begin{tabular}{@{}p{\columnwidth}@{}}
+        {\reset@font\mtifont\do@mtilt{\mtc@v\mlttitle}}\\\hline
+        \end{tabular}\fi
+        \nopagebreak[4]\null\leavevmode\vrule width \z@
+        height \z@ depth \z@\\\@BBR%
+        \leftmargin\mtcindent
+        \rightmargin\mtcindent
+        \itemindent=\z@\labelwidth=\z@%
+        \labelsep=\z@\listparindent=\z@%
+        % depth does not matter for minilot
+        \begin{mtc@verse}%\c@tocdepth=\c@minitocdepth%
+        \leavevmode\\\@BBR% this blank line is necessary to avoid
+                % a wild negative indentation
+        \vskip -.5\baselineskip
+\begingroup
+  \makeatletter
+  \@ifundefined{mlt@pgno}%
+  {\let\@dottedtocline\@undottedtocline}{}
+\@ifundefined{SHORTEXT}%
+{\def\@tocfile{mlt\The@chapter}}%  % UNIX
+{\def\@tocfile{T\The@chapter}}%    % MS-DOS
+  \@input{\jobname.\@tocfile}\if@filesw
+  \fi%
+  \global\@nobreakfalse\endgroup
+        \end{mtc@verse}%
+        \kern0.\baselineskip%
+        \nopagebreak[4]\mtc@rule\null\leavevmode\\%
+        \vskip-1.0\baselineskip
+        \vrule width \z@ height \z@
+        depth \z@\end{samepage}% %## the \\ is essential
+        \par\pagebreak[1]\vspace*{-1ex}}%
+        % some space under the minilot
+
+% I use a depth of 10000 to inhibit the printing of
+% that contentsline.
+\def\l@xchapter{\@dottedtocline{\@M}{1em}{2.3em}}
+\def\xchapter{xchapter}
+
+\let\sv@chapter\@chapter
+\def\@chapter[#1]#2{\sv@chapter[{#1}]{#2}\relax%
+\addcontentsline{lof}{xchapter}{#1}%
+\addcontentsline{lot}{xchapter}{#1}%
+}
+
+% tricky code to deal with \chapter*
+\let\mtc@schapter\@schapter
+\def\@schapter{%
+\addtocontents{toc}{\protect\chapterend}\mtc@schapter%
+}
+\def\@schapter{%
+\addtocontents{toc}{\protect\chapterbegin}\mtc@schapter%
+}
+\let\chapterend\relax
+\let\chapterbegin\relax
+
+\let\appendixmtc\relax
+
+% this command extracts info from the .toc file
+% and create the .mtcN files (.mtc -> .M on MS-DOS)
+\def\@dominitoc#1{{%
+  \makeatletter
+  \setcounter{mtc}{0} % START VALUE
+  \MTC@next#1.toc\relax\\}\setcounter{mtc}{0}} %23: raz
+% this command extracts info from the .lof file
+% and create the .mlfN files (.mlf -> .F on MS-DOS)
+\def\@dominilof#1{{%
+  \makeatletter
+  \setcounter{mtc}{0} % START VALUE
+  \MLF@next#1.lof\relax\\}\setcounter{mtc}{0}} %23: raz
+% this command extracts info from the .lot file
+% and create the .mltN files (.mlt -> .T on MS-DOS)
+\def\@dominilot#1{{%
+  \makeatletter
+  \setcounter{mtc}{0} % START VALUE
+  \MLT@next#1.lot\relax\\}\setcounter{mtc}{0}} %23: raz
+
+\def\dominitoc{\@ifnextchar[{\dominitoc@}{\dominitoc@[l]}}
+\def\dominilof{\@ifnextchar[{\dominilof@}{\dominilof@[l]}}
+\def\dominilot{\@ifnextchar[{\dominilot@}{\dominilot@[l]}}
+
+\def\dominitoc@[#1]{%
+\if #1e\let\df@mtitc\e@mti%
+\else\if #1n\let\df@mtitc\n@mti%
+\else\if #1c\let\df@mtitc\c@mti%
+\else\if #1l\let\df@mtitc\l@mti%
+\else\if #1r\let\df@mtitc\r@mti%
+\fi\fi\fi\fi\fi%
+\@@dominitoc}
+
+\def\dominilof@[#1]{%
+\if #1e\let\df@mtilf\e@mti%
+\else\if #1n\let\df@mtilf\n@mti%
+\else\if #1c\let\df@mtilf\c@mti%
+\else\if #1l\let\df@mtilf\l@mti%
+\else\if #1r\let\df@mtilf\r@mti%
+\fi\fi\fi\fi\fi%
+\@@dominilof}
+
+\def\dominilot@[#1]{%
+\if #1e\let\df@mtilt\e@mti%
+\else\if #1n\let\df@mtilt\n@mti%
+\else\if #1c\let\df@mtilt\c@mti%
+\else\if #1l\let\df@mtilt\l@mti%
+\else\if #1r\let\df@mtilt\r@mti%
+\fi\fi\fi\fi\fi%
+\@@dominilot}
+
+\def\@@dominitoc{\@dominitoc{\jobname}\immediate\closeout\tf@mtc}
+\def\@@dominilof{\@dominilof{\jobname}\immediate\closeout\tf@mtc}
+\def\@@dominilot{\@dominilot{\jobname}\immediate\closeout\tf@mtc}
+
+\def\MTC@next#1\relax#2\\{%
+  \edef\MTC@list{#2}%
+  \MTC@loop{#1}}
+\def\MTC@toc{%
+  \ifx\MTC@list\@empty\else\expandafter\MTC@explist\fi}
+
+%%%%%%% patch minitoc to write *.mtc files with link name at end
+% so that hyperref contentsline works properly---I hope
+\def\MTC@contentsline#1#2#3#4{% %%BJ: 4 instead of 3 parameters
+\gdef\themtc{\arabic{mtc}}
+\expandafter%
+ \ifx\csname #1\endcsname\chapter\relax
+ \stepcounter{mtc}% % the mtc counter simulates the chapter counter
+\@ifundefined{SHORTEXT}%
+{\typeout{Writing\space\jobname.mtc\themtc}%     % UNIX
+\def\mtcname{\jobname.mtc\themtc}}%              % UNIX
+{\typeout{Writing\space\jobname.M\themtc}%       % MS-DOS
+\def\mtcname{\jobname.M\themtc}}%                % MS-DOS
+ \immediate\closeout\tf@mtc % close current .mtcN .mtc->.M on MS-DOS
+ \immediate\openout\tf@mtc=\mtcname % open next .mtcN (.mtc->.M if MS-DOS)
+ \fi
+\expandafter% % extracts and writes info for sections, etc.
+ \ifx\csname #1\endcsname\section\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\mtcSfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\mtcSfont%
+      \space #3}{#4}}}}\@tempa%   %%BJ: #4 is hyperlink
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\subsection\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\mtcSSfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\mtcSSfont%
+      \space #3}{#4}}}}\@tempa%   %%BJ: #4 is hyperlink
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\subsubsection\relax
+     \mtc@toks{\noexpand \leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\mtcSSSfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\mtcSSSfont%
+      \space #3}{#4}}}}\@tempa%   %%BJ: #4 is hyperlink
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\paragraph\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\mtcPfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\mtcPfont%
+      \space #3}{#4}}}}\@tempa%   %%BJ: #4 is hyperlink
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\subparagraph\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\mtcSPfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\mtcSPfont
+      \space #3}{#4}}}}\@tempa%   %%BJ: #4 is hyperlink
+ \fi
+% Added v25: \starchapter and co.
+\expandafter% % extracts and writes info for sections, etc.
+ \ifx\csname #1\endcsname\starchapter\relax
+\stepcounter{mtc}% % the mtc counter simulates the chapter counter
+\@ifundefined{SHORTEXT}%
+{\typeout{Writing\space\jobname.mtc\themtc}%     % UNIX
+\def\mtcname{\jobname.mtc\themtc}}%              % UNIX
+{\typeout{Writing\space\jobname.M\themtc}%       % MS-DOS
+\def\mtcname{\jobname.M\themtc}}%                % MS-DOS
+ \immediate\closeout\tf@mtc % close current .mtcN .mtc->.M on MS-DOS
+ \immediate\openout\tf@mtc=\mtcname % open next .mtcN (.mtc->.M if MS-DOS)
+ \fi
+\expandafter% % extracts and writes info for sections, etc.
+ \ifx\csname #1\endcsname\starsection\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\mtcSfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\mtcSfont%
+      \space #3}{#4}}}}\@tempa%   %%BJ: #4 is hyperlink
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\starsubsection\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\mtcSSfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\mtcSSfont%
+      \space #3}{#4}}}}\@tempa%   %%BJ: #4 is hyperlink
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\starsubsubsection\relax
+     \mtc@toks{\noexpand \leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\mtcSSSfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\mtcSSSfont%
+      \space #3}{#4}}}}\@tempa%   %%BJ: #4 is hyperlink
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\starparagraph\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\mtcPfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\mtcPfont%
+      \space #3}{#4}}}}\@tempa%   %%BJ: #4 is hyperlink
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\starsubparagraph\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\mtcSPfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\mtcSPfont
+      \space #3}{#4}}}}\@tempa%   %%BJ: #4 is hyperlink
+ \fi
+}
+
+
+\def\MTC@explist{\expandafter\MTC@next\MTC@list\\}
+\def\MTC@loop#1{\openin\@inputcheck#1\relax
+  \ifeof\@inputcheck
+    \typeout{^^JNo file #1^^JMINITOCS NOT PREPARED.^^J}%
+    \expandafter\MTC@toc
+  \else
+    \typeout{PREPARING MINITOCS FROM #1}%
+    \expandafter\MTC@read\fi}
+\def\MTC@read{%
+  \read\@inputcheck to\MTC@line
+  \expandafter\MTC@test\MTC@line....\MTC@%
+  }%
+% now patch MTC@test %   %%BJ: call \MTC@contentsline with 4 instead of 3 parameters
+\newcommand{\scrubdots}[5]{#1} %%BJ: added by Tony Roberts
+\long\def\MTC@test#1#2#3#4#5\MTC@{%
+  \ifx#1\contentsline
+    \let\mtc@string\string
+    \MTC@contentsline{#2}{#3}{#4}{\scrubdots#5}% %%BJ: 4. parameter added by Tony Roberts
+    \let\mtc@string\relax
+  \else\ifx#1\@input
+     \edef\MTC@list{\MTC@list#2\relax}%
+  \else\ifx#1\chapterend % \chapter* closes .mtcN (.mtc->.M on MS-DOS)
+     \immediate\closeout\tf@mtc
+     \immediate\openout\tf@mtc=\jobname.bmt % and opens a scratch file
+  \else\ifx#1\chapterbegin
+     \addtocounter{mtc}{-1}% % \chapter* has done a parasite increment
+  \fi\fi\fi\fi
+  \ifeof\@inputcheck\expandafter\MTC@toc
+  \else\expandafter\MTC@read\fi}%
+%%%%%%%%%% end of minitoc patches
+
+
+\def\MLF@next#1\relax#2\\{%
+  \edef\MLF@list{#2}%
+  \MLF@loop{#1}}
+\def\MLF@lof{%
+  \ifx\MLF@list\@empty\else\expandafter\MLF@explist\fi}
+
+\def\MLF@contentsline#1#2#3{%
+\gdef\themtc{\arabic{mtc}}
+\expandafter%
+ \ifx\csname #1\endcsname\xchapter\relax
+ \stepcounter{mtc}% % the mtc counter simulates the chapter counter
+\@ifundefined{SHORTEXT}%
+{\typeout{Writing\space\jobname.mlf\themtc}%     % UNIX
+\def\mlfname{\jobname.mlf\themtc}}%              % UNIX
+{\typeout{Writing\space\jobname.F\themtc}%       % MS-DOS
+\def\mlfname{\jobname.F\themtc}}%                % MS-DOS
+ \immediate\closeout\tf@mtc % close current .mlfN .mlf->.F on MS-DOS
+ \immediate\openout\tf@mtc=\mlfname % open next .mlfN (.mlf->.F if MS-DOS)
+ \fi
+\expandafter% % extracts and writes info for sections, etc.
+ \ifx\csname #1\endcsname\figure\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\mlffont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\mlffont%
+      \space #3}}}}\@tempa
+ \fi
+}
+
+\def\MLF@explist{\expandafter\MLF@next\MLF@list\\}
+\def\MLF@loop#1{\openin\@inputcheck#1\relax
+  \ifeof\@inputcheck
+    \typeout{^^JNo file #1^^JMINILOFS NOT PREPARED.^^J}%
+    \expandafter\MLF@lof
+  \else
+    \typeout{PREPARING MINILOFS FROM #1}%
+    \expandafter\MLF@read\fi}
+\def\MLF@read{%
+  \read\@inputcheck to\MLF@line
+  \expandafter\MLF@test\MLF@line....\MLF@%
+  }%
+\long\def\MLF@test#1#2#3#4#5\MLF@{%
+  \ifx#1\contentsline
+    \let\mtc@string\string
+    \MLF@contentsline{#2}{#3}{#4}%
+    \let\mtc@string\relax
+  \else\ifx#1\@input
+     \edef\MLF@list{\MLF@list#2\relax}%
+  \else\ifx#1\chapterend % \chapter* closes .mlfN (.mlf->.F on MS-DOS)
+     \immediate\closeout\tf@mtc
+     \immediate\openout\tf@mtc=\jobname.bmt % and opens a scratch file
+  \else\ifx#1\chapterbegin
+     \addtocounter{mtc}{-1}% % \chapter* has done a parasite increment
+  \fi\fi\fi\fi
+  \ifeof\@inputcheck\expandafter\MLF@lof
+  \else\expandafter\MLF@read\fi}%
+
+\def\MLT@next#1\relax#2\\{%
+  \edef\MLT@list{#2}%
+  \MLT@loop{#1}}
+\def\MLT@lot{%
+  \ifx\MLT@list\@empty\else\expandafter\MLT@explist\fi}
+
+\def\MLT@contentsline#1#2#3{%
+\gdef\themtc{\arabic{mtc}}
+\expandafter%
+ \ifx\csname #1\endcsname\xchapter\relax
+ \stepcounter{mtc}% % the mtc counter simulates the chapter counter
+\@ifundefined{SHORTEXT}%
+{\typeout{Writing\space\jobname.mlt\themtc}%     % UNIX
+\def\mltname{\jobname.mlt\themtc}}%              % UNIX
+{\typeout{Writing\space\jobname.T\themtc}%       % MS-DOS
+\def\mltname{\jobname.T\themtc}}%                % MS-DOS
+ \immediate\closeout\tf@mtc % close current .mltN .mlt->.T on MS-DOS
+ \immediate\openout\tf@mtc=\mltname % open next .mltN (.mlt->.T if MS-DOS)
+ \fi
+\expandafter% % extracts and writes info for sections, etc.
+ \ifx\csname #1\endcsname\table\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\mltfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\mltfont%
+      \space #3}}}}\@tempa
+ \fi
+}
+
+\def\MLT@explist{\expandafter\MLT@next\MLT@list\\}
+\def\MLT@loop#1{\openin\@inputcheck#1\relax
+  \ifeof\@inputcheck
+    \typeout{^^JNo file #1^^JMINILOTS NOT PREPARED.^^J}%
+    \expandafter\MLT@lot
+  \else
+    \typeout{PREPARING MINILOTS FROM #1}%
+    \expandafter\MLT@read\fi}
+\def\MLT@read{%
+  \read\@inputcheck to\MLT@line
+  \expandafter\MLT@test\MLT@line....\MLT@%
+  }%
+\long\def\MLT@test#1#2#3#4#5\MLT@{%
+  \ifx#1\contentsline
+    \let\mtc@string\string
+    \MLT@contentsline{#2}{#3}{#4}%
+    \let\mtc@string\relax
+  \else\ifx#1\@input
+     \edef\MLT@list{\MLT@list#2\relax}%
+  \else\ifx#1\chapterend % \chapter* closes .mltN (.mlt->.T on MS-DOS)
+     \immediate\closeout\tf@mtc
+     \immediate\openout\tf@mtc=\jobname.bmt % and opens a scratch file
+  \else\ifx#1\chapterbegin
+     \addtocounter{mtc}{-1}% % \chapter* has done a parasite increment
+  \fi\fi\fi\fi
+  \ifeof\@inputcheck\expandafter\MLT@lot
+  \else\expandafter\MLT@read\fi}%
+} % end of chapter level
+
+%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+% If \part is defined (book or article-like document),
+% the following macros are allowed
+% Sometimes, we need to make a difference between book and
+% article (is \chapter defined?), to have a different layout.
+\@ifundefined{part}{}%
+{%
+\def\xpart{xpart}
+\def\Thepart{\arabic{part}}
+\def\firstpartis#1%
+  {\typeout{^^JWARNING*** \string\firstpartis}%
+   \typeout{ is an obsolete command^^J}}
+\newcounter{ptc}  % counter of parttocs
+\setcounter{ptc}{0}
+\def\theptc{\arabic{ptc}}
+\newcounter{parttocdepth} % analog to tocdepth, but for parttocs
+\setcounter{parttocdepth}{2}
+
+\@ifundefined{chapter}{%
+\def\ptc@rule{\kern-3\p@%
+  \hrule width \columnwidth \kern2.6\p@}% the \hrule is .4pt high
+}{\let\ptc@rule\relax} % no rule before/after parttoc/partlof/partlot
+                       % for books
+
+\newlength\ptcindent % indentation (left/right) of parttocs
+\@ifundefined{chapter}{\ptcindent=24pt}{\ptcindent=0pt} % defaut value
+
+\@ifundefined{chapter}{%
+\def\ptcfont{\small\rm}    % font for the parttoc
+\def\ptcSfont{\small\bf}   % font for the parttoc (sections)
+\def\ptcSSfont{\ptcfont}   % font for the parttoc (subsections)
+\def\ptcSSSfont{\ptcfont}  % font for the parttoc (subsubsections)
+\def\ptcPfont{\ptcfont}    % font for the parttoc (paragraphs)
+\def\ptcSPfont{\ptcfont}   % font for the parttoc (subparagraphs)
+\def\plffont{\ptcfont}     % font for the partlof (figures)
+\def\pltfont{\ptcfont}     % font for the partlot (tables)
+\def\ptifont{\large\bf}    % font for titles
+}{%
+\def\ptcfont{\normalsize\rm}    % font for the parttoc
+\def\ptcCfont{\normalsize\bf}   % font for the parttoc (chapters)
+\def\ptcSfont{\normalsize\rm}   % font for the parttoc (sections)
+\def\ptcSSfont{\ptcfont}   % font for the parttoc (subsections)
+\def\ptcSSSfont{\ptcfont}  % font for the parttoc (subsubsections)
+\def\ptcPfont{\ptcfont}    % font for the parttoc (paragraphs)
+\def\ptcSPfont{\ptcfont}   % font for the parttoc (subparagraphs)
+\def\plffont{\ptcfont}     % font for the partlof (figures)
+\def\pltfont{\ptcfont}     % font for the partlot (tables)
+\def\ptifont{\Huge\bf}     % font for titles
+}
+
+% Centering, flushleft, flushright or empty titles.
+\@ifundefined{chapter}{%
+\def\c@pti#1{\null\hfill #1\hfill\null}
+\def\l@pti#1{\null #1\hfill\null}
+\def\r@pti#1{\null\hfill #1\null}
+\def\e@pti#1{\relax}
+\def\n@pti#1{\relax}
+}{%
+\def\e@pti#1{\relax}
+\def\n@pti#1{\relax}
+\def\l@pti#1{\if@twocolumn
+    \@topnewpage[\@makephead@l{#1}]%
+    \else
+    \@makephead@l{#1}%
+    \@afterheading
+    \fi}
+\def\@makephead@l#1{%
+    \vspace*{50\p@}%
+    {\parindent \z@ \raggedright
+     \ptifont
+     #1\par
+     \nobreak
+     \vskip 40\p@
+    }}
+\def\r@pti#1{\if@twocolumn
+    \@topnewpage[\@makephead@r{#1}]%
+    \else
+    \@makephead@r{#1}%
+    \@afterheading
+    \fi}
+\def\@makephead@r#1{%
+    \vspace*{50\p@}%
+    {\parindent \z@ \raggedleft
+     \ptifont
+     #1\par
+     \nobreak
+     \vskip 40\p@
+    }}
+\def\c@pti#1{\if@twocolumn
+    \@topnewpage[\@makephead@c{#1}]%
+    \else
+    \@makephead@c{#1}%
+    \@afterheading
+    \fi}
+\def\@makephead@c#1{%
+    \vspace*{50\p@}%
+    {\parindent \z@ \centering
+     \ptifont
+     #1\par
+     \nobreak
+     \vskip 40\p@
+    }}%
+}
+
+% Default: titles on left
+\let\do@ptitc\l@pti
+\let\df@ptitc\l@pti
+\let\do@ptilf\l@pti
+\let\df@ptilf\l@pti
+\let\do@ptilt\l@pti
+\let\df@ptilt\l@pti
+
+%v27 % Language dependent names: default values
+%v27 \@ifundefined{chapter}{%
+%v27 \@ifundefined{ptctitle}{\def\ptctitle{Contents}}{\relax}
+%v27 \@ifundefined{plftitle}{\def\plftitle{Figures}}{\relax}
+%v27 \@ifundefined{plttitle}{\def\plttitle{Tables}}{\relax}}%
+%v27 {%
+%v27 \@ifundefined{ptctitle}{\def\ptctitle{Table of Contents}}{\relax}
+%v27 \@ifundefined{plftitle}{\def\plftitle{List of Figures}}{\relax}
+%v27 \@ifundefined{plttitle}{\def\plttitle{List of Tables}}{\relax}
+%v27 }
+
+\def\ptc@verse{\let\\=\@centercr
+  \list{}{\itemsep\z@\itemindent \z@\listparindent \itemindent
+          \leftmargin\ptcindent
+          \rightmargin\leftmargin}\item[]}
+\def\endptc@verse{\nopagebreak[4]\endlist}
+
+% this command must be used after \part
+% if you need a parttoc (no automatic parttoc)
+\def\parttoc{\@ifnextchar[{\parttoc@}{\parttoc@[d]}}
+
+\def\parttoc@[#1]{%
+        \@ifundefined{chapter}{}{\cleardoublepage
+        \global\let\mtc@markboth\markboth
+        \global\let\@mkboth\markboth
+        \thispagestyle{empty}
+        \mtc@markboth{\uppercase{\ptctitle}}{\uppercase{\ptctitle}}%
+        }%
+        \relax\begin{samepage}% we begin a local group here, using samepage
+        \if #1e\let\do@ptitc\e@pti
+        \else\if #1n\let\do@ptitc\n@pti
+        \else\if #1c\let\do@ptitc\c@pti
+        \else\if #1l\let\do@ptitc\l@pti
+        \else\if #1r\let\do@ptitc\r@pti
+        \else\if #1d\let\do@ptitc\df@ptitc
+        \fi\fi\fi\fi\fi\fi
+        \raggedright % added #14
+        \parskip=\z@%
+        \reset@font\ptcfont%
+        \parindent=\z@%
+        \nopagebreak[4]%
+        \kern-0.8\baselineskip\nopagebreak[4]%
+        \par\noindent
+        \nopagebreak[4]%
+        \ifx\ptc@rule\relax
+        \begin{tabular}{@{}p{\columnwidth}@{}}
+        {\reset@font\ptifont\do@ptitc{\mtc@v\ptctitle}}\\
+        \end{tabular}\else
+        \begin{tabular}{@{}p{\columnwidth}@{}}
+        {\reset@font\ptifont\do@ptitc{\mtc@v\ptctitle}}\\\hline
+        \end{tabular}\fi
+        \nopagebreak[4]\null\leavevmode\vrule width \z@
+        height \z@ depth \z@\\\@BBR%
+        \leftmargin\ptcindent
+        \rightmargin\ptcindent
+        \itemindent=\z@\labelwidth=\z@%
+        \labelsep=\z@\listparindent=\z@%
+        \begin{ptc@verse}\c@tocdepth=\c@parttocdepth%
+        \leavevmode\\\@BBR% this blank line is necessary to avoid
+                % a wild negative indentation
+        \vskip -.5\baselineskip
+\begingroup
+  \makeatletter
+  \@ifundefined{ptc@pgno}%
+  {\let\@dottedtocline\@undottedtocline}{}
+\@ifundefined{SHORTEXT}%
+{\def\@tocfile{ptc\Thepart}}%  % UNIX
+{\def\@tocfile{P\Thepart}}%    % MS-DOS
+  \@input{\jobname.\@tocfile}\if@filesw
+  \fi%
+  \global\@nobreakfalse\endgroup
+        \end{ptc@verse}%
+        \kern0.\baselineskip%
+        \nopagebreak[4]\ptc@rule\null\leavevmode\\%
+        \vskip-1.0\baselineskip
+        \vrule width \z@ height \z@
+        depth \z@\end{samepage}% %## the \\ is essential
+        \par\@ifundefined{chapter}{\pagebreak[1]\vspace*{-1ex}}%
+        {\cleardoublepage}}
+
+% this command must be used after \part
+% if you need a partlof (no automatic partlof)
+\def\partlof{\@ifnextchar[{\partlof@}{\partlof@[d]}}
+
+\def\partlof@[#1]{%
+        \@ifundefined{chapter}{}{\cleardoublepage
+        \global\let\mtc@markboth\markboth
+        \global\let\@mkboth\markboth
+        \thispagestyle{empty}
+        \mtc@markboth{\uppercase{\plftitle}}{\uppercase{\plftitle}}%
+        }%
+        \relax\begin{samepage}% we begin a local group here, using samepage
+        \if #1e\let\do@ptilf\e@pti
+        \else\if #1n\let\do@ptilf\n@pti
+        \else\if #1c\let\do@ptilf\c@pti
+        \else\if #1l\let\do@ptilf\l@pti
+        \else\if #1r\let\do@ptilf\r@pti
+        \else\if #1d\let\do@ptilf\df@ptilf
+        \fi\fi\fi\fi\fi\fi
+        \raggedright % added #14
+        \parskip=\z@%
+        \reset@font\plffont%
+        \parindent=\z@%
+        \nopagebreak[4]%
+        \kern-0.8\baselineskip\nopagebreak[4]%
+        \par\noindent
+        \ifx\ptc@rule\relax
+        \begin{tabular}{@{}p{\columnwidth}@{}}
+        {\reset@font\ptifont\do@ptilf{\mtc@v\plftitle}}\\
+        \end{tabular}\else
+        \begin{tabular}{@{}p{\columnwidth}@{}}
+        {\reset@font\ptifont\do@ptilf{\mtc@v\plftitle}}\\
+        \@ifundefined{chapter}{\hline}{}
+        \end{tabular}\fi
+        \nopagebreak[4]\null\leavevmode\vrule width \z@
+        height \z@ depth \z@\\\@BBR%
+        \leftmargin\ptcindent
+        \rightmargin\ptcindent
+        \itemindent=\z@\labelwidth=\z@%
+        \labelsep=\z@\listparindent=\z@%
+        % depth does not matter for partlof
+        \begin{ptc@verse}%\c@tocdepth=\c@parttocdepth%
+        \leavevmode\\\@BBR% this blank line is necessary to avoid
+                % a wild negative indentation
+        \vskip -.5\baselineskip
+\begingroup
+  \makeatletter
+  \@ifundefined{plf@pgno}%
+  {\let\@dottedtocline\@undottedtocline}{}
+\@ifundefined{SHORTEXT}%
+{\def\@tocfile{plf\Thepart}}%  % UNIX
+{\def\@tocfile{G\Thepart}}%    % MS-DOS
+  \@input{\jobname.\@tocfile}\if@filesw
+  \fi%
+  \global\@nobreakfalse\endgroup
+        \end{ptc@verse}%
+        \kern0.\baselineskip%
+        \nopagebreak[4]\ptc@rule\null\leavevmode\\%
+        \vskip-1.0\baselineskip
+        \vrule width \z@ height \z@
+        depth \z@\end{samepage}% %## the \\ is essential
+        \par\@ifundefined{chapter}{\pagebreak[1]\vspace*{-1ex}}%
+        {\cleardoublepage}}
+
+% Added in version #13
+% this command must be used after \part
+% if you need a minilot (no automatic partlot)
+\def\partlot{\@ifnextchar[{\partlot@}{\partlot@[d]}}
+
+\def\partlot@[#1]{%
+        \@ifundefined{chapter}{}{\cleardoublepage
+        \global\let\mtc@markboth\markboth
+        \global\let\@mkboth\markboth
+        \thispagestyle{empty}
+        \mtc@markboth{\uppercase{\plttitle}}{\uppercase{\plttitle}}%
+        }%
+        \relax\begin{samepage}% we begin a local group here, using samepage
+        \if #1e\let\do@ptilt\e@pti
+        \else\if #1n\let\do@ptilt\n@pti
+        \else\if #1c\let\do@ptilt\c@pti
+        \else\if #1l\let\do@ptilt\l@pti
+        \else\if #1r\let\do@ptilt\r@pti
+        \else\if #1d\let\do@ptilt\df@ptilt
+        \fi\fi\fi\fi\fi\fi
+        \raggedright % added #14
+        \parskip=\z@%
+        \reset@font\pltfont%
+        \parindent=\z@%
+        \nopagebreak[4]%
+        \kern-0.8\baselineskip\nopagebreak[4]%
+        \par\noindent
+        \ifx\ptc@rule\relax
+        \begin{tabular}{@{}p{\columnwidth}@{}}
+        {\reset@font\ptifont\do@ptilt{\mtc@v\plttitle}}\\
+        \end{tabular}\else
+        \begin{tabular}{@{}p{\columnwidth}@{}}
+        {\reset@font\ptifont\do@ptilt{\mtc@v\plttitle}}\\
+        \@ifundefined{chapter}{\hline}{}
+        \end{tabular}\fi
+        \nopagebreak[4]\null\leavevmode\vrule width \z@
+        height \z@ depth \z@\\\@BBR%
+        \leftmargin\ptcindent
+        \rightmargin\ptcindent
+        \itemindent=\z@\labelwidth=\z@%
+        \labelsep=\z@\listparindent=\z@%
+        % depth does not matter for partlot
+        \begin{ptc@verse}%\c@tocdepth=\c@parttocdepth%
+        \leavevmode\\\@BBR% this blank line is necessary to avoid
+                % a wild negative indentation
+        \vskip -.5\baselineskip
+\begingroup
+  \makeatletter
+  \@ifundefined{plt@pgno}%
+  {\let\@dottedtocline\@undottedtocline}{}
+\@ifundefined{SHORTEXT}%
+{\def\@tocfile{plt\Thepart}}%  % UNIX
+{\def\@tocfile{U\Thepart}}%    % MS-DOS
+  \@input{\jobname.\@tocfile}\if@filesw
+  \fi%
+  \global\@nobreakfalse\endgroup
+        \end{ptc@verse}%
+        \kern0.\baselineskip%
+        \nopagebreak[4]\ptc@rule\null\leavevmode\\%
+        \vskip-1.0\baselineskip
+        \vrule width \z@ height \z@
+        depth \z@\end{samepage}% %## the \\ is essential
+        \par\@ifundefined{chapter}{\pagebreak[1]\vspace*{-1ex}}%
+        {\cleardoublepage}}
+
+% I use a depth of 10000 to inhibit the printing of
+% that contentsline.
+\def\l@xpart{\@dottedtocline{\@M}{1.0em}{2.3em}}
+\def\l@pchapter{\@dottedtocline{1}{1.0em}{2.3em}}
+
+\def\pchapter{pchapter}
+
+\let\sv@part\@part
+\def\@part[#1]#2{\sv@part[{#1}]{#2}\relax%
+\addcontentsline{lof}{xpart}{#1}%
+\addcontentsline{lot}{xpart}{#1}%
+}
+
+% tricky code to deal with \part*
+\let\ptc@spart\@spart
+\def\@spart{%
+\addtocontents{toc}{\protect\partend}\ptc@spart%
+}
+\def\@spart{%
+\addtocontents{toc}{\protect\partbegin}\ptc@spart%
+}
+\let\partend\relax
+\let\partbegin\relax
+
+\let\appendixmtc\relax
+
+% this command extracts info from the .toc file
+% and create the .ptcN files (.ptc -> .P on MS-DOS)
+\def\@doparttoc#1{{%
+  \makeatletter
+  \setcounter{ptc}{0} % START VALUE
+  \PTC@next#1.toc\relax\\}\setcounter{ptc}{0}} %23; raz
+% this command extracts info from the .lof file
+% and create the .plfN files (.plf -> .G on MS-DOS)
+\def\@dopartlof#1{{%
+  \makeatletter
+  \setcounter{ptc}{0} % START VALUE
+  \PLF@next#1.lof\relax\\}\setcounter{ptc}{0}} %23: raz
+% this command extracts info from the .lot file
+% and create the .pltN files (.plt -> .U on MS-DOS)
+\def\@dopartlot#1{{%
+  \setcounter{ptc}{0} % START VALUE
+  \makeatletter
+  \PLT@next#1.lot\relax\\}\setcounter{ptc}{0}} %23: raz
+
+\def\doparttoc{\@ifnextchar[{\doparttoc@}{\doparttoc@[l]}}
+\def\dopartlof{\@ifnextchar[{\dopartlof@}{\dopartlof@[l]}}
+\def\dopartlot{\@ifnextchar[{\dopartlot@}{\dopartlot@[l]}}
+
+\def\doparttoc@[#1]{%
+\if #1e\let\df@ptitc\e@pti%
+\else\if #1n\let\df@ptitc\n@pti%
+\else\if #1c\let\df@ptitc\c@pti%
+\else\if #1l\let\df@ptitc\l@pti%
+\else\if #1r\let\df@ptitc\r@pti%
+\fi\fi\fi\fi\fi%
+\@@doparttoc}
+
+\def\dopartlof@[#1]{%
+\if #1e\let\df@ptilf\e@pti%
+\else\if #1n\let\df@ptilf\n@pti%
+\else\if #1c\let\df@ptilf\c@pti%
+\else\if #1l\let\df@ptilf\l@pti%
+\else\if #1r\let\df@ptilf\r@pti%
+\fi\fi\fi\fi\fi%
+\@@dopartlof}
+
+\def\dopartlot@[#1]{%
+\if #1e\let\df@ptilt\e@pti%
+\else\if #1n\let\df@ptilt\n@pti%
+\else\if #1c\let\df@ptilt\c@pti%
+\else\if #1l\let\df@ptilt\l@pti%
+\else\if #1r\let\df@ptilt\r@pti%
+\fi\fi\fi\fi\fi%
+\@@dopartlot}
+
+\def\@@doparttoc{\@doparttoc{\jobname}\immediate\closeout\tf@mtc}
+\def\@@dopartlof{\@dopartlof{\jobname}\immediate\closeout\tf@mtc}
+\def\@@dopartlot{\@dopartlot{\jobname}\immediate\closeout\tf@mtc}
+
+\def\PTC@next#1\relax#2\\{%
+  \edef\PTC@list{#2}%
+  \PTC@loop{#1}}
+\def\PTC@toc{%
+  \ifx\PTC@list\@empty\else\expandafter\PTC@explist\fi}
+
+\def\PTC@contentsline#1#2#3#4{% %%DV: 4 instead of 3 parameters
+\expandafter%
+ \ifx\csname #1\endcsname\part\relax
+ \stepcounter{ptc}% % the ptc counter simulates the part counter
+\@ifundefined{SHORTEXT}%
+{\typeout{Writing\space\jobname.ptc\theptc}%     % UNIX
+\def\ptcname{\jobname.ptc\theptc}}%              % UNIX
+{\typeout{Writing\space\jobname.P\theptc}%       % MS-DOS
+\def\ptcname{\jobname.P\theptc}}%                % MS-DOS
+ \immediate\closeout\tf@mtc % close current .ptcN .ptc->.P on MS-DOS
+ \immediate\openout\tf@mtc=\ptcname % open next .ptcN (.ptc->.P if MS-DOS)
+ \fi
+\expandafter% % extracts and writes info for chapters, sections, etc.
+ \ifx\csname #1\endcsname\chapter\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\ptcCfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\ptcCfont%
+      \space #3}{#4}}}}\@tempa% %%DV: 4 instead of 3 parameters
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\section\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\ptcSfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\ptcSfont%
+      \space #3}{#4}}}}\@tempa% %%DV: 4 instead of 3 parameters
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\subsection\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\ptcSSfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\ptcSSfont%
+      \space #3}{#4}}}}\@tempa% %%DV: 4 instead of 3 parameters
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\subsubsection\relax
+     \mtc@toks{\noexpand \leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\ptcSSSfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\ptcSSSfont%
+      \space #3}{#4}}}}\@tempa% %%DV: 4 instead of 3 parameters
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\paragraph\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\ptcPfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\ptcPfont%
+      \space #3}{#4}}}}\@tempa% %%DV: 4 instead of 3 parameters
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\subparagraph\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\ptcSPfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\ptcSPfont
+      \space #3}{#4}}}}\@tempa% %%DV: 4 instead of 3 parameters
+ \fi
+% Added v25: \starchapter & co.
+\expandafter% % extracts and writes info for chapters, sections, etc.
+ \ifx\csname #1\endcsname\starchapter\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\ptcCfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\ptcCfont%
+      \space #3}{#4}}}}\@tempa% %%DV: 4 instead of 3 parameters
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\starsection\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\ptcSfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\ptcSfont%
+      \space #3}{#4}}}}\@tempa% %%DV: 4 instead of 3 parameters
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\starsubsection\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\ptcSSfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\ptcSSfont%
+      \space #3}{#4}}}}\@tempa% %%DV: 4 instead of 3 parameters
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\starsubsubsection\relax
+     \mtc@toks{\noexpand \leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\ptcSSSfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\ptcSSSfont%
+      \space #3}{#4}}}}\@tempa% %%DV: 4 instead of 3 parameters
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\starparagraph\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\ptcPfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\ptcPfont%
+      \space #3}{#4}}}}\@tempa% %%DV: 4 instead of 3 parameters
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\starsubparagraph\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\ptcSPfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\ptcSPfont
+      \space #3}{#4}}}}\@tempa% %%DV: 4 instead of 3 parameters
+ \fi
+}
+
+\def\PTC@explist{\expandafter\PTC@next\PTC@list\\}
+\def\PTC@loop#1{\openin\@inputcheck#1\relax
+  \ifeof\@inputcheck
+    \typeout{^^JNo file #1^^JPARTTOCS NOT PREPARED.^^J}%
+    \expandafter\PTC@toc
+  \else
+    \typeout{PREPARING PARTTOCS FROM #1}%
+    \expandafter\PTC@read\fi}
+\def\PTC@read{%
+  \read\@inputcheck to\PTC@line
+  \expandafter\PTC@test\PTC@line....\PTC@%
+  }%
+\long\def\PTC@test#1#2#3#4#5\PTC@{%
+  \ifx#1\contentsline
+    \let\mtc@string\string
+    \PTC@contentsline{#2}{#3}{#4}{\scrubdots#5}% %%DV: 4 instead of 3 params
+    \let\mtc@string\relax
+  \else\ifx#1\@input
+     \edef\PTC@list{\PTC@list#2\relax}%
+  \else\ifx#1\partend % \part* closes .ptcN (.ptc->.P on MS-DOS)
+     \immediate\closeout\tf@mtc
+     \immediate\openout\tf@mtc=\jobname.bmt % and opens a scratch file
+  \else\ifx#1\partbegin
+     \addtocounter{ptc}{-1}% % \part* has done a parasite increment
+  \fi\fi\fi\fi
+  \ifeof\@inputcheck\expandafter\PTC@toc
+  \else\expandafter\PTC@read\fi}%
+
+\def\PLF@next#1\relax#2\\{%
+  \edef\PLF@list{#2}%
+  \PLF@loop{#1}}
+\def\PLF@lof{%
+  \ifx\PLF@list\@empty\else\expandafter\PLF@explist\fi}
+
+\def\PLF@contentsline#1#2#3{%
+\expandafter%
+ \ifx\csname #1\endcsname\xpart\relax
+ \stepcounter{ptc}% % the ptc counter simulates the part counter
+\@ifundefined{SHORTEXT}%
+{\typeout{Writing\space\jobname.plf\theptc}%     % UNIX
+\def\plfname{\jobname.plf\theptc}}%              % UNIX
+{\typeout{Writing\space\jobname.G\theptc}%       % MS-DOS
+\def\plfname{\jobname.G\theptc}}%                % MS-DOS
+ \immediate\closeout\tf@mtc % close current .plfN .plf->.G on MS-DOS
+ \immediate\openout\tf@mtc=\plfname % open next .plfN (.plf->.G if MS-DOS)
+ \fi
+\expandafter% % extracts and writes info for sections, etc.
+ \ifx\csname #1\endcsname\figure\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\plffont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\plffont%
+      \space #3}}}}\@tempa
+ \fi
+}
+
+\def\PLF@explist{\expandafter\PLF@next\PLF@list\\}
+\def\PLF@loop#1{\openin\@inputcheck#1\relax
+  \ifeof\@inputcheck
+    \typeout{^^JNo file #1^^JPARTLOFS NOT PREPARED.^^J}%
+    \expandafter\PLF@lof
+  \else
+    \typeout{PREPARING PARTLOFS FROM #1}%
+    \expandafter\PLF@read\fi}
+\def\PLF@read{%
+  \read\@inputcheck to\PLF@line
+  \expandafter\PLF@test\PLF@line....\PLF@%
+  }%
+\long\def\PLF@test#1#2#3#4#5\PLF@{%
+  \ifx#1\contentsline
+    \let\mtc@string\string
+    \PLF@contentsline{#2}{#3}{#4}%
+    \let\mtc@string\relax
+  \else\ifx#1\@input
+     \edef\PLF@list{\PLF@list#2\relax}%
+  \else\ifx#1\partend % \part* closes .plfN (.plf->.G on MS-DOS)
+     \immediate\closeout\tf@mtc
+     \immediate\openout\tf@mtc=\jobname.bmt % and opens a scratch file
+  \else\ifx#1\partbegin
+     \addtocounter{ptc}{-1}% % \part* has done a parasite increment
+  \fi\fi\fi\fi
+  \ifeof\@inputcheck\expandafter\PLF@lof
+  \else\expandafter\PLF@read\fi}%
+
+\def\PLT@next#1\relax#2\\{%
+  \edef\PLT@list{#2}%
+  \PLT@loop{#1}}
+\def\PLT@lot{%
+  \ifx\PLT@list\@empty\else\expandafter\PLT@explist\fi}
+
+\def\PLT@contentsline#1#2#3{%
+\expandafter%
+ \ifx\csname #1\endcsname\xpart\relax
+ \stepcounter{ptc}% % the ptc counter simulates the part counter
+\@ifundefined{SHORTEXT}%
+{\typeout{Writing\space\jobname.plt\theptc}%     % UNIX
+\def\pltname{\jobname.plt\theptc}}%              % UNIX
+{\typeout{Writing\space\jobname.U\theptc}%       % MS-DOS
+\def\pltname{\jobname.U\theptc}}%                % MS-DOS
+ \immediate\closeout\tf@mtc % close current .pltN .plt->.U on MS-DOS
+ \immediate\openout\tf@mtc=\pltname % open next .pltN (.plt->.U if MS-DOS)
+ \fi
+\expandafter% % extracts and writes info for chapters, sections, etc.
+ \ifx\csname #1\endcsname\table\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\pltfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\pltfont%
+      \space #3}}}}\@tempa
+ \fi
+}
+
+\def\PLT@explist{\expandafter\PLT@next\PLT@list\\}
+\def\PLT@loop#1{\openin\@inputcheck#1\relax
+  \ifeof\@inputcheck
+    \typeout{^^JNo file #1^^JPARTLOTS NOT PREPARED.^^J}%
+    \expandafter\PLT@lot
+  \else
+    \typeout{PREPARING PARTLOTS FROM #1}%
+    \expandafter\PLT@read\fi}
+\def\PLT@read{%
+  \read\@inputcheck to\PLT@line
+  \expandafter\PLT@test\PLT@line....\PLT@%
+  }%
+\long\def\PLT@test#1#2#3#4#5\PLT@{%
+  \ifx#1\contentsline
+    \let\mtc@string\string
+    \PLT@contentsline{#2}{#3}{#4}%
+    \let\mtc@string\relax
+  \else\ifx#1\@input
+     \edef\PLT@list{\PLT@list#2\relax}%
+  \else\ifx#1\partend % \part* closes .pltN (.plt->.U on MS-DOS)
+     \immediate\closeout\tf@mtc
+     \immediate\openout\tf@mtc=\jobname.bmt % and opens a scratch file
+  \else\ifx#1\partbegin
+     \addtocounter{ptc}{-1}% % \part* has done a parasite increment
+  \fi\fi\fi\fi
+  \ifeof\@inputcheck\expandafter\PLT@lot
+  \else\expandafter\PLT@read\fi}%
+} % end of part stuff
+
+%%%%%%%%%%%%%%%%%%%%%%%
+%%% If \chapter is not defined but \section is, then
+%%% the following macros are available (for article-like documents).
+%%% Braces are inscrutable!
+\@ifundefined{chapter}%
+{\@ifundefined{section}{}{%
+\def\firstsectionis#1%
+  {\typeout{^^JWARNING*** \string\firstsectionis}%
+   \typeout{ is an obsolete command^^J}}
+\newcounter{stc}  % counter of secttocs
+\setcounter{stc}{0}
+\newcounter{secttocdepth} % analog to tocdepth, but for secttocs
+\setcounter{secttocdepth}{2}
+
+% rule before/after secttoc/sectlof/sectlot
+\def\stc@rule{\kern-3\p@%
+  \hrule width \columnwidth \kern2.6\p@} % the \hrule is .4pt high
+
+\newlength\stcindent % indentation (left/right) of secttocs
+\stcindent=24pt      % defaut value
+\def\stcfont{\small\rm}    % font for the secttoc
+\def\stcSSfont{\normalsize\bf}   % font for the secttoc (subsections)
+\def\stcSSSfont{\stcfont}  % font for the secttoc (subsubsections)
+\def\stcPfont{\stcfont}    % font for the secttoc (paragraphs)
+\def\stcSPfont{\stcfont}   % font for the secttoc (subparagraphs)
+\def\slffont{\stcfont}     % font for the sectlof (figures)
+\def\sltfont{\stcfont}     % font for the sectlot (tables)
+\def\stifont{\Large\bf}    % font for titles
+
+% Centering, flushleft, flushright or empty titles.
+\def\c@sti#1{\null\hfill #1\hfill\null}
+\def\l@sti#1{\null #1\hfill\null}
+\def\r@sti#1{\null\hfill #1\null}
+\def\e@sti#1{\relax}
+\def\n@sti#1{\relax}
+
+% Default: titles on left
+\let\do@stitc\l@sti
+\let\df@stitc\l@sti
+\let\do@stilf\l@sti
+\let\df@stilf\l@sti
+\let\do@stilt\l@sti
+\let\df@stilt\l@sti
+
+%v27 % Language dependent names: default values
+%v27 \@ifundefined{stctitle}{\def\stctitle{Contents}}{\relax}
+%v27 \@ifundefined{slftitle}{\def\slftitle{Figures}}{\relax}
+%v27 \@ifundefined{slttitle}{\def\slttitle{Tables}}{\relax}
+
+\def\stc@verse{\let\\=\@centercr
+  \list{}{\itemsep\z@\itemindent \z@\listparindent \itemindent
+          \leftmargin\stcindent
+          \rightmargin\leftmargin}\item[]}
+\def\endstc@verse{\nopagebreak[4]\endlist}
+
+% this command must be used after \section
+% if you need a secttoc (no automatic secttoc)
+\def\secttoc{\@ifnextchar[{\secttoc@}{\secttoc@[d]}}
+
+\def\secttoc@[#1]{%
+        \relax\begin{samepage}% we begin a local group here, using samepage
+        \if #1e\let\do@stitc\e@sti
+        \else\if #1n\let\do@stitc\n@sti
+        \else\if #1c\let\do@stitc\c@sti
+        \else\if #1l\let\do@stitc\l@sti
+        \else\if #1r\let\do@stitc\r@sti
+        \else\if #1d\let\do@stitc\df@stitc
+        \fi\fi\fi\fi\fi\fi
+        \raggedright % added #14
+        \parskip=\z@%
+        \reset@font\stcfont%
+        \parindent=\z@%
+        \nopagebreak[4]%
+        \kern-0.8\baselineskip\nopagebreak[4]%
+        \par\noindent
+        \ifx\stc@rule\relax
+        \begin{tabular}{@{}p{\columnwidth}@{}}
+        {\reset@font\stifont\do@stitc{\mtc@v\stctitle}}\\
+        \end{tabular}\else
+        \begin{tabular}{@{}p{\columnwidth}@{}}
+        {\reset@font\stifont\do@stitc{\mtc@v\stctitle}}\\\hline
+        \end{tabular}\fi
+        \nopagebreak[4]\null\leavevmode\vrule width \z@
+        height \z@ depth \z@\\\@BBR%
+        \leftmargin\stcindent
+        \rightmargin\stcindent
+        \itemindent=\z@\labelwidth=\z@%
+        \labelsep=\z@\listparindent=\z@%
+        \begin{stc@verse}\c@tocdepth=\c@secttocdepth%
+        \leavevmode\\\@BBR% this blank line is necessary to avoid
+                % a wild negative indentation
+        \vskip -.5\baselineskip
+\begingroup
+  \makeatletter
+  \@ifundefined{stc@pgno}%
+  {\let\@dottedtocline\@undottedtocline}{}
+   \gdef\thestc{\arabic{stc}} %23
+\@ifundefined{SHORTEXT}%
+{\def\@tocfile{stc\thestc}}%  % UNIX
+{\def\@tocfile{S\thestc}}%    % MS-DOS
+  \@input{\jobname.\@tocfile}\if@filesw
+  \fi%
+  \global\@nobreakfalse\endgroup
+        \end{stc@verse}%
+        \kern0.\baselineskip%
+        \nopagebreak[4]\stc@rule\null\leavevmode\\%
+        \vskip-1.0\baselineskip
+        \vrule width \z@ height \z@
+        depth \z@\end{samepage}% %## the \\ is essential
+        \par\pagebreak[1]\vspace*{-1ex}}%
+        % some space under the secttoc
+
+% this command must be used after \section
+% if you need a sectlof (no automatic sectlof)
+\def\sectlof{\@ifnextchar[{\sectlof@}{\sectlof@[d]}}
+
+\def\sectlof@[#1]{%
+        \relax\begin{samepage}% we begin a local group here, using samepage
+        \if #1e\let\do@stilf\e@sti
+        \else\if #1n\let\do@stilf\n@sti
+        \else\if #1c\let\do@stilf\c@sti
+        \else\if #1l\let\do@stilf\l@sti
+        \else\if #1r\let\do@stilf\r@sti
+        \else\if #1d\let\do@stilf\df@stilf
+        \fi\fi\fi\fi\fi\fi
+        \raggedright % added #14
+        \parskip=\z@%
+        \reset@font\slffont%
+        \parindent=\z@%
+        \nopagebreak[4]%
+        \kern-0.8\baselineskip\nopagebreak[4]%
+        \par\noindent
+        \ifx\stc@rule\relax % correction 07Nov94 v23
+        \begin{tabular}{@{}p{\columnwidth}@{}}
+        {\reset@font\stifont\do@stilf{\mtc@v\slftitle}}\\
+        \end{tabular}\else
+        \begin{tabular}{@{}p{\columnwidth}@{}}
+        {\reset@font\stifont\do@stilf{\mtc@v\slftitle}}\\\hline
+        \end{tabular}\fi
+        \nopagebreak[4]\null\leavevmode\vrule width \z@
+        height \z@ depth \z@\\\@BBR%
+        \leftmargin\stcindent
+        \rightmargin\stcindent
+        \itemindent=\z@\labelwidth=\z@%
+        \labelsep=\z@\listparindent=\z@%
+        % depth does not matter for sectlof
+        \begin{stc@verse}%\c@tocdepth=\c@secttocdepth%
+        \leavevmode\\\@BBR% this blank line is necessary to avoid
+                % a wild negative indentation
+        \vskip -.5\baselineskip
+\begingroup
+  \makeatletter
+  \@ifundefined{slf@pgno}%
+  {\let\@dottedtocline\@undottedtocline}{}
+   \gdef\thestc{\arabic{stc}} %23
+\@ifundefined{SHORTEXT}%
+{\def\@tocfile{slf\thestc}}%  % UNIX
+{\def\@tocfile{H\thestc}}%    % MS-DOS
+  \@input{\jobname.\@tocfile}\if@filesw
+  \fi%
+  \global\@nobreakfalse\endgroup
+        \end{stc@verse}%
+        \kern0.\baselineskip%
+        \nopagebreak[4]\stc@rule\null\leavevmode\\%
+        \vskip-1.0\baselineskip
+        \vrule width \z@ height \z@
+        depth \z@\end{samepage}% %## the \\ is essential
+        \par\pagebreak[1]\vspace*{-1ex}}%
+        % some space under the secttoc
+
+% Added in version #13
+% this command must be used after \section
+% if you need a sectlot (no automatic sectlot)
+\def\sectlot{\@ifnextchar[{\sectlot@}{\sectlot@[d]}}
+
+\def\sectlot@[#1]{%
+        \relax\begin{samepage}% we begin a local group here, using samepage
+        \if #1e\let\do@stilt\e@sti
+        \else\if #1n\let\do@stilt\n@sti
+        \else\if #1c\let\do@stilt\c@sti
+        \else\if #1l\let\do@stilt\l@sti
+        \else\if #1r\let\do@stilt\r@sti
+        \else\if #1d\let\do@stilt\df@stilt
+        \fi\fi\fi\fi\fi\fi
+        \raggedright % added #14
+        \parskip=\z@%
+        \reset@font\sltfont%
+        \parindent=\z@%
+        \nopagebreak[4]%
+        \kern-0.8\baselineskip\nopagebreak[4]%
+        \par\noindent
+        \ifx\stc@rule\relax
+        \begin{tabular}{@{}p{\columnwidth}@{}}
+        {\reset@font\stifont\do@stilt{\mtc@v\slttitle}}\\
+        \end{tabular}\else
+        \begin{tabular}{@{}p{\columnwidth}@{}}
+        {\reset@font\stifont\do@stilt{\mtc@v\slttitle}}\\\hline
+        \end{tabular}\fi
+        \nopagebreak[4]\null\leavevmode\vrule width \z@
+        height \z@ depth \z@\\\@BBR%
+        \leftmargin\stcindent
+        \rightmargin\stcindent
+        \itemindent=\z@\labelwidth=\z@%
+        \labelsep=\z@\listparindent=\z@%
+        % depth does not matter for sectlot
+        \begin{stc@verse}%\c@tocdepth=\c@secttocdepth%
+        \leavevmode\\\@BBR% this blank line is necessary to avoid
+                % a wild negative indentation
+        \vskip -.5\baselineskip
+\begingroup
+  \makeatletter
+  \@ifundefined{slt@pgno}%
+  {\let\@dottedtocline\@undottedtocline}{}
+    \gdef\thestc{\arabic{stc}}
+\@ifundefined{SHORTEXT}%
+{\def\@tocfile{slt\thestc}}%  % UNIX
+{\def\@tocfile{V\thestc}}%    % MS-DOS
+  \@input{\jobname.\@tocfile}\if@filesw
+  \fi%
+  \global\@nobreakfalse\endgroup
+        \end{stc@verse}%
+        \kern0.\baselineskip%
+        \nopagebreak[4]\stc@rule\null\leavevmode\\%
+        \vskip-1.0\baselineskip
+        \vrule width \z@ height \z@
+        depth \z@\end{samepage}% %## the \\ is essential
+        \par\pagebreak[1]\vspace*{-1ex}}%
+        % some space under the secttoc
+
+% I use a depth of 10000 to inhibit the printing of
+% that contentsline.
+\def\l@xsect{\@dottedtocline{\@M}{1.0em}{2.3em}}
+\def\l@schapter{\@dottedtocline{1}{1.0em}{2.3em}}
+
+\def\xsect{xsect}
+\def\schapter{schapter}
+
+\let\sv@sect\@sect
+\gdef\@sect#1#2#3#4#5#6[#7]#8{%
+\ifnum #2=1
+\addcontentsline{lof}{xsect}{#7}%
+\addcontentsline{lot}{xsect}{#7}%
+\fi
+\sv@sect{#1}{#2}{#3}{#4}{#4}{#5}{#6}[{#7}]{#8}}
+
+\def\@sect#1#2#3#4#5#6[#7]#8{
+\expandafter
+\ifx\csname #1\endcsname\section\relax % ADDED
+\addcontentsline{lof}{xsect}{#7}%        ADDED
+\addcontentsline{lot}{xsect}{#7}%        ADDED
+\fi                             %        ADDED
+\ifx\csname #1\endcsname\starsection\relax % ADDED v25
+\addcontentsline{lof}{xsect}{#7}%        ADDED v25
+\addcontentsline{lot}{xsect}{#7}%        ADDED v25
+\fi                             %        ADDED v25
+\ifnum #2>\c@secnumdepth
+     \let\@svsec\@empty\else
+     \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname\hskip 1em}\fi
+     \@tempskipa #5\relax
+      \ifdim \@tempskipa>\z@
+        \begingroup #6\relax
+          \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}%
+        \endgroup
+       \csname #1mark\endcsname{#7}\addcontentsline
+         {toc}{#1}{\ifnum #2>\c@secnumdepth \else
+                      \protect\numberline{\csname the#1\endcsname}\fi
+                    #7}\else
+        \def\@svsechd{#6\hskip #3\relax  %% \relax added 2 May 90
+                   \@svsec #8\csname #1mark\endcsname
+                      {#7}\addcontentsline
+                           {toc}{#1}{\ifnum #2>\c@secnumdepth \else
+                             \protect\numberline{\csname the#1\endcsname}\fi
+                       #7}}\fi
+     \@xsect{#5}}
+
+% tricky code to deal with \section*
+\let\stc@ssect\@ssect
+\def\@ssect{%
+\addtocontents{toc}{\protect\sectend}\stc@ssect%
+}
+\def\@ssect{%
+\addtocontents{toc}{\protect\sectbegin}\stc@ssect%
+}
+\let\sectend\relax
+\let\sectbegin\relax
+
+\let\appendixmtc\relax
+
+% this command extracts info from the .toc file
+% and create the .stcN files (.stc -> .S on MS-DOS)
+\def\@dosecttoc#1{{%
+  \makeatletter
+  \setcounter{stc}{0} % START VALUE
+  \STC@next#1.toc\relax\\}\setcounter{stc}{0}} %23: raz
+% this command extracts info from the .lof file
+% and create the .slfN files (.slf -> .H on MS-DOS)
+\def\@dosectlof#1{{%
+  \makeatletter
+  \setcounter{stc}{0} % START VALUE
+  \SLF@next#1.lof\relax\\}\setcounter{stc}{0}} %23: raz
+% this command extracts info from the .lot file
+% and create the .sltN files (.slt -> .V on MS-DOS)
+\def\@dosectlot#1{{%
+  \setcounter{stc}{0} % START VALUE
+  \makeatletter
+  \SLT@next#1.lot\relax\\}\setcounter{stc}{0}} %23: raz
+
+\def\dosecttoc{\@ifnextchar[{\dosecttoc@}{\dosecttoc@[l]}}
+\def\dosectlof{\@ifnextchar[{\dosectlof@}{\dosectlof@[l]}}
+\def\dosectlot{\@ifnextchar[{\dosectlot@}{\dosectlot@[l]}}
+
+\def\dosecttoc@[#1]{%
+\if #1e\let\df@stitc\e@sti%
+\else\if #1n\let\df@stitc\n@sti%
+\else\if #1c\let\df@stitc\c@sti%
+\else\if #1l\let\df@stitc\l@sti%
+\else\if #1r\let\df@stitc\r@sti%
+\fi\fi\fi\fi\fi%
+\@@dosecttoc}
+
+\def\dosectlof@[#1]{%
+\if #1e\let\df@stilf\e@sti%
+\else\if #1n\let\df@stilf\n@sti%
+\else\if #1c\let\df@stilf\c@sti%
+\else\if #1l\let\df@stilf\l@sti%
+\else\if #1r\let\df@stilf\r@sti%
+\fi\fi\fi\fi\fi%
+\@@dosectlof}
+
+\def\dosectlot@[#1]{%
+\if #1e\let\df@stilt\e@sti%
+\else\if #1n\let\df@stilt\n@sti%
+\else\if #1c\let\df@stilt\c@sti%
+\else\if #1l\let\df@stilt\l@sti%
+\else\if #1r\let\df@stilt\r@sti%
+\fi\fi\fi\fi\fi%
+\@@dosectlot}
+
+\def\@@dosecttoc{\@dosecttoc{\jobname}\immediate\closeout\tf@mtc}
+\def\@@dosectlof{\@dosectlof{\jobname}\immediate\closeout\tf@mtc}
+\def\@@dosectlot{\@dosectlot{\jobname}\immediate\closeout\tf@mtc}
+
+\def\STC@next#1\relax#2\\{%
+  \edef\STC@list{#2}%
+  \STC@loop{#1}}
+\def\STC@toc{%
+  \ifx\STC@list\@empty\else\expandafter\STC@explist\fi}
+
+\def\STC@contentsline#1#2#3{%
+  \gdef\thestc{\arabic{stc}}
+\expandafter%
+ \ifx\csname #1\endcsname\section\relax
+ \stepcounter{stc}% % the stc counter simulates the section counter
+  \gdef\thestc{\arabic{stc}}
+\@ifundefined{SHORTEXT}%
+{\typeout{Writing\space\jobname.stc\thestc}%     % UNIX
+\def\stcname{\jobname.stc\thestc}}%              % UNIX
+{\typeout{Writing\space\jobname.S\thestc}%       % MS-DOS
+\def\stcname{\jobname.S\thestc}}%                % MS-DOS
+ \immediate\closeout\tf@mtc % close current .stcN .stc->.S on MS-DOS
+ \immediate\openout\tf@mtc=\stcname % open next .stcN (.stc->.S if MS-DOS)
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\subsection\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\stcSSfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\stcSSfont%
+      \space #3}}}}\@tempa
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\subsubsection\relax
+     \mtc@toks{\noexpand \leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\stcSSSfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\stcSSSfont%
+      \space #3}}}}\@tempa
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\paragraph\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\stcPfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\stcPfont%
+      \space #3}}}}\@tempa
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\subparagraph\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\stcSPfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\stcSPfont
+      \space #3}}}}\@tempa
+ \fi
+% Added v25: \starsection and co.
+ \ifx\csname #1\endcsname\starsection\relax
+ \stepcounter{stc}% % the stc counter simulates the section counter
+  \gdef\thestc{\arabic{stc}}
+\@ifundefined{SHORTEXT}%
+{\typeout{Writing\space\jobname.stc\thestc}%     % UNIX
+\def\stcname{\jobname.stc\thestc}}%              % UNIX
+{\typeout{Writing\space\jobname.S\thestc}%       % MS-DOS
+\def\stcname{\jobname.S\thestc}}%                % MS-DOS
+ \immediate\closeout\tf@mtc % close current .stcN .stc->.S on MS-DOS
+ \immediate\openout\tf@mtc=\stcname % open next .stcN (.stc->.S if MS-DOS)
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\starsubsection\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\stcSSfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\stcSSfont%
+      \space #3}}}}\@tempa
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\starsubsubsection\relax
+     \mtc@toks{\noexpand \leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\stcSSSfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\stcSSSfont%
+      \space #3}}}}\@tempa
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\starparagraph\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\stcPfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\stcPfont%
+      \space #3}}}}\@tempa
+ \fi
+\expandafter%
+ \ifx\csname #1\endcsname\starsubparagraph\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\stcSPfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\stcSPfont
+      \space #3}}}}\@tempa
+ \fi
+}
+
+\def\STC@explist{\expandafter\STC@next\STC@list\\}
+\def\STC@loop#1{\openin\@inputcheck#1\relax
+  \ifeof\@inputcheck
+    \typeout{^^JNo file #1^^JSECTTOCS NOT PREPARED.^^J}%
+    \expandafter\STC@toc
+  \else
+    \typeout{PREPARING SECTTOCS FROM #1}%
+    \expandafter\STC@read\fi}
+\def\STC@read{%
+  \read\@inputcheck to\STC@line
+  \expandafter\STC@test\STC@line....\STC@%
+  }%
+\long\def\STC@test#1#2#3#4#5\STC@{%
+  \ifx#1\contentsline
+    \let\mtc@string\string
+    \STC@contentsline{#2}{#3}{#4}%
+    \let\mtc@string\relax
+  \else\ifx#1\@input
+     \edef\STC@list{\STC@list#2\relax}%
+  \else\ifx#1\sectend % \section* closes .stcN (.stc->.S on MS-DOS)
+     \immediate\closeout\tf@mtc
+     \immediate\openout\tf@mtc=\jobname.bmt % and opens a scratch file
+  \else\ifx#1\sectbegin
+     \addtocounter{stc}{-1}% % \section* has done a parasite increment
+  \fi\fi\fi\fi
+  \ifeof\@inputcheck\expandafter\STC@toc
+  \else\expandafter\STC@read\fi}%
+
+\def\SLF@next#1\relax#2\\{%
+  \edef\SLF@list{#2}%
+  \SLF@loop{#1}}
+\def\SLF@lof{%
+  \ifx\SLF@list\@empty\else\expandafter\SLF@explist\fi}
+
+\def\SLF@contentsline#1#2#3{%
+  \gdef\thestc{\arabic{stc}}
+\expandafter%
+ \ifx\csname #1\endcsname\xsect\relax
+ \stepcounter{stc}% % the stc counter simulates the section counter
+  \gdef\thestc{\arabic{stc}}
+\@ifundefined{SHORTEXT}%
+{\typeout{Writing\space\jobname.slf\thestc}%     % UNIX
+\def\slfname{\jobname.slf\thestc}}%              % UNIX
+{\typeout{Writing\space\jobname.G\thestc}%       % MS-DOS
+\def\slfname{\jobname.H\thestc}}%                % MS-DOS
+ \immediate\closeout\tf@mtc % close current .slfN .slf->.H on MS-DOS
+ \immediate\openout\tf@mtc=\slfname % open next .slfN (.slf->.H if MS-DOS)
+ \fi
+\expandafter% % extracts and writes info for sections, etc.
+ \ifx\csname #1\endcsname\figure\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\slffont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\slffont%
+      \space #3}}}}\@tempa
+ \fi
+}
+
+\def\SLF@explist{\expandafter\SLF@next\SLF@list\\}
+\def\SLF@loop#1{\openin\@inputcheck#1\relax
+  \ifeof\@inputcheck
+    \typeout{^^JNo file #1^^JSECTLOFS NOT PREPARED.^^J}%
+    \expandafter\SLF@lof
+  \else
+    \typeout{PREPARING SECTLOFS FROM #1}%
+    \expandafter\SLF@read\fi}
+\def\SLF@read{%
+  \read\@inputcheck to\SLF@line
+  \expandafter\SLF@test\SLF@line....\SLF@%
+  }%
+\long\def\SLF@test#1#2#3#4#5\SLF@{%
+  \ifx#1\contentsline
+    \let\mtc@string\string
+    \SLF@contentsline{#2}{#3}{#4}%
+    \let\mtc@string\relax
+  \else\ifx#1\@input
+     \edef\SLF@list{\SLF@list#2\relax}%
+  \else\ifx#1\sectend % \section* closes .slfN (.slf->.H on MS-DOS)
+     \immediate\closeout\tf@mtc
+     \immediate\openout\tf@mtc=\jobname.bmt % and opens a scratch file
+  \else\ifx#1\sectbegin
+     \addtocounter{stc}{-1}% % \section* has done a parasite increment
+  \fi\fi\fi\fi
+  \ifeof\@inputcheck\expandafter\SLF@lof
+  \else\expandafter\SLF@read\fi}%
+
+\def\SLT@next#1\relax#2\\{%
+  \edef\SLT@list{#2}%
+  \SLT@loop{#1}}
+\def\SLT@lot{%
+  \ifx\SLT@list\@empty\else\expandafter\SLT@explist\fi}
+
+\def\SLT@contentsline#1#2#3{%
+  \gdef\thestc{\arabic{stc}}
+\expandafter%
+ \ifx\csname #1\endcsname\xsect\relax
+ \stepcounter{stc}% % the stc counter simulates the section counter
+  \gdef\thestc{\arabic{stc}}
+\@ifundefined{SHORTEXT}%
+{\typeout{Writing\space\jobname.slt\thestc}%     % UNIX
+\def\mltname{\jobname.slt\thestc}}%              % UNIX
+{\typeout{Writing\space\jobname.V\thestc}%       % MS-DOS
+\def\sltname{\jobname.V\thestc}}%                % MS-DOS
+ \immediate\closeout\tf@mtc % close current .sltN .slt->.V on MS-DOS
+ \immediate\openout\tf@mtc=\sltname % open next .sltN (.slt->.V if MS-DOS)
+ \fi
+\expandafter% % extracts and writes info for subsections, etc.
+ \ifx\csname #1\endcsname\table\relax
+     \mtc@toks{\noexpand\leavevmode#2}%
+     \edef\@tempa{\immediate\write\tf@mtc {%
+     {\string\reset@font\string\sltfont\string\mtc@string%
+     \string\contentsline{#1}%
+     {\noexpand\the\mtc@toks}{\string\reset@font\string\sltfont%
+      \space #3}}}}\@tempa
+ \fi
+}
+
+\def\SLT@explist{\expandafter\SLT@next\SLT@list\\}
+\def\SLT@loop#1{\openin\@inputcheck#1\relax
+  \ifeof\@inputcheck
+    \typeout{^^JNo file #1^^JSECTLOTS NOT PREPARED.^^J}%
+    \expandafter\SLT@lot
+  \else
+    \typeout{PREPARING SECTLOTS FROM #1}%
+    \expandafter\SLT@read\fi}
+\def\SLT@read{%
+  \read\@inputcheck to\SLT@line
+  \expandafter\SLT@test\SLT@line....\SLT@%
+  }%
+\long\def\SLT@test#1#2#3#4#5\SLT@{%
+  \ifx#1\contentsline
+    \let\mtc@string\string
+    \SLT@contentsline{#2}{#3}{#4}%
+    \let\mtc@string\relax
+  \else\ifx#1\@input
+     \edef\SLT@list{\SLT@list#2\relax}%
+  \else\ifx#1\sectend % \section* closes .sltN (.slt->.V on MS-DOS)
+     \immediate\closeout\tf@mtc
+     \immediate\openout\tf@mtc=\jobname.bmt % and opens a scratch file
+  \else\ifx#1\sectbegin
+     \addtocounter{stc}{-1}% % \section* has done a parasite increment
+  \fi\fi\fi\fi
+  \ifeof\@inputcheck\expandafter\SLT@lot
+  \else\expandafter\SLT@read\fi}%
+}}{}
+
+\@ifundefined{section}{}{\let\l@listof\l@section} %v27
+\@ifundefined{chapter}{}{\let\l@listof\l@chapter} %v27
+\@ifundefined{part}{}{\let\l@starpart\l@part}
+\@ifundefined{chapter}{}{\let\l@starchapter\l@chapter}
+\@ifundefined{section}{}{\let\l@starsection\l@section}
+\@ifundefined{subsection}{}{\let\l@starsubsection\l@subsection}
+\@ifundefined{subsubsection}{}{\let\l@starsubsubsection\l@subsubsection}
+\@ifundefined{paragraph}{}{\let\l@starparagraph\l@paragraph}
+\@ifundefined{subparagraph}{}{\let\l@starsubparagraph\l@subparagraph}
+
+\def\noptcrule{\let\ptc@rule\relax}
+\def\nomtcrule{\let\mtc@rule\relax}
+\def\nostcrule{\let\stc@rule\relax}
+\def\ptcrule{\def\ptc@rule{\kern-3\p@%
+  \hrule width \columnwidth \kern2.6\p@}} % the \hrule is .4pt high
+\def\mtcrule{\def\mtc@rule{\kern-3\p@%
+  \hrule width \columnwidth \kern2.6\p@}} % the \hrule is .4pt high
+\def\stcrule{\def\stc@rule{\kern-3\p@%
+  \hrule width \columnwidth \kern2.6\p@}} % the \hrule is .4pt high
+
+%%%% Language dependent part
+\DeclareOption{american}{\input{english.mld}}
+\DeclareOption{austrian}{\input{german.mld}}
+\DeclareOption{brazil}{\input{portuges.mld}}
+\DeclareOption{breton}{\input{breton.mld}} %v26
+\DeclareOption{catalan}{\input{catalan.mld}}
+\DeclareOption{croatian}{\input{croatian.mld}}
+\DeclareOption{czech}{\input{czech.mld}}
+\DeclareOption{danish}{\input{danish.mld}}
+\DeclareOption{dutch}{\input{dutch.mld}}
+\DeclareOption{english}{\input{english.mld}}
+\DeclareOption{esperant}{\input{esperant.mld}} %v26
+\DeclareOption{esperanto}{\input{esperant.mld}} %v26
+\DeclareOption{finnish}{\input{finnish.mld}}
+\DeclareOption{francais}{\input{french.mld}}
+\DeclareOption{french}{\input{french.mld}}
+\DeclareOption{galician}{\input{galician.mld}}
+\DeclareOption{german}{\input{german.mld}}
+\DeclareOption{germanb}{\input{germanb.mld}} %v26
+\DeclareOption{greek}{\input{greek.mld}} %v26
+\DeclareOption{hungarian}{\input{magyar.mld}}
+\DeclareOption{irish}{\input{irish.mld}} %v26
+\DeclareOption{italian}{\input{italian.mld}}
+\DeclareOption{lsorbian}{\input{lsorbian.mld}} %v26
+\DeclareOption{magyar}{\input{magyar.mld}}
+\DeclareOption{norsk}{\input{norsk.mld}}
+\DeclareOption{nynorsk}{\input{nynorsk.mld}} %v25
+\DeclareOption{polish}{\input{polish.mld}}
+\DeclareOption{portuges}{\input{portuges.mld}}
+\DeclareOption{romanian}{\input{romanian.mld}}
+%%%%russian not supported \DeclareOption{russian}{\input{russian.mld}}
+\DeclareOption{russianb}{\input{russianb.mld}} %v26
+\DeclareOption{scottish}{\input{scottish.mld}} %v26
+\DeclareOption{slovak}{\input{slovak.mld}}
+\DeclareOption{slovene}{\input{slovene.mld}}
+\DeclareOption{spanish}{\input{spanish.mld}}
+\DeclareOption{swedish}{\input{swedish.mld}}
+\DeclareOption{turkish}{\input{turkish.mld}}
+\DeclareOption{usorbian}{\input{usorbian.mld}} %v26
+\DeclareOption{vietnam}{\input{vietnam.mld}}   %v27
+\DeclareOption{vietnamese}{\input{vietnam.mld}}   %v27
+\DeclareOption{arab}{\input{arab.mld}}   %v27
+\DeclareOption{arabic}{\input{arab.mld}}   %v27
+\ExecuteOptions{english} %v27 % default
+\ProcessOptions*
+%%\languagespecific{russian.dtx}
+%%
+%% \CharacterTable
+%%  {Upper-case    \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
+%%   Lower-case    \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
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+\endinput
+%%
+%% End of file `minitoc.sty'.
diff --git a/styles/nameref.sty b/styles/nameref.sty
new file mode 100644 (file)
index 0000000..09d4f67
--- /dev/null
@@ -0,0 +1,290 @@
+%%
+%% This is file `nameref.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% nameref.dtx  (with options: `package')
+%% 
+\def\filedate{2001/01/27}
+\def\fileversion{2.19}
+%% This file is part of the `Hyperref Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the `Hyperref Bundle' is
+%% given in the file `manifest.txt'.
+\ProvidesPackage{nameref}[\filedate\space v\fileversion
+  \space Cross-referencing by name of section]
+\def\strip@period#1.\relax#2\@@@{#1}
+\newif\ifNR@showkeys
+\NR@showkeysfalse
+\@ifpackageloaded{showkeys}{%
+  \begingroup
+    \@ifundefined{SK@@label}{%
+    }{%
+      \global\NR@showkeystrue
+    }%
+  \endgroup
+}{}
+\def\label#1{%
+  \@bsphack
+  \begingroup
+    \let\label\@gobble
+    \def\ref{\protect\ref}%
+    \edef\@currentlabstr{%
+      \expandafter\strip@prefix\meaning\@currentlabelname
+    }%
+    \protected@write\@auxout{}{%
+      \string\newlabel{#1}{%
+        {\@currentlabel}%
+        {\thepage}%
+        {\expandafter\strip@period\@currentlabstr\relax.\relax\@@@}%
+        {\@currentHref}{}%
+      }%
+    }%
+  \endgroup
+  \@esphack
+}%
+\ifNR@showkeys
+  \def\label#1{%
+    \@bsphack
+    \SK@\SK@@label{#1}%
+    \begingroup
+      \let\label\@gobble
+      \def\ref{\protect\ref}%
+      \edef\@currentlabstr{%
+        \expandafter\strip@prefix\meaning\@currentlabelname
+      }%
+      \protected@write\@auxout{}{%
+        \string\newlabel{#1}{%
+          {\@currentlabel}%
+          {\thepage}%
+          {\expandafter\strip@period\@currentlabstr\relax.\relax\@@@}%
+          {\@currentHref}{}%
+        }%
+      }%
+    \endgroup
+    \@esphack
+  }%
+\fi
+\let\ltx@label\label
+\@ifundefined{slabel}{}{%
+  \def\slabel#1{%
+    \@bsphack
+    \if@filesw
+      {%
+        \let\label\@gobble
+        \def\ref{\protect\ref}%
+        \edef\@currentlabstr{%
+          \expandafter\strip@prefix\meaning\@currentlabelname
+        }%
+        \let\thepage\relax
+        \def\protect{\noexpand\noexpand\noexpand}%
+        \edef\@tempa{%
+          \write\@auxout{%
+            \string\newlabel{#1}{%
+              {\thesubequation}%
+              {\thepage}%
+              {\expandafter\strip@period
+                \@currentlabstr\relax.\relax\@@@}%
+              {\@currentHref}{}%
+            }%
+          }%
+        }%
+        \expandafter
+      }%
+      \@tempa
+      \if@nobreak\ifvmode\nobreak\fi\fi
+    \fi
+    \@esphack
+  }%
+}
+\def\@writetocindents@{%
+  \begingroup
+  \@for\@tempa:=-1,0,1,2,3\do{%
+    \immediate\write\@auxout{%
+      \string\newlabel{tocindent\@tempa}{%
+        \csname r@tocindent\@tempa\endcsname{}{}{}{}%
+      }%
+    }%
+  }%
+  \endgroup}
+\let\NR@sect\@sect
+\newcounter{section@level}
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+  \setcounter{section@level}{#2}%
+  \def\@currentlabelname{#7}%
+  \NR@sect{#1}{#2}{#3}{#4}{#5}{#6}[{#7}]{\Sectionformat{#8}{#2}}%
+}
+\let\NR@ssect\@ssect
+\def\@ssect#1#2#3#4#5{%
+  \def\@currentlabelname{#5}%
+  \NR@ssect{#1}{#2}{#3}{#4}{\Sectionformat{#5}{#1}}%
+}
+\let\NR@part\@part
+\def\@part[#1]#2{%
+  \def\@currentlabelname{#1}%
+  \NR@part[{#1}]{#2}%
+}
+\let\NR@chapter\@chapter
+\def\@chapter[#1]#2{%
+  \def\@currentlabelname{#1}%
+  \NR@chapter[{#1}]{#2}%
+}
+\let\NR@schapter\@schapter
+\def\@schapter#1{%
+  \def\@currentlabelname{#1}%
+  \NR@schapter{#1}%
+}
+\def\@currentlabelname{}
+\def\@currentHref{}
+\long\def\@firstoffive#1#2#3#4#5{#1}
+\long\def\@secondoffive#1#2#3#4#5{#2}
+\long\def\@thirdoffive#1#2#3#4#5{#3}
+\long\def\@fourthoffive#1#2#3#4#5{#4}
+\long\def\@fifthoffive#1#2#3#4#5{#5}
+\providecommand*\@safe@activestrue{}%
+\providecommand*\@safe@activesfalse{}%
+\def\T@ref#1{%
+  \@safe@activestrue
+  \expandafter\@setref\csname r@#1\endcsname\@firstoffive{#1}%
+  \@safe@activesfalse
+}%
+\def\T@pageref#1{%
+  \@safe@activestrue
+  \expandafter\@setref\csname r@#1\endcsname\@secondoffive{#1}%
+  \@safe@activesfalse
+}%
+\ifNR@showkeys
+  \ifx\SK@ref\@empty
+  \else
+    \def\T@ref#1{%
+      \@safe@activestrue
+      \SK@\SK@@ref{#1}%
+      \expandafter\@setref\csname r@#1\endcsname\@firstoffive{#1}%
+      \@safe@activesfalse
+    }%
+    \def\T@pageref#1{%
+      \@safe@activestrue
+      \SK@\SK@@ref{#1}%
+      \expandafter\@setref\csname r@#1\endcsname\@secondoffive{#1}%
+      \@safe@activesfalse
+    }%
+  \fi
+\fi
+\providecommand\ref{\protect\T@ref}
+\providecommand\pageref{\protect\T@pageref}
+\def\T@nameref#1{%
+  \@safe@activestrue
+  \expandafter\@setref\csname r@#1\endcsname\@thirdoffive{#1}%
+  \@safe@activesfalse
+}%
+\ifNR@showkeys
+  \ifx\SK@ref\@empty
+  \else
+    \def\T@nameref#1{%
+      \@safe@activestrue
+      \SK@\SK@@ref{#1}%
+      \expandafter\@setref\csname r@#1\endcsname\@thirdoffive{#1}%
+      \@safe@activesfalse
+    }%
+  \fi
+\fi
+\def\nameref{\protect\T@nameref}
+\def\Nameref#1{`\nameref{#1}' on page~\pageref{#1}}
+\providecommand\Sectionformat[2]{#1}
+\ifx\csname @@vpageref\endcsname\relax
+\else
+  \def\@@vpageref#1[#2]#3{%
+    \leavevmode\unskip
+    \global\advance\c@vrcnt\@ne
+    \@ifundefined{r@\the\c@vrcnt @vr}%
+      {\@namedef{r@\the\c@vrcnt @vr}{{??}{??}{??}{??}{??}}}{}%
+    \edef\@tempa{%
+      \expandafter\expandafter\expandafter
+      \@secondoffive\csname r@\the\c@vrcnt @vr\endcsname
+    }%
+    \@ifundefined{r@\the\c@vrcnt @xvr}%
+      {\@namedef{r@\the\c@vrcnt @xvr}{{??}{??}{??}{??}{??}}}{}%
+    \edef\@tempb{%
+      \expandafter\expandafter\expandafter
+      \@secondoffive\csname r@\the\c@vrcnt @xvr\endcsname
+    }%
+    {%
+      \let\@currentlabel\@empty
+      \expandafter\label\expandafter{\the\c@vrcnt @xvr}%
+    }%
+    \ifx\@tempa\@tempb
+    \else
+      \vref@err{%
+        \noexpand\vref at page boundary
+        \@tempb-\@tempa\space (may loop)%
+      }%
+    \fi
+    \@ifundefined{r@#3}{\@namedef{r@#3}{{??}{??}{??}{??}{??}}}{}%
+    \edef\@tempb{%
+      \expandafter\expandafter\expandafter
+      \@secondoffive\csname r@#3\endcsname
+    }%
+    \space
+    \ifx\@tempa\@tempb
+      #1%
+    \else
+      #2%
+      \is@pos@number\@tempb{%
+        \is@pos@number\@tempa{%
+          \@tempcnta\@tempa
+          \advance\@tempcnta\@ne
+        }{%
+          \@tempcnta\maxdimen
+        }%
+        \ifnum \@tempb =\@tempcnta
+          \ifodd\@tempcnta
+            \if@twoside
+              \reftextfaceafter
+            \else
+              \reftextafter
+            \fi
+          \else
+            \reftextafter
+          \fi
+        \else
+          \advance\@tempcnta-2
+          \ifnum \@tempb =\@tempcnta
+            \ifodd\@tempcnta
+              \reftextbefore
+            \else
+              \if@twoside
+                \reftextfacebefore
+              \else
+                \reftextbefore
+              \fi
+            \fi
+          \else
+            \reftextfaraway{#3}%
+          \fi
+        \fi
+      }{%
+        \reftextfaraway{#3}%
+      }%
+    \fi
+    {%
+      \let\@currentlabel\@empty
+      \expandafter\label\expandafter{\the\c@vrcnt @vr}%
+    }%
+  }%
+  \DeclareRobustCommand\vnameref[1]{%
+    \unskip~\nameref{#1}%
+    \@vpageref[\unskip]{#1}%
+  }
+\fi
+\endinput
+%%
+%% End of file `nameref.sty'.
diff --git a/styles/nohyperref.sty b/styles/nohyperref.sty
new file mode 100644 (file)
index 0000000..ae83f22
--- /dev/null
@@ -0,0 +1,56 @@
+%%
+%% This is file `nohyperref.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hyperref.dtx  (with options: `nohyperref')
+%% 
+%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
+%% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
+%%
+%% This file is part of the `Hyperref Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the `Hyperref Bundle' is
+%% given in the file `manifest.txt'.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{nohyperref}
+  [2001/05/26 v6.71g
+  Dummy hyperref (SR)]
+\let\hyper@@anchor\@gobble
+\def\hyper@link#1#2#3{#3}%
+\let\hyper@anchorstart\@gobble
+\let\hyper@anchorend\@empty
+\let\hyper@linkstart\@gobbletwo
+\let\hyper@linkend\@empty
+\def\hyper@linkurl#1#2{#1}%
+\def\hyper@linkfile#1#2#3{#1}%
+\let\PDF@SetupDoc\@empty
+\let\PDF@FinishDoc\@empty
+\let\Acrobatmenu\@gobble
+\let\pdfstringdefDisableCommands\@gobbletwo
+\let\texorpdfstring\@firstoftwo
+\let\pdfbookmark\@undefined
+\newcommand\pdfbookmark[3][]{}
+\let\phantomsection\@empty
+\let\hypersetup\@gobble
+\let\hyperbaseurl\@gobble
+\let\href\@gobble
+\let\hyperdef\@gobbletwo
+\let\hyperlink\@gobble
+\let\hypertarget\@gobble
+\def\hyperref{\@ifnextchar[\@gobbleopt{\expandafter\@gobbletwo\@gobble}}
+\long\def\@gobbleopt[#1]{}
+\let\hyperpage\@empty
+\endinput
+%%
+%% End of file `nohyperref.sty'.
diff --git a/styles/ntheorem-hyper.sty b/styles/ntheorem-hyper.sty
new file mode 100644 (file)
index 0000000..1db77c3
--- /dev/null
@@ -0,0 +1,920 @@
+%%
+%% This is file `ntheorem.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ntheorem.dtx  (with options: `package')
+%%
+%%
+%% ### WARNING: =============================================================
+%%
+%% This file is a patched version that works (it seems) with hyperref.
+%% Hyperref's \contentsline version breaks with ntheorem because it puts 3
+%% arguments in the text field (e.g.: \contentsline{def}{{def}{1}{foo}}{21})
+%%
+%% To work around the problem, the following steps are implemented:
+%% 1/ Don't use hyperref's contentsline: restore the normal definition at the
+%%    beginning of \thm@processlist.
+%% 2/ Let the different versions of \thm@@thmline take a 5th argument, the one
+%%    provided by hyperref.
+%% 3/ Let \thm@lgobble take a 3rd argument, the one provided by hyperref.
+%% 4/ Do the hyperlinks manually in the different versions of \thm@@thmline
+%%
+%% You'll find comments starting with `%%DV' around my changes in the code.
+%%
+%%
+%%                                           Didier Verna <verna@inf.enst.fr>
+%%
+%% ==========================================================================
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from ntheorem.sty.
+%%
+%% For distribution of the original source see the terms
+%% for copying and modification in the file ntheorem.dtx.
+%%
+%% This generated file may be distributed as long as the
+%% original source files, as listed above, are part of the
+%% same distribution. (The sources need not necessarily be
+%% in the same archive or directory.)
+\def\filedate{1998/12/03}
+\def\docdate{1998/12/03}
+\def\fileversion{1.14}
+\def\basename{ntheorem-hyper}
+%% \CharacterTable
+%%  {Upper-case    \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
+%%   Lower-case    \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
+%%   Digits        \0\1\2\3\4\5\6\7\8\9
+%%   Exclamation   \!     Double quote  \"     Hash (number) \#
+%%   Dollar        \$     Percent       \%     Ampersand     \&
+%%   Acute accent  \'     Left paren    \(     Right paren   \)
+%%   Asterisk      \*     Plus          \+     Comma         \,
+%%   Minus         \-     Point         \.     Solidus       \/
+%%   Colon         \:     Semicolon     \;     Less than     \<
+%%   Equals        \=     Greater than  \>     Question mark \?
+%%   Commercial at \@     Left bracket  \[     Backslash     \\
+%%   Right bracket \]     Circumflex    \^     Underscore    \_
+%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
+%%   Right brace   \}     Tilde         \~}
+\typeout{Style `\basename', Version \fileversion\space <\filedate>}
+\ProvidesPackage{ntheorem-hyper}[\filedate \space\fileversion]
+\newif\if@thmmarks\@thmmarksfalse
+\newif\ifthm@tempif
+\DeclareOption{thmmarks}{%*********************************
+\PackageInfo{\basename}{Option `thmmarks' loaded}%
+\@thmmarkstrue
+\newcounter{endNonectr}
+\newcounter{currNonectr}
+\newif\ifsetendmark\setendmarktrue
+\gdef\endtrivlist{%
+  \@endtrivlist{\PotEndMark{\hbox{}\nobreak\hfill\nobreak}}}
+\gdef\@endtrivlist#1{%  % from \endtrivlist
+  \if@inlabel \indent\fi
+  \if@newlist \@noitemerr\fi
+  \ifhmode
+     \ifdim\lastskip >\z@ #1\unskip \par  %<<<<<<<<<<<<<<<<<<<<<<
+           \else \unskip \par \fi
+     \fi
+  \if@noparlist \else
+    \ifdim\lastskip >\z@
+       \@tempskipa\lastskip \vskip -\lastskip
+      \advance\@tempskipa\parskip \advance\@tempskipa -\@outerparskip
+      \vskip\@tempskipa
+    \fi
+    \@endparenv
+  \fi}
+\gdef\SetMark@endeqn{\quad}%  as default, cf. option leqno
+\gdef\endequation{\eqno \hbox{\@eqnnum \PotEndMark{\SetMark@endeqn}}%
+    $$\global\@ignoretrue}
+\gdef\[{%
+   \relax\ifmmode
+      \@badmath
+   \else
+      \ifvmode
+         \nointerlineskip
+         \makebox[.6\linewidth]%
+      \fi
+      $$\stepcounter{end\InTheoType ctr}%
+        \@ifundefined{mark\roman{curr\InTheoType ctr}%
+                      \InTheoType\roman{end\InTheoType ctr}}{\relax}%
+          {\ifx\csname\InTheoType Symbol\endcsname\@empty\else
+             \boxmaxdepth=.5ex\begin{array}[b]{l}%
+             \boxmaxdepth=\maxdimen\displaystyle\fi}%
+        \addtocounter{end\InTheoType ctr}{-1}%
+        %%$$ BRACE MATCH HACK
+   \fi}
+\gdef\]{%
+      \stepcounter{end\InTheoType ctr}%
+        \@ifundefined{mark\roman{curr\InTheoType ctr}%
+                      \InTheoType\roman{end\InTheoType ctr}}{\relax}%
+          {\ifx\csname\InTheoType Symbol\endcsname\@empty\else
+              \end{array}\fi}%
+        \addtocounter{end\InTheoType ctr}{-1}%
+   \relax\ifmmode
+      \ifinner
+         \@badmath
+      \else
+          \PotEndMark{\eqno}\global\@ignoretrue$$%%$$ BRACE MATCH HACK
+      \fi
+   \else
+      \@badmath
+   \fi
+   \ignorespaces}
+\gdef\SetMark@endeqnarray#1{\llap{\raisebox{-1.3em}{#1}}}
+\gdef\endeqnarray{%
+      \global\let\Oldeqnnum=\@eqnnum
+      \gdef\@eqnnum{\Oldeqnnum\PotEndMark{\SetMark@endeqnarray}}%
+      \@@eqncr
+      \egroup
+      \global\advance\c@equation\m@ne
+   $$\global\@ignoretrue
+      \global\let\@eqnnum\Oldeqnnum}
+\@namedef{endeqnarray*}{%
+     %    from \@@eqncr:
+    \let\reserved@a\relax
+    \ifcase\@eqcnt \def\reserved@a{& & &}\or \def\reserved@a{& &}%
+     \or \def\reserved@a{&}\else
+       \let\reserved@a\@empty
+       \@latex@error{Too many columns in eqnarray environment}\@ehc\fi
+     \reserved@a {\normalfont \normalcolor \PotEndMark{}}%
+     \global\@eqnswtrue\global\@eqcnt\z@\cr
+     %
+      \egroup
+      \global\advance\c@equation\m@ne
+   $$\global\@ignoretrue}
+\gdef\endtabbing{%
+  \PotEndMark{\`}\@stopline\ifnum\@tabpush >\z@ \@badpoptabs
+  \fi\endtrivlist}
+\gdef\endcenter{%
+  \@endtrivlist
+    {\PotEndMark{\rightskip0pt%
+         \settowidth{\leftskip}%
+          { \csname mark\roman{curr\InTheoType ctr}\InTheoType
+                   \roman{end\InTheoType ctr}\endcsname}%
+         \advance\leftskip\@flushglue\hskip\@flushglue}}}
+\gdef\@empty{}
+\gdef\@endtheorem{%
+  \expandafter
+  \ifx\csname\InTheoType Symbol\endcsname\@empty\setendmarkfalse\fi
+  \@endtrivlist
+    {\ifsetendmark
+     \hbox{}\nobreak\hfill\nobreak\csname\InTheoType Symbol\endcsname
+     \setendmarkfalse \fi}%
+  \ifsetendmark\OrganizeTheoremSymbol\else\global\setendmarktrue\fi}
+\gdef\NoEndMark{\global\setendmarkfalse}
+\gdef\qed{\expandafter\def\csname \InTheoType Symbol\endcsname
+          {\the\qedsymbol}}%
+\gdef\PotEndMark#1{\SetEndMark{\InTheoType}{#1}}%
+\gdef\SetEndMark#1#2{%
+   \stepcounter{end#1ctr}%
+   \@ifundefined{mark\roman{curr#1ctr}#1\roman{end#1ctr}}%
+   {\relax}%
+   {#2{\csname mark\roman{curr#1ctr}#1\roman{end#1ctr}\endcsname}}}%
+\newskip\mysavskip
+\gdef\@bbsphack{%
+    \mysavskip\lastskip
+    \unskip}
+\gdef\@eesphack{%
+    \ifdim\mysavskip>\z@
+    \vskip\mysavskip \else\fi}
+%% \begin{macrocode}
+\gdef\OrganizeTheoremSymbol{%
+  \@bbsphack
+  \edef\thm@tmp{\expandafter\expandafter\expandafter\thm@meaning
+         \expandafter\meaning\csname\InTheoType Symbol\endcsname\relax}%
+  \protected@write\@auxout{}%
+     {\string\global\string\def\string\mark%
+      \roman{curr\InTheoType ctr}\InTheoType \roman{end\InTheoType ctr}%
+      {\thm@tmp}}%
+  \@eesphack}
+} % end of option [thmmarks]
+\DeclareOption{leqno}{%
+  \if@thmmarks
+  \PackageInfo{\basename}{Option `leqno' loaded}%
+   \gdef\SetMark@endeqn#1{\hss\llap{#1}}
+   \gdef\SetMark@endeqnarray#1{\hss\llap{#1}}
+  \fi}%
+\DeclareOption{fleqn}{%
+\if@thmmarks
+ \PackageInfo{\basename}{Option `fleqn' loaded}%
+ \renewcommand\[{\relax
+    \ifmmode\@badmath
+    \else
+     \begin{trivlist}%
+        \@beginparpenalty\predisplaypenalty
+        \@endparpenalty\postdisplaypenalty
+        \item[]\leavevmode
+        \hb@xt@\linewidth\bgroup $\m@th\displaystyle %$
+        \hskip\mathindent\bgroup
+          \stepcounter{end\InTheoType ctr}%
+          \@ifundefined{mark\roman{curr\InTheoType ctr}%
+                        \InTheoType\roman{end\InTheoType ctr}}{\relax}%
+            {\ifx\csname\InTheoType Symbol\endcsname\@empty\else
+              \boxmaxdepth=.5ex\begin{array}[b]{l}%
+              \boxmaxdepth=\maxdimen\displaystyle\fi}%
+          \addtocounter{end\InTheoType ctr}{-1}%
+    \fi}
+ \renewcommand\]{%
+    \stepcounter{end\InTheoType ctr}%
+    \@ifundefined{mark\roman{curr\InTheoType ctr}%
+                  \InTheoType\roman{end\InTheoType ctr}}{\relax}%
+      {\ifx\csname\InTheoType Symbol\endcsname\@empty\else
+          \end{array}\fi}%
+    \addtocounter{end\InTheoType ctr}{-1}%
+    \relax\ifmmode
+                  \egroup $\hfil\PotEndMark{}% $
+                \egroup
+              \end{trivlist}%
+            \else \@badmath
+            \fi}
+\gdef\endequation{%
+     $\hfil % $
+         \displaywidth\linewidth\hbox{\@eqnnum \PotEndMark{\SetMark@endeqn}}%
+       \egroup
+      \endtrivlist}
+\gdef\endeqnarray{%
+    \global\let\Oldeqnnum=\@eqnnum
+    \gdef\@eqnnum{\Oldeqnnum\PotEndMark{\SetMark@endeqnarray}}%
+    \@@eqncr
+    \egroup
+    \global\advance\c@equation\m@ne$$% $$
+    \global\@ignoretrue
+    \global\let\@eqnnum\Oldeqnnum}
+\fi}% end of option fleqn
+\DeclareOption{amsmath}{%
+\if@thmmarks
+ \PackageInfo{\basename}{Option `amsmath' loaded}%
+\newdimen\thm@amstmpdepth
+\gdef\TagsPlusEndmarks{%
+      \global\let\Old@maketag@@@=\maketag@@@
+      \global\let\Old@df@tag=\df@tag
+      \if@eqnsw\SetTagPlusEndMark\else
+        \iftag@\SetTagPlusEndMark
+      \else\SetOnlyEndMark
+      \fi\fi}
+\gdef\SetOnlyEndMark{%
+      \global\tag@true
+        \iftagsleft@
+           \gdef\df@tag{\hbox
+                       to \displaywidth{\hss\PotEndMark{\maketag@@@}}}%
+        \else
+            \gdef\df@tag{\PotEndMark{\maketag@@@}}%
+        \fi}
+\gdef\SetTagPlusEndMark{%
+        \iftagsleft@
+          \gdef\maketag@@@##1{%
+               \hbox to \displaywidth{\m@th\normalfont##1%
+                                      \PotEndMark{\hss}}}%
+        \else
+          \gdef\maketag@@@##1{\hbox{\m@th\normalfont##1%
+                           \llap{\hss\PotEndMark{\raisebox{-1.3em}}}}}%
+        \fi}
+\gdef\RestoreTags{%
+    \global\let\maketag@@@=\Old@maketag@@@
+    \global\let\df@tag=\Old@df@tag}
+\gdef\endgather{%
+      \TagsPlusEndmarks % <<<<<<<<<
+      \math@cr
+      \black@\totwidth@
+    \egroup
+    $$%
+    \RestoreTags        % <<<<<<<<<
+    \global\@ignoretrue}
+\expandafter\let\csname endgather*\endcsname\endgather
+\def\endalign{%
+        \ifingather@\else       % <<<<<<<<<
+           \TagsPlusEndmarks\fi % <<<<<<<<<
+        \math@cr
+        \black@\totwidth@
+    \egroup
+    \ifingather@
+        \restorealignstate@
+        \egroup
+        \nonumber
+        \ifnum0=`{\fi}%
+    \else
+        $$%
+        \RestoreTags            % <<<<<<<<<
+    \fi
+    \global\@ignoretrue}
+\expandafter\let\csname endalign*\endcsname\endalign
+\let\endxalignat\endalign
+\expandafter\let\csname endxalignat*\endcsname\endalign
+\let\endxxalignat\endalign
+\let\endalignat\endalign
+\expandafter\let\csname endalignat*\endcsname\endalign
+\let\endflalign\endalign
+\expandafter\let\csname endflalign*\endcsname\endalign
+\def\lendmultline@{%
+        \@eqnswfalse\tag@true\tagsleft@false
+        \rendmultline@}
+\def\rendmultline@{%
+    \TagsPlusEndmarks           % <<<<<<<<<
+    \iftag@
+        \begingroup
+            \ifshifttag@
+                \hskip\multlinegap
+                \llap{\vtop{%
+                    \raise@tag
+                    \normalbaselines
+                    \setbox\@ne\null
+                    \dp\@ne\lineht@
+                    \box\@ne
+                    \hbox{\strut@\make@display@tag}%
+                }}%
+            \else
+                \hskip\multlinetaggap
+                \make@display@tag
+            \fi
+        \endgroup
+    \else
+        \hskip\multlinegap
+    \fi
+    \hfilneg
+        \math@cr
+    \egroup$$%
+    \RestoreTags}                % <<<<<<<<<
+\def\[{%
+     \relax\ifmmode% \RIfM@ <<<<<<<<<<<<<<<<<<<<<<<<<<<<
+        \@badmath
+    \else
+        \DN@{%
+            $$%
+            \ingather@true
+            \inany@true
+            \def\\{\@amsmath@err{\Invalid@@\\}\@eha}%
+            \tabskip\@mathmargin
+            \halign to \displaywidth\bgroup
+                \if@fleqn\else\hfil\fi
+                \setboxz@h{$\m@th\displaystyle{####}$}%
+                \global\totwidth@\wdz@
+                \global\thm@amstmpdepth\dp0% <<<<<<<<<<<<
+                \boxz@
+                \tabskip 0pt plus 1000pt%<<<<<<<<<<<<<<
+                & ####% <<<<<<<<<<<<<<<<<<<<<<<<
+                \tabskip 0pt%
+                \cr
+        }%
+        \@xp\next@
+    \fi}
+\def\]{%
+     \relax\ifmmode%  \RIfM@ <<<<<<<<<<
+        \DN@{%
+              \PotEndMark{&\raisebox{-\thm@amstmpdepth}}% <<<<<<<<<
+              \crcr
+            \black@\totwidth@
+            \egroup
+            $$%
+        }%
+        \@xp\next@
+    \else
+        \@badmath
+    \fi}
+\def\equation{\gather\def\\{\@amsmath@err{\Invalid@@\\}\@eha}}
+\def\endequation{\endgather}
+\renewenvironment{equation*}{\equation}{\nonumber\endequation}
+\else\PackageError{\basename}{Option amsmath cannot be used without
+    option thmmarks.}\@eha
+\fi
+}% end of option amsmath
+\let\thm@usestd\@undefined
+\DeclareOption{standard}{\let\thm@usestd\relax}
+\let\thm@noconfig\@undefined
+\DeclareOption{noconfig}{\let\thm@noconfig\relax}
+\gdef\InTheoType{None}
+\def\output@None{None}
+\def\None{None}
+\gdef\newtheoremstyle#1#2#3{%
+  \expandafter\@ifundefined{th@#1}%
+   {\expandafter\gdef\csname th@#1\endcsname{%
+    \def\@begintheorem####1####2{#2}%
+    \def\@opargbegintheorem####1####2####3{#3}}}%
+   {\PackageError{\basename}{Theorem style #1 already defined}\@eha}}
+\gdef\renewtheoremstyle#1#2#3{%
+  \expandafter\@ifundefined{th@#1}%
+   {\PackageError{\basename}{Theorem style #1 undefined}\@ehc}%
+     {}%
+  \expandafter\let\csname th@#1\endcsname\relax
+  \newtheoremstyle{#1}{#2}{#3}}
+\newtheoremstyle{plain}%
+  {\item[\hskip\labelsep \theorem@headerfont ##1\ ##2\theorem@separator]}%
+  {\item[\hskip\labelsep \theorem@headerfont ##1\ ##2\ (##3)\theorem@separator]}
+\newtheoremstyle{break}%
+  {\item\hbox to \textwidth{\theorem@headerfont ##1\
+      ##2\theorem@separator\hfill}}%
+  {\item\hbox to \textwidth{\theorem@headerfont ##1\ ##2\
+      (##3)\theorem@separator\hfill}}
+\newtheoremstyle{change}%
+  {\item[\hskip\labelsep \theorem@headerfont ##2\ ##1\theorem@separator]}%
+  {\item[\hskip\labelsep \theorem@headerfont ##2\ ##1\ (##3)\theorem@separator]}
+\newtheoremstyle{changebreak}%
+  {\item\hbox to \textwidth{\theorem@headerfont ##2\
+      ##1\theorem@separator\hfill}}%
+  {\item\hbox to \textwidth{\theorem@headerfont ##2\ ##1\
+      (##3)\theorem@separator\hfill}}
+\newtheoremstyle{margin}%
+  {\item[\theorem@headerfont \llap{##2}\hskip\labelsep ##1\theorem@separator]}%
+  {\item[\theorem@headerfont \llap{##2}\hskip\labelsep ##1\ (##3)\theorem@separator]}
+\newtheoremstyle{marginbreak}%
+  {\item\hbox to \textwidth{\theorem@headerfont \llap{##2}\hskip\labelsep
+      ##1\theorem@separator\hfill}}%
+  {\item\hbox to \textwidth{\theorem@headerfont
+      \llap{##2}\hskip\labelsep
+      ##1\ (##3)\theorem@separator\hfill}}
+\newtheoremstyle{nonumberplain}%
+  {\item[\theorem@headerfont\hskip\labelsep ##1\theorem@separator]}%
+  {\item[\theorem@headerfont\hskip \labelsep ##1\ (##3)\theorem@separator]}
+\newtheoremstyle{nonumberbreak}%
+  {\item\hbox to \textwidth{\theorem@headerfont\hskip\labelsep
+       ##1\theorem@separator\hfill}}%
+  {\item\hbox to \textwidth{\theorem@headerfont\hskip\labelsep
+       ##1\ (##3)\theorem@separator\hfill}}
+\newtheoremstyle{empty}%
+  {\item~\hfill}%
+  {\item\hbox to \textwidth{\theorem@headerfont##3\hfill}}
+\@namedef{th@nonumbermargin}{\th@nonumberplain}
+\@namedef{th@nonumberchange}{\th@nonumberplain}
+\@namedef{th@nonumbermarginbreak}{\th@nonumberbreak}
+\@namedef{th@nonumberchangebreak}{\th@nonumberbreak}
+\@namedef{th@plainNo}{\th@nonumberplain}
+\@namedef{th@breakNo}{\th@nonumberplain}
+\@namedef{th@marginNo}{\th@nonumberplain}
+\@namedef{th@changeNo}{\th@nonumberplain}
+\@namedef{th@marginbreakNo}{\th@nonumberbreak}
+\@namedef{th@changebreakNo}{\th@nonumberbreak}
+\gdef\theoremstyle#1{%
+   \@ifundefined{th@#1}{\@warning
+          {Unknown theoremstyle `#1'. Using `plain'}%
+          \theorem@style{plain}}%
+      {\theorem@style{#1}}}
+\newtoks\theorem@style
+\newtoks\theorem@@style
+\global\theoremstyle{plain}
+\newtoks\theorembodyfont
+\global\theorembodyfont{\itshape}
+\newtoks\theoremnumbering
+\global\theoremnumbering{arabic}
+\newskip\theorempreskipamount
+\newskip\theorempostskipamount
+\global\theorempreskipamount\topsep
+\global\theorempostskipamount\topsep
+\newdimen\theoremindent
+\global\theoremindent0cm
+\newdimen\theorem@indent
+\newtoks\theoremheaderfont
+\global\theoremheaderfont{\normalfont\bfseries}
+\def\theorem@headerfont{\normalfont\bfseries}
+\newtoks\theoremseparator
+\global\theoremseparator{}
+\def\theorem@separator{}
+\newtoks\theoremsymbol
+\global\theoremsymbol{}
+\newtoks\qedsymbol
+\global\qedsymbol{}
+\DeclareOption{amsthm}{%
+  \PackageInfo{\basename}{Option `amsthm' loaded}%
+\def\swapnumbers{\PackageError{\basename}{swapnumbers not implemented.
+  Use theoremstyle change instead.}\@eha}
+
+\gdef\th@plain{%
+  \def\theorem@headerfont{\normalfont\bfseries}\itshape%
+  \def\@begintheorem##1##2{%
+      \item[\hskip\labelsep \theorem@headerfont ##1\ ##2.]}%
+  \def\@opargbegintheorem##1##2##3{%
+     \item[\hskip\labelsep \theorem@headerfont ##1\ ##2\ (##3).]}}
+\gdef\th@nonumberplain{%
+  \def\theorem@headerfont{\normalfont\bfseries}\itshape%
+  \def\@begintheorem##1##2{%
+      \item[\hskip\labelsep \theorem@headerfont ##1.]}%
+  \def\@opargbegintheorem##1##2##3{%
+     \item[\hskip\labelsep \theorem@headerfont ##1\ (##3).]}}
+\gdef\th@definition{%
+  \th@plain\def\theorem@headerfont{\normalfont\bfseries}\itshape}
+\gdef\th@nonumberdefinition{%
+  \th@nonumberplain\def\theorem@headerfont{\normalfont\bfseries}\itshape}
+\gdef\th@remark{%
+  \th@plain\def\theorem@headerfont{\itshape}\normalfont}
+\gdef\th@nonumberremark{%
+  \th@nonumberplain\def\theorem@headerfont{\itshape}\normalfont}
+\newcounter{proof}%
+\if@thmmarks
+ \newcounter{currproofctr}%
+ \newcounter{endproofctr}%
+\fi
+\newcommand{\openbox}{\leavevmode
+  \hbox to.77778em{%
+  \hfil\vrule
+  \vbox to.675em{\hrule width.6em\vfil\hrule}%
+  \vrule\hfil}}
+\gdef\proofSymbol{\openbox}
+\newcommand{\proofname}{Proof}
+\newenvironment{proof}[1][\proofname]{
+  \th@nonumberplain
+  \def\theorem@headerfont{\itshape}%
+  \normalfont
+  \theoremsymbol{\ensuremath{_\blacksquare}}
+  \@thm{proof}{proof}{#1}}%
+  {\@endtheorem}
+}% end of option amsthm
+\newskip\thm@topsepadd
+\gdef\newtheorem{%
+   \@ifstar
+     {\edef\@tempa{{nonumber\the\theorem@style}}%
+      \expandafter\theorem@@style\@tempa}%
+     {\edef\@tempa{{\the\theorem@style}}%
+      \expandafter\theorem@@style\@tempa}%
+  \@newtheorem}
+
+\gdef\renewtheorem{%
+   \@ifstar
+     {\edef\@tempa{{nonumber\the\theorem@style}}%
+      \expandafter\theorem@@style\@tempa}%
+     {\edef\@tempa{{\the\theorem@style}}%
+      \expandafter\theorem@@style\@tempa}%
+  \@renewtheorem}
+\gdef\@newtheorem#1{%
+  \thm@tempiffalse
+  \expandafter\@ifdefinable\csname #1\endcsname
+  {\expandafter\@ifdefinable\csname #1*\endcsname
+   {\thm@tempiftrue
+    \thm@definelthm{#1}% for lists
+    \if@thmmarks
+      \expandafter\@ifundefined{c@curr#1ctr}%
+        {\newcounter{curr#1ctr}}{}%
+      \expandafter\@ifundefined{c@end#1ctr}%
+        {\newcounter{end#1ctr}}{}%
+    \fi
+    \expandafter\xdef\csname #1Symbol\endcsname{\the\theoremsymbol}%
+    \expandafter\gdef\csname#1\endcsname{%
+       \let\thm@starredenv\@undefined
+       \csname mkheader@#1\endcsname}%
+    \expandafter\gdef\csname#1*\endcsname{%
+       \let\thm@starredenv\relax
+       \csname mkheader@#1\endcsname}%
+    \def\@tempa{\expandafter\noexpand\csname end#1\endcsname}%
+    \expandafter\xdef\csname end#1*\endcsname{\@tempa}%
+    \expandafter\xdef\csname setparms@#1\endcsname
+     {\noexpand \def \noexpand \theorem@headerfont
+        {\the\theoremheaderfont\noexpand\theorem@checkbold}%
+      \noexpand \def \noexpand \theorem@separator
+        {\the\theoremseparator}%
+      \noexpand \def \noexpand \theorem@indent
+        {\the\theoremindent}%
+      \the \theorembodyfont
+      \noexpand\csname th@\the \theorem@@style \endcsname}}}%
+  \@ifnextchar[{\@othm{#1}}{\@nthm{#1}}}% MUST NOT BE IN ANY IF !!!
+\gdef\@renewtheorem#1{%
+  \expandafter\@ifundefined{#1}%
+   {\PackageError{\basename}{Theorem style #1 undefined}\@ehc}%
+     {}%
+  \expandafter\let\csname #1\endcsname\relax
+  \expandafter\let\csname #1*\endcsname\relax
+  \newtheorem{#1}}
+\gdef\@nthm#1#2{%
+  \expandafter\xdef\csname num@addtheoremline#1\endcsname{%
+              \noexpand\@num@addtheoremline{#1}{#2}}%
+  \expandafter\xdef\csname nonum@addtheoremline#1\endcsname{%
+              \noexpand\@nonum@addtheoremline{#1}{#2}}%
+  \expandafter\xdef\csname output@#1\endcsname{#2}%
+  \@ifnextchar[{\@xnthm{#1}{#2}}{\@ynthm{#1}{#2}}}
+\gdef\@othm#1[#2]#3{%
+  \@ifundefined{c@#2}{\@nocounterr{#2}}%
+   {\ifthm@tempif
+     \global\@namedef{the#1}{\@nameuse{the#2}}%
+     \expandafter\xdef\csname num@addtheoremline#1\endcsname{%
+              \noexpand\@num@addtheoremline{#1}{#3}}%
+     \expandafter\xdef\csname nonum@addtheoremline#1\endcsname{%
+              \noexpand\@nonum@addtheoremline{#1}{#3}}%
+     \expandafter\xdef\csname output@#1\endcsname{#3}%
+     \expandafter\gdef\csname mkheader@#1\endcsname
+       {\csname setparms@#1\endcsname
+        \@thm{#1}{#2}{#3}}%
+     \global\@namedef{end#1}{\@endtheorem}\fi}}
+\gdef\@xnthm#1#2[#3]{%
+  \ifthm@tempif
+     \expandafter\@ifundefined{c@#1}%
+        {\@definecounter{#1}}{}%
+     \@newctr{#1}[#3]%
+     \expandafter\xdef\csname the#1\endcsname{%
+       \expandafter\noexpand\csname the#3\endcsname \@thmcountersep
+          {\noexpand\csname\the\theoremnumbering\endcsname{#1}}}%
+     \expandafter\gdef\csname mkheader@#1\endcsname
+       {\csname setparms@#1\endcsname
+        \@thm{#1}{#1}{#2}}%
+     \global\@namedef{end#1}{\@endtheorem}\fi}
+\gdef\@ynthm#1#2{%
+  \ifthm@tempif
+     \expandafter\@ifundefined{c@#1}%
+        {\@definecounter{#1}}{}%
+     \expandafter\xdef\csname the#1\endcsname
+        {\noexpand\csname\the\theoremnumbering\endcsname{#1}}%
+     \expandafter\gdef\csname mkheader@#1\endcsname
+       {\csname setparms@#1\endcsname
+        \@thm{#1}{#1}{#2}}%
+     \global\@namedef{end#1}{\@endtheorem}\fi}
+\gdef\@thm#1#2#3{%
+   \if@thmmarks
+     \stepcounter{end\InTheoType ctr}%
+   \fi
+   \renewcommand{\InTheoType}{#1}%
+   \if@thmmarks
+     \stepcounter{curr#1ctr}%
+     \setcounter{end#1ctr}{0}%
+   \fi
+   \refstepcounter{#2}%
+   \thm@topsepadd \theorempostskipamount   % cf. latex.ltx: \@trivlist
+   \ifvmode \advance\thm@topsepadd\partopsep\fi
+   \trivlist
+   \@topsep \theorempreskipamount
+   \@topsepadd \thm@topsepadd        % used by \@endparenv
+   \advance\linewidth -\theorem@indent
+   \advance\@totalleftmargin \theorem@indent
+   \parshape \@ne \@totalleftmargin \linewidth
+   \@ifnextchar[{\@ythm{#1}{#2}{#3}}{\@xthm{#1}{#2}{#3}}}
+\def\@xthm#1#2#3{%
+  \@begintheorem{#3}{\csname the#2\endcsname}%
+  \ifx\thm@starredenv\@undefined
+    \thm@thmcaption{#1}{{#3}{\csname the#2\endcsname}{}}\fi
+  \ignorespaces}
+\def\@ythm#1#2#3[#4]{%
+  \expandafter\global\expandafter\def\csname#1name\endcsname{#4}%
+  \@opargbegintheorem{#3}{\csname the#2\endcsname}{#4}%
+  \ifx\thm@starredenv\@undefined
+    \thm@thmcaption{#1}{{#3}{\csname the#2\endcsname}{#4}}\fi%
+  \ignorespaces}
+\DeclareOption{thref}{%*********************************
+  \PackageInfo{\basename}{Option `thref' loaded}%
+\def\label#1{
+  \@ifnextchar[%]
+     {\label@optarg{#1}}%
+     {\label@optarg{#1}%
+      [\csname output@\InTheoType\endcsname]}}
+\def\label@optarg#1[#2]{\@bsphack
+  \protected@write\@auxout{}%
+     {\string\newlabel{#1}{{\@currentlabel}{\thepage}}[#2]}%
+  \@esphack}
+\def\@newl@bel#1#2#3{%
+  \@ifundefined{#1@#2}%
+    \relax
+    {\gdef \@multiplelabels {%
+       \@latex@warning@no@line{There were multiply-defined labels}}%
+     \@latex@warning@no@line{Label `#2' multiply defined}}%
+  \global\@namedef{#1@#2}{#3}%
+  \@ifnextchar[{\set@labeltype#1#2}{\relax}%]
+  }
+\def\set@labeltype#1#2[#3]{\global\@namedef{#1@#2@type}{#3}}
+\@ifpackageloaded{babel}%
+  {\message{ntheorem-babel adapation loaded}%
+   \def\newlabel#1#2{%
+     \@ifnextchar[{\nth@bbl@newlabel{#1}{#2}}%]
+                  {\nth@bbl@newlabel{#1}{#2}[None]}}%
+   \def\nth@bbl@newlabel#1#2[#3]{%
+     \@safe@activestrue\bbl@newlabel{#1}{#2}[#3]\@safe@activesfalse}}%
+  \relax
+\def\thref#1{%
+   \expandafter\ifx\csname r@#1@type\endcsname\None
+     \PackageWarning{\basename}{thref: Reference Type of `#1' on page
+      \thepage \space undefined}\G@refundefinedtrue
+     \else\csname r@#1@type\endcsname~\fi%
+   \expandafter\@setref\csname r@#1\endcsname\@firstoftwo{#1}}
+}% end of option thref
+\def\thm@thmcaption#1#2{\thm@@thmcaption{#1}#2}
+\def\thm@@thmcaption#1#2#3#4{%
+    \thm@parseforwriting{#4}%
+    \edef\thm@t{{#2}{#3}{\thm@tmp}}%
+    \addcontentsline{thm}{#1}{\thm@t}}
+\def\theoremlistall{%
+    \let\thm@@thmlstart=\relax
+    \let\thm@@thmlend=\relax
+%%DV Use a fith argument (supplied by hyperref) and do the links manually
+    \def\thm@@thmline##1##2##3##4##5{%
+        \ifx\\##5\\%
+            \@dottedtocline{-2}{0em}{2.3em}%
+                {\protect\numberline{##2}##3}%
+                {##4}
+        \else
+            \ifhy@linktocpage
+                \@dottedtocline{-2}{0em}{2.3em}%
+                    {\protect\numberline{##2}##3}%
+                    {\hyper@linkstart{link}{##5}{##4}\hyper@linkend}
+            \else
+                \@dottedtocline{-2}{0em}{2.3em}%
+                    {\hyper@linkstart{link}{##5}{\protect\numberline{##2}##3}%
+                      \hyper@linkend}%
+                    {##4}
+            \fi
+        \fi}}
+%%DV    \def\thm@@thmline##1##2##3##4{%
+%%DV        \@dottedtocline{-2}{0em}{2.3em}%
+%%DV                   {\protect\numberline{##2}##3}%
+%%DV                   {##4}}}
+\def\theoremlistallname{%
+    \let\thm@@thmlstart=\relax
+    \let\thm@@thmlend=\relax
+%%DV Use a fith argument (supplied by hyperref) and do the links manually
+    \def\thm@@thmline##1##2##3##4##5{%
+        \ifx\\##5\\%
+            \@dottedtocline{-2}{0em}{2.3em}%
+                {##1 \protect\numberline{##2}##3}%
+                {##4}
+        \else
+            \ifhy@linktocpage
+                \@dottedtocline{-2}{0em}{2.3em}%
+                    {##1 \protect\numberline{##2}##3}%
+                    {\hyper@linkstart{link}{##5}{##4}\hyper@linkend}
+            \else
+                \@dottedtocline{-2}{0em}{2.3em}%
+                    {\hyper@linkstart{link}{##5}%
+                      {##1 \protect\numberline{##2}##3}\hyper@linkend}%
+                    {##4}
+            \fi
+        \fi}}
+%%DV    \def\thm@@thmline##1##2##3##4{%
+%%DV         \@dottedtocline{-2}{0em}{2.3em}%
+%%DV                   {##1 \protect\numberline{##2}##3}%
+%%DV                   {##4}}}
+\def\theoremlistoptional{%
+    \let\thm@@thmlstart=\relax
+    \let\thm@@thmlend=\relax
+%%DV Use a fith argument (supplied by hyperref) and do the links manually
+    \def\thm@@thmline##1##2##3##4##5{%
+      \ifx\empty ##3%
+      \else%
+        \ifx\\##5\\%
+            \@dottedtocline{-2}{0em}{2.3em}%
+                {\protect\numberline{##2}##3}%
+                {##4}
+        \else
+            \ifhy@linktocpage
+                \@dottedtocline{-2}{0em}{2.3em}%
+                    {\protect\numberline{##2}##3}%
+                    {\hyper@linkstart{link}{##5}{##4}\hyper@linkend}
+            \else
+                \@dottedtocline{-2}{0em}{2.3em}%
+                    {\hyper@linkstart{link}{##5}{\protect\numberline{##2}##3}%
+                      \hyper@linkend}%
+                    {##4}
+            \fi
+        \fi
+      \fi}}
+%%DV    \def\thm@@thmline##1##2##3##4{%
+%%DV         \ifx\empty ##3%
+%%DV         \else%
+%%DV            \@dottedtocline{-2}{0em}{2.3em}%
+%%DV                     {\protect\numberline{##2}##3}%
+%%DV                     {##4}%
+%%DV         \fi}}
+\def\theoremlistoptname{%
+    \let\thm@@thmlstart=\relax
+    \let\thm@@thmlend=\relax
+%%DV Use a fith argument (supplied by hyperref) and do the links manually
+    \def\thm@@thmline##1##2##3##4##5{%
+      \ifx\empty ##3%
+      \else
+        \ifx\\##5\\%
+            \@dottedtocline{-2}{0em}{2.3em}%
+                {##1 \protect\numberline{##2}##3}%
+                {##4}
+        \else
+            \ifhy@linktocpage
+                \@dottedtocline{-2}{0em}{2.3em}%
+                    {##1 \protect\numberline{##2}##3}%
+                    {\hyper@linkstart{link}{##5}{##4}\hyper@linkend}
+            \else
+                \@dottedtocline{-2}{0em}{2.3em}%
+                    {\hyper@linkstart{link}{##5}%
+                      {##1 \protect\numberline{##2}##3}\hyper@linkend}%
+                    {##4}
+            \fi
+        \fi
+      \fi}}
+%%DV    \def\thm@@thmline##1##2##3##4{%
+%%DV         \ifx\empty ##3%
+%%DV         \else%
+%%DV            \@dottedtocline{-2}{0em}{2.3em}%
+%%DV                     {##1 \protect\numberline{##2}##3}%
+%%DV                     {##4}%
+%%DV         \fi}}
+\theoremlistall
+\def\theoremlisttype#1{%
+    \@ifundefined{thm@thml@#1}%
+       {\PackageError{\basename}{Listtype #1 not defined}\@eha}
+       {\csname thm@thml@#1\endcsname}}
+\def\thm@thml@all{\theoremlistall}
+\def\thm@thml@opt{\theoremlistoptional}
+\def\thm@thml@optname{\theoremlistoptname}
+\def\thm@thml@allname{\theoremlistallname}
+\def\newtheoremlisttype#1#2#3#4{%
+  \@ifundefined{thm@thml@#1}%
+  {\expandafter\gdef\csname thm@thml@#1\endcsname{%
+    \def\thm@@thmlstart{#2}%
+    \def\thm@@thmline####1####2####3####4{#3}%
+    \def\thm@@thmlend{#4}}%
+  }{\PackageError{\basename}{list type #1 already defined}\@eha}}
+\def\renewtheoremlisttype#1#2#3#4{%
+  \@ifundefined{thm@thml@#1}%
+    {\PackageError{\basename}{List type #1 not defined}\@ehc}{}%
+  \expandafter\let\csname thm@thml@#1\endcsname\relax
+  \newtheoremlisttype{#1}{#2}{#3}{#4}}
+%%DV Use a third argument (supplied by hyperref)
+\def\thm@thmline#1#2#3{\thm@@thmline#1{#2}{#3}}
+%%DV\def\thm@thmline#1#2{\thm@@thmline#1{#2}}
+%%DV Use a third argument (supplied by hyperref)
+\long\def\thm@lgobble#1#2#3{\ignorespaces}
+%%DV\long\def\thm@lgobble#1#2{\ignorespaces}
+\def\thm@definelthm#1{%
+ \expandafter\gdef\csname l@#1\endcsname{\thm@lgobble}%
+ \expandafter\gdef\csname thm@listdo#1\endcsname{\thm@lgobble}}
+\long\def\thm@inlistdo#1#2{#2}%
+\def\listtheorems#1{\begingroup%
+  \c@tocdepth=-2%
+  \def\thm@list{#1}\thm@processlist%
+  \endgroup}
+\def\thm@processlist{%
+ \begingroup%
+ \typeout{** Generating table of \thm@list}%
+%%DV: don't use hyperref's \contentsline !! Use the normal definition.
+ \def\contentsline##1{\csname l@##1\endcsname}
+ \thm@@thmlstart
+ \@for\thm@currentlist:=\thm@list\do{%
+  \ifx\thm@currentlist\@empty\else%
+   \expandafter\gdef\csname l@\thm@currentlist\endcsname{\thm@thmline}%
+   \expandafter\gdef\csname thm@listdo\thm@currentlist\endcsname{\thm@inlistdo}%
+  \fi%
+ }%
+ \@input{\jobname .thm}%
+ \thm@@thmlend%
+ \@for\thm@currentlist:=\thm@list\do{%
+  \ifx\thm@currentlist\@empty\else%
+   \expandafter\gdef\csname l@\thm@currentlist\endcsname{\thm@lgobble}%
+   \expandafter\gdef\csname thm@listdo\thm@currentlist\endcsname{\thm@lgobble}%
+  \fi%
+ }%
+ \endgroup}
+\def\thm@enablelistoftheorems{%
+  \begingroup%
+    \makeatletter%
+    \if@filesw%
+      \expandafter\newwrite\csname tf@thm\endcsname%
+      \immediate\openout \csname tf@thm\endcsname \jobname.thm\relax%
+    \fi%
+    \@nobreakfalse%
+  \endgroup}
+\def\addtheoremline{\@ifstar{\nonum@addtheoremline}{\num@addtheoremline}}
+\def\nonum@addtheoremline#1{\csname nonum@addtheoremline#1\endcsname}%
+\def\num@addtheoremline#1{\csname num@addtheoremline#1\endcsname}%
+\def\@nonum@addtheoremline#1#2#3{%
+    \thm@parseforwriting{#3}%
+    \edef\thm@t{{#2}{}{\thm@tmp}}%
+    \addcontentsline{thm}{#1}{\thm@t}}
+\def\@num@addtheoremline#1#2#3{%
+   \thm@parseforwriting{#3}%
+    \edef\thm@t{{#2}{\csname the#1\endcsname}{\thm@tmp}}%
+    \addcontentsline{thm}{#1}{\thm@t}}
+\long\def\addtotheoremfile{%
+  \@ifnextchar[{\@@addtotheoremfile}{\@addtotheoremfile}}
+\long\def\@addtotheoremfile#1{%
+   \thm@parseforwriting{#1}%
+   \protected@write\@auxout%
+      {}{\string\@writefile{thm}{\thm@tmp}}}
+\long\def\@@addtotheoremfile[#1]#2{%
+   \thm@parseforwriting{#2}%
+   \protected@write\@auxout%
+      {}{\string\@writefile{thm}{\string\theoremlistdo{#1}{\thm@tmp}}}}
+\long\def\theoremlistdo#1#2{\csname thm@listdo#1\endcsname{#1}{#2}}
+\AtEndDocument{\thm@enablelistoftheorems}
+\def\thm@meaning#1->#2\relax{#2}% remove "macro:->"
+\long\def\thm@parseforwriting#1{%
+    \def\thm@tmp{#1}%
+    \edef\thm@tmp{\expandafter\thm@meaning\meaning\thm@tmp\relax}}
+\def\theorem@checkbold{\if b\expandafter\@car\f@series\@nil\boldmath\fi}
+\def\@greek#1{\theorem@checkbold%
+ \ifcase#1\or$\alpha$\or$\beta$\or$\gamma$\or$\delta$\or$\varepsilon$%
+  \or$\zeta$\or$\eta$\or$\vartheta$\or$\iota$\or$\kappa$\or$\lambda$\or$%
+  \mu$\or$\nu$\or$\xi$\or$ o$\or$\varpi$\or$\varrho$\or$\varsigma$\or$\tau$%
+  \or$\upsilon$\or$\varphi$\or$\chi$\or$\psi$\or$\omega$\else\@ctrerr\fi}
+\def\@Greek#1{\theorem@checkbold%
+ \ifcase#1\or A\or B\or$\Gamma$\or$\Delta$\or E%
+  \or Z\or H\or$\Theta$\or I\or K\or$\Lambda$\or M%
+  \or N\or$\Xi$\or O\or$\Pi$\or P\or$\Sigma$\or T%
+  \or$\Upsilon$\or$\Phi$\or X\or$\Psi$\or$\Omega$\else\@ctrerr\fi}
+\def\greek#1{\@greek{\csname c@#1\endcsname}}
+\def\Greek#1{\@Greek{\csname c@#1\endcsname}}
+\ProcessOptions\relax
+\ifx\thm@noconfig\@undefined
+\InputIfFileExists{ntheorem.cfg}%
+  {\PackageInfo{\basename}{Local config file ntheorem.cfg used}}%
+  {\ifx\thm@usestd\@undefined%
+   \else%
+     \InputIfFileExists{ntheorem.std}%
+      {\PackageInfo{\basename}{Standard config file ntheorem.std used}}{}
+   \fi}
+\fi
+\endinput
+%%
+%% End of file `ntheorem.sty'.
diff --git a/styles/pd1enc.def b/styles/pd1enc.def
new file mode 100644 (file)
index 0000000..c0a6b4d
--- /dev/null
@@ -0,0 +1,243 @@
+%%
+%% This is file `pd1enc.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hyperref.dtx  (with options: `pd1enc')
+%% 
+%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
+%% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
+%%
+%% This file is part of the `Hyperref Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the `Hyperref Bundle' is
+%% given in the file `manifest.txt'.
+%%
+\ProvidesFile{pd1enc.def}
+  [2001/05/26 v6.71g
+  Hyperref: PDFDocEncoding definition (HO)]
+\DeclareFontEncoding{PD1}{}{}
+\DeclareTextCommand{\textLF}{PD1}{\012} % line feed
+\DeclareTextCommand{\textCR}{PD1}{\015} % carriage return
+\DeclareTextCommand{\textHT}{PD1}{\011} % horizontal tab
+\DeclareTextCommand{\textBS}{PD1}{\010} % backspace
+\DeclareTextCommand{\textFF}{PD1}{\014} % formfeed
+\DeclareTextAccent{\`}{PD1}{\textgrave}
+\DeclareTextAccent{\'}{PD1}{\textacute}
+\DeclareTextAccent{\^}{PD1}{\textcircumflex}
+\DeclareTextAccent{\~}{PD1}{\texttilde}
+\DeclareTextAccent{\"}{PD1}{\textdieresis}
+\DeclareTextAccent{\r}{PD1}{\textring}
+\DeclareTextAccent{\v}{PD1}{\textcaron}
+\DeclareTextAccent{\.}{PD1}{\textdotaccent}
+\DeclareTextAccent{\c}{PD1}{\textcedilla}
+\DeclareTextCompositeCommand{\`}{PD1}{\@empty}{\textgrave}
+\DeclareTextCompositeCommand{\'}{PD1}{\@empty}{\textacute}
+\DeclareTextCompositeCommand{\^}{PD1}{\@empty}{\textcircumflex}
+\DeclareTextCompositeCommand{\~}{PD1}{\@empty}{\texttilde}
+\DeclareTextCompositeCommand{\"}{PD1}{\@empty}{\textdieresis}
+\DeclareTextCompositeCommand{\r}{PD1}{\@empty}{\textring}
+\DeclareTextCompositeCommand{\v}{PD1}{\@empty}{\textcaron}
+\DeclareTextCompositeCommand{\.}{PD1}{\@empty}{\textdotaccent}
+\DeclareTextCompositeCommand{\c}{PD1}{\@empty}{\textcedilla}
+\DeclareTextCommand{\textbreve}{PD1}{\030} % breve
+\DeclareTextCommand{\textcaron}{PD1}{\031} % caron
+\DeclareTextCommand{\textcircumflex}{PD1}{\032} % circumflex
+\DeclareTextCommand{\textdotaccent}{PD1}{\033} % dotaccent
+\DeclareTextCommand{\texthungarumlaut}{PD1}{\034} % hungarumlaut
+\DeclareTextCommand{\textogonek}{PD1}{\035} % ogonek
+\DeclareTextCommand{\textring}{PD1}{\036} % ring
+\DeclareTextCommand{\texttilde}{PD1}{\037} % tilde
+\DeclareTextCommand{\textquotedbl}{PD1}{\string"} % quotedbl \042
+\DeclareTextCommand{\textnumbersign}{PD1}{\043} % numbersign
+\DeclareTextCommand{\textdollar}{PD1}{\044} % dollar
+\DeclareTextCommand{\textpercent}{PD1}{\045} % percent
+\DeclareTextCommand{\textampersand}{PD1}{\046} % ampersand
+\DeclareTextCommand{\textparenleft}{PD1}{\string\(} % parenleft \050
+\DeclareTextCommand{\textparenright}{PD1}{\string\)} % parenright \051
+\DeclareTextCommand{\textless}{PD1}{<} % less \074
+\DeclareTextCommand{\textgreater}{PD1}{>} % greater \076
+\DeclareTextCommand{\textbackslash}{PD1}{\134} % backslash
+\DeclareTextCommand{\textasciicircum}{PD1}{\136} % asciicircum
+\DeclareTextCommand{\textunderscore}{PD1}{\137} % underscore
+\DeclareTextCommand{\textgrave}{PD1}{\140} % grave
+\DeclareTextCompositeCommand{\.}{PD1}{i}{i} % i
+\DeclareTextCommand{\textbraceleft}{PD1}{\173} % braceleft
+\DeclareTextCommand{\textbar}{PD1}{|} % bar
+\DeclareTextCommand{\textbraceright}{PD1}{\175} % braceright
+\DeclareTextCommand{\textasciitilde}{PD1}{\176} % asciitilde
+\DeclareTextCommand{\textbullet}{PD1}{\200} % bullet
+\DeclareTextCommand{\textdagger}{PD1}{\201} % dagger
+\DeclareTextCommand{\textdaggerdbl}{PD1}{\202} % daggerdbl
+\DeclareTextCommand{\textellipsis}{PD1}{\203} % ellipsis
+\DeclareTextCommand{\textemdash}{PD1}{\204} % emdash
+\DeclareTextCommand{\textendash}{PD1}{\205} % endash
+\DeclareTextCommand{\textflorin}{PD1}{\206} % florin
+\DeclareTextCommand{\textfractionmark}{PD1}{/} % fraction, \207
+\DeclareTextCommand{\guilsinglleft}{PD1}{\210} % guilsinglleft
+\DeclareTextCommand{\guilsinglright}{PD1}{\211} % guilsinglright
+\DeclareTextCommand{\textminus}{PD1}{-} % minus, \212
+\DeclareTextCommand{\textperthousand}{PD1}{\213} % perthousand
+\DeclareTextCommand{\quotedblbase}{PD1}{\214} % quotedblbase
+\DeclareTextCommand{\textquotedblleft}{PD1}{\215} % quotedblleft
+\DeclareTextCommand{\textquotedblright}{PD1}{\216} % quotedblright
+\DeclareTextCommand{\textquoteleft}{PD1}{\217} % quoteleft
+\DeclareTextCommand{\textquoteright}{PD1}{\220} % quoteright
+\DeclareTextCommand{\quotesinglbase}{PD1}{\221} % quotesinglbase
+\DeclareTextCommand{\texttrademark}{PD1}{\222} % trademark
+\DeclareTextCommand{\textfi}{PD1}{fi} % fi ?? \223
+\DeclareTextCommand{\textfl}{PD1}{fl} % fl ?? \224
+\DeclareTextCommand{\L}{PD1}{L} % Lslash, \225
+\DeclareTextCommand{\OE}{PD1}{\226} % OE
+\DeclareTextCompositeCommand{\v}{PD1}{S}{\227} % Scaron
+\DeclareTextCompositeCommand{\"}{PD1}{Y}{\230} % Ydieresis
+\DeclareTextCommand{\IJ}{PD1}{\230}
+\DeclareTextCompositeCommand{\v}{PD1}{Z}{Z} % Zcaron, \231
+\DeclareTextCommand{\i}{PD1}{i} % dotlessi, \232
+\DeclareTextCommand{\l}{PD1}{l} % lslash, \233
+\DeclareTextCommand{\oe}{PD1}{\234} % oe
+\DeclareTextCompositeCommand{\v}{PD1}{s}{\235} % scaron
+\DeclareTextCompositeCommand{\v}{PD1}{z}{z} % zcaron, 236
+\DeclareTextCommand{\texteuro}{PD1}{\240} % Euro
+\DeclareTextCommand{\textexclamdown}{PD1}{\241} % exclamdown
+\DeclareTextCommand{\textcent}{PD1}{\242} % cent
+\DeclareTextCommand{\textsterling}{PD1}{\243} % sterling
+\DeclareTextCommand{\textcurrency}{PD1}{\244} % currency
+\DeclareTextCommand{\textyen}{PD1}{\245} % yen
+\DeclareTextCommand{\textbrokenbar}{PD1}{\246} % brokenbar
+\DeclareTextCommand{\textsection}{PD1}{\247} % section
+\DeclareTextCommand{\textdieresis}{PD1}{\250} % dieresis
+\DeclareTextCommand{\textcopyright}{PD1}{\251} % copyright
+\DeclareTextCommand{\textordfeminine}{PD1}{\252} % ordfeminine
+\DeclareTextCommand{\guillemotleft}{PD1}{\253} % guillemotleft
+\DeclareTextCommand{\textlogicalnot}{PD1}{\254} % logicalnot
+\DeclareTextCommand{\textregistered}{PD1}{\256} % registered
+\DeclareTextCommand{\textmacron}{PD1}{\257} % macron
+\DeclareTextCommand{\textdegree}{PD1}{\260} % degree
+\DeclareTextCommand{\textplusminus}{PD1}{\261} % plusminus
+\DeclareTextCommand{\texttwosuperior}{PD1}{\262} % twosuperior
+\DeclareTextCommand{\textthreesuperior}{PD1}{\263} % threesuperior
+\DeclareTextCommand{\textacute}{PD1}{\264} % acute
+\DeclareTextCommand{\textmu}{PD1}{\265} % mu
+\DeclareTextCommand{\textparagraph}{PD1}{\266} % paragraph
+\DeclareTextCommand{\textperiodcentered}{PD1}{\267} % periodcentered
+\DeclareTextCommand{\textcedilla}{PD1}{\270} % cedilla
+\DeclareTextCommand{\textonesuperior}{PD1}{\271} % onesuperior
+\DeclareTextCommand{\textordmasculine}{PD1}{\272} % ordmasculine
+\DeclareTextCommand{\guillemotright}{PD1}{\273} % guillemotright
+\DeclareTextCommand{\textonequarter}{PD1}{\274} % onequarter
+\DeclareTextCommand{\textonehalf}{PD1}{\275} % onehalf
+\DeclareTextCommand{\textthreequarters}{PD1}{\276} % threequarters
+\DeclareTextCommand{\textquestiondown}{PD1}{\277} % questiondown
+\DeclareTextCompositeCommand{\`}{PD1}{A}{\300} % Agrave
+\DeclareTextCompositeCommand{\'}{PD1}{A}{\301} % Aacute
+\DeclareTextCompositeCommand{\^}{PD1}{A}{\302} % Acircumflex
+\DeclareTextCompositeCommand{\~}{PD1}{A}{\303} % Atilde
+\DeclareTextCompositeCommand{\"}{PD1}{A}{\304} % Adieresis
+\DeclareTextCompositeCommand{\r}{PD1}{A}{\305} % Aring
+\DeclareTextCommand{\AE}{PD1}{\306} % AE
+\DeclareTextCompositeCommand{\c}{PD1}{C}{\307} % Ccedilla
+\DeclareTextCompositeCommand{\`}{PD1}{E}{\310} % Egrave
+\DeclareTextCompositeCommand{\'}{PD1}{E}{\311} % Eacute
+\DeclareTextCompositeCommand{\^}{PD1}{E}{\312} % Ecircumflex
+\DeclareTextCompositeCommand{\"}{PD1}{E}{\313} % Edieresis
+\DeclareTextCompositeCommand{\`}{PD1}{I}{\314} % Igrave
+\DeclareTextCompositeCommand{\'}{PD1}{I}{\315} % Iacute
+\DeclareTextCompositeCommand{\^}{PD1}{I}{\316} % Icircumflex
+\DeclareTextCompositeCommand{\"}{PD1}{I}{\317} % Idieresis
+\DeclareTextCommand{\DH}{PD1}{\320} % Eth
+\DeclareTextCommand{\DJ}{PD1}{\320} % Eth
+\DeclareTextCompositeCommand{\~}{PD1}{N}{\321} % Ntilde
+\DeclareTextCompositeCommand{\`}{PD1}{O}{\322} % Ograve
+\DeclareTextCompositeCommand{\'}{PD1}{O}{\323} % Oacute
+\DeclareTextCompositeCommand{\^}{PD1}{O}{\324} % Ocircumflex
+\DeclareTextCompositeCommand{\~}{PD1}{O}{\325} % Otilde
+\DeclareTextCompositeCommand{\"}{PD1}{O}{\326} % Odieresis
+\DeclareTextCommand{\textmultiply}{PD1}{\327} % multiply
+\DeclareTextCommand{\O}{PD1}{\330} % Oslash
+\DeclareTextCompositeCommand{\`}{PD1}{U}{\331} % Ugrave
+\DeclareTextCompositeCommand{\'}{PD1}{U}{\332} % Uacute
+\DeclareTextCompositeCommand{\^}{PD1}{U}{\333} % Ucircumflex
+\DeclareTextCompositeCommand{\"}{PD1}{U}{\334} % Udieresis
+\DeclareTextCompositeCommand{\'}{PD1}{Y}{\335} % Yacute
+\DeclareTextCommand{\TH}{PD1}{\336} % Thorn
+\DeclareTextCommand{\ss}{PD1}{\337} % germandbls
+\DeclareTextCompositeCommand{\`}{PD1}{a}{\340} % agrave
+\DeclareTextCompositeCommand{\'}{PD1}{a}{\341} % aacute
+\DeclareTextCompositeCommand{\^}{PD1}{a}{\342} % acircumflex
+\DeclareTextCompositeCommand{\~}{PD1}{a}{\343} % atilde
+\DeclareTextCompositeCommand{\"}{PD1}{a}{\344} % adieresis
+\DeclareTextCompositeCommand{\r}{PD1}{a}{\345} % aring
+\DeclareTextCommand{\ae}{PD1}{\346} % ae
+\DeclareTextCompositeCommand{\c}{PD1}{c}{\347} % ccedilla
+\DeclareTextCompositeCommand{\`}{PD1}{e}{\350} % egrave
+\DeclareTextCompositeCommand{\'}{PD1}{e}{\351} % eacute
+\DeclareTextCompositeCommand{\^}{PD1}{e}{\352} % ecircumflex
+\DeclareTextCompositeCommand{\"}{PD1}{e}{\353} % edieresis
+\DeclareTextCompositeCommand{\`}{PD1}{i}{\354} % igrave
+\DeclareTextCompositeCommand{\`}{PD1}{\i}{\354} % igrave
+\DeclareTextCompositeCommand{\'}{PD1}{i}{\355} % iacute
+\DeclareTextCompositeCommand{\'}{PD1}{\i}{\355} % iacute
+\DeclareTextCompositeCommand{\^}{PD1}{i}{\356} % icircumflex
+\DeclareTextCompositeCommand{\^}{PD1}{\i}{\356} % icircumflex
+\DeclareTextCompositeCommand{\"}{PD1}{i}{\357} % idieresis
+\DeclareTextCompositeCommand{\"}{PD1}{\i}{\357} % idieresis
+\DeclareTextCommand{\dh}{PD1}{\360} % eth
+\DeclareTextCompositeCommand{\~}{PD1}{n}{\361} % ntilde
+\DeclareTextCompositeCommand{\`}{PD1}{o}{\362} % ograve
+\DeclareTextCompositeCommand{\'}{PD1}{o}{\363} % oacute
+\DeclareTextCompositeCommand{\^}{PD1}{o}{\364} % ocircumflex
+\DeclareTextCompositeCommand{\~}{PD1}{o}{\365} % otilde
+\DeclareTextCompositeCommand{\"}{PD1}{o}{\366} % odieresis
+\DeclareTextCommand{\textdivide}{PD1}{\367} % divide
+\DeclareTextCommand{\o}{PD1}{\370} % oslash
+\DeclareTextCompositeCommand{\`}{PD1}{u}{\371} % ugrave
+\DeclareTextCompositeCommand{\'}{PD1}{u}{\372} % uacute
+\DeclareTextCompositeCommand{\^}{PD1}{u}{\373} % ucircumflex
+\DeclareTextCompositeCommand{\"}{PD1}{u}{\374} % udieresis
+\DeclareTextCompositeCommand{\'}{PD1}{y}{\375} % yacute
+\DeclareTextCommand{\th}{PD1}{\376} % thorn
+\DeclareTextCompositeCommand{\"}{PD1}{y}{\377} % ydieresis
+\DeclareTextCommand{\ij}{PD1}{\377}
+\DeclareTextCommand{\SS}{PD1}{SS}
+\DeclareTextCommand{\textcelsius}{PD1}{\textdegree C}
+\DeclareTextCommand{\textglqq}{PD1}{\quotedblbase}
+\DeclareTextCommand{\textgrqq}{PD1}{\textquotedblleft}
+\DeclareTextCommand{\textglq}{PD1}{\quotesinglbase}
+\DeclareTextCommand{\textgrq}{PD1}{\textquoteleft}
+\DeclareTextCommand{\textflqq}{PD1}{\guillemotleft}
+\DeclareTextCommand{\textfrqq}{PD1}{\guillemotright}
+\DeclareTextCommand{\textflq}{PD1}{\guilsinglleft}
+\DeclareTextCommand{\textfrq}{PD1}{\guilsinglright}
+\DeclareTextCommand{\textneg}{PD1}{\textlogicalnot}
+\DeclareTextCommand{\texttimes}{PD1}{\textmultiply}
+\DeclareTextCommand{\textdiv}{PD1}{\textdivide}
+\DeclareTextCommand{\textpm}{PD1}{\textplusminus}
+\DeclareTextCommand{\textcdot}{PD1}{\textperiodcentered}
+\DeclareTextCommand{\textbeta}{PD1}{\ss}
+\DeclareTextCompositeCommand{\k}{PD1}{a}{a} % aogonek
+\DeclareTextCompositeCommand{\'}{PD1}{c}{c} % cacute
+\DeclareTextCompositeCommand{\k}{PD1}{e}{e} % eogonek
+\DeclareTextCompositeCommand{\'}{PD1}{n}{n} % nacute
+\DeclareTextCompositeCommand{\'}{PD1}{s}{s} % sacute
+\DeclareTextCompositeCommand{\'}{PD1}{z}{z} % zacute
+\DeclareTextCompositeCommand{\.}{PD1}{z}{z} % zdot
+\DeclareTextCompositeCommand{\k}{PD1}{A}{A} % Aogonek
+\DeclareTextCompositeCommand{\'}{PD1}{C}{C} % Cacute
+\DeclareTextCompositeCommand{\k}{PD1}{E}{E} % Eogonek
+\DeclareTextCompositeCommand{\'}{PD1}{N}{N} % Nacute
+\DeclareTextCompositeCommand{\'}{PD1}{S}{S} % Sacute
+\DeclareTextCompositeCommand{\'}{PD1}{Z}{Z} % Zacute
+\DeclareTextCompositeCommand{\.}{PD1}{Z}{Z} % Zdot
+\endinput
+%%
+%% End of file `pd1enc.def'.
diff --git a/styles/pdfmark.def b/styles/pdfmark.def
new file mode 100644 (file)
index 0000000..02363a7
--- /dev/null
@@ -0,0 +1,1079 @@
+%%
+%% This is file `pdfmark.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hyperref.dtx  (with options: `pdfmark,pdfmarkbase,pdfform,outlines')
+%% 
+%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
+%% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
+%%
+%% This file is part of the `Hyperref Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the `Hyperref Bundle' is
+%% given in the file `manifest.txt'.
+%%
+\ProvidesFile{pdfmark.def}
+  [2001/05/26 v6.71g
+  Hyperref definitions for pdfmark specials]
+\def\Hy@PutCatalog#1{%
+  \pdfmark{pdfmark=/PUT,Raw={\string{Catalog\string} << #1 >>}}%
+}
+\ifHy@pagelabels
+  \def\HyPL@StorePageLabel#1{%
+    \if@filesw
+      \begingroup
+        \edef\Hy@tempa{\the\Hy@abspage\space<< #1 >> }%
+        \immediate\write\@mainaux{%
+          \string\HyPL@Entry{\Hy@tempa}%
+        }%
+      \endgroup
+    \fi
+  }
+  \AfterBeginDocument{%
+    \if@filesw
+      \immediate\write\@mainaux{%
+        \string\providecommand\string*\string\HyPL@Entry[1]{}%
+      }%
+    \fi
+    \ifx\HyPL@Labels\@empty
+      \Hy@WarningNoLine{Rerun to get /PageLabels entry}%
+    \else
+      \HyPL@SetPageLabels
+    \fi
+    \let\HyPL@Entry\@gobble
+  }%
+  \def\HyPL@Entry#1{%
+    \expandafter\gdef\expandafter\HyPL@Labels\expandafter{%
+      \HyPL@Labels
+      #1%
+    }%
+  }
+\fi
+\def\hyper@anchor#1{%
+  \Hy@SaveLastskip
+  \begingroup
+    \pdfmark[\anchor@spot]{%
+      pdfmark=/DEST,%
+      linktype=anchor,%
+      View=/\@pdfview \@pdfviewparams,%
+      DestAnchor={#1}%
+    }%
+  \endgroup
+  \Hy@RestoreLastskip
+}
+\@ifundefined{hyper@anchorstart}{}{\endinput}
+\def\hyper@anchorstart#1{%
+  \Hy@SaveLastskip
+  \literalps@out{H.S}%
+  \xdef\hyper@currentanchor{#1}%
+  \Hy@activeanchortrue
+}
+\def\hyper@anchorend{%
+  \literalps@out{\strip@pt@and@otherjunk\baselineskip\space H.A}%
+  \pdfmark{%
+    pdfmark=/DEST,%
+    linktype=anchor,%
+    View=/\@pdfview \@pdfviewparams,%
+    DestAnchor=\hyper@currentanchor,%
+    Raw=H.B%
+  }%
+  \Hy@activeanchorfalse
+  \Hy@RestoreLastskip
+}
+\def\hyper@linkstart#1#2{%
+  \ifHy@breaklinks
+  \else
+    \leavevmode\hbox\bgroup
+  \fi
+  \Hy@colorlink{\csname @#1color\endcsname}%
+  \literalps@out{H.S}%
+  \xdef\hyper@currentanchor{#2}%
+  \gdef\hyper@currentlinktype{#1}%
+}
+\def\hyper@linkend{%
+  \literalps@out{\strip@pt@and@otherjunk\baselineskip\space H.L}%
+  \edef\Hy@temp{\csname @\hyper@currentlinktype bordercolor\endcsname}%
+  \pdfmark{%
+    pdfmark=/ANN,%
+    linktype=link,%
+    Subtype=/Link,%
+    Dest=\hyper@currentanchor,%
+    AcroHighlight=\@pdfhighlight,%
+    Border=\@pdfborder,%
+    Color=\Hy@temp,%
+    Raw=H.B%
+  }%
+  \Hy@endcolorlink
+  \ifHy@breaklinks
+  \else
+    \egroup
+  \fi
+}
+\def\hyper@pagetransition{%
+  \ifx\@pdfpagetransition\relax
+  \else
+    \ifx\@pdfpagetransition\@empty
+      % 1. Does an old entry have to be deleted?
+      % 2. If 1=yes, how to delete?
+    \else
+      \pdfmark{%
+        pdfmark=/PUT,%
+        Raw={%
+          {ThisPage} <<
+            /Trans << /S /\@pdfpagetransition\space >>
+          >>%
+        }%
+      }%
+    \fi
+  \fi
+}
+\def\hyper@pageduration{%
+  \ifx\@pdfpageduration\relax
+  \else
+    \ifx\@pdfpageduration\@empty
+      % 1. Does an old entry have to be deleted?
+      % 2. If 1=yes, how to delete?
+    \else
+      \pdfmark{%
+        pdfmark=/PUT,%
+        Raw={%
+          {ThisPage} <</Dur \@pdfpageduration>>%
+        }%
+      }%
+    \fi
+  \fi
+}
+\def\hyper@pagehidden{%
+  \ifHy@useHidKey
+    \pdfmark{%
+      pdfmark=/PUT,%
+      Raw={%
+        {ThisPage} <</Hid \ifHy@pdfpagehidden true\else false\fi>>%
+      }%
+    }%
+  \fi
+}
+\def\hyper@image#1#2{%
+  \hyper@linkurl{#2}{#1}}
+\def\Hy@undefinedname{UNDEFINED}
+\def\hyper@link#1#2#3{%
+  \edef\Hy@temp{\csname @#1bordercolor\endcsname}%
+  \begingroup
+    \protected@edef\Hy@testname{#2}%
+    \ifx\Hy@testname\@empty
+      \let\Hy@testname\Hy@undefinedname
+    \fi
+    \pdfmark[{#3}]{%
+      Color=\Hy@temp,%
+      linktype=#1,%
+      AcroHighlight=\@pdfhighlight,%
+      Border=\@pdfborder,%
+      pdfmark=/ANN,%
+      Subtype=/Link,%
+      Dest=\Hy@testname
+    }%
+  \endgroup
+}
+\newtoks\pdf@docset
+\def\PDF@FinishDoc{%
+  \pdfmark{%
+    pdfmark=/DOCINFO,%
+    Title=\@pdftitle,%
+    Subject=\@pdfsubject,%
+    Creator=\@pdfcreator,%
+    Author=\@pdfauthor,%
+    Producer=\@pdfproducer,%
+    Keywords=\@pdfkeywords
+  }%
+  \Hy@DisableOption{pdfauthor}%
+  \Hy@DisableOption{pdftitle}%
+  \Hy@DisableOption{pdfsubject}%
+  \Hy@DisableOption{pdfcreator}%
+  \Hy@DisableOption{pdfproducer}%
+  \Hy@DisableOption{pdfkeywords}%
+}
+\def\PDF@SetupDoc{%
+  \ifx\@baseurl\@empty\def\@dobaseurl{}\else
+    \def\@dobaseurl{}%
+  \fi
+  \pdfmark{%
+    pdfmark=/DOCVIEW,%
+    Page=\@pdfstartpage,%
+    View=\@pdfstartview,%
+    URI={<< /Base (\@baseurl) >>},%
+    PageMode=\@pdfpagemode
+  }%
+  \ifx\@pdfpagescrop\@empty
+  \else
+    \pdfmark{pdfmark=/PAGES,CropBox=\@pdfpagescrop}%
+  \fi
+  \pdfmark{%
+    pdfmark=/PUT,%
+    Raw={%
+      \string{Catalog\string} <<
+        /ViewerPreferences <<
+          \ifHy@toolbar\else /HideToolbar true \fi
+          \ifHy@menubar\else /HideMenubar true \fi
+          \ifHy@windowui\else /HideWindowUI true \fi
+          \ifHy@fitwindow /FitWindow true \fi
+          \ifHy@centerwindow /CenterWindow true \fi
+        >>
+        \ifx\pdf@pagelayout\@empty
+        \else
+          /PageLayout /\pdf@pagelayout\space
+        \fi
+      >>%
+    }%
+  }%
+}
+\def\pdfmark{\@ifnextchar[{\pdfmark@}{\pdfmark@[]}}
+\def\pdfmark@[#1]#2{%
+    \edef\@processme{\noexpand\pdf@toks={\the\pdf@defaulttoks}}%
+    \@processme
+    \let\pdf@type\relax
+    \setkeys{PDF}{#2}%
+    \ifx\pdf@type\relax
+       \Hy@WarningNoLine{no pdfmark type specified in #2!!}%
+       \ifx\\#1\\\relax\else\pdf@rect{#1}\fi
+    \else
+       \ifx\\#1\\\relax
+  \literalps@out{[\the\pdf@toks\space\pdf@type\space pdfmark}%
+       \else
+         \Hy@colorlink{\@ifundefined{@\pdf@linktype color}%
+                      {\@linkcolor}%
+                      {\csname @\pdf@linktype color\endcsname}}%
+         \pdf@rect{#1}%
+  \literalps@out{[\the\pdf@toks\space\pdf@type\space pdfmark}%
+         \Hy@endcolorlink
+       \fi
+    \fi
+}
+\newsavebox{\pdf@box}
+\def\pdf@rect#1{%
+  \leavevmode
+  \sbox\pdf@box{#1}%
+  \dimen@\ht\pdf@box
+  \leavevmode
+  \ifdim\dp\pdf@box=\z@
+    \literalps@out{H.S}%
+  \else
+    \lower\dp\pdf@box\hbox{\literalps@out{H.S}}%
+  \fi
+  \ifHy@breaklinks\unhbox\else\box\fi\pdf@box
+  \ifdim\dimen@=\z@
+    \literalps@out{H.R}%
+  \else
+    \raise\dimen@\hbox{\literalps@out{H.R}}%
+  \fi
+  \pdf@addtoksx{H.B}%
+}
+\newtoks\pdf@toks
+\newtoks\pdf@defaulttoks
+\pdf@defaulttoks={}%
+\def\pdf@addtoks#1#2{%
+  \edef\@processme{\pdf@toks{\the\pdf@toks\space /#2 #1}}%
+  \@processme
+}
+\def\pdf@addtoksx#1{%
+  \edef\@processme{\pdf@toks{\the\pdf@toks\space #1}}%
+  \@processme
+}
+\def\PDFdefaults#1{%
+  \pdf@defaulttoks={#1}%
+}
+\define@key{PDF}{pdfmark}{\def\pdf@type{#1}}
+\define@key{PDF}{linktype}{\def\pdf@linktype{#1}}
+\def\pdf@linktype{link}
+\define@key{PDF}{Raw}{\pdf@addtoksx{#1}}
+\define@key{PDF}{Action}{\pdf@addtoks{#1}{Action}}
+\define@key{PDF}{Border}{\pdf@addtoks{[#1]}{Border}}
+\define@key{PDF}{Color}{\pdf@addtoks{[#1]}{Color}}
+\define@key{PDF}{Contents}{\pdf@addtoks{(#1)}{Contents}}
+\define@key{PDF}{Count}{\pdf@addtoks{#1}{Count}}
+\define@key{PDF}{CropBox}{\pdf@addtoks{[#1]}{CropBox}}
+\define@key{PDF}{DOSFile}{\pdf@addtoks{(#1)}{DOSFile}}
+\define@key{PDF}{DataSource}{\pdf@addtoks{(#1)}{DataSource}}
+\define@key{PDF}{Dest}{%
+  \begingroup
+    \edef\x{#1}%
+  \expandafter\endgroup
+  \ifx\x\@empty\else\pdf@addtoks{(#1) cvn}{Dest}\fi
+}
+\define@key{PDF}{DestAnchor}{%
+  \begingroup
+    \edef\x{#1}%
+  \expandafter\endgroup
+  \ifx\x\@empty\else\pdf@addtoks{(#1) cvn}{Dest}\fi
+}
+\define@key{PDF}{Dir}{\pdf@addtoks{(#1)}{Dir}}
+\define@key{PDF}{File}{\pdf@addtoks{(#1)}{File}}
+\define@key{PDF}{Flags}{\pdf@addtoks{#1}{Flags}}
+\define@key{PDF}{AcroHighlight}{\pdf@addtoks{#1}{H}}
+\define@key{PDF}{ID}{\pdf@addtoks{[#1]}{ID}}
+\define@key{PDF}{MacFile}{\pdf@addtoks{(#1)}{MacFile}}
+\define@key{PDF}{ModDate}{\pdf@addtoks{(#1)}{ModDate}}
+\define@key{PDF}{Op}{\pdf@addtoks{(#1)}{Op}}
+\define@key{PDF}{Open}{\pdf@addtoks{#1}{Open}}
+\define@key{PDF}{Page}{\pdf@addtoks{#1}{Page}}
+\define@key{PDF}{PageMode}{\pdf@addtoks{#1}{PageMode}}
+\define@key{PDF}{Params}{\pdf@addtoks{(#1)}{Params}}
+\define@key{PDF}{Rect}{\pdf@addtoks{[#1]}{Rect}}
+\define@key{PDF}{SrcPg}{\pdf@addtoks{#1}{SrcPg}}
+\define@key{PDF}{Subtype}{\pdf@addtoks{#1}{Subtype}}
+\define@key{PDF}{Title}{\pdf@addtoks{(#1)}{Title}}
+\define@key{PDF}{Unix}{\pdf@addtoks{(#1)}{Unix}}
+\define@key{PDF}{UnixFile}{\pdf@addtoks{(#1)}{UnixFile}}
+\define@key{PDF}{View}{\pdf@addtoks{[#1]}{View}}
+\define@key{PDF}{WinFile}{\pdf@addtoks{(#1)}{WinFile}}
+\define@key{PDF}{Author}{\pdf@addtoks{(#1)}{Author}}
+\define@key{PDF}{CreationDate}{\pdf@addtoks{(#1)}{CreationDate}}
+\define@key{PDF}{Creator}{\pdf@addtoks{(#1)}{Creator}}
+\define@key{PDF}{Producer}{\pdf@addtoks{(#1)}{Producer}}
+\define@key{PDF}{Subject}{\pdf@addtoks{(#1)}{Subject}}
+\define@key{PDF}{Keywords}{\pdf@addtoks{(#1)}{Keywords}}
+\define@key{PDF}{ModDate}{\pdf@addtoks{(#1)}{ModDate}}
+\define@key{PDF}{Base}{\pdf@addtoks{(#1)}{Base}}
+\define@key{PDF}{URI}{\pdf@addtoks{#1}{URI}}
+\def\Acrobatmenu#1#2{%
+  \pdfmark[{#2}]{%
+    linktype=menu,%
+    pdfmark=/ANN,%
+    AcroHighlight=\@pdfhighlight,%
+    Border=\@pdfborder,%
+    Action=<< /Subtype /Named /N /#1 >>,%
+    Subtype=/Link%
+  }%
+}
+\def\PDFNextPage{\@ifnextchar[{\PDFNextPage@}{\PDFNextPage@[]}}
+\def\PDFNextPage@[#1]#2{%
+  \pdfmark[{#2}]{#1,Border=\@pdfborder,Color=.2 .1 .5,
+  pdfmark=/ANN,Subtype=/Link,Page=/Next}}
+\def\PDFPreviousPage{%
+  \@ifnextchar[{\PDFPreviousPage@}{\PDFPreviousPage@[]}%
+}
+\def\PDFPreviousPage@[#1]#2{%
+  \pdfmark[{#2}]{#1,Border=\@pdfborder,Color=.4 .4 .1,
+  pdfmark=/ANN,Subtype=/Link,Page=/Prev}}
+\def\PDFOpen#1{%
+  \pdfmark{#1,pdfmark=/DOCVIEW}%
+}
+\def\PDFPage{\@ifnextchar[{\PDFPage@}{\PDFPage@[]}}
+\def\PDFPage@[#1]#2#3{%
+  \let\pageref\simple@pageref
+  \pdfmark[{#3}]{%
+    #1,%
+    Page=#2,%
+    AcroHighlight=\@pdfhighlight,%
+    Border=\@pdfborder,%
+    Color=\@pagebordercolor,%
+    pdfmark=/ANN,%
+    Subtype=/Link%
+  }%
+}
+\def\simple@pageref#1{%
+  \expandafter\ifx\csname r@#1\endcsname\relax
+   0%
+  \else
+    \expandafter\expandafter\expandafter
+          \@secondoffive\csname r@#1\endcsname
+  \fi}
+\def\hyper@linkurl#1#2{%
+  \begingroup
+    \hyper@chars
+    \leavevmode
+    \pdfmark[{#1}]{%
+      pdfmark=/ANN,%
+      linktype=url,%
+      AcroHighlight=\@pdfhighlight,%
+      Border=\@pdfborder,%
+      Color=\@urlbordercolor,%
+      Action={<< /Subtype /URI /URI (#2) >>},%
+      Subtype=/Link%
+    }%
+  \endgroup
+}
+\def\hyper@linkfile#1#2#3{%
+  \begingroup
+    \leavevmode
+    \pdfmark[{#1}]{%
+      pdfmark=/ANN,%
+      Subtype=/Link,
+      AcroHighlight=\@pdfhighlight,%
+      Border=\@pdfborder,%
+      linktype=file,%
+      Color=\@filebordercolor,%
+      Action=<<
+        /S /GoToR
+        \ifHy@newwindow /NewWindow true \fi
+        /F (#2)
+        /D \ifx\\#3\\[0 \@pdfstartview]\else(#3)\fi
+      >>%
+    }%
+  \endgroup
+}
+\def\@hyper@launch run:#1\\#2#3{%
+  \begingroup
+    \leavevmode
+    \pdfmark[{#2}]{%
+      pdfmark=/ANN,%
+      Subtype=/Link,%
+      AcroHighlight=\@pdfhighlight,%
+      Border=\@pdfborder,%
+      linktype=file,%
+      Color=\@filebordercolor,%
+      Action=<<
+        /S /Launch
+        \ifHy@newwindow /NewWindow true \fi
+        /F (#1)
+        \ifx\\#3\\\else /Win << /P (#3) /F (#1) >> \fi
+      >>%
+    }%
+  \endgroup
+}
+\long\def\@Form[#1]{%
+\AtBeginDvi{%
+  \headerps@out{%
+[ /_objdef {pdfDocEncoding}
+  /type /dict
+/OBJ pdfmark
+[ {pdfDocEncoding}
+ << /Type /Encoding
+    /Differences [ 24 /breve /caron /circumflex /dotaccent
+/hungarumlaut /ogonek /ring /tilde 39 /quotesingle 96 /grave 128
+/bullet /dagger /daggerdbl /ellipsis /emdash /endash /florin /fraction
+/guilsinglleft /guilsinglright /minus /perthousand /quotedblbase
+/quotedblleft /quotedblright /quoteleft /quoteright /quotesinglbase
+/trademark /fi /fl /Lslash /OE /Scaron /Ydieresis /Zcaron /dotlessi
+/lslash /oe /scaron /zcaron 164 /currency 166 /brokenbar 168 /dieresis
+/copyright /ordfeminine 172 /logicalnot /.notdef /registered /macron
+/degree /plusminus /twosuperior /threesuperior /acute /mu 183
+/periodcentered /cedilla /onesuperior /ordmasculine 188 /onequarter
+/onehalf /threequarters 192 /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 ]
+>>
+/PUT pdfmark
+[ /_objdef {ZaDb}
+  /type /dict
+/OBJ pdfmark
+[ {ZaDb}
+  <<
+   /Type /Font
+   /Subtype /Type1
+   /Name /ZaDb
+   /BaseFont /ZapfDingbats
+  >>
+/PUT pdfmark
+[ /_objdef {Helv}
+  /type /dict
+/OBJ pdfmark
+[ {Helv}
+  <<
+  /Type /Font
+  /Subtype /Type1
+  /Name /Helv
+  /BaseFont /Helvetica
+  /Encoding {pdfDocEncoding}
+  >>
+/PUT pdfmark
+[ /_objdef {aform}
+  /type /dict
+/OBJ pdfmark
+[ /_objdef {afields}
+  /type /array
+/OBJ pdfmark
+[/BBox [0 0 100 100] /_objdef {Check} /BP pdfmark
+1 0 0 setrgbcolor /ZapfDingbats 80 selectfont 20 20 moveto (4) show
+[/EP pdfmark
+[/BBox [0 0 100 100] /_objdef {Cross} /BP pdfmark
+1 0 0 setrgbcolor /ZapfDingbats 80 selectfont 20 20 moveto (8) show
+[/EP pdfmark
+[/BBox [0 0 250 100] /_objdef {Submit} /BP pdfmark 0.6 setgray 0 0 250
+100 rectfill 1 setgray 2 2 moveto 2 98 lineto 248 98 lineto 246 96
+lineto 4 96 lineto 4 4 lineto fill 0.34 setgray 248 98 moveto 248 2
+lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
+/Helvetica 76 selectfont 0 setgray 8 22.5 moveto (Submit) show
+[/EP pdfmark
+[/BBox [0 0 250 100] /_objdef {SubmitP} /BP pdfmark 0.6 setgray 0 0
+250 100 rectfill 0.34 setgray 2 2 moveto 2 98 lineto 248 98 lineto 246
+96 lineto 4 96 lineto 4 4 lineto fill 1 setgray 248 98 moveto 248 2
+lineto 2 2 lineto 4 4 lineto 246 4 lineto 246 96 lineto fill
+/Helvetica 76 selectfont 0 setgray 10 20.5 moveto (Submit) show
+[/EP pdfmark
+[ {aform}
+  <<
+    /Fields {afields}
+    /DR << /Font << /ZaDb {ZaDb} /Helv {Helv} >> >>
+    /DA (/Helv 10 Tf 0 g )
+    /CO {corder}
+    /NeedAppearances true
+  >>
+/PUT pdfmark
+[ \string{Catalog\string}
+  <<
+    /AcroForm {aform}
+  >>
+/PUT pdfmark
+[ /_objdef {corder} /type /array /OBJ pdfmark   % dps
+}}%
+ \setkeys{Form}{#1}%
+}
+\def\@endForm{}
+\def\@Gauge[#1]#2#3#4{% parameters, label, minimum, maximum
+  \typeout{Sorry, pdfmark drivers do not support FORM gauges}%
+}
+\def\@TextField[#1]#2{% parameters, label
+  \def\Fld@name{#2}%
+  \def\Fld@default{}%
+  \let\Fld@value\@empty
+  \def\Fld@width{\DefaultWidthofText}%
+  \def\Fld@height{\DefaultHeightofText}%
+  \bgroup
+    \Field@toks={ }%
+    \setkeys{Field}{#1}%
+    \ifFld@hidden\def\Fld@width{1sp}\fi
+    \ifx\Fld@value\@empty\def\Fld@value{\Fld@default}\fi
+    \ifFld@multiline
+      \def\Fld@height{4\DefaultHeightofText}%
+    \fi
+    \LayoutTextField{#2}{%
+      \pdfmark[\MakeTextField{\Fld@width}{\Fld@height}]{%
+        pdfmark=/ANN,Raw={\PDFForm@Text}%
+      }%
+    }%
+  \egroup
+}
+\def\@ChoiceMenu[#1]#2#3{% parameters, label, choices
+  \def\Fld@name{#2}%
+  \def\Fld@default{}%
+  \def\Fld@width{\DefaultWidthofChoiceMenu}%
+  \def\Fld@height{\DefaultHeightofChoiceMenu}%
+  \bgroup
+    \Fld@menulength=0
+    \@tempdima\z@
+    \@for\@curropt:=#3\do{%
+      \expandafter\Fld@checkequals\@curropt==\\%
+      \Hy@StepCount\Fld@menulength
+      \settowidth{\@tempdimb}{\@currDisplay}%
+      \ifdim\@tempdimb>\@tempdima\@tempdima\@tempdimb\fi
+    }%
+    \advance\@tempdima by 15\p@
+    \Field@toks={ }%
+    \setkeys{Field}{#1}%
+    \ifFld@hidden\def\Fld@width{1sp}\fi
+    \LayoutChoiceField{#2}{%
+      \ifFld@radio
+        \@@Radio{#3}%
+      \else
+        {%
+          \ifdim\Fld@width<\@tempdima
+            \ifdim\@tempdima<1cm\@tempdima1cm\fi
+            \edef\Fld@width{\the\@tempdima}%
+          \fi
+          \def\Fld@flags{}%
+          \ifFld@combo\def\Fld@flags{/Ff 917504}\fi
+          \ifFld@popdown\def\Fld@flags{/Ff 131072}\fi
+          \ifx\Fld@flags\@empty
+            \@tempdima=\the\Fld@menulength\Fld@charsize
+            \advance\@tempdima by \Fld@borderwidth bp
+            \advance\@tempdima by \Fld@borderwidth bp
+            \edef\Fld@height{\the\@tempdima}%
+          \fi
+          \@@Listbox{#3}%
+        }%
+      \fi
+    }%
+  \egroup
+}
+\def\@@Radio#1{%
+  \Fld@listcount=0
+  \@for\@curropt:=#1\do{%
+    \expandafter\Fld@checkequals\@curropt==\\%
+    \Hy@StepCount\Fld@listcount
+    \@currDisplay\space
+    \pdfmark[\MakeRadioField{\Fld@width}{\Fld@height}]{%
+      pdfmark=/ANN,%
+      Raw={\PDFForm@Radio /AP <</N <</\@currValue\space {Check}>> >>}%
+    } % deliberate space between radio buttons
+  }%
+}
+\newcount\Fld@listcount
+\def\@@Listbox#1{%
+  \Choice@toks={ }%
+  \Fld@listcount=0
+  \@for\@curropt:=#1\do{%
+    \expandafter\Fld@checkequals\@curropt==\\%
+    \Hy@StepCount\Fld@listcount
+    \edef\@processme{%
+       \Choice@toks{\the\Choice@toks [(\@currValue) (\@currDisplay)]}%
+    }\@processme
+  }%
+  \pdfmark[\MakeChoiceField{\Fld@width}{\Fld@height}]{%
+    pdfmark=/ANN,Raw={\PDFForm@List}%
+  }%
+}
+\def\@PushButton[#1]#2{% parameters, label
+  \def\Fld@name{#2}%
+  \bgroup
+    \Field@toks={ }%
+    \setkeys{Field}{#1}%
+    \ifFld@hidden\def\Fld@width{1sp}\fi
+    \LayoutPushButtonField{%
+      \pdfmark[\MakeButtonField{#2}]{%
+        pdfmark=/ANN,Raw={\PDFForm@Push}%
+      }%
+    }%
+  \egroup
+}
+\def\@Submit[#1]#2{%
+  \Field@toks={ }%
+  \def\Fld@width{\DefaultWidthofSubmit}%
+  \def\Fld@height{\DefaultHeightofSubmit}%
+  \bgroup
+    \def\Fld@name{Submit}%
+    \setkeys{Field}{#1}%
+    \ifFld@hidden\def\Fld@width{1sp}\fi
+    \pdfmark[\MakeButtonField{#2}]{%
+      pdfmark=/ANN,%
+      Raw={\PDFForm@Submit /AP << /N {Submit} /D {SubmitP} >>}%
+    }%
+  \egroup
+}
+\def\@Reset[#1]#2{%
+  \Field@toks={ }%
+  \def\Fld@width{\DefaultWidthofReset}%
+  \def\Fld@height{\DefaultHeightofReset}%
+  \bgroup
+    \def\Fld@name{Reset}%
+    \setkeys{Field}{#1}%
+    \ifFld@hidden\def\Fld@width{1sp}\fi
+    \pdfmark[\MakeButtonField{#2}]{%
+      pdfmark=/ANN,Raw={\PDFForm@Reset}%
+    }%
+  \egroup
+}
+\def\@CheckBox[#1]#2{% parameters, label
+  \def\Fld@name{#2}%
+  \def\Fld@default{0}%
+  \bgroup
+    \def\Fld@width{\DefaultWidthofCheckBox}%
+    \def\Fld@height{\DefaultHeightofCheckBox}%
+    \Field@toks={ }%
+    \setkeys{Field}{#1}%
+    \ifFld@hidden\def\Fld@width{1sp}\fi
+    \LayoutCheckField{#2}{%
+      \pdfmark[\MakeCheckField{\Fld@width}{\Fld@height}]{%
+        pdfmark=/ANN,Raw={\PDFForm@Check}%
+      }%
+    }%
+  \egroup
+}
+\def\PDFForm@Check{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /Q \Fld@align\space
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /MK <<
+    /BC [\Fld@bordercolor]
+    \ifx\Fld@bcolor\@empty
+    \else
+      /BG [\Fld@bcolor]
+    \fi
+    /CA (\Fld@cbsymbol)
+  >>
+  /DA (/ZaDb \strip@pt\Fld@charsize\space Tf \Fld@color\space rg)
+  /FT /Btn
+  /H /P
+  \ifFld@checked /V /Yes \else /V /Off \fi
+}
+\def\PDFForm@Push{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /FT /Btn
+  /Ff 65540
+  /H /P
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /MK <<
+    /BC [\Fld@bordercolor]
+  >>
+  /A << /S /JavaScript /JS (\Fld@onclick;) >>
+}
+\def\PDFForm@List{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /FT /Ch
+  /Q \Fld@align\space
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /MK <<
+    /BC [\Fld@bordercolor]
+    \ifx\Fld@bcolor\@empty
+    \else
+      /BG [\Fld@bcolor]
+    \fi
+  >>
+  /DA (/Helv \strip@pt\Fld@charsize\space Tf \Fld@color\space rg )
+  /Opt [\the\Choice@toks]
+  /DV (\Fld@default)
+  \Fld@flags
+}
+\def\PDFForm@Radio{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /FT /Btn
+  /Ff 49152
+  /H /P
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /MK <<
+    /BC [\Fld@bordercolor]
+    \ifx\Fld@bcolor\@empty
+    \else
+      /BG [\Fld@bcolor]
+    \fi
+    /CA (H)
+  >>
+  /DA (/ZaDb \strip@pt\Fld@charsize\space Tf \Fld@color\space rg)
+  \ifx\@currValue\Fld@default
+    /V /\Fld@default\space
+  \else
+    /V /Off
+  \fi
+}
+\def\PDFForm@Text{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /Q \Fld@align\space
+  /FT /Tx
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /MK <<
+    /BC [\Fld@bordercolor]
+    \ifx\Fld@bcolor\@empty
+    \else
+      /BG [\Fld@bcolor]
+    \fi
+  >>
+  /DA (/Helv \strip@pt\Fld@charsize\space Tf \Fld@color\space rg )
+  /DV (\Fld@default)
+  /AA <<
+    \ifx\Fld@keystroke@code\@empty
+    \else
+      /K << /S /JavaScript /JS (\Fld@keystroke@code) >>
+    \fi
+    \ifx\Fld@format@code\@empty
+    \else
+      /F << /S /JavaScript /JS (\Fld@format@code) >>
+    \fi
+    \ifx\Fld@validate@code\@empty
+    \else
+      /V << /S /JavaScript /JS (\Fld@validate@code) >>
+    \fi
+    \ifx\Fld@calculate@code\@empty
+    \else
+      /C << /S /JavaScript /JS (\Fld@calculate@code) >>
+    \fi
+  >>
+  /V (\Fld@value)
+  \ifFld@multiline
+    \ifFld@readonly /Ff 4097 \else /Ff 4096 \fi
+  \else
+    \ifFld@password
+      \ifFld@readonly /Ff 8193 \else /Ff 8192 \fi
+    \fi
+  \fi
+  \ifnum\Fld@maxlen>0/MaxLen \Fld@maxlen \fi
+}
+\def\PDFForm@Submit{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /FT /Btn
+  /Ff 65540
+  /H /P
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /MK <<
+    /BC [\Fld@bordercolor]
+  >>
+  /A <<
+    /S /SubmitForm
+    /F <<
+      /FS /URL
+      /F (\Form@action)
+    >>
+    \ifForm@html /Flags 4 \fi
+  >>
+}
+\def\PDFForm@Reset{%
+  /Subtype /Widget
+  \ifFld@hidden /F 6 \else /F 4 \fi
+  /T (\Fld@name)
+  /FT /Btn
+  /H /P
+  /DA (/Helv \strip@pt\Fld@charsize\space Tf 0 0 1 rg)
+  /Ff 65540
+  /MK <<
+    /BC [\Fld@bordercolor]
+  >>
+  /BS << /W \Fld@borderwidth\space /S /\Fld@borderstyle\space >>
+  /A << /S /ResetForm >>
+}
+\newwrite\@outlinefile
+\def\Hy@writebookmark#1#2#3#4#5{% section number, text, label, level, file
+ \ifx\WriteBookmarks\relax%
+ \else
+  \ifnum#4>\c@tocdepth
+  \else
+   \@@writetorep{#1}{#2}{#3}{#4}{#5}%
+  \fi
+ \fi}
+\def\Hy@currentbookmarklevel{0}
+\def\Hy@numberline#1{#1 }
+\def\@@writetorep#1#2#3#4#5{%
+  \begingroup
+    \def\Hy@tempa{#5}%
+    \ifx\Hy@tempa\Hy@bookmarkstype
+      \edef\Hy@level{#4}%
+      \ifx\Hy@levelcheck Y%
+        \@tempcnta\Hy@level\relax
+        \advance\@tempcnta by -1
+        \ifnum\Hy@currentbookmarklevel<\@tempcnta
+          \advance\@tempcnta by -\Hy@currentbookmarklevel\relax
+          \advance\@tempcnta by 1
+          \Hy@Warning{%
+            Difference (\the\@tempcnta) between bookmark levels is %
+            greater \MessageBreak than one, level fixed%
+          }%
+          \@tempcnta\Hy@currentbookmarklevel
+          \advance\@tempcnta by 1
+          \edef\Hy@level{\the\@tempcnta}%
+        \fi
+      \else
+        \global\let\Hy@levelcheck Y%
+      \fi
+      \global\let\Hy@currentbookmarklevel\Hy@level
+      \@tempcnta\Hy@level\relax
+      \expandafter\xdef\csname Parent\Hy@level\endcsname{#3}%
+      \advance\@tempcnta by -1
+      \edef\Hy@tempa{#3}%
+      \edef\Hy@tempb{\csname Parent\the\@tempcnta\endcsname}%
+      \ifx\Hy@tempa\Hy@tempb
+        \Hy@Warning{%
+          The anchor of a bookmark and its parent's must not%
+          \MessageBreak be the same. Added a new anchor%
+        }%
+        \phantomsection
+      \fi
+      \ifHy@bookmarksnumbered
+        \let\numberline\Hy@numberline
+      \else
+        \let\numberline\@gobble
+      \fi
+      \pdfstringdef\Hy@tempa{#2}%
+      \protected@write\@outlinefile{}{%
+        \protect\BOOKMARK
+          [\Hy@level][\@bookmarkopenstatus{\Hy@level}]{#3}%
+          {\Hy@tempa}{\Hy@tempb}%
+      }%
+    \fi
+  \endgroup
+}
+\newcommand{\currentpdfbookmark}{%
+  \pdfbookmark[\Hy@currentbookmarklevel]%
+}
+\newcommand{\subpdfbookmark}{%
+  \@tempcnta\Hy@currentbookmarklevel
+  \Hy@StepCount\@tempcnta
+  \expandafter\pdfbookmark\expandafter[\the\@tempcnta]%
+}
+\newcommand{\belowpdfbookmark}[2]{%
+  \@tempcnta\Hy@currentbookmarklevel
+  \Hy@StepCount\@tempcnta
+  \expandafter\pdfbookmark\expandafter[\the\@tempcnta]{#1}{#2}%
+  \advance\@tempcnta by -1
+  \xdef\Hy@currentbookmarklevel{\the\@tempcnta}%
+}
+\renewcommand\pdfbookmark[3][0]{%
+  \Hy@writebookmark{}{#2}{#3.#1}{#1}{toc}%
+  \hyper@anchorstart{#3.#1}\hyper@anchorend
+}
+\def\BOOKMARK{\@ifnextchar[{\@BOOKMARK}{\@@BOOKMARK[1][-]}}
+\def\@BOOKMARK[#1]{\@ifnextchar[{\@@BOOKMARK[#1]}{\@@BOOKMARK[#1][-]}}
+\def\ReadBookmarks{%
+  \begingroup
+    \escapechar=`\\%
+    \let\escapechar\@gobble %
+    \def\@@BOOKMARK [##1][##2]##3##4##5{\calc@bm@number{##5}}%
+    \InputIfFileExists{\jobname.out}{}{}%
+    \ifx\WriteBookmarks\relax
+      \global\let\WriteBookmarks\relax
+    \fi
+    \def\@@BOOKMARK[##1][##2]##3##4##5{%
+      \def\Hy@temp{##4}%
+      \pdfmark{%
+        pdfmark=/OUT,%
+        Count=##2\check@bm@number{##3},%
+        Dest={##3},%
+        Title=\expandafter\strip@prefix\meaning\Hy@temp
+      }%
+   }%
+   {%
+    \def\WriteBookmarks{0}%
+    \InputIfFileExists{\jobname.out}{}{}%
+   }%
+   %{\escapechar\m@ne\InputIfFileExists{\jobname.out}{}{}}%
+   \ifx\WriteBookmarks\relax\else
+     \if@filesw\immediate\openout\@outlinefile=\jobname.out
+      \ifHy@typexml
+       \immediate\write\@outlinefile{<relaxxml>\relax}%
+      \fi
+     \fi
+   \fi
+   \endgroup
+}
+\def\check@bm@number#1{%
+  \expandafter\ifx\csname B_#1\endcsname\relax
+    0%
+  \else
+    \csname B_#1\endcsname
+  \fi
+}
+\def\calc@bm@number#1{%
+  \@tempcnta=\check@bm@number{#1}\relax
+  \advance\@tempcnta by1
+  \expandafter\xdef\csname B_#1\endcsname{\the\@tempcnta}%
+}
+\ifHy@implicit
+\else
+  \def\@begindvi{%
+    \unvbox\@begindvibox
+    \HyPL@EveryPage
+    \global\let\@begindvi\HyPL@EveryPage
+  }%
+  \expandafter\endinput
+\fi
+\let\H@old@ssect\@ssect
+\def\@ssect#1#2#3#4#5{%
+  \H@old@ssect{#1}{#2}{#3}{#4}{#5}%
+  \phantomsection
+}
+\let\H@old@schapter\@schapter
+\def\@schapter#1{%
+  \H@old@schapter{#1}%
+  \begingroup
+    \let\@mkboth\@gobbletwo
+    \Hy@GlobalStepCount\Hy@linkcounter
+    \xdef\@currentHref{\Hy@chapapp*.\the\Hy@linkcounter}%
+    \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+  \endgroup
+}
+\@ifundefined{@chapter}{}{%
+  \let\Hy@org@chapter\@chapter
+  \def\@chapter{%
+    \def\Hy@next{%
+      \Hy@GlobalStepCount\Hy@linkcounter
+      \xdef\@currentHref{\Hy@chapapp*.\the\Hy@linkcounter}%
+      \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+    }%
+    \ifnum\c@secnumdepth>\m@ne
+      \@ifundefined{if@mainmatter}%
+      \iftrue{\csname if@mainmatter\endcsname}
+        \let\Hy@next\relax
+      \fi
+    \fi
+    \Hy@next
+    \Hy@org@chapter
+  }%
+}
+\let\H@old@spart\@spart
+\def\@spart#1{%
+  \H@old@spart{#1}%
+  \Hy@GlobalStepCount\Hy@linkcounter
+  \xdef\@currentHref{part*.\the\Hy@linkcounter}%
+  \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+}
+\let\H@old@sect\@sect
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+  \ifnum #2>\c@secnumdepth
+    \Hy@GlobalStepCount\Hy@linkcounter
+    \xdef\@currentHref{section*.\the\Hy@linkcounter}%
+  \fi
+  \H@old@sect{#1}{#2}{#3}{#4}{#5}{#6}[{#7}]{#8}%
+  \ifnum #2>\c@secnumdepth
+    \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+  \fi
+}
+\expandafter\def\csname Parent-4\endcsname{}
+\expandafter\def\csname Parent-3\endcsname{}
+\expandafter\def\csname Parent-2\endcsname{}
+\expandafter\def\csname Parent-1\endcsname{}
+\expandafter\def\csname Parent0\endcsname{}
+\expandafter\def\csname Parent1\endcsname{}
+\expandafter\def\csname Parent2\endcsname{}
+\expandafter\def\csname Parent3\endcsname{}
+\expandafter\def\csname Parent4\endcsname{}
+\def\Hy@tempa{%
+  \def\@addchap[##1]##2{%
+    \typeout{##2}%
+    \if@twoside
+      \@mkboth{##1}{}%
+    \else
+      \@mkboth{}{##1}%
+    \fi
+    \addtocontents{lof}{\protect\addvspace{10\p@}}%
+    \addtocontents{lot}{\protect\addvspace{10\p@}}%
+    \Hy@GlobalStepCount\Hy@linkcounter
+    \xdef\@currentHref{\Hy@chapapp*.\the\Hy@linkcounter}%
+    \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+    \if@twocolumn
+       \@topnewpage[\@makeschapterhead{##2}]%
+    \else
+       \@makeschapterhead{##2}%
+       \@afterheading
+    \fi
+    \addcontentsline{toc}{chapter}{##1}%
+  }%
+}
+\@ifclassloaded{scrbook}{%
+  \@ifclasslater{scrbook}{2001/01/01}{%
+    \let\Hy@tempa\@empty
+  }{}%
+}{%
+  \@ifclassloaded{scrreprt}{%
+    \@ifclasslater{scrreprt}{2001/01/01}{%
+      \let\Hy@tempa\@empty
+    }{}%
+  }{%
+    \let\Hy@tempa\@empty
+  }%
+}%
+\Hy@tempa
+\begingroup
+  \catcode`P=12
+  \catcode`T=12
+  \lowercase{\endgroup
+  \gdef\rem@ptetc#1.#2PT#3!{#1\ifnum#2>\z@.#2\fi}%
+}
+\def\strip@pt@and@otherjunk#1{\expandafter\rem@ptetc\the#1!}
+\endinput
+%%
+%% End of file `pdfmark.def'.
diff --git a/styles/puenc.def b/styles/puenc.def
new file mode 100644 (file)
index 0000000..9ab4e5c
--- /dev/null
@@ -0,0 +1,665 @@
+%%
+%% This is file `puenc.def',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% hyperref.dtx  (with options: `puenc')
+%% 
+%% File: hyperref.dtx Copyright 1995-2001 Sebastian Rahtz,
+%% RCS: $Id: hyperref.dtx 6.71 2000/10/04 rahtz Exp rahtz $
+%%
+%% This file is part of the `Hyperref Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 of this license or (at your option) any
+%% later version.  The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% The list of all files belonging to the `Hyperref Bundle' is
+%% given in the file `manifest.txt'.
+%%
+\ProvidesFile{puenc.def}
+  [2001/05/26 v6.71g
+  Hyperref: PDF Unicode definition (HO)]
+\DeclareFontEncoding{PU}{}{}
+\DeclareTextCommand{\textLF}{PU}{\80\012} % line feed
+\DeclareTextCommand{\textCR}{PU}{\80\015} % carriage return
+\DeclareTextCommand{\textHT}{PU}{\80\011} % horizontal tab
+\DeclareTextCommand{\textBS}{PU}{\80\010} % backspace
+\DeclareTextCommand{\textFF}{PU}{\80\014} % formfeed
+\DeclareTextAccent{\`}{PU}{\textgrave}
+\DeclareTextAccent{\'}{PU}{\textacute}
+\DeclareTextAccent{\^}{PU}{\textcircumflex}
+\DeclareTextAccent{\~}{PU}{\texttilde}
+\DeclareTextAccent{\"}{PU}{\textdieresis}
+\DeclareTextAccent{\r}{PU}{\textring}
+\DeclareTextAccent{\v}{PU}{\textcaron}
+\DeclareTextAccent{\.}{PU}{\textdotaccent}
+\DeclareTextAccent{\c}{PU}{\textcedilla}
+\DeclareTextAccent{\U}{PU}{\textbreve}
+\DeclareTextAccent{\C}{PU}{\textdoublegrave}
+\DeclareTextCompositeCommand{\`}{PU}{\@empty}{\textgrave}
+\DeclareTextCompositeCommand{\'}{PU}{\@empty}{\textacute}
+\DeclareTextCompositeCommand{\^}{PU}{\@empty}{\textcircumflex}
+\DeclareTextCompositeCommand{\~}{PU}{\@empty}{\texttilde}
+\DeclareTextCompositeCommand{\"}{PU}{\@empty}{\textdieresis}
+\DeclareTextCompositeCommand{\r}{PU}{\@empty}{\textring}
+\DeclareTextCompositeCommand{\v}{PU}{\@empty}{\textcaron}
+\DeclareTextCompositeCommand{\.}{PU}{\@empty}{\textdotaccent}
+\DeclareTextCompositeCommand{\c}{PU}{\@empty}{\textcedilla}
+\DeclareTextCompositeCommand{\U}{PU}{\@empty}{\textbreve}
+\DeclareTextCompositeCommand{\C}{PU}{\@empty}{\textdoublegrave}
+\DeclareTextCommand{\textbreve}{PU}{\80\030} % breve
+\DeclareTextCommand{\textcaron}{PU}{\80\031} % caron
+\DeclareTextCommand{\textcircumflex}{PU}{\80\032} % circumflex
+\DeclareTextCommand{\textdotaccent}{PU}{\80\033} % dotaccent
+\DeclareTextCommand{\texthungarumlaut}{PU}{\80\034} % hungarumlaut
+\DeclareTextCommand{\textogonek}{PU}{\80\035} % ogonek
+\DeclareTextCommand{\textring}{PU}{\80\036} % ring
+\DeclareTextCommand{\texttilde}{PU}{\80\037} % tilde
+\DeclareTextCommand{\textdoublegrave}{PU}{\83\017} % double grave
+\DeclareTextCommand{\textquotedbl}{PU}{\string"} % quotedbl \80\042
+\DeclareTextCommand{\textnumbersign}{PU}{\80\043} % numbersign
+\DeclareTextCommand{\textdollar}{PU}{\80\044} % dollar
+\DeclareTextCommand{\textpercent}{PU}{\80\045} % percent
+\DeclareTextCommand{\textampersand}{PU}{\80\046} % ampersand
+\DeclareTextCommand{\textparenleft}{PU}{\80\050} % parenleft
+\DeclareTextCommand{\textparenright}{PU}{\80\051} % parenright
+\DeclareTextCommand{\textless}{PU}{<} % less \80\074
+\DeclareTextCommand{\textgreater}{PU}{>} % greater \80\076
+\DeclareTextCommand{\textbackslash}{PU}{\80\134} % backslash
+\DeclareTextCommand{\textasciicircum}{PU}{\80\136} % asciicircum
+\DeclareTextCommand{\textunderscore}{PU}{\80\137} % underscore
+\DeclareTextCommand{\textgrave}{PU}{\80\140} % grave
+\DeclareTextCompositeCommand{\.}{PU}{i}{i} % i
+\DeclareTextCommand{\j}{PU}{j} % jdotless
+\DeclareTextCommand{\textbraceleft}{PU}{\80\173} % braceleft
+\DeclareTextCommand{\textbar}{PU}{|} % bar
+\DeclareTextCommand{\textbraceright}{PU}{\80\175} % braceright
+\DeclareTextCommand{\textasciitilde}{PU}{\80\176} % asciitilde
+\DeclareTextCommand{\textbullet}{PU}{\80\200} % bullet
+\DeclareTextCommand{\textdagger}{PU}{\80\201} % dagger
+\DeclareTextCommand{\textdaggerdbl}{PU}{\80\202} % daggerdbl
+\DeclareTextCommand{\textellipsis}{PU}{\80\203} % ellipsis
+\DeclareTextCommand{\textemdash}{PU}{\80\204} % emdash
+\DeclareTextCommand{\textendash}{PU}{\80\205} % endash
+\DeclareTextCommand{\textflorin}{PU}{\80\206} % florin
+\DeclareTextCommand{\textfractionmark}{PU}{/} % fraction, \80\207
+\DeclareTextCommand{\guilsinglleft}{PU}{\80\210} % guilsinglleft
+\DeclareTextCommand{\guilsinglright}{PU}{\80\211} % guilsinglright
+\DeclareTextCommand{\textminus}{PU}{-} % minus, \80\212
+\DeclareTextCommand{\textperthousand}{PU}{\80\213} % perthousand
+\DeclareTextCommand{\quotedblbase}{PU}{\80\214} % quotedblbase
+\DeclareTextCommand{\textquotedblleft}{PU}{\80\215} % quotedblleft
+\DeclareTextCommand{\textquotedblright}{PU}{\80\216} % quotedblright
+\DeclareTextCommand{\textquoteleft}{PU}{\80\217} % quoteleft
+\DeclareTextCommand{\textquoteright}{PU}{\80\220} % quoteright
+\DeclareTextCommand{\quotesinglbase}{PU}{\80\221} % quotesinglbase
+\DeclareTextCommand{\texttrademark}{PU}{\80\222} % trademark
+\DeclareTextCommand{\textfi}{PU}{fi} % fi ?? \80\223
+\DeclareTextCommand{\textfl}{PU}{fl} % fl ?? \80\224
+\DeclareTextCommand{\OE}{PU}{\80\226} % OE
+\DeclareTextCommand{\oe}{PU}{\80\234} % oe
+\DeclareTextCommand{\texteuro}{PU}{\80\240} % Euro
+\DeclareTextCommand{\textexclamdown}{PU}{\80\241} % exclamdown
+\DeclareTextCommand{\textcent}{PU}{\80\242} % cent
+\DeclareTextCommand{\textsterling}{PU}{\80\243} % sterling
+\DeclareTextCommand{\textcurrency}{PU}{\80\244} % currency
+\DeclareTextCommand{\textyen}{PU}{\80\245} % yen
+\DeclareTextCommand{\textbrokenbar}{PU}{\80\246} % brokenbar
+\DeclareTextCommand{\textsection}{PU}{\80\247} % section
+\DeclareTextCommand{\textdieresis}{PU}{\80\250} % dieresis
+\DeclareTextCommand{\textcopyright}{PU}{\80\251} % copyright
+\DeclareTextCommand{\textordfeminine}{PU}{\80\252} % ordfeminine
+\DeclareTextCommand{\guillemotleft}{PU}{\80\253} % guillemotleft
+\DeclareTextCommand{\textlogicalnot}{PU}{\80\254} % logicalnot
+\DeclareTextCommand{\textregistered}{PU}{\80\256} % registered
+\DeclareTextCommand{\textmacron}{PU}{\80\257} % macron
+\DeclareTextCommand{\textdegree}{PU}{\80\260} % degree
+\DeclareTextCommand{\textplusminus}{PU}{\80\261} % plusminus
+\DeclareTextCommand{\texttwosuperior}{PU}{\80\262} % twosuperior
+\DeclareTextCommand{\textthreesuperior}{PU}{\80\263} % threesuperior
+\DeclareTextCommand{\textacute}{PU}{\80\264} % acute
+\DeclareTextCommand{\textmu}{PU}{\80\265} % mu
+\DeclareTextCommand{\textparagraph}{PU}{\80\266} % paragraph
+\DeclareTextCommand{\textperiodcentered}{PU}{\80\267} % periodcentered
+\DeclareTextCommand{\textcedilla}{PU}{\80\270} % cedilla
+\DeclareTextCommand{\textonesuperior}{PU}{\80\271} % onesuperior
+\DeclareTextCommand{\textordmasculine}{PU}{\80\272} % ordmasculine
+\DeclareTextCommand{\guillemotright}{PU}{\80\273} % guillemotright
+\DeclareTextCommand{\textonequarter}{PU}{\80\274} % onequarter
+\DeclareTextCommand{\textonehalf}{PU}{\80\275} % onehalf
+\DeclareTextCommand{\textthreequarters}{PU}{\80\276} % threequarters
+\DeclareTextCommand{\textquestiondown}{PU}{\80\277} % questiondown
+\DeclareTextCompositeCommand{\`}{PU}{A}{\80\300} % Agrave
+\DeclareTextCompositeCommand{\'}{PU}{A}{\80\301} % Aacute
+\DeclareTextCompositeCommand{\^}{PU}{A}{\80\302} % Acircumflex
+\DeclareTextCompositeCommand{\~}{PU}{A}{\80\303} % Atilde
+\DeclareTextCompositeCommand{\"}{PU}{A}{\80\304} % Adieresis
+\DeclareTextCompositeCommand{\r}{PU}{A}{\80\305} % Aring
+\DeclareTextCommand{\AE}{PU}{\80\306} % AE
+\DeclareTextCompositeCommand{\c}{PU}{C}{\80\307} % Ccedilla
+\DeclareTextCompositeCommand{\`}{PU}{E}{\80\310} % Egrave
+\DeclareTextCompositeCommand{\'}{PU}{E}{\80\311} % Eacute
+\DeclareTextCompositeCommand{\^}{PU}{E}{\80\312} % Ecircumflex
+\DeclareTextCompositeCommand{\"}{PU}{E}{\80\313} % Edieresis
+\DeclareTextCompositeCommand{\`}{PU}{I}{\80\314} % Igrave
+\DeclareTextCompositeCommand{\'}{PU}{I}{\80\315} % Iacute
+\DeclareTextCompositeCommand{\^}{PU}{I}{\80\316} % Icircumflex
+\DeclareTextCompositeCommand{\"}{PU}{I}{\80\317} % Idieresis
+\DeclareTextCommand{\DH}{PU}{\80\320} % Eth
+\DeclareTextCompositeCommand{\~}{PU}{N}{\80\321} % Ntilde
+\DeclareTextCompositeCommand{\`}{PU}{O}{\80\322} % Ograve
+\DeclareTextCompositeCommand{\'}{PU}{O}{\80\323} % Oacute
+\DeclareTextCompositeCommand{\^}{PU}{O}{\80\324} % Ocircumflex
+\DeclareTextCompositeCommand{\~}{PU}{O}{\80\325} % Otilde
+\DeclareTextCompositeCommand{\"}{PU}{O}{\80\326} % Odieresis
+\DeclareTextCommand{\textmultiply}{PU}{\80\327} % multiply
+\DeclareTextCommand{\O}{PU}{\80\330} % Oslash
+\DeclareTextCompositeCommand{\`}{PU}{U}{\80\331} % Ugrave
+\DeclareTextCompositeCommand{\'}{PU}{U}{\80\332} % Uacute
+\DeclareTextCompositeCommand{\^}{PU}{U}{\80\333} % Ucircumflex
+\DeclareTextCompositeCommand{\"}{PU}{U}{\80\334} % Udieresis
+\DeclareTextCompositeCommand{\'}{PU}{Y}{\80\335} % Yacute
+\DeclareTextCommand{\TH}{PU}{\80\336} % Thorn
+\DeclareTextCommand{\ss}{PU}{\80\337} % germandbls
+\DeclareTextCompositeCommand{\`}{PU}{a}{\80\340} % agrave
+\DeclareTextCompositeCommand{\'}{PU}{a}{\80\341} % aacute
+\DeclareTextCompositeCommand{\^}{PU}{a}{\80\342} % acircumflex
+\DeclareTextCompositeCommand{\~}{PU}{a}{\80\343} % atilde
+\DeclareTextCompositeCommand{\"}{PU}{a}{\80\344} % adieresis
+\DeclareTextCompositeCommand{\r}{PU}{a}{\80\345} % aring
+\DeclareTextCommand{\ae}{PU}{\80\346} % ae
+\DeclareTextCompositeCommand{\c}{PU}{c}{\80\347} % ccedilla
+\DeclareTextCompositeCommand{\`}{PU}{e}{\80\350} % egrave
+\DeclareTextCompositeCommand{\'}{PU}{e}{\80\351} % eacute
+\DeclareTextCompositeCommand{\^}{PU}{e}{\80\352} % ecircumflex
+\DeclareTextCompositeCommand{\"}{PU}{e}{\80\353} % edieresis
+\DeclareTextCompositeCommand{\`}{PU}{i}{\80\354} % igrave
+\DeclareTextCompositeCommand{\`}{PU}{\i}{\80\354} % igrave
+\DeclareTextCompositeCommand{\'}{PU}{i}{\80\355} % iacute
+\DeclareTextCompositeCommand{\'}{PU}{\i}{\80\355} % iacute
+\DeclareTextCompositeCommand{\^}{PU}{i}{\80\356} % icircumflex
+\DeclareTextCompositeCommand{\^}{PU}{\i}{\80\356} % icircumflex
+\DeclareTextCompositeCommand{\"}{PU}{i}{\80\357} % idieresis
+\DeclareTextCompositeCommand{\"}{PU}{\i}{\80\357} % idieresis
+\DeclareTextCommand{\dh}{PU}{\80\360} % eth
+\DeclareTextCompositeCommand{\~}{PU}{n}{\80\361} % ntilde
+\DeclareTextCompositeCommand{\`}{PU}{o}{\80\362} % ograve
+\DeclareTextCompositeCommand{\'}{PU}{o}{\80\363} % oacute
+\DeclareTextCompositeCommand{\^}{PU}{o}{\80\364} % ocircumflex
+\DeclareTextCompositeCommand{\~}{PU}{o}{\80\365} % otilde
+\DeclareTextCompositeCommand{\"}{PU}{o}{\80\366} % odieresis
+\DeclareTextCommand{\textdivide}{PU}{\80\367} % divide
+\DeclareTextCommand{\o}{PU}{\80\370} % oslash
+\DeclareTextCompositeCommand{\`}{PU}{u}{\80\371} % ugrave
+\DeclareTextCompositeCommand{\'}{PU}{u}{\80\372} % uacute
+\DeclareTextCompositeCommand{\^}{PU}{u}{\80\373} % ucircumflex
+\DeclareTextCompositeCommand{\"}{PU}{u}{\80\374} % udieresis
+\DeclareTextCompositeCommand{\'}{PU}{y}{\80\375} % yacute
+\DeclareTextCommand{\th}{PU}{\80\376} % thorn
+\DeclareTextCompositeCommand{\"}{PU}{y}{\80\377} % ydieresis
+\DeclareTextCommand{\ij}{PU}{\80\377}
+\DeclareTextCommand{\SS}{PU}{SS}
+\DeclareTextCommand{\textcelsius}{PU}{\textdegree C}
+\DeclareTextCommand{\textglqq}{PU}{\quotedblbase}
+\DeclareTextCommand{\textgrqq}{PU}{\textquotedblleft}
+\DeclareTextCommand{\textglq}{PU}{\quotesinglbase}
+\DeclareTextCommand{\textgrq}{PU}{\textquoteleft}
+\DeclareTextCommand{\textflqq}{PU}{\guillemotleft}
+\DeclareTextCommand{\textfrqq}{PU}{\guillemotright}
+\DeclareTextCommand{\textflq}{PU}{\guilsinglleft}
+\DeclareTextCommand{\textfrq}{PU}{\guilsinglright}
+\DeclareTextCommand{\textneg}{PU}{\textlogicalnot}
+\DeclareTextCommand{\texttimes}{PU}{\textmultiply}
+\DeclareTextCommand{\textdiv}{PU}{\textdivide}
+\DeclareTextCommand{\textpm}{PU}{\textplusminus}
+\DeclareTextCommand{\textcdot}{PU}{\textperiodcentered}
+\DeclareTextCommand{\textbeta}{PU}{\ss}
+\DeclareTextCompositeCommand{\=}{PU}{A}{\81\000}% Amacron
+\DeclareTextCompositeCommand{\=}{PU}{a}{\81\001}% amacron
+\DeclareTextCompositeCommand{\u}{PU}{A}{\81\002}% Abreve
+\DeclareTextCompositeCommand{\u}{PU}{a}{\81\003}% abreve
+\DeclareTextCompositeCommand{\k}{PU}{A}{\81\004} % Aogonek
+\DeclareTextCompositeCommand{\k}{PU}{a}{\81\005} % aogonek
+\DeclareTextCompositeCommand{\'}{PU}{C}{\81\006} % Cacute
+\DeclareTextCompositeCommand{\'}{PU}{c}{\81\007} % cacute
+\DeclareTextCompositeCommand{\^}{PU}{C}{\81\010} % Ccircumflex
+\DeclareTextCompositeCommand{\^}{PU}{c}{\81\011} % ccircumflex
+\DeclareTextCompositeCommand{\.}{PU}{C}{\81\012} % Cdot
+\DeclareTextCompositeCommand{\.}{PU}{c}{\81\013} % cdot
+\DeclareTextCompositeCommand{\v}{PU}{C}{\81\014} % Ccaron
+\DeclareTextCompositeCommand{\v}{PU}{c}{\81\015} % ccaron
+\DeclareTextCompositeCommand{\v}{PU}{D}{\81\016} % Dcaron
+\DeclareTextCompositeCommand{\v}{PU}{d}{\81\017} % dcaron
+\DeclareTextCommand{\DJ}{PU}{\81\020} % Dslash
+\DeclareTextCommand{\dj}{PU}{\81\021} % dslash
+\DeclareTextCompositeCommand{\=}{PU}{E}{\81\022} % Emacron
+\DeclareTextCompositeCommand{\=}{PU}{e}{\81\023} % emacron
+\DeclareTextCompositeCommand{\u}{PU}{E}{\81\024} % Ebreve
+\DeclareTextCompositeCommand{\u}{PU}{e}{\81\025} % ebreve
+\DeclareTextCompositeCommand{\.}{PU}{E}{\81\026} % Edot
+\DeclareTextCompositeCommand{\.}{PU}{e}{\81\027} % edot
+\DeclareTextCompositeCommand{\k}{PU}{E}{\81\030} % Eogonek
+\DeclareTextCompositeCommand{\k}{PU}{e}{\81\031} % eogonek
+\DeclareTextCompositeCommand{\v}{PU}{E}{\81\032} % Ecaron
+\DeclareTextCompositeCommand{\v}{PU}{e}{\81\033} % ecaron
+\DeclareTextCompositeCommand{\^}{PU}{G}{\81\034} % Gcircumflex
+\DeclareTextCompositeCommand{\^}{PU}{g}{\81\035} % gcircumflex
+\DeclareTextCompositeCommand{\u}{PU}{G}{\81\036} % Gbreve
+\DeclareTextCompositeCommand{\u}{PU}{g}{\81\037} % gbreve
+\DeclareTextCompositeCommand{\.}{PU}{G}{\81\040} % Gdot
+\DeclareTextCompositeCommand{\.}{PU}{g}{\81\041} % gdot
+\DeclareTextCompositeCommand{\c}{PU}{G}{\81\042} % Gcedilla
+\DeclareTextCompositeCommand{\c}{PU}{g}{\81\043} % gcedilla
+\DeclareTextCompositeCommand{\^}{PU}{H}{\81\044} % Hcircumflex
+\DeclareTextCompositeCommand{\^}{PU}{h}{\81\045} % hcircumflex
+\DeclareTextCommand{\textHslash}{PU}{\81\046} % Hslash
+\DeclareTextCommand{\texthslash}{PU}{\81\047} % hslash
+\DeclareTextCompositeCommand{\~}{PU}{I}{\81\050} % Itilde
+\DeclareTextCompositeCommand{\~}{PU}{i}{\81\051} % itilde
+\DeclareTextCompositeCommand{\~}{PU}{\i}{\81\051} % itilde
+\DeclareTextCompositeCommand{\=}{PU}{I}{\81\052} % Imacron
+\DeclareTextCompositeCommand{\=}{PU}{i}{\81\053} % imacron
+\DeclareTextCompositeCommand{\=}{PU}{\i}{\81\053} % imacron
+\DeclareTextCompositeCommand{\u}{PU}{I}{\81\054} % Ibreve
+\DeclareTextCompositeCommand{\u}{PU}{i}{\81\055} % ibreve
+\DeclareTextCompositeCommand{\u}{PU}{\i}{\81\055} % ibreve
+\DeclareTextCompositeCommand{\k}{PU}{I}{\81\056} % Iogonek
+\DeclareTextCompositeCommand{\k}{PU}{i}{\81\057} % iogonek
+\DeclareTextCompositeCommand{\k}{PU}{\i}{\81\057} % iogonek
+\DeclareTextCompositeCommand{\.}{PU}{I}{\81\060} % Idot
+\DeclareTextCommand{\i}{PU}{\81\061} % idotless
+\DeclareTextCompositeCommand{\^}{PU}{J}{\81\064} % Jcircumflex
+\DeclareTextCompositeCommand{\^}{PU}{j}{\81\065} % jcircumflex
+\DeclareTextCompositeCommand{\^}{PU}{\j}{\81\065} % jcircumflex
+\DeclareTextCompositeCommand{\c}{PU}{K}{\81\066} % Kcedilla
+\DeclareTextCompositeCommand{\c}{PU}{k}{\81\067} % kcedilla
+\DeclareTextCompositeCommand{\'}{PU}{L}{\81\071} % Lacute
+\DeclareTextCompositeCommand{\'}{PU}{l}{\81\072} % lacute
+\DeclareTextCompositeCommand{\c}{PU}{L}{\81\073} % Lcedilla
+\DeclareTextCompositeCommand{\c}{PU}{l}{\81\074} % lcedilla
+\DeclareTextCompositeCommand{\v}{PU}{L}{\81\075} % Lcaron
+\DeclareTextCompositeCommand{\v}{PU}{l}{\81\076} % lcaron
+\DeclareTextCommand{\L}{PU}{\81\101} % Lslash
+\DeclareTextCommand{\l}{PU}{\81\102} % lslash
+\DeclareTextCompositeCommand{\'}{PU}{N}{\81\103} % Nacute
+\DeclareTextCompositeCommand{\'}{PU}{n}{\81\104} % nacute
+\DeclareTextCompositeCommand{\c}{PU}{N}{\81\105} % Ncedilla
+\DeclareTextCompositeCommand{\c}{PU}{n}{\81\106} % ncedilla
+\DeclareTextCompositeCommand{\v}{PU}{N}{\81\107} % Ncaron
+\DeclareTextCompositeCommand{\v}{PU}{n}{\81\110} % ncaron
+\DeclareTextCommand{\NG}{PU}{NG} % \81\112
+\DeclareTextCommand{\ng}{PU}{ng} % \81\113
+\DeclareTextCompositeCommand{\=}{PU}{O}{\81\114} % Omacron
+\DeclareTextCompositeCommand{\=}{PU}{o}{\81\115} % omacron
+\DeclareTextCompositeCommand{\u}{PU}{O}{\81\116} % Obreve
+\DeclareTextCompositeCommand{\u}{PU}{o}{\81\117} % obreve
+\DeclareTextCompositeCommand{\H}{PU}{O}{\81\120} % Odoubleacute
+\DeclareTextCompositeCommand{\H}{PU}{o}{\81\121} % odoubleacute
+\DeclareTextCompositeCommand{\'}{PU}{R}{\81\124} % Racute
+\DeclareTextCompositeCommand{\'}{PU}{r}{\81\125} % racute
+\DeclareTextCompositeCommand{\c}{PU}{R}{\81\126} % Rcedilla
+\DeclareTextCompositeCommand{\c}{PU}{r}{\81\127} % rcedilla
+\DeclareTextCompositeCommand{\v}{PU}{R}{\81\130} % Rcaron
+\DeclareTextCompositeCommand{\v}{PU}{r}{\81\131} % rcaron
+\DeclareTextCompositeCommand{\'}{PU}{S}{\81\132} % Sacute
+\DeclareTextCompositeCommand{\'}{PU}{s}{\81\133} % sacute
+\DeclareTextCompositeCommand{\^}{PU}{S}{\81\134} % Scircumflex
+\DeclareTextCompositeCommand{\^}{PU}{s}{\81\135} % scircumflex
+\DeclareTextCompositeCommand{\c}{PU}{S}{\81\136} % Scedilla
+\DeclareTextCompositeCommand{\c}{PU}{s}{\81\137} % scedilla
+\DeclareTextCompositeCommand{\v}{PU}{S}{\81\140} % Scaron
+\DeclareTextCompositeCommand{\v}{PU}{s}{\81\141} % scaron
+\DeclareTextCompositeCommand{\c}{PU}{T}{\81\142} % Tcedilla
+\DeclareTextCompositeCommand{\c}{PU}{t}{\81\143} % tcedilla
+\DeclareTextCompositeCommand{\v}{PU}{T}{\81\144} % Tcaron
+\DeclareTextCompositeCommand{\v}{PU}{t}{\81\145} % tcaron
+\DeclareTextCommand{\textTslash}{PU}{\81\146} % Tslash
+\DeclareTextCommand{\texttslash}{PU}{\81\147} % tslash
+\DeclareTextCompositeCommand{\~}{PU}{U}{\81\150} % Utilde
+\DeclareTextCompositeCommand{\~}{PU}{u}{\81\151} % utilde
+\DeclareTextCompositeCommand{\=}{PU}{U}{\81\152} % Umacron
+\DeclareTextCompositeCommand{\=}{PU}{u}{\81\153} % umacron
+\DeclareTextCompositeCommand{\u}{PU}{U}{\81\154} % Ubreve
+\DeclareTextCompositeCommand{\u}{PU}{u}{\81\155} % ubreve
+\DeclareTextCompositeCommand{\r}{PU}{U}{\81\156} % Uring
+\DeclareTextCompositeCommand{\r}{PU}{u}{\81\157} % uring
+\DeclareTextCompositeCommand{\H}{PU}{U}{\81\160} % Udoubleacute
+\DeclareTextCompositeCommand{\H}{PU}{u}{\81\161} % udoubleacute
+\DeclareTextCompositeCommand{\k}{PU}{U}{\81\162} % Uogonek
+\DeclareTextCompositeCommand{\k}{PU}{u}{\81\163} % uogonek
+\DeclareTextCompositeCommand{\^}{PU}{W}{\81\164} % Wcircumflex
+\DeclareTextCompositeCommand{\^}{PU}{w}{\81\165} % wcircumflex
+\DeclareTextCompositeCommand{\^}{PU}{Y}{\81\166} % Ycircumflex
+\DeclareTextCompositeCommand{\^}{PU}{y}{\81\167} % ycircumflex
+\DeclareTextCompositeCommand{\"}{PU}{Y}{\81\170} % Ydieresis
+\DeclareTextCommand{\IJ}{PU}{\81\170}
+\DeclareTextCompositeCommand{\'}{PU}{Z}{\81\171} % Zacute
+\DeclareTextCompositeCommand{\'}{PU}{z}{\81\172} % zacute
+\DeclareTextCompositeCommand{\.}{PU}{Z}{\81\173} % Zdot
+\DeclareTextCompositeCommand{\.}{PU}{z}{\81\174} % zdot
+\DeclareTextCompositeCommand{\v}{PU}{Z}{\81\175} % Zcaron
+\DeclareTextCompositeCommand{\v}{PU}{z}{\81\176} % zcaron
+\DeclareTextCompositeCommand{\v}{PU}{A}{\81\315} % Acaron
+\DeclareTextCompositeCommand{\v}{PU}{a}{\81\316} % acaron
+\DeclareTextCompositeCommand{\v}{PU}{I}{\81\317} % Icaron
+\DeclareTextCompositeCommand{\v}{PU}{i}{\81\320} % icaron
+\DeclareTextCompositeCommand{\v}{PU}{\i}{\81\320} % icaron
+\DeclareTextCompositeCommand{\v}{PU}{O}{\81\321} % Ocaron
+\DeclareTextCompositeCommand{\v}{PU}{o}{\81\322} % ocaron
+\DeclareTextCompositeCommand{\v}{PU}{U}{\81\323} % Ucaron
+\DeclareTextCompositeCommand{\v}{PU}{u}{\81\324} % ucaron
+\DeclareTextCommand{\textGslash}{PU}{\81\344} % Gslash
+\DeclareTextCommand{\textgslash}{PU}{\81\345} % gslash
+\DeclareTextCompositeCommand{\v}{PU}{G}{\81\346} % Gcaron
+\DeclareTextCompositeCommand{\v}{PU}{g}{\81\347} % gcaron
+\DeclareTextCompositeCommand{\v}{PU}{K}{\81\350} % Kcaron
+\DeclareTextCompositeCommand{\v}{PU}{k}{\81\351} % kcaron
+\DeclareTextCompositeCommand{\k}{PU}{O}{\81\352} % Oogonek
+\DeclareTextCompositeCommand{\k}{PU}{o}{\81\353} % oogonek
+\DeclareTextCompositeCommand{\'}{PU}{\textAlpha}{\83\206}
+\DeclareTextCompositeCommand{\'}{PU}{\textEpsilon}{\83\210}
+\DeclareTextCompositeCommand{\'}{PU}{\textEta}{\83\211}
+\DeclareTextCompositeCommand{\'}{PU}{\textIota}{\83\212}
+\DeclareTextCompositeCommand{\'}{PU}{\textOmicron}{\83\214}
+\DeclareTextCompositeCommand{\'}{PU}{\textUpsilon}{\83\216}
+\DeclareTextCompositeCommand{\'}{PU}{\textOmega}{\83\217}
+\DeclareTextCommand{\textIotadieresis}{PU}{\83\252}
+\DeclareTextCompositeCommand{\'}{PU}{\textIotadieresis}{\83\220}
+\DeclareTextCommand{\textAlpha}{PU}{\83\221}
+\DeclareTextCommand{\textBeta}{PU}{\83\222}
+\DeclareTextCommand{\textGamma}{PU}{\83\223}
+\DeclareTextCommand{\textDelta}{PU}{\83\224}
+\DeclareTextCommand{\textEpsilon}{PU}{\83\225}
+\DeclareTextCommand{\textZeta}{PU}{\83\226}
+\DeclareTextCommand{\textEta}{PU}{\83\227}
+\DeclareTextCommand{\textTheta}{PU}{\83\230}
+\DeclareTextCommand{\textIota}{PU}{\83\231}
+\DeclareTextCommand{\textKappa}{PU}{\83\232}
+\DeclareTextCommand{\textLambda}{PU}{\83\233}
+\DeclareTextCommand{\textMu}{PU}{\83\234}
+\DeclareTextCommand{\textNu}{PU}{\83\235}
+\DeclareTextCommand{\textXi}{PU}{\83\236}
+\DeclareTextCommand{\textOmicron}{PU}{\83\237}
+\DeclareTextCommand{\textPi}{PU}{\83\240}
+\DeclareTextCommand{\textRho}{PU}{\83\241}
+\DeclareTextCommand{\textSigma}{PU}{\83\243}
+\DeclareTextCommand{\textTau}{PU}{\83\244}
+\DeclareTextCommand{\textUpsilon}{PU}{\83\245}
+\DeclareTextCommand{\textPhi}{PU}{\83\246}
+\DeclareTextCommand{\textChi}{PU}{\83\247}
+\DeclareTextCommand{\textPsi}{PU}{\83\250}
+\DeclareTextCommand{\textOmega}{PU}{\83\251}
+\DeclareTextCompositeCommand{\"}{PU}{\textIota}{\83\252}
+\DeclareTextCompositeCommand{\"}{PU}{\textUpsilon}{\83\253}
+\DeclareTextCompositeCommand{\'}{PU}{\textalpha}{\83\254}
+\DeclareTextCompositeCommand{\'}{PU}{\textepsilon}{\83\255}
+\DeclareTextCompositeCommand{\'}{PU}{\texteta}{\83\256}
+\DeclareTextCompositeCommand{\'}{PU}{\textiota}{\83\257}
+\DeclareTextCommand{\textupsilonacute}{PU}{\83\315}
+\DeclareTextCompositeCommand{\"}{PU}{\textupsilonacute}{\83\260}
+\DeclareTextCommand{\textalpha}{PU}{\83\261}
+\DeclareTextCommand{\textbeta}{PU}{\83\262}
+\DeclareTextCommand{\textgamma}{PU}{\83\263}
+\DeclareTextCommand{\textdelta}{PU}{\83\264}
+\DeclareTextCommand{\textepsilon}{PU}{\83\265}
+\DeclareTextCommand{\textzeta}{PU}{\83\266}
+\DeclareTextCommand{\texteta}{PU}{\83\267}
+\DeclareTextCommand{\texttheta}{PU}{\83\270}
+\DeclareTextCommand{\textiota}{PU}{\83\271}
+\DeclareTextCommand{\textkappa}{PU}{\83\272}
+\DeclareTextCommand{\textlambda}{PU}{\83\273}
+\DeclareTextCommand{\textmu}{PU}{\83\274}
+\DeclareTextCommand{\textnu}{PU}{\83\275}
+\DeclareTextCommand{\textxi}{PU}{\83\276}
+\DeclareTextCommand{\textomicron}{PU}{\83\277}
+\DeclareTextCommand{\textpi}{PU}{\83\300}
+\DeclareTextCommand{\textrho}{PU}{\83\301}
+\DeclareTextCommand{\textvarsigma}{PU}{\83\302}
+\DeclareTextCommand{\textsigma}{PU}{\83\303}
+\DeclareTextCommand{\texttau}{PU}{\83\304}
+\DeclareTextCommand{\textupsilon}{PU}{\83\305}
+\DeclareTextCommand{\textphi}{PU}{\83\306}
+\DeclareTextCommand{\textchi}{PU}{\83\307}
+\DeclareTextCommand{\textpsi}{PU}{\83\310}
+\DeclareTextCommand{\textomega}{PU}{\83\311}
+\DeclareTextCompositeCommand{\"}{PU}{\textiota}{\83\312}
+\DeclareTextCompositeCommand{\"}{PU}{\textupsilon}{\83\313}
+\DeclareTextCompositeCommand{\'}{PU}{\textomicron}{\83\314}
+\DeclareTextCompositeCommand{\'}{PU}{\textupsilon}{\83\315}
+\DeclareTextCompositeCommand{\'}{PU}{\textomega}{\83\316}
+\DeclareTextCommand{\CYRYO}{PU}{\84\001}% IO
+\DeclareTextCompositeCommand{\"}{PU}{\CYRE}{\84\001}%
+\DeclareTextCommand{\CYRDJE}{PU}{\84\002}% DJE
+\DeclareTextCompositeCommand{\'}{PU}{\CYRG}{\84\003}% GJE
+\DeclareTextCommand{\CYRIE}{PU}{\84\004}% ukrainian IE
+\DeclareTextCommand{\CYRDZE}{PU}{\84\005}% DZE
+\DeclareTextCommand{\CYRII}{PU}{\84\006}% byelorussian-ukrainian I
+\DeclareTextCommand{\CYRYI}{PU}{\84\007}% YI
+\DeclareTextCommand{\CYRJE}{PU}{\84\010}% JE
+\DeclareTextCommand{\CYRLJE}{PU}{\84\011}% LJE
+\DeclareTextCommand{\CYRNJE}{PU}{\84\012}% NJE
+\DeclareTextCommand{\CYRTSHE}{PU}{\84\013}% TSHE
+\DeclareTextCompositeCommand{\'}{PU}{\CYRK}{\84\014}% KJE
+\DeclareTextCommand{\CYRUSHRT}{PU}{\84\016}% short U
+\DeclareTextCommand{\CYRDZHE}{PU}{\84\017}% DZHE
+\DeclareTextCommand{\CYRA}{PU}{\84\020}% A
+\DeclareTextCommand{\CYRB}{PU}{\84\021}% BE
+\DeclareTextCommand{\CYRV}{PU}{\84\022}% VE
+\DeclareTextCommand{\CYRG}{PU}{\84\023}% GHE
+\DeclareTextCommand{\CYRD}{PU}{\84\024}% DE
+\DeclareTextCommand{\CYRE}{PU}{\84\025}% IE
+\DeclareTextCommand{\CYRZH}{PU}{\84\026}% ZHE
+\DeclareTextCommand{\CYRZ}{PU}{\84\027}% ZE
+\DeclareTextCommand{\CYRI}{PU}{\84\030}% I
+\DeclareTextCommand{\CYRISHRT}{PU}{\84\031}% short I
+\DeclareTextCompositeCommand{\U}{PU}{\CYRI}{\84\031}%
+\DeclareTextCommand{\CYRK}{PU}{\84\032}% KA
+\DeclareTextCommand{\CYRL}{PU}{\84\033}% EL
+\DeclareTextCommand{\CYRM}{PU}{\84\034}% EM
+\DeclareTextCommand{\CYRN}{PU}{\84\035}% EN
+\DeclareTextCommand{\CYRO}{PU}{\84\036}% O
+\DeclareTextCommand{\CYRP}{PU}{\84\037}% PE
+\DeclareTextCommand{\CYRR}{PU}{\84\040}% ER
+\DeclareTextCommand{\CYRS}{PU}{\84\041}% ES
+\DeclareTextCommand{\CYRT}{PU}{\84\042}% TE
+\DeclareTextCommand{\CYRU}{PU}{\84\043}% U
+\DeclareTextCommand{\CYRF}{PU}{\84\044}% EF
+\DeclareTextCommand{\CYRH}{PU}{\84\045}% HA
+\DeclareTextCommand{\CYRC}{PU}{\84\046}% TSE
+\DeclareTextCommand{\CYRCH}{PU}{\84\047}% CHE
+\DeclareTextCommand{\CYRSH}{PU}{\84\050}% SHA
+\DeclareTextCommand{\CYRSHCH}{PU}{\84\051}% SHCHA
+\DeclareTextCommand{\CYRHRDSN}{PU}{\84\052}% HARD SIGN
+\DeclareTextCommand{\CYRERY}{PU}{\84\053}% YERU
+\DeclareTextCommand{\CYRSFTSN}{PU}{\84\054}% SOFT SIGN
+\DeclareTextCommand{\CYREREV}{PU}{\84\055}% E
+\DeclareTextCommand{\CYRYU}{PU}{\84\056}% YU
+\DeclareTextCommand{\CYRYA}{PU}{\84\057}% YA
+\DeclareTextCommand{\cyra}{PU}{\84\060}% a
+\DeclareTextCommand{\cyrb}{PU}{\84\061}% be
+\DeclareTextCommand{\cyrv}{PU}{\84\062}% ve
+\DeclareTextCommand{\cyrg}{PU}{\84\063}% ghe
+\DeclareTextCommand{\cyrd}{PU}{\84\064}% de
+\DeclareTextCommand{\cyre}{PU}{\84\065}% ie
+\DeclareTextCommand{\cyrzh}{PU}{\84\066}% zhe
+\DeclareTextCommand{\cyrz}{PU}{\84\067}% ze
+\DeclareTextCommand{\cyri}{PU}{\84\070}% i
+\DeclareTextCommand{\cyrishrt}{PU}{\84\071}% short i
+\DeclareTextCompositeCommand{\U}{PU}{\cyri}{\84\071}%
+\DeclareTextCommand{\cyrk}{PU}{\84\072}% ka
+\DeclareTextCommand{\cyrl}{PU}{\84\073}% el
+\DeclareTextCommand{\cyrm}{PU}{\84\074}% em
+\DeclareTextCommand{\cyrn}{PU}{\84\075}% en
+\DeclareTextCommand{\cyro}{PU}{\84\076}% o
+\DeclareTextCommand{\cyrp}{PU}{\84\077}% pe
+\DeclareTextCommand{\cyrr}{PU}{\84\100}% er
+\DeclareTextCommand{\cyrs}{PU}{\84\101}% es
+\DeclareTextCommand{\cyrt}{PU}{\84\102}% te
+\DeclareTextCommand{\cyru}{PU}{\84\103}% u
+\DeclareTextCommand{\cyrf}{PU}{\84\104}% ef
+\DeclareTextCommand{\cyrh}{PU}{\84\105}% ha
+\DeclareTextCommand{\cyrc}{PU}{\84\106}% tse
+\DeclareTextCommand{\cyrch}{PU}{\84\107}% che
+\DeclareTextCommand{\cyrsh}{PU}{\84\110}% sha
+\DeclareTextCommand{\cyrshch}{PU}{\84\111}% shcha
+\DeclareTextCommand{\cyrhrdsn}{PU}{\84\112}% hard sign
+\DeclareTextCommand{\cyrery}{PU}{\84\113}% yeru
+\DeclareTextCommand{\cyrsftsn}{PU}{\84\114}% soft sign
+\DeclareTextCommand{\cyrerev}{PU}{\84\115}% e
+\DeclareTextCommand{\cyryu}{PU}{\84\116}% yu
+\DeclareTextCommand{\cyrya}{PU}{\84\117}% ya
+\DeclareTextCommand{\cyryo}{PU}{\84\121}% io
+\DeclareTextCompositeCommand{\"}{PU}{\cyre}{\84\121}%
+\DeclareTextCommand{\cyrdje}{PU}{\84\122}% dje
+\DeclareTextCompositeCommand{\'}{PU}{\cyrg}{\84\123}% gje
+\DeclareTextCommand{\cyrie}{PU}{\84\124}% ukrainian ie
+\DeclareTextCommand{\cyrdze}{PU}{\84\125}% dze
+\DeclareTextCommand{\cyrii}{PU}{\84\126}% byelorussian-ukrainian i
+\DeclareTextCommand{\cyryi}{PU}{\84\127}% yi
+\DeclareTextCommand{\cyrje}{PU}{\84\130}% je
+\DeclareTextCommand{\cyrlje}{PU}{\84\131}% lje
+\DeclareTextCommand{\cyrnje}{PU}{\84\132}% nje
+\DeclareTextCommand{\cyrtshe}{PU}{\84\133}% tshe
+\DeclareTextCompositeCommand{\'}{PU}{\cyrk}{\84\134}% kje
+\DeclareTextCommand{\cyrushrt}{PU}{\84\136}% short u
+\DeclareTextCommand{\cyrdzhe}{PU}{\84\137}% dzhe
+\DeclareTextCommand{\CYROMEGA}{PU}{\84\140}% OMEGA
+\DeclareTextCommand{\cyromega}{PU}{\84\141}% omega
+\DeclareTextCommand{\CYRYAT}{PU}{\84\142}% YAT
+\DeclareTextCommand{\cyryat}{PU}{\84\143}% yat
+\DeclareTextCommand{\CYRIOTE}{PU}{\84\144}% iotified E
+\DeclareTextCommand{\cyriote}{PU}{\84\145}% iotified e
+\DeclareTextCommand{\CYRLYUS}{PU}{\84\146}% little YUS
+\DeclareTextCommand{\cyrlyus}{PU}{\84\147}% little yus
+\DeclareTextCommand{\CYRIOTLYUS}{PU}{\84\150}% iotified little YUS
+\DeclareTextCommand{\cyriotlyus}{PU}{\84\151}% iotified little yus
+\DeclareTextCommand{\CYRBYUS}{PU}{\84\152}% big YUS
+\DeclareTextCommand{\cyrbyus}{PU}{\84\153}% big yus
+\DeclareTextCommand{\CYRIOTBYUS}{PU}{\84\154}% iotified big YUS
+\DeclareTextCommand{\cyriotbyus}{PU}{\84\155}% iotified big yus
+\DeclareTextCommand{\CYRKSI}{PU}{\84\156}% KSI
+\DeclareTextCommand{\cyrksi}{PU}{\84\157}% ksi
+\DeclareTextCommand{\CYRPSI}{PU}{\84\160}% PSI
+\DeclareTextCommand{\cyrpsi}{PU}{\84\161}% psi
+\DeclareTextCommand{\CYRFITA}{PU}{\84\162}% FITA
+\DeclareTextCommand{\cyrfita}{PU}{\84\163}% fita
+\DeclareTextCommand{\CYRIZH}{PU}{\84\164}% IZHITSA
+\DeclareTextCommand{\cyrizh}{PU}{\84\165}% izhitsa
+\DeclareTextCompositeCommand{\C}{PU}{\CYRIZH}{\84\166}% IZHITSA double grave
+\DeclareTextCompositeCommand{\C}{PU}{\cyrizh}{\84\167}% izhitsa double grave
+\DeclareTextCommand{\CYRUK}{PU}{\84\170}% UK
+\DeclareTextCommand{\cyruk}{PU}{\84\171}% uk
+\DeclareTextCommand{\CYROMEGARND}{PU}{\84\172}% round OMEGA
+\DeclareTextCommand{\cyromegarnd}{PU}{\84\173}% round omega
+\DeclareTextCommand{\CYROMEGATITLO}{PU}{\84\174}% OMEGA titlo
+\DeclareTextCommand{\cyromegatitlo}{PU}{\84\175}% omega titlo
+\DeclareTextCommand{\CYROT}{PU}{\84\176}% OT
+\DeclareTextCommand{\cyrot}{PU}{\84\177}% ot
+\DeclareTextCommand{\CYRKOPPA}{PU}{\84\200}% KOPPA
+\DeclareTextCommand{\cyrkoppa}{PU}{\84\201}% koppa
+\DeclareTextCommand{\cyrthousands}{PU}{\84\202}% thousands sign
+\DeclareTextCommand{\CYRGUP}{PU}{\84\220}% GHE upturn
+\DeclareTextCommand{\cyrgup}{PU}{\84\221}% ghe upturn
+\DeclareTextCommand{\CYRGHCRS}{PU}{\84\222}% GHE stroke
+\DeclareTextCommand{\cyrghcrs}{PU}{\84\223}% ghe stroke
+\DeclareTextCommand{\CYRGHK}{PU}{\84\224}% GHE middle hook
+\DeclareTextCommand{\cyrghk}{PU}{\84\225}% ghe middle hook
+\DeclareTextCommand{\CYRZHDSC}{PU}{\84\226}% ZHE descender
+\DeclareTextCommand{\cyrzhdsc}{PU}{\84\227}% zhe descender
+\DeclareTextCommand{\CYRZDSC}{PU}{\84\230}% ZE descender
+\DeclareTextCommand{\cyrzdsc}{PU}{\84\231}% ze descender
+\DeclareTextCommand{\CYRKDSC}{PU}{\84\232}% KA descender
+\DeclareTextCommand{\cyrkdsc}{PU}{\84\233}% ka descender
+\DeclareTextCommand{\CYRKVCRS}{PU}{\84\234}% KA vertical stroke
+\DeclareTextCommand{\cyrkvcrs}{PU}{\84\235}% ka vertical stroke
+\DeclareTextCommand{\CYRKHCRS}{PU}{\84\236}% KA stroke
+\DeclareTextCommand{\cyrkhcrs}{PU}{\84\237}% ka stroke
+\DeclareTextCommand{\CYRKBEAK}{PU}{\84\240}% bashkir KA
+\DeclareTextCommand{\cyrkbeak}{PU}{\84\241}% bashkir ka
+\DeclareTextCommand{\CYRNDSC}{PU}{\84\242}% EN descender
+\DeclareTextCommand{\cyrndsc}{PU}{\84\243}% en descender
+\DeclareTextCommand{\CYRNG}{PU}{\84\244}% ligature EN GHE
+\DeclareTextCommand{\cyrng}{PU}{\84\245}% ligature en ghe
+\DeclareTextCommand{\CYRPHK}{PU}{\84\246}% PE middle hook
+\DeclareTextCommand{\cyrphk}{PU}{\84\247}% pe middle hook
+\DeclareTextCommand{\CYRABHHA}{PU}{\84\250}% abkhasian HA
+\DeclareTextCommand{\cyrabhha}{PU}{\84\251}% abkhasian ha
+\DeclareTextCommand{\CYRSDSC}{PU}{\84\252}% ES descender
+\DeclareTextCommand{\cyrsdsc}{PU}{\84\253}% es descender
+\DeclareTextCommand{\CYRTDSC}{PU}{\84\254}% TE descender
+\DeclareTextCommand{\cyrtdsc}{PU}{\84\255}% te descender
+\DeclareTextCommand{\CYRY}{PU}{\84\256}% straight U
+\DeclareTextCommand{\cyry}{PU}{\84\257}% straight u
+\DeclareTextCommand{\CYRYHCRS}{PU}{\84\260}% straight U stroke
+\DeclareTextCommand{\cyryhcrs}{PU}{\84\261}% straight u stroke
+\DeclareTextCommand{\CYRHDSC}{PU}{\84\262}% HA descender
+\DeclareTextCommand{\cyrhdsc}{PU}{\84\263}% ha descender
+\DeclareTextCommand{\CYRTETSE}{PU}{\84\264}% ligature TE TSE
+\DeclareTextCommand{\cyrtetse}{PU}{\84\265}% ligature te tse
+\DeclareTextCommand{\CYRCHRDSC}{PU}{\84\266}% CHE descender
+\DeclareTextCommand{\cyrchrdsc}{PU}{\84\267}% che descender
+\DeclareTextCommand{\CYRCHVCRS}{PU}{\84\270}% CHE vertical stroke
+\DeclareTextCommand{\cyrchvcrs}{PU}{\84\271}% che vertical stroke
+\DeclareTextCommand{\CYRSHHA}{PU}{\84\272}% SHHA
+\DeclareTextCommand{\cyrshha}{PU}{\84\273}% shha
+\DeclareTextCommand{\CYRABHCH}{PU}{\84\274}% abkhasian CHE
+\DeclareTextCommand{\cyrabhch}{PU}{\84\275}% abkhasian che
+\DeclareTextCommand{\CYRABHCHDSC}{PU}{\84\276}% abkhasian CHE descender
+\DeclareTextCommand{\cyrabhchdsc}{PU}{\84\277}% abkhasian che descender
+\DeclareTextCommand{\CYRpalochka}{PU}{\84\300}% palochka
+\DeclareTextCompositeCommand{\U}{PU}{\CYRZH}{\84\301}% ZHE breve
+\DeclareTextCompositeCommand{\U}{PU}{\cyrzh}{\84\302}% zhe breve
+\DeclareTextCommand{\CYRKHK}{PU}{\84\303}% KA hook
+\DeclareTextCommand{\cyrkhk}{PU}{\84\304}% ka hook
+\DeclareTextCommand{\CYRNHK}{PU}{\84\307}% EN hook
+\DeclareTextCommand{\cyrnhk}{PU}{\84\310}% en hook
+\DeclareTextCommand{\CYRCHLDSC}{PU}{\84\313}% khakassian CHE
+\DeclareTextCommand{\cyrchldsc}{PU}{\84\314}% khakassian che
+\DeclareTextCompositeCommand{\U}{PU}{\CYRA}{\84\320}% A breve
+\DeclareTextCompositeCommand{\U}{PU}{\cyra}{\84\321}% a breve
+\DeclareTextCompositeCommand{\"}{PU}{\CYRA}{\84\322}% A diaeresis
+\DeclareTextCompositeCommand{\"}{PU}{\cyra}{\84\323}% a diaeresis
+\DeclareTextCommand{\CYRAE}{PU}{\84\324}% ligature A IE
+\DeclareTextCommand{\cyrae}{PU}{\84\325}% ligature a ie
+\DeclareTextCompositeCommand{\U}{PU}{\CYRE}{\84\326}% IE breve
+\DeclareTextCompositeCommand{\U}{PU}{\cyre}{\84\327}% ie breve
+\DeclareTextCommand{\CYRSCHWA}{PU}{\84\330}% SCHWA
+\DeclareTextCommand{\cyrschwa}{PU}{\84\331}% schwa
+\DeclareTextCompositeCommand{\"}{PU}{\CYRSCHWA}{\84\332}% SCHWA diaeresis
+\DeclareTextCompositeCommand{\"}{PU}{\cyrschwa}{\84\333}% schwa diaeresis
+\DeclareTextCompositeCommand{\"}{PU}{\CYRZH}{\84\334}% ZHE diaeresis
+\DeclareTextCompositeCommand{\"}{PU}{\cyrzh}{\84\335}% zhe diaeresis
+\DeclareTextCompositeCommand{\"}{PU}{\CYRZ}{\84\336}% ZE diaeresis
+\DeclareTextCompositeCommand{\"}{PU}{\cyrz}{\84\337}% ze diaeresis
+\DeclareTextCommand{\CYRABHDZE}{PU}{\84\340}% abkhasian DZE
+\DeclareTextCommand{\cyrabhdze}{PU}{\84\341}% abkhasian dze
+\DeclareTextCompositeCommand{\=}{PU}{\CYRI}{\84\342}% I macron
+\DeclareTextCompositeCommand{\=}{PU}{\cyri}{\84\343}% i macron
+\DeclareTextCompositeCommand{\"}{PU}{\CYRI}{\84\344}% I diaeresis
+\DeclareTextCompositeCommand{\"}{PU}{\cyri}{\84\345}% i diaeresis
+\DeclareTextCompositeCommand{\"}{PU}{\CYRO}{\84\346}% O diaeresis
+\DeclareTextCompositeCommand{\"}{PU}{\cyro}{\84\347}% o diaeresis
+\DeclareTextCommand{\CYROTLD}{PU}{\84\350}% barred O
+\DeclareTextCommand{\cyrotld}{PU}{\84\351}% barred o
+\DeclareTextCompositeCommand{\"}{PU}{\CYROTLD}{\84\352}% barred O diaeresis
+\DeclareTextCompositeCommand{\"}{PU}{\cyrotld}{\84\353}% barred o diaeresis
+\DeclareTextCompositeCommand{\=}{PU}{\CYRU}{\84\356}% U macron
+\DeclareTextCompositeCommand{\=}{PU}{\cyru}{\84\357}% u macron
+\DeclareTextCompositeCommand{\"}{PU}{\CYRU}{\84\360}% U diaeresis
+\DeclareTextCompositeCommand{\"}{PU}{\cyru}{\84\361}% u diaeresis
+\DeclareTextCompositeCommand{\H}{PU}{\CYRU}{\84\362}% U double acute
+\DeclareTextCompositeCommand{\H}{PU}{\cyru}{\84\363}% u double acute
+\DeclareTextCompositeCommand{\"}{PU}{\CYRCH}{\84\364}% CHE diaeresis
+\DeclareTextCompositeCommand{\"}{PU}{\cyrch}{\84\365}% che diaeresis
+\DeclareTextCompositeCommand{\"}{PU}{\CYRERY}{\84\370}% YERU diaeresis
+\DeclareTextCompositeCommand{\"}{PU}{\cyrery}{\84\371}% yeru diaeresis
+\DeclareTextCommand{\textnumero}{PU}{\9041\026}
+\endinput
+%%
+%% End of file `puenc.def'.
diff --git a/styles/url.sty b/styles/url.sty
new file mode 100644 (file)
index 0000000..6ebc514
--- /dev/null
@@ -0,0 +1,338 @@
+% url.sty  ver 1.5    28-Mar-1999   Donald Arseneau   asnd@triumf.ca
+% Copyright 1996-1999 Donald Arseneau,  Vancouver, Canada.
+% This program can be used, distributed, and modified under the terms
+% of the LaTeX Project Public License.
+%
+% A form of \verb that allows linebreaks at certain characters or
+% combinations of characters, accepts reconfiguration, and can usually
+% be used in the argument to another command.  It is intended for email
+% addresses, hypertext links, directories/paths, etc., which normally
+% have no spaces.  The font may be selected using the \urlstyle command,
+% and new url-like commands can be defined using \urldef.
+%
+% Usage:    Conditions:
+% \url{ }   If the argument contains any "%", "#", or "^^", or ends with
+%           "\", it can't be used in the argument to another command.
+%           The argument must not contain unbalanced braces.
+% \url|  |  ...where "|" is any character not used in the argument and not
+%           "{" or a space.  The same restrictions as above except that the
+%           argument may contain unbalanced braces.
+% \xyz      for "\xyz" a defined-url;  this can be used anywhere, no matter
+%           what characters it contains.
+%
+% See further instructions after "\endinput"
+%
+\def\Url@ttdo{% style assignments for tt fonts or T1 encoding
+\def\UrlBreaks{\do\.\do\@\do\\\do\/\do\!\do\_\do\|\do\%\do\;\do\>\do\]%
+ \do\)\do\,\do\?\do\'\do\+\do\=\do\#}%
+\def\UrlBigBreaks{\do\:\do@url@hyp}%
+\def\UrlNoBreaks{\do\(\do\[\do\{\do\<}% (unnecessary)
+\def\UrlSpecials{\do\ {\ }}%
+\def\UrlOrds{\do\*\do\-\do\~}% any ordinary characters that aren't usually
+}
+\def\Url@do{% style assignments for OT1 fonts except tt
+\def\UrlBreaks{\do\.\do\@\do\/\do\!\do\%\do\;\do\]\do\)\do\,\do\?\do\+%
+\do\=\do\#}\def\UrlBigBreaks{\do\:\do@url@hyp}%
+\def\UrlNoBreaks{\do\(\do\[\do\{}% prevents breaks after *next* character
+\def\UrlSpecials{\do\<{\langle}\do\>{\mathbin{\rangle}}\do\_{\_%
+ \penalty\@m}\do\|{\mid}\do\{{\lbrace}\do\}{\mathbin{\rbrace}}\do
+ \\{\mathbin{\backslash}}\do\~{\raise.6ex\hbox{\m@th$\scriptstyle\sim$}}\do
+ \ {\ }}%
+\def\UrlOrds{\do\'\do\"\do\-}%
+}
+\def\url@ttstyle{%
+\@ifundefined{selectfont}{\def\UrlFont{\tt}}{\def\UrlFont{\ttfamily}}\Url@ttdo
+}
+\def\url@rmstyle{%
+\@ifundefined{selectfont}{\def\UrlFont{\rm}}{\def\UrlFont{\rmfamily}}\Url@do
+}
+\def\url@sfstyle{%
+\@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\sffamily}}\Url@do
+}
+\def\url@samestyle{\ifdim\fontdimen\thr@@\font=\z@ \url@ttstyle \else
+  \url@rmstyle \fi \def\UrlFont{}}
+
+\@ifundefined{strip@prefix}{\def\strip@prefix#1>{}}{}
+\@ifundefined{verbatim@nolig@list}{\def\verbatim@nolig@list{\do\`}}{}
+
+\def\Url{%
+ \begingroup \let\url@moving\relax\relax \endgroup
+ \ifmmode\@nomatherr$\fi
+ \UrlFont $\fam\z@ \textfont\z@\font
+ \let\do\@makeother \dospecials % verbatim catcodes
+ \catcode`{\@ne \catcode`}\tw@ \catcode`\ 10 % except braces and spaces
+ \medmuskip\Urlmuskip \thickmuskip\medmuskip \thinmuskip0mu%
+ \relpenalty\UrlBreakPenalty \binoppenalty\UrlBigBreakPenalty
+ \@tempcnta\fam\multiply\@tempcnta\@cclvi
+ \let\do\set@mathcode \UrlOrds % ordinary characters that were special
+ \advance\@tempcnta 8192 \UrlBreaks % bin
+ \advance\@tempcnta 4096 \UrlBigBreaks % rel
+ \advance\@tempcnta 4096 \UrlNoBreaks % open
+ \let\do\set@mathact \UrlSpecials % active
+ \let\do\set@mathnolig \verbatim@nolig@list % prevent ligatures
+ \@ifnextchar\bgroup\Url@z\Url@y}
+
+\def\Url@y#1{\catcode`{11 \catcode`}11
+  \def\@tempa##1#1{\Url@z{##1}}\@tempa}
+\def\Url@z#1{\def\@tempa{#1}\expandafter\expandafter\expandafter\Url@Hook
+  \expandafter\strip@prefix\meaning\@tempa\UrlRight\m@th$\endgroup}
+\def\Url@Hook{\UrlLeft}
+\let\UrlRight\@empty
+\let\UrlLeft\@empty
+
+\def\set@mathcode#1{\count@`#1\advance\count@\@tempcnta\mathcode`#1\count@}
+\def\set@mathact#1#2{\mathcode`#132768 \lccode`\~`#1\lowercase{\def~{#2}}}
+\def\set@mathnolig#1{\ifnum\mathcode`#1<32768
+   \lccode`\~`#1\lowercase{\edef~{\mathchar\number\mathcode`#1_{\/}}}%
+   \mathcode`#132768 \fi}
+
+\def\urldef#1#2{\begingroup \setbox\z@\hbox\bgroup
+  \def\Url@z{\Url@def{#1}{#2}}#2}
+\expandafter\ifx\csname DeclareRobustCommand\endcsname\relax
+  \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup
+    \def#1{#2{#3}}}
+\else
+  \def\Url@def#1#2#3{\m@th$\endgroup\egroup\endgroup
+    \DeclareRobustCommand{#1}{#2{#3}}}
+\fi
+
+\def\urlstyle#1{\csname url@#1style\endcsname}
+
+% Sample (and default) configuration:
+%
+\newcommand\url{\begingroup \Url}
+%
+\newmuskip\Urlmuskip \Urlmuskip=0mu
+\mathchardef\UrlBigBreakPenalty=\binoppenalty
+\mathchardef\UrlBreakPenalty=\relpenalty
+%
+% picTeX defines \path, so declare it optionally:
+\@ifundefined{path}{\newcommand\path{\begingroup \urlstyle{tt}\Url}}{}
+%
+% too many styles define \email like \address, so I will not define it.
+% \newcommand\email{\begingroup \urlstyle{rm}\Url}
+
+% Process LaTeX \package options
+%
+\urlstyle{tt}
+\let\Url@sppen\@M
+\def\do@url@hyp{}% by default, no breaks after hyphens
+
+\@ifundefined{ProvidesPackage}{}{\ProvidesPackage 
+ {url}[1999/03/28 \space ver 1.5x \space Verb mode for urls, etc.]
+\DeclareOption{hyphens}{\def\do@url@hyp{\do\-}}% allow breaks after hyphens
+\DeclareOption{obeyspaces}{\let\Url@Hook\relax}% a flag for later
+\DeclareOption{spaces}{\let\Url@sppen\relpenalty}
+\DeclareOption{T1}{\let\Url@do\Url@ttdo}
+\ProcessOptions\relax
+\ifx\Url@Hook\relax % [obeyspaces] was declared
+  \def\Url@Hook#1\UrlRight\m@th{\edef\@tempa{\noexpand\UrlLeft
+    \Url@retain#1\Url@nosp\, }\@tempa\UrlRight\m@th}
+  \def\Url@retain#1 {#1\penalty\Url@sppen\ \Url@retain}
+  \def\Url@nosp\,#1\Url@retain{}
+\fi
+}
+
+\edef\url@moving{\csname Url Error\endcsname}
+\expandafter\edef\url@moving
+ {\csname url used in a moving argument.\endcsname}
+\expandafter\expandafter\expandafter \let \url@moving\undefined 
+
+\endinput
+%
+% url.sty  ver 1.5x   28-Mar-1999   Donald Arseneau   asnd@reg.triumf.ca
+%
+% This package defines "\url", a form of "\verb" that allows linebreaks,
+% and can often be used in the argument to another command.  It can be
+% configured to print in different formats, and is particularly useful for
+% hypertext links, email addresses, directories/paths, etc.  The font may
+% be selected using the "\urlstyle" command and pre-defined text can be
+% stored with the "\urldef" command. New url-like commands can be defined,
+% and a "\path" command is provided this way.
+%
+% Usage:    Conditions:
+% \url{ }   If the argument contains any "%", "#", or "^^", or ends with
+%           "\", it can't be used in the argument to another command.
+%           The argument must not contain unbalanced braces.
+% \url|  |  ...where "|" is any character not used in the argument and not
+%           "{" or a space.  The same restrictions as above except that the
+%           argument may contain unbalanced braces.
+% \xyz      for "\xyz" a defined-url;  this can be used anywhere, no matter
+%           what characters it contains.
+%
+% The "\url" command is fragile, and its argument is likely to be very
+% fragile, but a defined-url is robust.
+%
+% Package Option:  obeyspaces
+% Ordinarily, all spaces are ignored in the url-text.  The "[obeyspaces]"
+% option allows spaces, but may introduce spurious spaces when a url
+% containing "\" characters is given in the argument to another command.
+% So if you need to obey spaces you can say "\usepackage[obeyspaces]{url}",
+% and if you need both spaces and backslashes, use a `defined-url' for
+% anything with "\".
+%
+% Package Option:  hyphens
+% Ordinarily, breaks are not allowed after "-" characters because this
+% leads to confusion. (Is the "-" part of the address or just a hyphen?)
+% The package option "[hyphens]" allows breaks after explicit hyphen
+% characters.  The "\url" command will *never ever* hyphenate words.
+%
+% Package Option:  spaces
+% Likewise, breaks are not usually allowed after spaces under the
+% "[obeyspaces]" option, but giving the options "[obeyspaces,spaces]"
+% will allow breaks at those spaces.
+%
+% Package Option:  T1
+% This signifies that you will be using T1-encoded fonts which contain
+% some characters missing from most older (OT1) encoded TeX fonts.  This
+% changes the default definition for "\urlstyle{rm}".
+%
+% Defining a defined-url:
+% Take for example the email address "myself%node@gateway.net" which could
+% not be given (using "\url" or "\verb") in a caption or parbox due to the
+% percent sign.  This address can be predefined with
+%    \urldef{\myself}\url{myself%node@gateway.net}   or
+%    \urldef{\myself}\url|myself%node@gateway.net|
+% and then you may use "\myself" instead of "\url{myself%node@gateway.net}"
+% in an argument, and even in a moving argument like a caption because a
+% defined-url is robust.
+%
+% Style:
+% You can switch the style of printing using "\urlstyle{tt}", where "tt"
+% can be any defined style.  The pre-defined styles are "tt", "rm", "sf",
+% and "same" which all allow the same linebreaks but different fonts --
+% the first three select a specific font and the "same" style uses the
+% current text font.  You can define your own styles with different fonts
+% and/or line-breaking by following the explanations below.  The "\url"
+% command follows whatever the currently-set style dictates.
+%
+% Alternate commands:
+% It may be desireable to have different things treated differently, each
+% in a predefined style; e.g., if you want directory paths to always be
+% in tt and email addresses to be rm, then you would define new url-like
+% commands as follows:
+%
+%    \newcommand\email{\begingroup \urlstyle{rm}\Url}
+%    \newcommand\directory{\begingroup \urlstyle{tt}\Url}
+%
+% You must follow this format closely, and NOTE that the final command is
+% "\Url", not "\url".  In fact, the "\directory" example is exactly the
+% "\path" definition which is pre-defined in the package.  If you look
+% above, you will see that "\url" is defined with
+%    \newcommand\url{\begingroup \Url}
+% I.e., using whatever url-style has been selected.
+%
+% You can make a defined-url for these other styles, using the usual
+% "\urldef" command as in this example:
+%
+%    \urldef{\myself}{\email}{myself%node.domain@gateway.net}
+%
+% which makes "\myself" act like "\email{myself%node.domain@gateway.net}",
+% if the "\email" command is defined as above.  The "\myself" command
+% would then be robust.
+%
+% Defining styles:
+% Before describing how to customize the printing style, it is best to
+% mention something about the unusual implementation of "\url".  Although
+% the material is textual in nature, and the font specification required
+% is a text-font command, the text is actually typeset in *math* mode.
+% This allows the context-sensitive linebreaking, but also accounts for
+% the default behavior of ignoring spaces.  Now on to defining styles.
+%
+% To change the font or the list of characters that allow linebreaks, you
+% could redefine the commands "\UrlFont", "\UrlBreaks", "\UrlSpecials" etc.
+% directly in the document, but it is better to define a new `url-style'
+% (following the example of "\url@ttstyle" and "\url@rmstyle") which defines
+% all of "\UrlBigbreaks", "\UrlNoBreaks", "\UrlBreaks", "\UrlSpecials", and
+% "\UrlFont".
+%
+% Changing font:
+% The "\UrlFont" command selects the font.  The definition of "\UrlFont"
+% done by the pre-defined styles varies to cope with a variety of LaTeX
+% font selection schemes, but it could be as simple as "\def\UrlFont{\tt}".
+% Depending on the font selected, some characters may need to be defined
+% in the "\UrlSpecials" list because many fonts don't contain all the
+% standard input characters.
+%
+% Changing linebreaks:
+% The list of characters that allow line-breaks is given by "\UrlBreaks"
+% and "\UrlBigBreaks", which have the format "\do\c" for character "c".
+% The differences are that `BigBreaks' have a lower penalty and have
+% different breakpoints when in sequence (as in "http://"): `BigBreaks'
+% are treated as mathrels while `Breaks' are mathbins (see The TeXbook,
+% p.170). In particular, a series of `BigBreak' characters will break at
+% the end and only at the end; a series of `Break' characters will break
+% after the first and after every following *pair*; there will be no
+% break after a `Break' character if a `BigBreak' follows.  In the case
+% of "http://" it doesn't matter whether ":" is a `Break' or `BigBreak' --
+% the breaks are the same in either case; but for DECnet nodes with "::"
+% it is important to prevent breaks *between* the colons, and that is why
+% colons are `BigBreaks'.  
+%
+% It is possible for characters to prevent breaks after the next following
+% character (I use this for parentheses).  Specify these in "\UrlNoBreaks".
+%
+% You can do arbitrarily complex things with characters by making them
+% active in math mode (mathcode hex-8000) and specifying the definition(s)
+% in "\UrlSpecials".  This is used in the rm and sf styles for OT1 font
+% encoding to handle several characters that are not present in those
+% computer-modern style fonts.  See the definition of "\Url@do", which
+% is used by both "\url@rmstyle" and "\url@sfstyle"; it handles missing
+% characters via "\UrlSpecials".  The nominal format for setting each
+% special character "c" is: "\do\c{<definition>}", but you can include
+% other definitions too.
+%
+% If all this sounds confusing ... well, it is!  But I hope you won't need
+% to redefine breakpoints -- the default assignments seem to work well for
+% a wide variety of applications.  If you do need to make changes, you can
+% test for breakpoints using regular math mode and the characters "+=(a".
+%
+% You can allow some spacing around the breakable characters by assigning
+%    \Urlmuskip = 0mu plus 1mu
+% You can change the penalties used for BigBreaks and Breaks by assigning
+%    \mathchardef\UrlBigBreakPenalty 100  \mathchardef\UrlBreakPenalty 150
+% The default penalties are "\binoppenalty" and "\relpenalty".  These have
+% such odd non-LaTeX syntax because I don't expect people to need to 
+% change them often.
+%
+% Yet more flexibility:
+% You can also customize the verbatim text by defining "\UrlRight" and/or
+% "\UrlLeft", e.g., for ISO formatting of urls surrounded by "<  >", define
+%
+%    \renewcommand\url{\begingroup \def\UrlLeft{<url: }\def\UrlRight{>}%
+%        \urlstyle{tt}\Url}
+%
+% The meanings of "\UrlLeft" and "\UrlRight" are *not* reproduced verbatim.
+% This lets you use formatting commands there, but you must be careful not
+% to use TeX's special characters ("\^_%~#$&{}" etc.) improperly.
+% You can also define "\UrlLeft" to reprocess the verbatim text, but the
+% format of the definition is special:
+%
+%    \def\UrlLeft#1\UrlRight{ ... do things with #1 ... }
+%
+% Yes, that is "#1" followed by "\UrlRight" then the definition.  For
+% example, to put a hyperTeX hypertext link in the DVI file:
+%
+%    \def\UrlLeft#1\UrlRight{\special{html:<a href="#1">}#1\special{html:</a>}}
+%
+% Using this technique, url.sty can provide a convenient interface for
+% performing various operations on verbatim text.  You don't even need
+% to print out the argument!  For greatest efficiency in such obscure
+% applications, you can define a null url-style where all the lists like
+% "\UrlBreaks" are empty.
+%
+% Revision History:
+% ver 1.1 6-Feb-1996: 
+% Fix hyphens that wouldn't break and ligatures that weren't suppressed.
+% ver 1.2 19-Oct-1996:
+% Package option for T1 encoding; Hooks: "\UrlLeft" and "\UrlRight".
+% ver 1.3 21-Jul-1997:
+% Prohibit spaces as delimiter characters; change ascii tilde in OT1.
+% ver 1.4 02-Mar-1999
+% LaTeX license; moving-argument-error
+% ver 1.5 28-Mar-1999
+% possibility of spacing around break characters; re-settable penalties
+% The End
+
+Test file integrity:  ASCII 32-57, 58-126:  !"#$%&'()*+,-./0123456789
+:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
diff --git a/styles/xr-hyper.sty b/styles/xr-hyper.sty
new file mode 100644 (file)
index 0000000..0f36f39
--- /dev/null
@@ -0,0 +1,120 @@
+%% xr package (beta release)
+
+%% Copyright (C) 1993-1997 David Carlisle
+
+%% This is a modified version of the xr package from the Standard LaTeX
+%% tools distribution. It has some internal changes to cooperate with
+%% the hyperref package, and one new user level argument, also mainly of
+%% use for hyperref.
+%% If no problems are reported the version in the tools distribution
+%% will be updated to match this at the next LaTeX release.
+
+%% \externaldocument[prefix]{document}[URL]
+
+%% The `document' referred to by the main argument is the file
+%% document.aux
+%% which must be somewhere on TeX's input path.
+%% Some packages (eg hyperref) really need to know the location of the
+%% final document rather than the aux file. By default this is assumed
+%% to be `document.dvi'. A package may redefine the command \XR@ext to
+%% change this default extension (eg some of the hyperref backends
+%% define this to be `document.pdf'). However sometimes the final
+%% document may be in a position unrelated to the aux file, or the
+%% browser may not be able to find files at an arbitrary point in
+%% TeX's input path, so the new final optional argument allows a full
+%% URL to the final document to be specified.
+%%
+%% \externaldocument{file}[http://here.xxx.edu/this/path/to/file.dvi]
+%%
+%% Unless a package redefines \XR@addfile, the optional URL argument
+%% will be ignored.
+%%
+%% This version (beta2) also has another improvement unrelated
+%% to the hyperref support. Olivier Michel pointed out that
+%% if the aux file was not on texinputs you could not always go
+%% \externaldocument{/some/path/to/file}
+%% specifically that worked if file.aux was a `simple'  document with
+%% one aux file, but if \include had been used, the `sub' aux files
+%% would not be found by xr in the remote directory.
+%% This version calls \filename@parse to get the directory name of the
+%% remote directory, which is then explicitly prepended to the names of
+%% any included aux files.
+%%
+%% History
+%%
+%% 1997/10/06 v6.00beta2
+%%
+%% 1999/09/01 v6.00beta3
+%%   Definitions of \XR@addURL corrected (Heiko Oberdiek).
+%%
+%% 2000/03/22 v6.00beta4
+%%   \xdef changed to \protected@xdef.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{xr-hyper}
+         [2000/03/22 v6.00beta4 eXternal References (DPC)]
+
+\def\externaldocument{\@testopt\XR@{}}
+\def\XR@[#1]#2{\@testopt{\XR@@{#1}{#2}}{#2.\XR@ext}}
+
+\def\XR@@#1#2[#3]{{%
+  \makeatletter
+  \def\XR@prefix{#1}%
+  \def\XR@URL{#3}%
+  \filename@parse{#2}%
+  \XR@next#2.aux\relax\\}}
+\def\XR@next#1\relax#2\\{%
+  \edef\XR@list{#2}%
+  \XR@loop{#1}}
+\def\XR@aux{%
+  \ifx\XR@list\@empty\else\expandafter\XR@explist\fi}
+
+\def\XR@explist{\expandafter\XR@next\XR@list\\}
+\def\XR@loop#1{%
+\def\f{#1}%\show\f
+\openin\@inputcheck#1\relax
+  \ifeof\@inputcheck
+    \PackageWarning{xr}{^^JNo file #1^^JLABELS NOT IMPORTED.^^J}%
+    \expandafter\XR@aux
+  \else
+    \PackageInfo{xr}{IMPORTING LABELS FROM #1}%
+    \expandafter\XR@read\fi}
+\def\XR@read{%
+  \read\@inputcheck to\XR@line
+  \expandafter\XR@test\XR@line...\XR@}
+\long\def\XR@test#1#2#3#4\XR@{%
+  \ifx#1\newlabel
+     \expandafter\protected@xdef\csname r@\XR@prefix#2\endcsname
+       {\XR@addURL{#3}}%
+  \else\ifx#1\@input
+     \edef\XR@list{\XR@list\filename@area#2\relax}%
+  \fi\fi
+  \ifeof\@inputcheck\expandafter\XR@aux
+  \else\expandafter\XR@read\fi}
+
+\providecommand*{\XR@addURL}[1]{#1}
+% The above definition doesn't actually use the URL, hyperref 6 could
+% make a definition like so to put the URL in the fifth field of its
+% ref structure.
+
+\@ifpackageloaded{hyperref}{%
+  \PackageWarningNoLine{xr-hyper}{Load package `hyperref' after `xr-hyper'}%
+}{}
+
+%\def\XR@addURL#1{\XR@@dURL#1{}{}{}{}\\}
+
+%\def\XR@@dURL#1#2#3#4#5\\{%
+%  {#1}{#2}%
+%  \if!#4!%
+%  \else
+%    {#3}{#4}{\XR@URL}%
+%  \fi
+%}
+
+\providecommand\XR@ext{dvi}
+
+\endinput
+%%
+%% End of file `xr.sty'.
+
+
diff --git a/utils/dev_filter.rb b/utils/dev_filter.rb
new file mode 100755 (executable)
index 0000000..51e76a8
--- /dev/null
@@ -0,0 +1,80 @@
+#! /usr/bin/ruby
+
+buf = [] 
+doxy = 0
+
+def commentblock(buf)
+    unless buf == []   
+      print "/** "     
+      buf.each do |i| print i end
+      print "*/\n"     
+    end        
+   end 
+
+while gets
+
+  gsub!("@seealso", "@par See Also:")
+  gsub!("@errors", "@par Errors:")
+ #let doxygen find functions
+  gsub!(/[a-z_]\s\(\)/) {|m| m.delete!(" ")}
+ #make variables in function descriptions shown in bold
+  gsub!(/\$[A-Z_]+/) {|m| m.delete!("$").reverse.downcase!.concat(" e@").reverse}
+
+   case  $_
+     when /^$/
+       if doxy == 1 
+           buf.push($_)
+          end
+     when /\/\/\/\// 
+       commentblock(buf)
+       buf = []
+   
+     when /\/\*\s.*\*\//       # /* comment */ type comment
+       if doxy == 1            # should be included only in the example code
+       buf.push($_.gsub!(/\*\//, " ").gsub!(/\/\*/, "//"))
+       end
+     when /\/\*{2,3}ja.*\*\//  #japanese one liner
+     when /\/\*{2,3}en.*\*\//  #one liner
+        buf.push($_.gsub!(/\/\*+en/, " ").gsub!(/\*\//, " ")).push("\n")
+     when /\/\*{2,3}.*\*\//    #one liner
+        buf.push($_.gsub!(/\/\*+/, " ").gsub!(/\*\//, " ")).push("\n")
+
+     when /\/\*\s|\/\*{2,3}ja/
+       doxy = -1
+     when /\/\*{2,3}en/
+        buf.push($_.gsub!(/\/\*+en/, " "))
+       doxy = 1
+     when /\/\*{2,3}/  
+        buf.push($_.gsub!(/\/\*+/, " "))
+       doxy = 1
+
+     when /EXAMPLE_CODE/ 
+        buf.push($_.gsub!(/#if EXAMPLE_CODE/, "@code \n"))
+       doxy = 1
+
+     when /#endif/
+       if doxy == 1
+           buf.push($_.gsub!(/#endif/, "@endcode"))
+       else
+           commentblock(buf)
+          buf = []
+          print $_
+       end
+        doxy = 0
+     when /\*\//
+       if doxy == 1
+           buf.push($_.gsub!(/\*\//, " "))
+       end
+        doxy = 0
+     else 
+       case doxy 
+         when -1
+         when 1        
+           buf.push($_) 
+         else 
+                  commentblock(buf)
+          buf = []
+          print($_)
+        end
+   end
+end
diff --git a/utils/ja_filter.rb b/utils/ja_filter.rb
new file mode 100755 (executable)
index 0000000..eb146df
--- /dev/null
@@ -0,0 +1,88 @@
+#! /usr/bin/ruby
+
+buf = [] 
+doxy = 0
+
+def commentblock(buf)
+    unless buf == []   
+      print "/** "     
+      buf.each do |i| print i end
+      print "*/\n"     
+    end        
+   end 
+
+while gets
+
+  gsub!("@seealso", "@par »²¾È:")
+  gsub!("@errors", "@par ¥¨¥é¡¼:")
+  gsub!("@returns", "@par Ìá¤êÃÍ:")
+  gsub!("@return", "@par Ìá¤êÃÍ:")
+ #let doxygen find functions
+  gsub!(/[a-z_]\s\(\)/) {|m| m.delete!(" ")}
+ #make variables in function descriptions shown in bold
+  gsub!(/\$[A-Z_]+/) {|m| m.delete!("$").reverse.downcase!.concat(" e@").reverse}
+
+   case  $_
+     when /^$/
+       if doxy == 1 
+           buf.push($_)
+          end
+     when /\/\/\/\// 
+       commentblock(buf)
+       buf = []
+   
+     when /\/\*\s.*\*\//       # /* comment */ type comment
+       if doxy == 1            
+       buf.push($_.gsub!(/\*\//, " ").gsub!(/\/\*/, "//")) # should be included only in the example code
+       else
+          if doxy == 0 
+         commentblock(buf)
+         buf = []
+         print $_.gsub!(/\/\*\s.*\*\//," ")                # should be omiited in code
+         end
+       end
+     when /\/\*{2,3}en.*\*\//  #english one liner is omitted
+     when /\/\*{2,3}ja.*\*\//  #one liner
+        buf.push($_.gsub!(/\/\*+ja/, " ").gsub!(/\*\//, " "))
+     when /\/\*{2,3}.*\*\//    #one liner
+        buf.push($_.gsub!(/\/\*+/, " ").gsub!(/\*\//, " "))
+
+     when /\/\*\s|\/\*{2,3}en/
+       doxy = -1
+     when /\/\*{2,3}ja/
+        buf.push($_.gsub!(/\/\*+ja/, " "))
+       doxy = 1
+     when /\/\*{2,3}/  
+        buf.push($_.gsub!(/\/\*+/, " "))
+       doxy = 1
+
+     when /EXAMPLE_CODE/ 
+        buf.push($_.gsub!(/#if EXAMPLE_CODE/, "@par Î㡧 \n @code \n"))
+       doxy = 1
+
+     when /#endif/
+       if doxy == 1
+           buf.push($_.gsub!(/#endif/, "@endcode"))
+       else
+           commentblock(buf)
+          buf = []
+          print $_
+       end
+        doxy = 0
+     when /\*\//
+       if doxy == 1
+           buf.push($_.gsub!(/\*\//, " "))
+       end
+        doxy = 0
+     else 
+       case doxy 
+         when -1
+         when 1        
+           buf.push($_) 
+         else 
+                  commentblock(buf)
+          buf = []
+          print($_)
+        end
+   end
+end
diff --git a/utils/mokuji.el b/utils/mokuji.el
new file mode 100644 (file)
index 0000000..bdbfbde
--- /dev/null
@@ -0,0 +1,83 @@
+(require 'un-define)
+
+(defconst latex-dir
+  (format "%s/latex" (nth 2 command-line-args-left)))
+
+(defun parse-toc ()
+  (let ((sections nil)
+       section-type
+       title pos current-section current-subsection)
+    (save-excursion
+      (find-file (expand-file-name "refman.toc" latex-dir))
+      (while (re-search-forward "{\\(sub\\)*section}" nil t)
+       (goto-char (1+ (match-beginning 0)))
+       (setq section-type (intern (buffer-substring
+                                   (1+ (match-beginning 0))
+                                   (1- (match-end 0)))))
+       (re-search-forward "{[0-9.]+}")
+       (setq title (buffer-substring (1+ (match-beginning 0))
+                                     (1- (match-end 0))))
+       (narrow-to-region (point) (line-end-position))
+       (goto-char (point-max))
+       (forward-sexp -1)
+       (forward-char -1)
+       (setq title
+             (concat title " " (buffer-substring (point-min) (point))))
+       (widen)
+       (let (idx)
+         (while (setq idx (string-match "\\\\discretionary {-}{}{}" title))
+           (setq title (concat (substring title 0 idx)
+                               (substring title (match-end 0))))))
+       (re-search-forward "[0-9]+")
+       (setq page (string-to-int (match-string 0)))
+       (cond ((eq section-type 'section)
+              (setq current-section (list title page)) 
+              (setq sections
+                    (nconc sections (list current-section)))
+              (setq current-subsection nil current-subsubsection nil))
+             ((eq section-type 'subsection)
+              (setq current-subsection (list title page))
+              (setq current-section
+                    (nconc current-section (list current-subsection)))
+              (setq current-subsubsection nil))
+             (t
+              (setq current-subsubsection (list title page))
+              (setq current-subsection
+                    (nconc current-subsection (list current-subsubsection)))
+              )))
+      sections)))
+
+(defun insert-one-line (elt)
+  (insert
+   (format "[ /Count %d /Page %d/View [/XYZ null null 1.0]/Title ("
+          (length (nthcdr 2 elt)) (+ (nth 1 elt) 4)))
+  (let* ((str (encode-coding-string (car elt) 'utf-16-be-dos))
+        (len (length str))
+        (i 0))
+    (while (< i len)
+      (insert (format "\\%03o" (aref str i)))
+      (setq i (1+ i))))
+  (insert ") /OUT pdfmark\n"))
+
+(defun write-mokuji ()
+  (let ((l (parse-toc)) elt)
+    (with-temp-file (expand-file-name "mokuji.ps" latex-dir)
+      (set-buffer-multibyte nil)
+      (insert "%!PS-Adobe 3.0
+%%BeginProlog
+/bd {bind def} bind def /fsd {findfont exch scalefont def} bd /sms {setfont moveto show} bd /ms {moveto show} bd systemdict /pdfmark known not {userdict /pdfmark systemdict /cleartomark get put } if
+%%EndProlog
+%%BeginSetup
+")
+      (while l
+       (setq elt (car l) l (cdr l))
+       (insert-one-line elt)
+       (let ((ll (nthcdr 2 elt)) ee)
+         (while ll
+           (setq ee (car ll) ll (cdr ll))
+           (insert-one-line ee)
+           (let ((lll (nthcdr 2 ee)) eee)
+             (while lll
+               (setq eee (car lll) lll (cdr lll))
+               (insert-one-line eee))))))
+      (insert "%%EOF\n"))))
diff --git a/utils/refman-filter.awk b/utils/refman-filter.awk
new file mode 100644 (file)
index 0000000..c23a4e1
--- /dev/null
@@ -0,0 +1,26 @@
+BEGIN {
+  filtering = 1;
+}
+
+/^.section/ {
+  printf "%s",text;
+  text=$0"\n";
+  next;
+}
+
+/^.input{files}/ {
+  text="";
+  next;
+}
+
+/^.printindex/ {
+  filtering = 0;
+  print "\\input{conclusion.tex}"
+}
+
+{
+  if (filtering)
+    text=text$0"\n";
+  else
+    print;
+}
diff --git a/utils/run-latex.sh b/utils/run-latex.sh
new file mode 100755 (executable)
index 0000000..677c9ad
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/sh
+# $1: source directory
+# $2: ja or usr or dev
+
+umask 002
+CURDIR=`pwd`
+TEXINPUTS=$CURDIR/$1/styles:$CURDIR/$1/data-$2:.:
+export TEXINPUTS
+cd $2/latex
+platex refman.tex
+if [ "$2" = "ja" ] ; then
+  nkf -e < refman.idx > temp.idx; mv temp.idx refman.idx
+fi
+makeindex refman.idx
+platex refman.tex
+dvips -t a4 -o refman.ps refman.dvi
diff --git a/utils/usr_filter.rb b/utils/usr_filter.rb
new file mode 100755 (executable)
index 0000000..b09f7fb
--- /dev/null
@@ -0,0 +1,90 @@
+#! /usr/bin/ruby
+
+buf = [] 
+doxy = 0
+
+def commentblock(buf)
+    unless buf == []   
+      print "/** "     
+      buf.each do |i| print i end
+      print "*/\n"     
+    end        
+   end 
+
+while gets
+
+  gsub!("@seealso", "@par See Also:")
+  gsub!("@errors", "@par Errors:")
+  gsub!("@returns", "@par Return value:")
+  gsub!("@return", "@par Return value:")
+ #let doxygen find functions
+  gsub!(/[a-zA-Z_]\s\(\)/) {|m| m.delete!(" ")}
+ #make variables in function descriptions shown in bold
+  gsub!(/\$[A-Z_]+/) {|m| m.delete!("$").reverse.downcase!.concat(" b@").reverse}
+
+   case  $_
+     when /^$/
+       if doxy == 1 
+           buf.push($_)
+          end
+     when /\/\/\/\// 
+       commentblock(buf)
+       buf = []
+   
+     when /\/\*\s.*\*\//       # /* comment */ type comment
+       if doxy == 1            
+       buf.push($_.gsub!(/\*\//, " ").gsub!(/\/\*/, "//")) # should be included only in the example code
+       else
+          if doxy == 0 
+         commentblock(buf)
+         buf = []
+         print $_.gsub!(/\/\*\s.*\*\//," ")                # should be omiited in code
+         end
+       end
+     when /\/\*{2,3}ja.*\*\//  #japanese one liner
+     when /\/\*\*en.*\*\//     #one liner
+     when /\/\*\*\*en.*\*\//   #one liner
+        buf.push($_.gsub!(/\/\*+en/, " ").gsub!(/\*\//, " ")).push("\n")
+     when /\/\*\*\s.*\*\//     #one liner
+     when /\/\*\*\*\s.*\*\//   #one liner
+        buf.push($_.gsub!(/\/\*+/, " ").gsub!(/\*\//, " ")).push("\n")
+
+     when /\/\*{1,2}\s|\/\*{2,3}ja|\/\*\*en/
+       doxy = -1
+     when /\/\*\*\*en/
+        buf.push($_.gsub!(/\/\*+en/, " "))
+       doxy = 1
+     when /\/\*\*\*/   
+        buf.push($_.gsub!(/\/\*+/, " "))
+       doxy = 1
+
+     when /EXAMPLE_CODE/ 
+        buf.push($_.gsub!(/#if EXAMPLE_CODE/, "@code \n"))
+       doxy = 1
+
+     when /#endif/
+       if doxy == 1
+           buf.push($_.gsub!(/#endif/, "@endcode"))
+       else
+           commentblock(buf)
+          buf = []
+          print $_
+       end
+        doxy = 0
+     when /\*\//
+       if doxy == 1
+           buf.push($_.gsub!(/\*\//, " "))
+       end
+        doxy = 0
+     else 
+       case doxy 
+         when -1
+         when 1        
+           buf.push($_) 
+         else 
+                  commentblock(buf)
+          buf = []
+          print($_)
+        end
+   end
+end