From: handa Date: Mon, 16 Jun 2003 12:18:19 +0000 (+0000) Subject: m17n-docs X-Git-Tag: start X-Git-Url: http://git.chise.org/gitweb/?p=m17n%2Fm17n-docs.git;a=commitdiff_plain;h=refs%2Ftags%2Fstart;ds=sidebyside m17n-docs --- 498e1235ee98882fc70c54cde00840ea22117d13 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 0000000..4d56c7c Binary files /dev/null and b/smallmule.gif differ diff --git a/styles/backref.sty b/styles/backref.sty new file mode 100644 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