📄 diss.sty
字号:
% UCI Dissertation Style for AmSTeX.% @(#)$Id: diss.sty,v 1.3 1990/04/05 15:20:23 sources Exp $% Tim Morgan with many suggestions, bug fixes, etc, from Marshall Rose% Based originally on Michael Spivak's AMSPPT.STY.% When edits are made to this file, the version number should be incremented.\def\version{103}\let\fmtversion=\version % These two control sequences are defined\def\fmtname{dissertation} % in plain.tex, so we do it here too.% Assumes the following hidden definitions from plain.tex:% \z@ is defined from plain.tex as 0pt (and magically can% be used as the integer constant 0 also).% \p@ is the same, but 1pt% \@ne is 1% \m@ne is -1% \tw@ is 2% \thr@@ is 3% \@m is 1000% \@M is 10000% And the following scratch register definitions:% \dimen@ is \dimendef'd to be \dimen0% \skip@ is \skipdef'd to be \skip0% \count@ is \count255\catcode`\@=11 % So we can use a special character%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PARAMETERS DIFFERENT THAN IN PLAIN %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% These are words which TeX doesn't hyphenate perfectly.% Unfortunately, the plural forms must be included also.\hyphenation{com-put-er com-mun ap-pen-dix cart-wheel data-base Dijk-stra}\hyphenation{in-fra-struc-ture man-u-script mi-cro-fiche para-mil-i-tary}\hyphenation{post-am-ble pre-am-ble sub-scrib-er wave-guide sub-scrib-ers}\hyphenation{com-put-ers cart-wheels data-bases in-fra-struc-tures}\hyphenation{man-u-scripts mi-cro-fiches post-am-bles pre-am-bles}\hyphenation{buf-fer buf-fers des-ig-na-ted par-a-graph par-a-graphs}\hyphenation{key-stroke key-strokes usu-al-ly}\def\normal@topskip{0.48cm}\topskip=\normal@topskip % For correct page positioning, do NOT\hoffset=0.5in % change any of these values!!!\voffset=0.07cm\hsize=15.2cm\vsize=22.2cm\normallineskiplimit=\p@ % Min. dist. btw. lines.\parindent=1cm % Normal indentation.\hfuzz=0.115\p@ % So we hear fewer complaints. Good up to\vfuzz=0.115\p@ % 300 dpi.\pretolerance=200 % At 12pt, these margins are kind of narrow\tolerance=300 % so we have to be more tolerant.\clubpenalty=\@M % Never allow these.\widowpenalty=\@M\newlinechar=`\^^J % For writing output to tty.\uchyph=\z@ % Don't take any chances.\brokenpenalty=\@M % Never hyphenate last line on a page.\newcount\defaultinterlinepenalty % This probably won't make any\defaultinterlinepenalty=\thr@@ % difference, so why not??\interlinepenalty=\defaultinterlinepenalty%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PARAMETERS DIFFERENT from AmSTeX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\TagsOnRight % Set tags like a sane person does%%%%%%%%%%%%%%%%%%%%%%%%% EXTRA FONTS NEEDED %%%%%%%%%%%%%%%%%%%%%%%%%\newif\ifolddigits\olddigitsfalse % Allow use of amcscod10 for citations\def\useolddigits{% \olddigitstrue \oktell{Old Digits Mode}%}\font\sixrm=cmr6 \font\sixbf=cmbx6\font\sixi=cmmi6 \skewchar\sixi='177\font\sixsy=cmsy6 \skewchar\sixsy='60\font\eightrm=cmr8 \font\eightsl=cmsl8 \font\eightit=cmti8\font\eightsy=cmsy8 \skewchar\eightsy='60\skewchar\eightsy='60 \font\eightbf=cmbx8\font\eightex=cmex10 at 8\p@\font\eighti=cmmi8 \skewchar\eighti='177\font\ninerm=cmr9 \font\nineit=cmti9\font\ninei=cmmi9 \skewchar\ninei='177\font\ninesy=cmsy9 \skewchar\ninesy='60\font\ninesl=cmsl9 \font\ninebf=cmbx9\font\twelvecsc=cmcsc10 scaled \magstep1\font\tencsc=cmcsc10\font\eightcsc=cmcsc10 at 8\p@\font\elevencsc=cmcsc10 scaled \magstephalf\font\ninecsc=cmcsc10 at 9\p@\let\tencscod=\tencsc\let\eightcscod=\eightcsc\font\eightsf=cmss10 at 8\p@\font\tensf=cmss10\font\twelvesf=cmss10 at 12\p@\font\twelvett=cmtt10 scaled \magstep1\font\eighttt=cmtt10 at 8\p@ % \tentt is predefined in plain.tex\font\twelvebti=cmbti at 12\p@\font\tenbti=cmbti\font\eightbti=cmbti at 8\p@\font\twelveex=cmex10 scaled \magstep1 \font\twelverm=cmr10 scaled \magstep1\font\twelvesl=cmsl10 scaled \magstep1 \font\twelvebf=cmbx10 scaled \magstep1\font\twelvei=cmmi10 scaled \magstep1 \skewchar\twelvei='177\font\twelvesy=cmsy10 scaled \magstep1 \skewchar\twelvesy='60\font\twelveit=cmti10 scaled \magstep1\font\twelvechap@font=cmssbx10 at 14\p@\font\twelvesec@font=cmss10 at 13\p@\font\twelvesubsec@font=cmssi10 scaled \magstep1\font\tenchap@font=cmssbx10 scaled \magstep1\font\tensec@font=cmssbx10 scaled \magstephalf\font\tensubsec@font=cmssi10\font\eightchap@font=cmssbx10\font\eightsec@font=cmss10 at 9\p@\font\eightsubsec@font=cmssqi8% Font selection\newcount\font@no\def\curfont{\ifcase\font@no\rm\or\it\or\sl\or\bf\or\tt\or\csc\or\bti\or\sf \else\errmessage{Internal font confusion}\fi}%%%%%%%%%%%%%%%%%%%%%% SPACING CONTROL %%%%%%%%%%%%%%%%%%%%%%\newskip\normalabovedisplayskip\newskip\normalbelowdisplayskip\newskip\normalabovedisplayshortskip\newskip\normalbelowdisplayshortskip\newdimen\normalparskip \normalparskip=22.5\p@\newdimen\parstretch \parstretch=8\p@\newif\ifsinglespacing % Tells if we are currently in single space mode\newif\ifhalfspacing % Special version of singlespacing, a little bigger.% Actually tell TeX what spacing is wanted\def\setbaselines{% \baselineskip=\normalbaselineskip \abovedisplayskip=\normalabovedisplayskip \belowdisplayskip=\normalbelowdisplayskip \abovedisplayshortskip=\normalabovedisplayshortskip \belowdisplayshortskip=\normalbelowdisplayshortskip % Compute \parskip for even paragraph spacing at all pt sizes \dimen@=\normalparskip \advance\dimen@ by -\normalbaselineskip \parskip=\dimen@ plus\parstretch}% Go from double to single spacing\def\reducespacing{% \normalbaselineskip=0.64\normalbaselineskip \normalabovedisplayskip=0.64\normalabovedisplayskip \normalbelowdisplayskip=0.64\normalbelowdisplayskip \normalabovedisplayshortskip=0.64\normalabovedisplayshortskip \normalbelowdisplayshortskip=0.64\normalbelowdisplayshortskip}% Set halfspacing baseline etc starting from singlespacing mode\def\sethalfspacing{% \normalbaselineskip=1.28125\normalbaselineskip \abovedisplayskip=1.28125\abovedisplayskip \belowdisplayskip=1.28125\belowdisplayskip \abovedisplayshortskip=1.28125\abovedisplayshortskip \belowdisplayshortskip=1.28125\belowdisplayshortskip}% Go to single spacing if we're not there already\def\singlespace{% \normalspacing \reducespacing \halfspacingfalse \singlespacingtrue \setbaselines}% Go to 1-1/2 spacing.\def\halfspace{% \normalspacing \reducespacing \sethalfspacing \singlespacingtrue \halfspacingtrue \setbaselines}% Go to normal, doublespacing mode\def\doublespace{% \normalspacing \singlespacingfalse \halfspacingfalse \setbaselines}% Make sure we're doing the spacing we're supposed to be.\def\setspacing{% \normalspacing \ifsinglespacing \reducespacing \ifhalfspacing \sethalfspacing \fi \fi \setbaselines}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FOUR DIFFERENT POINT SIZES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\def\twelvepoint{% \def\big@@AmS{10.2\p@}% \def\Big@@AmS{13.8\p@}% \def\bigg@@AmS{17.4\p@}% \def\Bigg@@AmS{21.0\p@}% \let\smallertype=\tenpoint \let\curtype=\twelvepoint \def\biggertype{\errmessage{No larger point size available}}% \def\normalspacing{% \normalbaselineskip=22.8\p@ \normalabovedisplayskip=14.5\p@ plus 3\p@ minus 9\p@ \normalbelowdisplayskip=14.5\p@ plus 3\p@ minus 9\p@ \normalabovedisplayshortskip=\z@ plus 4\p@ \normalbelowdisplayshortskip=9\p@ plus 4\p@ minus 5\p@ }% \def\rm{\font@no=0\fam\z@\twelverm}% \def\it{\font@no=1\fam\itfam\twelveit}% \def\sl{\font@no=2\fam\slfam\twelvesl}% \def\bf{\font@no=3\fam\bffam\twelvebf}% \def\tt{\font@no=4\fam\ttfam\twelvett \spaceskip.5em plus.25em minus.15em }% \def\csc{\font@no=5\twelvecsc}% \def\bti{\font@no=6\twelvebti}% \def\sf{\font@no=7\twelvesf}% \let\sc=\csc \ifolddigits \let\cite@font=\tencscod \else \let\cite@font=\elevencsc \fi \textfont\z@=\twelverm \scriptfont\z@=\ninerm \scriptscriptfont\z@=\sixrm \textfont\@ne=\twelvei \scriptfont\@ne=\ninei \scriptscriptfont\@ne=\sixi \textfont\tw@=\twelvesy \scriptfont\tw@=\ninesy \scriptscriptfont\tw@=\sixsy \textfont\thr@@=\twelveex \scriptfont\thr@@=\twelveex \scriptscriptfont\thr@@=\twelveex \textfont\itfam=\twelveit \textfont\slfam=\twelvesl \textfont\ttfam=\twelvett \textfont\bffam=\twelvebf \scriptfont\bffam=\ninebf \scriptscriptfont\bffam=\sixbf \let\chap@font=\twelvechap@font \let\sec@font=\twelvesec@font \let\subsec@font=\twelvesubsec@font \let\subsubsec@font=\twelvebf \def\oldstyle{\fam1\twelvei}% \setspacing \curfont \ifundefined{everypointsize}\else\everypointsize{twelve}{12}\fi}\def\tenpoint{% \def\big@@AmS{8.5\p@}% \def\Big@@AmS{11.5\p@}% \def\bigg@@AmS{14.5\p@}% \def\Bigg@@AmS{17.5\p@}% \let\smallertype=\eightpoint \let\curtype=\tenpoint \let\biggertype=\twelvepoint \def\normalspacing{% \normalbaselineskip=18.9\p@ \normalabovedisplayskip=12\p@ plus 3\p@ minus 9\p@ \normalbelowdisplayskip=12\p@ plus 3\p@ minus 9\p@ \normalabovedisplayshortskip=\z@ plus 3\p@ \normalbelowdisplayshortskip=7\p@ plus 3\p@ minus 4\p@ }% \def\rm{\font@no=0\fam\z@\tenrm}% \def\it{\font@no=1\fam\itfam\tenit}% \def\sl{\font@no=2\fam\slfam\tensl}% \def\bf{\font@no=3\fam\bffam\tenbf}% \def\tt{\font@no=4\fam\ttfam\tentt \spaceskip.5em plus.25em minus.15em }% \def\csc{\font@no=5\tencsc} \def\bti{\font@no=6\tenbti}% \def\sf{\font@no=7\tensf}% \let\sc=\csc \ifolddigits \let\cite@font=\eightcscod \else \let\cite@font=\ninecsc \fi \textfont\z@=\tenrm \scriptfont\z@=\sevenrm \scriptscriptfont\z@=\fiverm \textfont\@ne=\teni \scriptfont\@ne=\seveni \scriptscriptfont\@ne=\fivei \textfont\tw@=\tensy \scriptfont\tw@=\sevensy \scriptscriptfont\tw@=\fivesy \textfont\thr@@=\tenex \scriptfont\thr@@=\tenex \scriptscriptfont\thr@@=\tenex \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\ttfam=\tentt \textfont\bffam=\tenbf \scriptfont\bffam=\sevenbf \scriptscriptfont\bffam=\fivebf \let\chap@font=\tenchap@font \let\sec@font=\tensec@font \let\subsec@font=\tensubsec@font \let\subsubsec@font=\tenbf \def\oldstyle{\fam1\teni}% \setspacing \curfont \ifundefined{everypointsize}\else\everypointsize{ten}{10}\fi}\def\eightpoint{% \def\big@@AmS{6.8\p@}% \def\Big@@AmS{9.2\p@}% \def\bigg@@AmS{11.6\p@}% \def\Bigg@@AmS{14.0\p@}% \def\smallertype{\errmessage{No smaller point size available}}% \let\curtype=\eightpoint \let\biggertype=\tenpoint \def\normalspacing{% \normalbaselineskip=15\p@ \normalabovedisplayskip=10\p@ plus 2.4\p@ minus 7.2\p@ \normalbelowdisplayskip=10\p@ plus 2.4\p@ minus 7.2\p@ \normalabovedisplayshortskip=\z@ plus 2.4\p@ \normalbelowdisplayshortskip=55.6\p@ plus 2.4\p@ minus 3.2\p@ }% \def\rm{\font@no=0\fam\z@\eightrm}% \def\it{\font@no=1\fam\itfam\eightit}% \def\sl{\font@no=2\fam\slfam\eightsl}% \def\bf{\font@no=3\fam\bffam\eightbf}% \def\tt{\font@no=4\fam\ttfam\eighttt \spaceskip.5em plus.25em minus.15em }% \def\csc{\font@no=5\eightcsc}% \def\bti{\font@no=6\eightbti}% \def\sf{\font@no=7\eightsf}% \let\sc=\csc \def\cite@font{\errmessage{You may not do citations in 8 point}} \textfont\z@=\eightrm \scriptfont\z@=\sixrm \scriptscriptfont\z@=\fiverm \textfont\@ne=\eighti \scriptfont\@ne=\sixi \scriptscriptfont\@ne=\fivei \textfont\tw@=\eightsy \scriptfont\tw@=\sixsy \scriptscriptfont\tw@=\fivesy \textfont\thr@@=\eightex \scriptfont\thr@@=\eightex \scriptscriptfont\thr@@=\eightex \textfont\itfam=\eightit \textfont\slfam=\eightsl \textfont\ttfam=\eighttt \textfont\bffam=\eightbf \scriptfont\bffam=\sixbf \scriptscriptfont\bffam=\fivebf \let\chap@font=\eightchap@font \let\sec@font=\eightsec@font \let\subsec@font=\eightsubsec@font \let\subsubsec@font=\eightbf \def\oldstyle{\fam1\eighti}% \setspacing \curfont \ifundefined{everypointsize}\else\everypointsize{eight}{10}\fi}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TABLE of CONTENTS Macros %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% This set of macros allows you to build a table of contents for a document% automatically in TeX. There are only three control sequences which you% will need to use. The first is \inicont, which initializes the macros.% This package works by writing the appropriate lines into a file called% \jobname.toc in your account. This file is read by \printcontents or% by \printcont in PRINT-PRELIM.TEX.%\newwrite\cont@file % Get a free channel to write to\newif\ifcont@closed\cont@closedtrue % Haven't opened contents file yet\newwrite\fig@file\newwrite\tab@file\newif\iffig@closed\fig@closedtrue % Or the list of figures file\newif\iftab@closed\tab@closedtrue % Or the tables file\def\contitle{\jobname.toc} % Default name of contents file\def\figtitle{\jobname.lof} % ditto for figures file\def\tabtitle{\jobname.lot} % ditto for tables file% Make sure the contents file is open before writing to it\def\opencontfile{% \ifcont@closed \immediate\openout\cont@file=\contitle \cont@closedfalse \fi}%% This control sequence adds its argument to the table of contents.%\def\content#1{% \opencontfile \let\\=\space \write\cont@file{\string\Z{#1}{\the\pageno}}%}%% This control sequence is the same as \content except that the first% box written will have two leading spaces to indent it.%\def\subcontent#1{% \opencontfile \let\\=\space \write\cont@file{\string\Z{\string\hskip \parindent{}#1}{\the\pageno}}%}% And the same thing for sub-sections\def\subsubcontent#1{% \opencontfile \let\\=\space \write\cont@file{\string\Z{\string\hskip 2\parindent{}#1}{\the\pageno}}%}% And the same thing for sub-sub-sections\def\subsubsubcontent#1{%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -