From 498e1235ee98882fc70c54cde00840ea22117d13 Mon Sep 17 00:00:00 2001 From: handa Date: Mon, 16 Jun 2003 12:18:19 +0000 Subject: [PATCH 1/1] m17n-docs --- Makefile.am | 148 ++ bootstrap.sh | 11 + configure.ac | 52 + data-dev/header.tex | 41 + data-ja/conclusion.tex | 603 ++++++++ data-ja/header.tex | 41 + data-ja/introduction.tex | 211 +++ data-ja/m17n-X.tex | 95 ++ data-ja/m17n-basicC.tex | 204 +++ data-ja/m17n-database.tex | 327 ++++ data-usr/header.tex | 41 + doxyfile.in | 826 ++++++++++ footer.html | 10 + footer.html.ja | 10 + head.ps | 2 + header.html | 16 + header.html.ja | 16 + header.tex | 1 + m17nlib.css | 23 + mainpage.en.html | 15 + mainpage.ja.html | 14 + smallmule.gif | Bin 0 -> 2367 bytes styles/backref.sty | 151 ++ styles/doxygen-m17n.sty | 82 + styles/fancyhdr.sty | 366 +++++ styles/float.sty | 144 ++ styles/hdvipdfm.def | 861 +++++++++++ styles/hdvips.def | 82 + styles/hdvipson.def | 119 ++ styles/hdviwind.def | 339 ++++ styles/hpdftex.def | 954 ++++++++++++ styles/htex4ht.cfg | 41 + styles/htex4ht.def | 254 +++ styles/htexture.def | 170 ++ styles/hvtex.def | 633 ++++++++ styles/hvtexhtm.def | 126 ++ styles/hvtexmrk.def | 82 + styles/hyperref.sty | 3770 +++++++++++++++++++++++++++++++++++++++++++++ styles/hypertex.def | 221 +++ styles/minitoc-hyper.sty | 2304 +++++++++++++++++++++++++++ styles/nameref.sty | 290 ++++ styles/nohyperref.sty | 56 + styles/ntheorem-hyper.sty | 920 +++++++++++ styles/pd1enc.def | 243 +++ styles/pdfmark.def | 1079 +++++++++++++ styles/puenc.def | 665 ++++++++ styles/url.sty | 338 ++++ styles/xr-hyper.sty | 120 ++ utils/dev_filter.rb | 80 + utils/ja_filter.rb | 88 ++ utils/mokuji.el | 83 + utils/refman-filter.awk | 26 + utils/run-latex.sh | 16 + utils/usr_filter.rb | 90 ++ 54 files changed, 17500 insertions(+) create mode 100644 AUTHORS create mode 100644 ChangeLog create mode 100644 Makefile.am create mode 100644 NEWS create mode 100644 README create mode 100755 bootstrap.sh create mode 100644 configure.ac create mode 100644 data-dev/header.tex create mode 100644 data-ja/conclusion.tex create mode 100644 data-ja/header.tex create mode 100644 data-ja/introduction.tex create mode 100644 data-ja/m17n-X.tex create mode 100644 data-ja/m17n-basicC.tex create mode 100644 data-ja/m17n-database.tex create mode 100644 data-usr/header.tex create mode 100644 doxyfile.in create mode 100644 footer.html create mode 100644 footer.html.ja create mode 100644 head.ps create mode 100644 header.html create mode 100644 header.html.ja create mode 100644 header.tex create mode 100644 m17nlib.css create mode 100644 mainpage.en.html create mode 100644 mainpage.ja.html create mode 100755 smallmule.gif create mode 100644 styles/backref.sty create mode 100644 styles/doxygen-m17n.sty create mode 100644 styles/fancyhdr.sty create mode 100644 styles/float.sty create mode 100644 styles/hdvipdfm.def create mode 100644 styles/hdvips.def create mode 100644 styles/hdvipson.def create mode 100644 styles/hdviwind.def create mode 100644 styles/hpdftex.def create mode 100644 styles/htex4ht.cfg create mode 100644 styles/htex4ht.def create mode 100644 styles/htexture.def create mode 100644 styles/hvtex.def create mode 100644 styles/hvtexhtm.def create mode 100644 styles/hvtexmrk.def create mode 100644 styles/hyperref.sty create mode 100644 styles/hypertex.def create mode 100644 styles/minitoc-hyper.sty create mode 100644 styles/nameref.sty create mode 100644 styles/nohyperref.sty create mode 100644 styles/ntheorem-hyper.sty create mode 100644 styles/pd1enc.def create mode 100644 styles/pdfmark.def create mode 100644 styles/puenc.def create mode 100644 styles/url.sty create mode 100644 styles/xr-hyper.sty create mode 100755 utils/dev_filter.rb create mode 100755 utils/ja_filter.rb create mode 100644 utils/mokuji.el create mode 100644 utils/refman-filter.awk create mode 100755 utils/run-latex.sh create mode 100755 utils/usr_filter.rb diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..e69de29 diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..e69de29 diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..375d0f1 --- /dev/null +++ b/Makefile.am @@ -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 index 0000000..e69de29 diff --git a/README b/README new file mode 100644 index 0000000..e69de29 diff --git a/bootstrap.sh b/bootstrap.sh new file mode 100755 index 0000000..bd62260 --- /dev/null +++ b/bootstrap.sh @@ -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 index 0000000..88e5a85 --- /dev/null +++ b/configure.ac @@ -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 index 0000000..a83371a --- /dev/null +++ b/data-dev/header.tex @@ -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 index 0000000..f9959dd --- /dev/null +++ b/data-ja/conclusion.tex @@ -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 index 0000000..a83371a --- /dev/null +++ b/data-ja/header.tex @@ -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 index 0000000..4a0b2e0 --- /dev/null +++ b/data-ja/introduction.tex @@ -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 index 0000000..71f66e0 --- /dev/null +++ b/data-ja/m17n-X.tex @@ -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 index 0000000..0d9fc42 --- /dev/null +++ b/data-ja/m17n-basicC.tex @@ -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 index 0000000..aa34a67 --- /dev/null +++ b/data-ja/m17n-database.tex @@ -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 index 0000000..a83371a --- /dev/null +++ b/data-usr/header.tex @@ -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 index 0000000..2257cdc --- /dev/null +++ b/doxyfile.in @@ -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 , where +# is the value of the INPUT_FILTER tag, and 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 index 0000000..18b4824 --- /dev/null +++ b/footer.html @@ -0,0 +1,10 @@ +
+Top of this page +
+mulemark +mule-aist@m17n.org + +
+ + + diff --git a/footer.html.ja b/footer.html.ja new file mode 100644 index 0000000..dc00938 --- /dev/null +++ b/footer.html.ja @@ -0,0 +1,10 @@ +
+¤³¤Î¥Ú¡¼¥¸¤ÎÀèƬ¤ËÌá¤ë +
+m17n.org +mulemark +Copyright (C) 2002 AIST and IPA +
+ + + diff --git a/head.ps b/head.ps new file mode 100644 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 index 0000000..177c8b0 --- /dev/null +++ b/header.html @@ -0,0 +1,16 @@ + + +Multilingual Library for Unix/Linux + + + + + +
+ + + + + +
\ No newline at end of file diff --git a/header.html.ja b/header.html.ja new file mode 100644 index 0000000..595328a --- /dev/null +++ b/header.html.ja @@ -0,0 +1,16 @@ + + +Unix/Linux ¸þ¤±Â¿¸À¸ì¥é¥¤¥Ö¥é¥ê + + + + + +
+ + + + + +
\ No newline at end of file diff --git a/header.tex b/header.tex new file mode 100644 index 0000000..7325f98 --- /dev/null +++ b/header.tex @@ -0,0 +1 @@ +\input{header.tex} diff --git a/m17nlib.css b/m17nlib.css new file mode 100644 index 0000000..8a074ee --- /dev/null +++ b/m17nlib.css @@ -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 index 0000000..c89226d --- /dev/null +++ b/mainpage.en.html @@ -0,0 +1,15 @@ +Multilingual Library m17n-lib is a C language library that provides +the following basic maultilingual facilities for application software. + +
+
M-text
A data structure used as objects for multilingual text. +
Functions and macros
Functions and macros for handling M-text. +
Decoder/Encoder
Decoder/Encoder converts M-text from/to byte sequences +in many kinds of formats. +
Huge space for character
A character space that can contain all Unicode +characters and the same number of non-Unicode characters. +
CharTable
A data structure to store +character-related attirubtes efficiently. +
User Interface for window systems
Display and input of +M-text on window systems. +
diff --git a/mainpage.ja.html b/mainpage.ja.html new file mode 100644 index 0000000..726bd62 --- /dev/null +++ b/mainpage.ja.html @@ -0,0 +1,14 @@ +¿¸À¸ì½èÍý¥é¥¤¥Ö¥é¥ê m17n-lib¤Ï C ¸À¸ìÍѥ饤¥Ö¥é¥ê¤Ç¤¢¤ê¡¢Â¿¸À¸ìʸ½ñ¤ò +°·¤¦°Ê²¼¤Î´ðËܵ¡Ç½¤ò¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤ËÄ󶡤¹¤ë¡£ + +
    +
  • ¿¸À¸ì¥Æ¥­¥¹¥ÈÍÑ¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¤Î¹½Â¤ÂÎ M-text +
  • M-text ¤ò°·¤¦¤¿¤á¤Î¿¤¯¤Î´Ø¿ô¡¦¥Þ¥¯¥í·²¡£¼ï¡¹¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç + ¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿¥Æ¥­¥¹¥È¤È M-text ´Ö¤ÎÊÑ´¹¤ò¹Ô¤¦¥Ç¥³¡¼¥À¤È¥¨¥ó¥³¡¼¥À +
  • Unicode ¤ÎÁ´¤Æ¤Îʸ»ú¤Î¾¤Ë¡¢¤½¤ì¤ÈƱ¤¸¿ô¤ÎÈó Unicode ʸ»ú¤ò°· + ¤¦¤³¤È¤Î¤Ç¤­¤ëµðÂç¤Êʸ»ú¶õ´Ö + +
  • ʸ»úËè¤Î¾ðÊó¤ò¸úΨÎɤ¯³ÊǼ¤¹¤ë¹½Â¤ÂÎ CharTable + +
  • M-text¤Î¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à¾å¤Ç¤Îɽ¼¨¤ÈÆþÎÏ +
