%% %% Copyright (C) 2009 The Korean TeX Society. %% %% This program is free software; you can redistribute it and/or modify %% it under the terms of the GNU General Public License as published by %% the Free Software Foundation; either version 2 of the License, or %% (at your option) any later version. %% %% This program is distributed in the hope that it will be useful, %% but WITHOUT ANY WARRANTY; without even the implied warranty of %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the %% GNU General Public License for more details. %% %% You should have received a copy of the GNU General Public License %% along with this program; if not, write to the Free Software %% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesClass{ajt-ptex} [2009/11/02 v0.51 The Asian Journal of TeX Class] \let\ExecuteOptions@ltx\ExecuteOptions \def\ExecuteOptions#1{% \ExecuteOptions@ltx{a4paper,10pt,twoside,onecolumn,final}% }% \LoadClassWithOptions{article} \let\ExecuteOptions\ExecuteOptions@ltx \def\normal@body@spread{1.069} \def\normal@info@spread{1.0} \def\normalbodyspread{\linespread{\normal@body@spread}\selectfont} \linespread{\normal@body@spread} %%% %%% korean option: use ko.TeX for Korean typesetting (default: english) %%% ptexjs option: use pTeX (jsclasses appearance) for Japanese typesetting (default: english) %%% dvips option: use dvips instead of dvipdfmx, xetex or pdftex %%% print option: final version (default: draft mode) %%% koreanabstract option: abstract is korean not english (default: english) %%% ptexjsabstract option: abstract is japanese (jsclasses appearance) not english (default: english) %%% \newif\if@korean\@koreanfalse \newif\if@ptexjs\@ptexjsfalse \newif\if@print\@printfalse \newif\if@korabstract\@korabstractfalse \newif\if@ptexjsabstract\@ptexjsabstractfalse \def\tpd@driver{pdftex} \def\dps@driver{dvips} \def\dpx@driver{dvipdfmx} \def\xtx@driver{xetex} %%% \RequirePackage{ifpdf} \ifpdf \let\@dvi@driver\tpd@driver \else \expandafter\ifx\csname XeTeXrevision\endcsname\relax \let\@dvi@driver\dpx@driver \else \let\@dvi@driver\xtx@driver \fi \fi %%% \DeclareOption{korean}{\@koreantrue} \DeclareOption{ptexjs}{\@ptexjstrue} \DeclareOption{dvips}{\let\@dvi@driver\dps@driver} \DeclareOption{print}{\@printtrue} \DeclareOption{koreanabstract}{\@korabstracttrue} \DeclareOption{ptexjsabstract}{\@ptexjsabstracttrue} \ProcessOptions %%% \setlength\paperwidth{170mm} \setlength\paperheight{254mm} \setlength\textwidth{132mm} \setlength\oddsidemargin{-8mm} \setlength\evensidemargin{-8mm} \setlength\textheight{210mm} \setlength\headheight{12pt} \setlength\headsep{14pt} \setlength\topmargin{-10mm} \setlength\footskip{24pt} %%% %%% AJT use CM math fonts, not mathpazo.sty %%% \ifx\@dvi@driver\xtx@driver % XeTeX \RequirePackage{fontspec,xunicode,xltxtra} \if@print \setmainfont[Mapping=tex-text]{Palatino} \setsansfont[Mapping=tex-text]{Optima} \fi \else % pdfTeX, DVIPDFMx, DVIPS \if@print \renewcommand\rmdefault{ppl} % Palatino % \renewcommand\sfdefault{pop} % Optima \renewcommand\sfdefault{uop} % okumura: URW Classico (Optima clone) \fi \if@korean \renewcommand\bfdefault{b} \fi \fi %%% \ifx\@dvi@driver\dpx@driver \RequirePackage[dvipdfmx]{color,graphicx} \RequirePackage[unicode,dvipdfmx]{hyperref} \else \RequirePackage{color,graphicx} \ifx\@dvi@driver\xtx@driver \RequirePackage{hyperref} \else \RequirePackage[unicode]{hyperref} \fi \fi \if@print\setkeys{Hyp}{nolinks=true}\fi %%% \RequirePackage{calc} \RequirePackage{amsmath} \RequirePackage{textcomp} %%% \if@print \IfFileExists{crop.sty} {\ifx\@dvi@driver\tpd@driver% pdftex \RequirePackage[cam,center,pdftex!]{crop}% \else% dvips or dvipdfmx or xetex \RequirePackage[cam,center,dvips!]{crop}% \fi \setlength\stockwidth{\paperwidth+20mm}% \setlength\stockheight{\paperheight+20mm}% }{} \fi \if@korean \ifx\@dvi@driver\xtx@driver % XeTeX \RequirePackage[finemath]{kotex} \if@print \setmainhangulfont[ ExternalLocation, UprightFont={*L}, BoldFont={*M} ]{YoonMyungjo} \setsanshangulfont[ ExternalLocation, UprightFont={*L}, BoldFont={*M} ]{YoonGothic} \fi \linespread{\normal@body@spread} \else \RequirePackage[utf,finemath]{kotex} \RequirePackage[default]{dhucs-interword} \if@print \RequirePackage[gremphhangul=yngt,gremphhanja=yngt]{dhucs-gremph} \usehangulfontspec{yn} \SetHangulFonts{ynmj}{yngt}{yngt} \SetHanjaFonts{ynmj}{yngt}{yngt} \DeclareFontFamily{LUC}{grem}{\hyphenchar \font\m@ne} \DeclareFontShape{LUC}{grem}{m}{n}{<-> LUC * o\GrEmphFont l}{} \DeclareFontShape{LUC}{grem}{m}{it}{<-> LUC * o\GrEmphFont l}{} \DeclareFontShape{LUC}{grem}{m}{sl}{<-> LUC * o\GrEmphFont l}{} \DeclareFontFamily{LUC}{gremhj}{\hyphenchar \font\m@ne} \DeclareFontShape{LUC}{gremhj}{m}{n}{<-> LUC * o\GrEmphHanjaFont l}{} \DeclareFontShape{LUC}{gremhj}{m}{it}{<-> LUC * o\GrEmphHanjaFont l}{} \DeclareFontShape{LUC}{gremhj}{m}{sl}{<-> LUC * o\GrEmphHanjaFont l}{} \else \RequirePackage{dhucs-gremph} \usehangulfontspec{ut} \SetHangulFonts{utmj}{utgt}{utgt} \SetHanjaFonts{utmj}{utgt}{utgt} \fi \fi \def\korean@body@spread{1.35} \def\korean@info@spread{1.15} \def\koreanbodyspread{\linespread{\korean@body@spread}\selectfont} \def\koreaninfospread{\linespread{\korean@info@spread}\selectfont} \renewcommand{\figurename}{그림} \renewcommand{\tablename}{표} \newcommand\hcntdot{\nobreak\mbox{$\cdot$}} \newcommand\cntrdot{\kern.2em\hcntdot\nobreak\hskip.2em} \newcommand\cntrdots{\kern.2em\hcntdot\nobreak\hskip.2em\hcntdot\nobreak\hskip.2em\hcntdot\nobreak\hskip.4em} \ifx\@dvi@driver\xtx@driver % XeTeX \newcommand\cnm[1]{〈#1〉} \newcommand\ccnm[1]{《#1》} \newcommand\snm[1]{「#1」} \newcommand\bnm[1]{『#1』} \else \newcommand\cnm[1]{\kern-.10em〈#1〉\kern-.10em} \newcommand\ccnm[1]{\kern-.198em《#1》\kern-.198em} \newcommand\snm[1]{\kern-.10em「#1」\kern-.10em} \newcommand\bnm[1]{\kern-.20em『#1』\kern-.20em} \fi \else\if@ptexjs \DeclareFontShape{JY1}{mc}{m}{n}{<-> s * [0.961] jis}{} \DeclareFontShape{JY1}{gt}{m}{n}{<-> s * [0.961] jisg}{} \DeclareFontShape{JT1}{mc}{m}{n}{<-> s * [0.961] tmin10}{} \DeclareFontShape{JT1}{gt}{m}{n}{<-> s * [0.961] tgoth10}{} % \DeclareFontShape{JY1}{mc}{m}{it}{<->ssub*mc/m/n}{} \DeclareFontShape{JY1}{mc}{m}{sl}{<->ssub*mc/m/n}{} \DeclareFontShape{JY1}{mc}{m}{sc}{<->ssub*mc/m/n}{} \DeclareFontShape{JY1}{gt}{m}{it}{<->ssub*gt/m/n}{} \DeclareFontShape{JY1}{gt}{m}{sl}{<->ssub*gt/m/n}{} \DeclareFontShape{JY1}{mc}{bx}{it}{<->ssub*gt/m/n}{} \DeclareFontShape{JY1}{mc}{bx}{sl}{<->ssub*gt/m/n}{} \DeclareFontShape{JT1}{mc}{m}{it}{<->ssub*mc/m/n}{} \DeclareFontShape{JT1}{mc}{m}{sl}{<->ssub*mc/m/n}{} \DeclareFontShape{JT1}{mc}{m}{sc}{<->ssub*mc/m/n}{} \DeclareFontShape{JT1}{gt}{m}{it}{<->ssub*gt/m/n}{} \DeclareFontShape{JT1}{gt}{m}{sl}{<->ssub*gt/m/n}{} \DeclareFontShape{JT1}{mc}{bx}{it}{<->ssub*gt/m/n}{} \DeclareFontShape{JT1}{mc}{bx}{sl}{<->ssub*gt/m/n}{} \DeclareRobustCommand\rmfamily {\not@math@alphabet\rmfamily\mathrm \romanfamily\rmdefault\kanjifamily\mcdefault\selectfont} \DeclareRobustCommand\sffamily {\not@math@alphabet\sffamily\mathsf \romanfamily\sfdefault\kanjifamily\gtdefault\selectfont} \DeclareRobustCommand\ttfamily {\not@math@alphabet\ttfamily\mathtt \romanfamily\ttdefault\kanjifamily\gtdefault\selectfont} \def\textmc#1{\relax\ifmmode\hbox\fi{\mcfamily #1}} \def\textgt#1{\relax\ifmmode\hbox\fi{\gtfamily #1}} \def\ptexjs@body@spread{1.333} \def\ptexjs@info@spread{1.15} \def\ptexjsbodyspread{\linespread{\ptexjs@body@spread}\selectfont} \def\ptexjsinfospread{\linespread{\ptexjs@info@spread}\selectfont} \renewcommand{\figurename}{図} \renewcommand{\tablename}{表} \renewcommand{\appendixname}{付録} \prebreakpenalty\jis"2147=10000 % 5000 ’ \postbreakpenalty\jis"2148=10000 % 5000 “ \prebreakpenalty\jis"2149=10000 % 5000 ” \inhibitxspcode`〒=2 \xspcode`+=3 \xspcode`\%=3 \xspcode`^^80=3 \xspcode`^^81=3 \xspcode`^^82=3 \xspcode`^^83=3 \xspcode`^^84=3 \xspcode`^^85=3 \xspcode`^^86=3 \xspcode`^^87=3 \xspcode`^^88=3 \xspcode`^^89=3 \xspcode`^^8a=3 \xspcode`^^8b=3 \xspcode`^^8c=3 \xspcode`^^8d=3 \xspcode`^^8e=3 \xspcode`^^8f=3 \xspcode`^^90=3 \xspcode`^^91=3 \xspcode`^^92=3 \xspcode`^^93=3 \xspcode`^^94=3 \xspcode`^^95=3 \xspcode`^^96=3 \xspcode`^^97=3 \xspcode`^^98=3 \xspcode`^^99=3 \xspcode`^^9a=3 \xspcode`^^9b=3 \xspcode`^^9c=3 \xspcode`^^9d=3 \xspcode`^^9e=3 \xspcode`^^9f=3 \xspcode`^^a0=3 \xspcode`^^a1=3 \xspcode`^^a2=3 \xspcode`^^a3=3 \xspcode`^^a4=3 \xspcode`^^a5=3 \xspcode`^^a6=3 \xspcode`^^a7=3 \xspcode`^^a8=3 \xspcode`^^a9=3 \xspcode`^^aa=3 \xspcode`^^ab=3 \xspcode`^^ac=3 \xspcode`^^ad=3 \xspcode`^^ae=3 \xspcode`^^af=3 \xspcode`^^b0=3 \xspcode`^^b1=3 \xspcode`^^b2=3 \xspcode`^^b3=3 \xspcode`^^b4=3 \xspcode`^^b5=3 \xspcode`^^b6=3 \xspcode`^^b7=3 \xspcode`^^b8=3 \xspcode`^^b9=3 \xspcode`^^ba=3 \xspcode`^^bb=3 \xspcode`^^bc=3 \xspcode`^^bd=3 \xspcode`^^be=3 \xspcode`^^bf=3 \xspcode`^^c0=3 \xspcode`^^c1=3 \xspcode`^^c2=3 \xspcode`^^c3=3 \xspcode`^^c4=3 \xspcode`^^c5=3 \xspcode`^^c6=3 \xspcode`^^c7=3 \xspcode`^^c8=3 \xspcode`^^c9=3 \xspcode`^^ca=3 \xspcode`^^cb=3 \xspcode`^^cc=3 \xspcode`^^cd=3 \xspcode`^^ce=3 \xspcode`^^cf=3 \xspcode`^^d0=3 \xspcode`^^d1=3 \xspcode`^^d2=3 \xspcode`^^d3=3 \xspcode`^^d4=3 \xspcode`^^d5=3 \xspcode`^^d6=3 \xspcode`^^d7=3 \xspcode`^^d8=3 \xspcode`^^d9=3 \xspcode`^^da=3 \xspcode`^^db=3 \xspcode`^^dc=3 \xspcode`^^dd=3 \xspcode`^^de=3 \xspcode`^^df=3 \xspcode`^^e0=3 \xspcode`^^e1=3 \xspcode`^^e2=3 \xspcode`^^e3=3 \xspcode`^^e4=3 \xspcode`^^e5=3 \xspcode`^^e6=3 \xspcode`^^e7=3 \xspcode`^^e8=3 \xspcode`^^e9=3 \xspcode`^^ea=3 \xspcode`^^eb=3 \xspcode`^^ec=3 \xspcode`^^ed=3 \xspcode`^^ee=3 \xspcode`^^ef=3 \xspcode`^^f0=3 \xspcode`^^f1=3 \xspcode`^^f2=3 \xspcode`^^f3=3 \xspcode`^^f4=3 \xspcode`^^f5=3 \xspcode`^^f6=3 \xspcode`^^f7=3 \xspcode`^^f8=3 \xspcode`^^f9=3 \xspcode`^^fa=3 \xspcode`^^fb=3 \xspcode`^^fc=3 \xspcode`^^fd=3 \xspcode`^^fe=3 \xspcode`^^ff=3 \def\@{\spacefactor3000\space} \let\footnotes@ve=\footnote \def\footnote{\inhibitglue\footnotes@ve} \let\footnotemarks@ve=\footnotemark \def\footnotemark{\inhibitglue\footnotemarks@ve} \def\@inhibitglue{% \futurelet\@let@token\@@inhibitglue} \def\@@inhibitglue{% \ifx\@let@token「 \inhibitglue \else \ifx\@let@token( \inhibitglue \else \ifx\@let@token『 \inhibitglue \else \ifx\@let@token[ \inhibitglue \fi \fi \fi \fi} \let\everyparhook=\@inhibitglue \setlength\parskip{0\p@} \setlength\parindent{1zw} \let\@startsection@orig\@startsection \def\@startsection{\@afterindenttrue\@startsection@orig} \AtBeginDocument{\everypar{\everyparhook}} \else \IfFileExists{microtype.sty}{\RequirePackage[protrusion=true,expansion=false]{microtype}}{} \fi\fi %%% \definecolor{linkcolour}{rgb}{0,0.2,0.6} \hypersetup{colorlinks,breaklinks, linkcolor=linkcolour,citecolor=linkcolour, filecolor=linkcolour, urlcolor=linkcolour} \IfFileExists{switcheml.sty} {\RequirePackage{switcheml} \AtBeginDocument{\@ifx@undefined{\typesetemail}{\obfuscateemail}{}}} {\AtBeginDocument{\@ifx@undefined{\typesetemail}{\hyperlinkemail}{}}} \renewcommand\maketitle{\par \ifajt@noabstract\else \@ifx@undefined{\ajt@info@Abstract} {\ClassError{ajt} {Please specify an \string\abstract\space before \string\maketitle} {It is a Asian Journal of TeX requirement to include an abstract. \MessageBreak \MessageBreak If you have exceptional reasons for not having one in this \MessageBreak article, write \string\noabstract\space somewhere before \string\maketitle.}}{} \fi \begingroup \renewcommand\thefootnote{\@fnsymbol\c@footnote}% \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}% \long\def\@makefntext##1{\parindent 1em\noindent \hb@xt@1.8em{% \hss\@textsuperscript{\normalfont\@thefnmark}}##1}% \newpage \global\@topnum\z@ % Prevents figures from going at top of page. \@maketitle \thispagestyle{titlepage}\@thanks \endgroup \setcounter{footnote}{0}% \global\let\thanks\relax \global\let\maketitle\relax \global\let\@maketitle\relax \global\let\title\relax \global\let\author\relax \global\let\date\relax \global\let\and\relax \if@korean\koreanbodyspread\fi \if@ptexjs\ptexjsbodyspread\fi }% \def\@maketitle{% \newpage \null \write@ID@aux\read@issue \begin{flushleft} \let\footnote\thanks \begingroup \LARGE\@title \ifx\@empty\@etitle\else \settowidth\@tempdima{\@title}% \settowidth\@tempdimb{\@etitle}% \advance\@tempdima\@tempdimb \ifdim\@tempdima>\textwidth\\[-0.1\baselineskip]\noindent\thinspace \vtop{% \setlength\hsize{\textwidth-2em}% \normalbodyspread\large\@etitle} \else\enspace {\normalbodyspread\large\@etitle} \fi \fi\par \endgroup \vspace{24pt}% \@tempcnta\z@\loop\ifnum\@tempcnta<\value{num@author}\@makeauthors\repeat \end{flushleft} \ajt@optional@author@info \vspace{12pt} \ajt@info@container{Keywords} \ifajt@noabstract\else \vspace{12pt}% \ajt@info@container{Abstract} \fi \vspace{24pt}} \def\@makeauthors{% \advance\@tempcnta\@ne \def\@author{{\large\csname @author\the\@tempcnta\endcsname}}% \def\@eauthor{{\normalsize\csname @eauthor\the\@tempcnta\endcsname}}% \def\@address{\csname @address\the\@tempcnta\endcsname}% \def\@email{\csname @email\the\@tempcnta\endcsname}% \begin{minipage}[t]{\ifnum\value{num@author}>1 0.5\fi\textwidth} \small \@author \ifx\@empty\@eauthor\else\enspace\@eauthor\fi \\[0.3\baselineskip] \ifx\@empty\@address\else \settowidth\@tempdima{\@address}% \@address \ifdim\@tempdima>0.5\textwidth\\\else\enspace\fi \fi \ifx\@empty\@email\else\typesetemail\@email\fi \end{minipage}\hfill \ifodd\@tempcnta\else\par\vspace{\baselineskip}\fi } \newcounter{num@author}\setcounter{num@author}{0} \renewcommand*{\title}[2][]{\gdef\@etitle{#1}\gdef\@title{#2}} \renewcommand*{\author}[2][]{% \stepcounter{num@author}% \expandafter\gdef\csname @eauthor\thenum@author\endcsname{#1}% \expandafter\gdef\csname @author\thenum@author\endcsname{#2}% } \newcommand*{\address}[1]{% \expandafter\gdef\csname @address\thenum@author\endcsname{#1}% } \newcommand*{\email}[1]{% \expandafter\gdef\csname @email\thenum@author\endcsname{#1}% } \renewcommand\section{\@startsection {section}{1}{\z@}% {\if@ptexjs 3.5ex \@plus 1ex \@minus .2ex\else -3.5ex \@plus -1ex \@minus -.2ex\fi}% {2.5ex \@plus.2ex}% {\normalfont\if@ptexjs\sffamily\fi\bfseries\large\raggedright}} \renewcommand\subsection{\@startsection{subsection}{2}{\z@}% {\if@ptexjs 2.5ex\@plus 1ex \@minus .2ex\else -2.5ex\@plus -1ex \@minus -.2ex\fi}% {1.5ex \@plus .2ex}% {\normalfont\if@ptexjs\sffamily\fi\bfseries\raggedright}} \renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% {\if@ptexjs 2ex\@plus .5ex \@minus .2ex\else -2ex\@plus -.5ex \@minus -.2ex\fi}% {1ex \@plus .2ex}% {\normalfont\normalsize\raggedright}} \renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% {2.5ex \@plus1ex \@minus.2ex}% {-1em}% {\normalfont\normalsize\if@ptexjs\sffamily\else\itshape\fi}} \renewcommand\subparagraph{\@startsection{subparagraph}{5}{\if@ptexjs\z@\else\parindent\fi}% {2.5ex \@plus1ex \@minus .2ex}% {-1em}% {\normalfont\normalsize\if@ptexjs\sffamily\else\itshape\fi}} \let\ajt@itemize\itemize \let\ajt@enditemize\enditemize \let\ajt@enum\enumerate \let\ajt@endenum\endenumerate \let\ajt@desc\description \let\ajt@enddesc\enddescription \renewenvironment{itemize} {\ajt@itemize\parskip0pt}{\ajt@enditemize} \renewenvironment{enumerate} {\ajt@enum\parskip0pt}{\ajt@endenum} \renewenvironment{description} {\ajt@desc\parskip0pt\parindent1.8em}{\ajt@enddesc} \let\itemise\itemize \let\enditemise\enditemize \renewcommand\labelitemi{\normalfont\bfseries\textendash} \renewcommand\labelitemii{\normalfont\bfseries\textperiodcentered} \renewcommand*\descriptionlabel[1]{\hspace\labelsep \normalfont\if@ptexjs\gtfamily\fi\itshape #1} \newlength\captionindent \if@ptexjs \setlength\captionindent{1pc} \setlength\abovecaptionskip{5\p@} \setlength\belowcaptionskip{5\p@} \else \setlength\captionindent{3pc} \setlength\abovecaptionskip{10\p@} \setlength\belowcaptionskip{0\p@} \fi \if@ptexjs \newcommand*\@captionheadfont{\ptexjsinfospread\scshape\small} \newcommand*\@captionfont{\ptexjsinfospread\normalfont\small} \else \newcommand*\@captionheadfont{\scshape} \newcommand*\@captionfont{\normalfont} \fi \long\def\@makecaption#1#2{% \setbox\@tempboxa\vbox{\color@setgroup \advance\hsize-2\captionindent\noindent \@captionfont\@captionheadfont#1\@xp\@ifnotempty\@xp {\@cdr#2\@nil}{.\@captionfont\upshape\enspace#2}% \unskip\kern-2\captionindent\par \global\setbox\@ne\lastbox\color@endgroup}% \ifhbox\@ne % the normal case \setbox\@ne\hbox{\unhbox\@ne\unskip\unskip\unpenalty\unkern}% \fi \ifdim\wd\@tempboxa=\z@ % this means caption will fit on one line \setbox\@ne\hbox to\columnwidth{\hss\kern-2\captionindent\box\@ne\hss}% \else % tempboxa contained more than one line \setbox\@ne\vbox{\unvbox\@tempboxa\parskip\z@skip \noindent\unhbox\@ne\advance\hsize-2\captionindent\par}% \fi \ifnum\@tempcnta<64 % if the float IS a figure... \addvspace\abovecaptionskip \hbox to\hsize{\kern\captionindent\box\@ne\hss}% \else % if the float IS NOT a figure... \hbox to\hsize{\kern\captionindent\box\@ne\hss}% \nobreak \vskip\belowcaptionskip \fi \relax } \renewcommand\@footnotetext[1]{\insert\footins{% \if@korean\linespread{\korean@info@spread}% \else\if@ptexjs\linespread{\ptexjs@info@spread}% \fi\fi\reset@font\footnotesize \interlinepenalty\interfootnotelinepenalty \splittopskip\footnotesep \splitmaxdepth \dp\strutbox \floatingpenalty \@MM \hsize\columnwidth \@parboxrestore \protected@edef\@currentlabel{% \csname p@footnote\endcsname\@thefnmark }% \color@begingroup \@makefntext{% \rule\z@\footnotesep\ignorespaces#1\@finalstrut\strutbox}% \color@endgroup}}% \renewcommand\@makefntext[1]{% \parindent 1.8em% \noindent \hb@xt@1.8em{\hbox{\strut\normalfont\footnotesize\@thefnmark.}\hss}#1} \def\@ifx@empty#1{% Implicit #2#3 \ifx#1\@empty \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi}% \def\@ifx@undefined#1{% Implicit #2#3 \ifx#1\@undefined \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi}% \def\@ifeof#1{% Implicit #2#3 \ifeof#1 \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi}% \def\boolean@true#1{\let#1\@firstoftwo}% \def\boolean@false#1{\let#1\@secondoftwo}% \def\ps@titlepage{% \def\@oddhead{\titlepage@head\hfil}% \let\@evenhead\@oddhead \def\@oddfoot{\hfil\titlepage@foot}% \let\@evenfoot\@oddfoot}% \def\titlepage@head{\footnotesize \parbox{\linewidth}{% \normalbodyspread \@ifx@empty\@AJTissue{For submission to \AJT}{\AJT, \@AJTissue\hfill\raisebox{-\height+.6\baselineskip}[0pt][0pt]{\@KTSlogo}}\par \@ifx@empty\@AJTissue {\@ifx@empty\@AJTrevision{Draft of \today}{Article revision \@AJTrevision}}% {\@ifx@empty\@AJTrevision {\ClassError{ajt} {\string\AJTrevision\space must be defined if \string\AJTissue\space is also} {It is a requirement for PracTeX Journal articles to contain\MessageBreak revision information for version tracking. Please input this\MessageBreak information, or omit \protect\AJTissue.}} {Article revision \@AJTrevision}}}}% \def\titlepage@foot{% \vtop{\raggedleft\footnotesize\@AJTcopyright}}% \def\odd@heading@rule{\makebox[0pt][l]{\rule[-3.5pt]{\textwidth}{0.3pt}}}% \let\even@heading@rule\odd@heading@rule \def\ps@headings{% \def\@oddhead{\odd@heading@rule\small\scshape\@AJTissue\hfil\thepage}% \def\@evenhead{\even@heading@rule\small\scshape\thepage\hfil\AJT}% \let\@oddfoot\@empty \let\@evenfoot\@oddfoot}% \renewcommand{\topfraction}{.85} \renewcommand{\bottomfraction}{.7} \renewcommand{\textfraction}{.15} \renewcommand{\floatpagefraction}{.66} \renewcommand{\dbltopfraction}{.66} \renewcommand{\dblfloatpagefraction}{.66} \setcounter{topnumber}{9} \setcounter{bottomnumber}{9} \setcounter{totalnumber}{20} \setcounter{dbltopnumber}{9} \newcommand\addinfo[2][]{% \ajt@define@info@block[#1]{#2}% \g@addto@macro\ajt@optional@author@info{\ajt@info@container[#1]{#2}}} \newcommand\addinfospace[1]{\g@addto@macro\ajt@optional@author@info{\vspace{#1}}} \newcommand\ajt@define@info@block[2][]{% \lowercase{\expandafter\long\expandafter\def\csname#2\endcsname}% ##1{\expandafter\def\csname ajt@info@#2\endcsname{##1}}} \newcommand\clearinfo{\let\ajt@optional@author@info\@empty} \clearinfo %\addinfo[\typesetemail]{Email} %\addinfo[\url]{Website} %\addinfo[\linespread{0.9}\selectfont]{Address} \ajt@define@info@block{Keywords} \ajt@define@info@block{Abstract} \newif\ifajt@noabstract \newcommand\noabstract{\ajt@noabstracttrue} \def\endabstract{% \ClassError{ajt} {Please input the abstract with \string\abstract{...}, before \string\begin{document}} {Instead of the \string\begin{abstract}...\string\end{abstract} \MessageBreak environment, use \string\abstract{...}. Paragraphs are allowed!\MessageBreak \MessageBreak Because the abstract is typeset with the title block, \MessageBreak it must be input before the \string\begin{document}\space command.}} \newcommand{\AJTissue}[3]{\gdef\@AJTissue{Volume #1, No.\thinspace #2, #3}}% \newcommand{\AJTpage}[1]{\setcounter{page}{#1}}% \newcommand{\AJTlang}[1]{\gdef\@AJTlang{#1}}% \newcommand{\AJTrevision}[3]{\gdef\@AJTrevision{#1/#2/#3}}% \newcommand{\AJTcopyright}[1]{\gdef\@AJTcopyright{#1}}% \def\logo@setup#1{% \IfFileExists{#1} {\def\@KTSlogo{\includegraphics[height=12mm]{#1}}} {\let\@KTSlogo\@empty}}% \ifx\@dvi@driver\dps@driver \logo@setup{KTS-logo.eps} \else \logo@setup{KTS-logo.pdf} \fi \let\@AJTissue\@empty \let\@AJTrevision\@empty \let\@AJTcopyright\@empty \let\license\AJTcopyright \newcommand\ajt@info@container[2][]{% \lowercase{\expandafter\gdef\csname#2\endcsname}% {\ClassError{ajt}{#2 must be defined BEFORE \string\maketitle}{}} \expandafter\ifx\csname ajt@info@#2\endcsname\relax\else \noindent\small \begin{minipage}[t]{0.12\textwidth} \noindent\rmfamily\scshape#2\hfill \end{minipage}\hfill \begin{minipage}[t]{0.85\textwidth} \linespread{% \if@korabstract\korean@info@spread% \else\if@ptexjsabstract\ptexjs@info@spread% \else\normal@info@spread\fi\fi}% \selectfont \setlength\parindent{1.8em}% \noindent\ignorespaces \expandafter#1\expandafter{\csname ajt@info@#2\endcsname} \end{minipage}\par \fi} \newcommand\obfuscateemail{% \def\typesetemail##1{\ttfamily\switchemail{##1}}} \newcommand\hyperlinkemail{% \def\typesetemail##1{\ttfamily\ajt@compose@mailto{##1}{Re: AJT article}{##1}}} \newcommand\ajt@compose@mailto[3]{% \edef\@tempa{mailto:#1?subject=#2 }% \edef\@tempb{\expandafter\html@spaces\@tempa\@empty}% \href{\@tempb}{#3}} \catcode`\%=11 \def\html@spaces#1 #2{#1%20\ifx#2\@empty\else\expandafter\html@spaces\fi#2} \catcode`\%=14 \newcommand\note[1]{\unskip\footnote{#1}} \DeclareRobustCommand\dash{% \unskip\nobreak\thinspace\textemdash\thinspace\ignorespaces} %\pdfstringdefDisableCommands{\renewcommand{\dash}{ - }} \newcommand\ctanfile[1]{% \href{http://www.ctan.org/get?fn=/#1} {\path{CTAN:#1}}} \newcommand\ctanloc[1]{% \href{http://www.ctan.org/tex-archive/#1} {\path{CTAN:#1}}} \ifx\@dvi@driver\xtx@driver\else % not XeTeX \DeclareTextSymbol{\textbackslash}{OT1}{`\\} \DeclareTextSymbol{\textbraceleft}{OT1}{`\{} \DeclareTextSymbol{\textbraceright}{OT1}{`\}} \fi \newcommand\cs[1]{% \texttt{\textbackslash#1}} \DeclareRobustCommand\TeX{T\kern-.15em\lower.5ex\hbox{E}\kern-.07em X\spacefactor1000\relax} \DeclareRobustCommand\eTeX{\ensuremath{\varepsilon}-\kern-.125em\TeX} \DeclareRobustCommand\LaTeX{L\kern-.32em\raise.37ex\hbox{\scalebox{0.76}{A}}\kern-.15em\TeX} \DeclareRobustCommand\LaTeXe{\LaTeX2$_{\textstyle\varepsilon}$} \DeclareRobustCommand\kotex{\textsf{k}\textit{o}\kern-1.5pt\lower.15ex\hbox{.}\kern-1pt\TeX} \DeclareRobustCommand\BibTeX{B{\textsc i\kern-.025em\textsc b}\kern-.08em\TeX} \DeclareRobustCommand\logofamily{% \not@math@alphabet\logofamily\relax \fontencoding{U}\fontfamily{logo}\selectfont} \DeclareTextFontCommand{\textlogo}{\logofamily} \DeclareRobustCommand\MF{\textlogo{META}\@dischyph\textlogo{FONT}\@} \DeclareRobustCommand\MP{\textlogo{META}\@dischyph\textlogo{POST}\@} \DeclareRobustCommand\ConTeXt{C\kern-.03em on\-\kern-.10em\TeX\kern-0.04em t}% \DeclareRobustCommand\pdfTeX{pdf\/\TeX} \DeclareRobustCommand\pdfeTeX{pdf\/\eTeX} \DeclareRobustCommand\pdfLaTeX{pdf\/\LaTeX} \DeclareRobustCommand\PS{PostScript} \DeclareRobustCommand\PracTeX{Prac\kern-0.07em\TeX} \DeclareRobustCommand\pTeX{p\kern-0.05em\TeX} \DeclareRobustCommand\AJT{The Asian Journal of \TeX} \DeclareRobustCommand\XeTeX{% X\lower.5ex\hbox{\kern-.07em\reflectbox{E}}% \kern-.15em\TeX} \DeclareRobustCommand\ExTeX{\textrm{\relax \ensuremath{\textstyle\varepsilon_{\kern-0.15em\mathcal{X}}}\relax \kern-.15em\TeX}} \def\write@ID@aux{% \@ifx@empty\@AJTrevision{}{% \begingroup \let\thanks\@gobble \immediate\openout\ID@aux _rev.tex \immediate\write\ID@aux{\@AJTrevision}% \immediate\closeout\ID@aux \endgroup }% }% \newwrite\ID@aux \def\read@issue{% \openin\@inputcheck _iss.tex \@ifeof\@inputcheck{} {\ifx\@AJTissue\@empty\else \typeout{---------^^J ajt: \protect\AJTissue\space info overwritten due to _iss.tex file^^J ---------} \fi \read\@inputcheck to\@AJTissue \closein\@inputcheck \expandafter\parse@iss\@AJTissue\@nil}} \def\parse@iss AJT #1 No #2, #3-#4-#5\@nil{% \@tempcnta#2\relax \protected@xdef\@AJTissue{\AJT, #1, No.\thinspace\the\@tempcnta}} \def\set@pdfpage{% \ifx\@dvi@driver\tpd@driver \@ifx@undefined\pdfoutput{}{% \pdfpagewidth =\paperwidth \pdfpageheight=\paperheight \relax}% \else \special{papersize=\the\paperwidth,\the\paperheight}% \fi} \AtBeginDocument{\if@print\else\set@pdfpage\fi} \let\thebibliography@ltx\thebibliography \let\endthebibliography@ltx\endthebibliography \renewenvironment{thebibliography}[1] {\if@korean\normalbodyspread\renewcommand{\refname}{참고 문헌}% \else\if@ptexjs\ptexjsinfospread\renewcommand{\refname}{参考文献}% \fi\fi% \thebibliography@ltx{#1}\setlength{\itemsep}{0pt}\small} {\endthebibliography@ltx} \renewcommand\@biblabel[1]{#1.} \def\head@setup#1{% \IfFileExists{#1} {\def\@AJThead{\includegraphics[width=.25\textwidth]{#1}}} {\let\@AJThead\@empty}}% \ifx\@dvi@driver\dps@driver \head@setup{AJT-head.eps} \else \head@setup{AJT-head.pdf} \fi \newcommand*\putAJThead[1]{% \raisebox{-\textheight-3em}[0pt][0pt]{% \makebox[0pt][l]{\hspace*{-3em}\@AJThead}% }% } \if@print \renewcommand\cleardoublepage{\clearpage\if@twoside\ifodd\c@page\else \pagestyle{empty}\noindent\putAJThead\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi} \else \let\cleardoublepage\relax \fi \pagestyle{headings} \endinput %% %% End of file `ajt.cls'.