\ No newline at end of file diff --git a/smallmule.gif b/smallmule.gif new file mode 100755 index 0000000000000000000000000000000000000000..4d56c7c040830bfdba05329d519fefad13e68f24 GIT binary patch literal 2367 zcmeH`{Z~>69>y>4=&D^M9YjemQm04- zr`_fDSWt`AYE_~(iOk@&nsARBv$?ojuG?y{J6v)tX2P5nrCcP{q9|&|OcIF{5eVdR zxy$XfSe;&n&4SsPOr}I4ktwYvlL<9gP|Sgv>;goByPaOQ3&Sw2$?kHwJRUD*by_i- z!e9eIP#_REolb|tX}3G2N=%}_WHOn-U=T?ah(v+AoED2kiP~if)N8lkxEJ?&t#%g# zL0m56aCsa~k5Y?S3`&sx+^P+YTWICKq zsR9#8m55Y{+cB>lvpL*+J|BYkTnMrl=8F)#y@IIerJlx86+UOU6jO) zdP9Z9CmYW!-%W}UM_JR7wsPn0?m@@lsSdyIz(AOhSopD2QZn80q7O-KI@^t@dw#Jyhg|QLHcLwd9 z^5IQs7Qg_V6THdY{3qhgx#lk;Li-1e>DS|F`)QQm`M>#K&FGq#mPL%h_|b;LE~ zsWL{@!G>sxPk3>3GrQ&jg-Z9EqCltnLRDw|i~C0+Li@JfCQ+&viY%nm&LGCu^%8Xx zCmA2UO>5PzDPuoB%o_nZzV(^SkoK%mVI`}65r>m<5-ztVst3C|A&PPq*g0_@^lva; ze}>&%`?O0mpf@jDtUGlMTtwS^Tn3=p2~dAIRAE@(Kyqbg7{p0M(X?b=$4OQ7@!cR)(L^+W6*Q_)k_J=qrc} zEboaeyG(2fkL$j7YBvzmN(Q?g{zL?lh7UfisE9c7>j@PpwyT&DMlpnzPm{v^;DExj z*}iOg;f14Ps6u}8(JHs?#!cUSMMFTz`?tG-Nlku0*LOwlW?~>yk@6OC`w=he{44e= z=jW{DQ9em;;_t+SkBdpHzh27o1(v;H^);M(2_7E5A!~+zo2h(OwqWw~G%Y5Px&7)} zVnU{?)n4gjm?eZ_#Ymfm?gdrJI$rWQ&;C|HY%s{-{#X)dFIZ*%JTzobA~=J zCqpgs6_TEps_FXOnux260ZvJ(+FTo$xtQ+rR7}n@i*u-jEsc2I6e7tPRktz2g`-s~ z$Jw9iMkYf;_tCGh`(~=i3s1A!Z>;4*EuT*e{R)UyN3r`ha+1n5Z2hsJx?GquvXspZ zsy?3fzJrhea+upP^y009d4zHTsM`^p!o-Mr&=pV?W9+Pp1om;#Ek;-$qlLG_ktA%XT`7fcyD5pY@6l)*e{Se^(HI)0=!^^41?V?mE$vL!N@zPXB|>TQR( z!O%TfIqUDo%l~;XVb8iNICDeOHVzfc{DbNt zht%1}jmZLMH!-d==y0S@Nb+6M%l-)R06oZ5bt?0KCgiLmDfZLfo>c==y0NdFSQ|xK zx^^jePQ0HpNzm#Fvl(RG-X+MyZm435Cem6R$@??^NoB#bj=8Xf{tcELRezOnQ=iBI GQvL^R6Pa%S literal 0 HcmV?d00001 diff --git a/styles/backref.sty b/styles/backref.sty new file mode 100644 index 0000000..f9a19ae --- /dev/null +++ b/styles/backref.sty @@ -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 index 0000000..1faac7f --- /dev/null +++ b/styles/doxygen-m17n.sty @@ -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 index 0000000..f1d70f7 --- /dev/null +++ b/styles/fancyhdr.sty @@ -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 +% 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 +% +\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 with for [eo], form [lcr] +% and 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 index 0000000..7fa4a1a --- /dev/null +++ b/styles/float.sty @@ -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 index 0000000..e01dfaa --- /dev/null +++ b/styles/hdvipdfm.def @@ -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{\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 index 0000000..df52174 --- /dev/null +++ b/styles/hdvips.def @@ -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 index 0000000..769b947 --- /dev/null +++ b/styles/hdvipson.def @@ -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 index 0000000..dd084cd --- /dev/null +++ b/styles/hdviwind.def @@ -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 index 0000000..bf411d0 --- /dev/null +++ b/styles/hpdftex.def @@ -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{\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 index 0000000..dfe14a3 --- /dev/null +++ b/styles/htex4ht.cfg @@ -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 index 0000000..5ba24f3 --- /dev/null +++ b/styles/htex4ht.def @@ -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=}% + \fi +} +\def\hyper@anchor#1{% + \Hy@SaveLastskip + \begingroup + \let\protect=\string + \special{t4ht=}% + \endgroup + \Hy@activeanchortrue + \Hy@colorlink{\@anchorcolor}\anchor@spot\Hy@endcolorlink + \special{t4ht=}% + \Hy@activeanchorfalse + \Hy@RestoreLastskip +} +\def\hyper@anchorstart#1{% + \Hy@SaveLastskip + \begingroup + \hyper@chars\special{t4ht=}% + \endgroup + \Hy@activeanchortrue +} +\def\hyper@anchorend{% + \special{t4ht=}% + \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=}% + \else + {\hyper@chars\special{t4ht=}}% + \fi +} +\def\hyper@linkend{% + \special{t4ht=}% + \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=}% + \endgroup + }% + \Hy@colorlink{\@urlcolor}#1\Hy@endcolorlink + \@linkdim\ht\@tempboxa + \advance\@linkdim by -6.5\p@ + \raise\@linkdim\hbox{\special{t4ht=}}% + \else + \begingroup + \hyper@chars + \special{t4ht=}% + \Hy@colorlink{\@urlcolor}#1\Hy@endcolorlink + \special{t4ht=}% + \endgroup + \fi +} +\def\hyper@link#1#2#3{% + \hyper@linkurl{#3}{\##2}% +} +\def\hyper@image#1#2{% + \begingroup + \hyper@chars + \special{t4ht=}% + \endgroup +} +\let\autoref\ref +\ifx \rEfLiNK \UnDef + \def\rEfLiNK #1#2{#2}% +\fi +\def\backref#1{} +\def\@Form[#1]{% + \setkeys{Form}{#1}% + \HCode{
}% +} +\def\@endForm{\HCode{
}} +\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{}% + \ifFld@password + \@@PasswordField + \else + \@@TextField + \fi + \egroup +} +\def\@@PasswordField{% + \HCode{% + % + }% +} +\def\@@TextField{% + \ifFld@multiline + \HCode{}% + \else + \HCode{ + }% + \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{}% +} +\def\@@Radio#1\\{% + \@for\@curropt:=#1\do{% + \expandafter\Fld@checkequals\@curropt==\\% + \HCode{% + }% + \@currDisplay + }% +} +\def\@PushButton[#1]#2{% parameters, label + \def\Fld@name{#2}% + \bgroup + \Field@toks={ }% + \setkeys{Field}{#1}% + \HCode{% + }% + \HCode{}% + \egroup +} +\def\@Submit[#1]#2{% + \HCode{}% +} +\def\@Reset[#1]#2{% + \HCode{}% +} +\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{% + #2% + }% + \egroup +} +\endinput +%% +%% End of file `htex4ht.def'. diff --git a/styles/htexture.def b/styles/htexture.def new file mode 100644 index 0000000..9e3b488 --- /dev/null +++ b/styles/htexture.def @@ -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:}% + \fi + \keepPDF@SetupDoc +} +\def\hyper@anchor#1{% + \Hy@SaveLastskip + \begingroup + \let\protect=\string + \special{html:}% + \endgroup + \Hy@activeanchortrue + \Hy@colorlink{\@anchorcolor}\anchor@spot\Hy@endcolorlink + \special{html:}% + \Hy@activeanchorfalse + \Hy@RestoreLastskip +} +\def\hyper@anchorstart#1{% + \Hy@SaveLastskip + \begingroup + \hyper@chars + \special{html:}% + \endgroup + \Hy@activeanchortrue +} +\def\hyper@anchorend{% + \special{html:}% + \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:}% + \else + \begingroup + \hyper@chars + \special{html:}% + \endgroup + \fi +} +\def\hyper@linkend{% + \special{html:}% + \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:}% + }% + \Hy@colorlink{\@urlcolor}#1% + \@linkdim\ht\@tempboxa + \advance\@linkdim by -6.5\p@ + \raise\@linkdim\hbox{\special{html:}}% + \Hy@endcolorlink + \else + \begingroup + \hyper@chars + \special{html:}% + \Hy@colorlink{\@urlcolor}#1% + \special{html:}% + \Hy@endcolorlink + \endgroup + \fi +} +\def\hyper@link#1#2#3{% + \hyper@linkurl{#3}{\##2}% +} +\def\hyper@image#1#2{% + \begingroup + \hyper@chars + \special{html:}% + \endgroup +} +\endinput +%% +%% End of file `htexture.def'. diff --git a/styles/hvtex.def b/styles/hvtex.def new file mode 100644 index 0000000..2bd92b3 --- /dev/null +++ b/styles/hvtex.def @@ -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 ;% + a=% + }% + \else + \protected@edef\Hy@testname{#2}% + \ifx\Hy@testname\@empty + \let\Hy@testname\Hy@undefinedname + \fi + \special{!% + aref \Hy@testname;% + a=% + }% + \fi +} +\def\hyper@linkend{% + \special{!endaref}% + \Hy@endcolorlink +} +\def\hyper@linkfile#1#2#3{% + \leavevmode + \special{!% + aref #3;% + a=% + }% + \Hy@colorlink{\@filecolor}#1\Hy@endcolorlink + \special{!endaref}% +} +\def\hyper@linkurl#1#2{% + \begingroup + \hyper@chars + \leavevmode + \special{!% + aref ;% + a=% + }% + \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=% + }% + \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 + > \fi% + >;% + a=% + }% + \Hy@colorlink{\@filecolor}#2\Hy@endcolorlink + \special{!endaref}% +} +\def\Acrobatmenu#1#2{% + \leavevmode + \special{!% + aref ;% + a=% + }% + \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=<<>>}% + \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=}% + \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{\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 index 0000000..4ba09fb --- /dev/null +++ b/styles/hvtexhtm.def @@ -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 }% + \fi +} +\def\@urltype{url} +\def\hyper@link#1#2#3{% + \leavevmode + \special{!direct }% + #3% + \special{!direct }% +} +\def\hyper@linkurl#1#2{% + \begingroup + \hyper@chars + \leavevmode + \MathBSuppress=1\relax + \special{!direct }% + #1% + \MathBSuppress=0\relax + \special{!direct }% + \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 }% + \else + \@Localurlfalse + \begingroup + \hyper@chars + \special{!aref #2}% + \endgroup + \fi +} +\def\hyper@linkend{% + \if@Localurl + \special{!endaref}% + \else + \special{!direct }% + \fi +} +\def\hyper@anchorstart#1{% + \Hy@SaveLastskip + \begingroup + \hyper@chars + \special{!aname #1}% + \special{!direct }% + \endgroup + \Hy@activeanchortrue +} +\def\hyper@anchorend{% + \special{!direct }% + \Hy@activeanchorfalse + \Hy@RestoreLastskip +} +\def\hyper@anchor#1{% + \Hy@SaveLastskip + \begingroup + \let\protect=\string + \hyper@chars + \leavevmode + \special{!aname #1}% + \special{!direct }% + \endgroup + \Hy@activeanchortrue + \bgroup\anchor@spot\egroup + \special{!direct }% + \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 index 0000000..8e9f69e --- /dev/null +++ b/styles/hvtexmrk.def @@ -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 index 0000000..cd23e4f --- /dev/null +++ b/styles/hyperref.sty @@ -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 -command\expandafter\endcsname + \csname -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% + \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{\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 index 0000000..dfde390 --- /dev/null +++ b/styles/hypertex.def @@ -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:}% + \fi +} +\def\hyper@anchor#1{% + \Hy@SaveLastskip + \begingroup + \let\protect=\string + \hyper@chars + \special{html:}% + \endgroup + \Hy@activeanchortrue + \Hy@colorlink{\@anchorcolor}\anchor@spot\Hy@endcolorlink + \special{html:}% + \Hy@activeanchorfalse + \Hy@RestoreLastskip +} +\def\hyper@anchorstart#1{% + \Hy@SaveLastskip + \begingroup + \hyper@chars + \special{html:}% + \endgroup + \Hy@activeanchortrue +} +\def\hyper@anchorend{% + \special{html:}% + \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:}% + \else + \begingroup + \hyper@chars + \special{html:}% + \endgroup + \fi +} +\def\hyper@linkend{% + \special{html:}% + \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:}% + }% + \Hy@colorlink{\@urlcolor}#1% + \@linkdim\ht\@tempboxa + \advance\@linkdim by -6.5\p@ + \raise\@linkdim\hbox{\special{html:}}% + \Hy@endcolorlink + \else + \begingroup + \hyper@chars + \special{html:}% + \Hy@colorlink{\@urlcolor}#1% + \special{html:}% + \Hy@endcolorlink + \endgroup + \fi +} +\def\hyper@link#1#2#3{% + \hyper@linkurl{#3}{\##2}% +} +\def\hyper@image#1#2{% + \begingroup + \hyper@chars + \special{html:}% + \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 index 0000000..2106de9 --- /dev/null +++ b/styles/minitoc-hyper.sty @@ -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 .mld +% (in place of mtc.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 index 0000000..09d4f67 --- /dev/null +++ b/styles/nameref.sty @@ -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 index 0000000..ae83f22 --- /dev/null +++ b/styles/nohyperref.sty @@ -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 index 0000000..1db77c3 --- /dev/null +++ b/styles/ntheorem-hyper.sty @@ -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 +%% +%% ========================================================================== +%% +%% 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 index 0000000..c0a6b4d --- /dev/null +++ b/styles/pd1enc.def @@ -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 index 0000000..02363a7 --- /dev/null +++ b/styles/pdfmark.def @@ -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} <>% + }% + }% + \fi + \fi +} +\def\hyper@pagehidden{% + \ifHy@useHidKey + \pdfmark{% + pdfmark=/PUT,% + Raw={% + {ThisPage} <>% + }% + }% + \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 <> >>}% + } % 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{\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 index 0000000..9ab4e5c --- /dev/null +++ b/styles/puenc.def @@ -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 index 0000000..6ebc514 --- /dev/null +++ b/styles/url.sty @@ -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{}", 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{}% +% \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:}#1\special{html:}} +% +% 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 index 0000000..0f36f39 --- /dev/null +++ b/styles/xr-hyper.sty @@ -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 index 0000000..51e76a8 --- /dev/null +++ b/utils/dev_filter.rb @@ -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 index 0000000..eb146df --- /dev/null +++ b/utils/ja_filter.rb @@ -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 index 0000000..bdbfbde --- /dev/null +++ b/utils/mokuji.el @@ -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 index 0000000..c23a4e1 --- /dev/null +++ b/utils/refman-filter.awk @@ -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 index 0000000..677c9ad --- /dev/null +++ b/utils/run-latex.sh @@ -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 index 0000000..b09f7fb --- /dev/null +++ b/utils/usr_filter.rb @@ -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 -- 1.7.10.4