📄 diss.sty
字号:
\fi \fi}% Print editor(s) if and as appropriate.\def\editor@ref{% \if T\using@IEEE \if T\iseditor@AmS \ppunbox@AmS\editorbox@AmS, Ed.\setpunct@AmS \fi \if T\iseditors@AmS \ppunbox@AmS\editorsbox@AmS, Eds.\setpunct@AmS \fi \else \if T\iseditor@AmS \ppunbox@AmS\editorbox@AmS\ (ed.)\setpunct@AmS \fi \fi}% This routine prints the date in the JACM format\def\date@JACM{% \if T\isyr@AmS \/\ (% \if T\ismon@AmS \unhbox\monbox@AmS\unskip, \fi \unhbox\yrbox@AmS\unskip)\setpunct@AmS \else \if T\ismon@AmS \ppunbox@AmS\monbox@AmS\setpunct@AmS \fi \fi}% This prints the date in the IEEE format.\def\date@IEEE{% \if T\isyr@AmS \prepunct@AmS \if T\ismon@AmS \unhbox\monbox@AmS\unskip\a@comma \fi \unhbox\yrbox@AmS\unskip\setpunct@AmS \else \if T\ismon@AmS \ppunbox@AmS\monbox@AmS\setpunct@AmS \fi \fi}% This version produces JACM format references.\def\endref@JACM{% \endref@startup \if T\refi@AmS \hbox to \key@size{\cite@font [\unhbox\keybox@AmS\unskip]\hfil}% \hangindent=\key@size \if T\isby@AmS \unhcopy\bybox@AmS\unskip \def\prepunct@AmS{\hskip7\p@ plus5\p@\relax}% \setbox\z@=\hbox{\unhbox\bybox@AmS\unskip}% \dimen@=\wd\z@ % We want \dimen0=max(\wd0, 2in) \ifdim\dimen@>2in \dimen@=2in \fi \setbox\bysamebox@AmS=\hbox{\hbox to\dimen@{\leaders\hrule\hfill.}}% \else \if T\isbysame@AmS \unhcopy\bysamebox@AmS\unskip \def\prepunct@AmS{\hskip7\p@ plus5\p@\relax}% \fi \fi \fi \if T\ispaper@AmS \ppunbox@AmS\paperbox@AmS\def\prepunct@AmS{. }% \fi \if T\ispaperinfo@AmS \ppunbox@AmS\paperinfobox@AmS\def\prepunct@AmS{. }% \fi \if T\isjour@AmS \ppunbox@AmS\jourbox@AmS\setpunct@AmS \editor@ref \if T\isjourinfo@AmS \ppunbox@AmS\jourinfobox@AmS\setpunct@AmS \fi \if T\isvol@AmS \ \unhbox\volbox@AmS\unskip \fi \if T\isissue@AmS \ppunbox@AmS\issuebox@AmS\setpunct@AmS \fi \date@JACM \if T\istoappear@AmS \ (to appear)\setpunct@AmS \fi \if T\ispages@AmS \ppunbox@AmS\pagesbox@AmS\setpunct@AmS \fi \if T\ispage@AmS \prepunct@AmS p.~\unhbox\pagesbox@AmS\unskip\setpunct@AmS \fi \fi \endref@finishup\date@JACM}% This version produces IEEE format references.\def\endref@IEEE{% \endref@startup \if T\refi@AmS \hbox to \key@size{\cite@font [\unhbox\keybox@AmS\unskip]\hfil}% \hangindent=\key@size \if T\isby@AmS \unhcopy\bybox@AmS\unskip\setpunct@AmS \setbox\z@=\hbox{\unhbox\bybox@AmS\unskip}% \dimen@=\wd\z@ % We want \dimen0=max(\wd0, 2in) \ifdim\dimen@>2in \dimen@=2in \fi \setbox\bysamebox@AmS=\hbox{\hbox to\dimen@{\leaders\hrule\hfill}}% \else \if T\isbysame@AmS \unhcopy\bysamebox@AmS\unskip\setpunct@AmS \fi \fi \fi \if T\ispaper@AmS \prepunct@AmS``\unhbox\paperbox@AmS\unskip,'' \let\prepunct@AmS=\empty \fi \if T\ispaperinfo@AmS \ppunbox@AmS\paperinfobox@AmS\def\prepunct@AmS{, }% \fi \if T\isjour@AmS \ppunbox@AmS\jourbox@AmS\setpunct@AmS \editor@ref \if T\isjourinfo@AmS \ppunbox@AmS\jourinfobox@AmS\setpunct@AmS \fi \if T\isvol@AmS \prepunct@AmS vol.~\unhbox\volbox@AmS\unskip\setpunct@AmS \fi \if T\isissue@AmS \prepunct@AmS no.~\unhbox\issuebox@AmS\unskip\setpunct@AmS \fi \if T\istoappear@AmS \ (to appear)\setpunct@AmS \fi \if T\ispages@AmS \prepunct@AmS pp.~\unhbox\pagesbox@AmS\unskip\setpunct@AmS \fi \if T\ispage@AmS \prepunct@AmS p.~\unhbox\pagesbox@AmS\unskip\setpunct@AmS \fi \if T\ispubladdr@AmS \ppunbox@AmS\publaddrbox@AmS \if T\ispubl@AmS \def\prepunct@AmS{: }\else\setpunct@AmS\fi \fi \if T\ispubl@AmS \ppunbox@AmS\publbox@AmS\setpunct@AmS \fi \let\ispubl@AmS=F\let\ispubladdr@AmS=F% For finishup routine \date@IEEE \fi \endref@finishup\date@IEEE}% By default, we use JACM format references\let\endref@AmS=\endref@JACM% But it's possible to get the other format\def\IEEE{% \gdef\using@IEEE{T}% Now we're using IEEE format. \let\editors=\ieee@editors \let\endref@AmS=\endref@IEEE \refdef@AmS\vol{}% Vol not printed in slanted any more. \global\let\appearing@in=\empty % Don't say that in IEEE format. \let\volume=\vol \let\book@font=\twelveit % Book and journal titles in this font. \oktell{IEEE Bibliography Style}%}% References Dump\newwrite\dump@file\catcode`\{=12 \catcode`\}=12 \catcode`\%=12 \catcode`\[=1 \catcode`\]=2\def\ref@open[{]\def\ref@close[}]\def\ref@comment[%]\catcode`\{=1 \catcode`\}=2 \catcode`\%=14 \catcode`\[=12 \catcode`\]=12\def\refdump{% \vfill\supereject \begingroup \content\reftitle \tell{Dumping \reftitle\space to refdump.tex}% \immediate\openout\dump@file=refdump \immediate\write\dump@file{% \noexpand\catcode`\noexpand\@=11 ^^J% \noexpand\let\noexpand\content=\noexpand\eat@AmS^^J% \noexpand\pageno=\the\pageno^^J% \noexpand\def\noexpand\ref@set\ref@open\ref@comment }% \def\\##1{\immediate\write\dump@file{ \noexpand\\{##1}\ref@comment}}% \ref@set \immediate\write\dump@file{% \ref@close^^J% }% \immediate\closeout\dump@file \endgroup}%%%%%%%%%%%%%%%%%%%%% OUTPUT CONTROL %%%%%%%%%%%%%%%%%%%%%% Control for informational messages. Default is \verbose mode.\newif\iftell@all\let\verbose=\tell@alltrue\let\quiet=\tell@allfalse\verbose\def\oktell#1{\iftell@all\tell{#1}\fi}\def\okmessage#1{\iftell@all\message{#1}\fi}% Chapter macro parameters\newcount\chapterno\chapterno=\z@ % Number of current chapter\newif\ifnumber@chapters\number@chapterstrue % By default, number the chapters\def\nochapternumbers{% \number@chaptersfalse \oktell{No Chapter Numbers mode}%}% Same thing for sections, subsections, etc\newcount\sectno \sectno=\@ne\newcount\subsectno \subsectno=\@ne\newcount\subsubsectno \subsubsectno=\@ne\newif\ifnumber@sections\def\numbersections{% \number@sectionstrue \oktell{Section Numbers mode}%}%%%%%%%%%%%%%%%%%%%%%%%%%%%% OUTPUT CONTROL MACROS %%%%%%%%%%%%%%%%%%%%%%%%%%%%% Center, left justify, right justify -- avoid exceeding margins\def\centerline#1{\line{\hfill#1\hfill}}\def\leftline#1{\line{#1\hfill}}\def\rightline#1{\line{\hfill#1}}\def\threepart#1#2#3{\line{\hskip\leftskip\rlap{#1}\hfill#2\hfill \llap{#3}\hskip\rightskip}}% End of the main body of the document\let\enddiss=\bye% Summary Information\outer\def\showsummary{% \begingroup \def\note##1##2##3##4{% \count@=##1 \advance\count@ by##3 \ifcase\count@ \message{No ##2s##4}\or \message{1 ##2##4}\else \message{\the\count@\space ##2s##4}\fi }% \note\fignumber{figure}{-1}{,}% \note\tablenumber{table}{-1}{,}% \note\note@count{footnote}{-1}{,}% \cardinality\ref@set\to\count@ \note\count@{citation}{0}{.}% \endgroup}% Real version of ragged right margins\def\raggedright{% \rightskip=\z@ plus 2em \oktell{Raggedright mode}%}% Disallow hyphenation -- a very dangerous thing\def\nohyphens{% \hyphenpenalty=\@M\tolerance=500\pretolerance=\@M \oktell{Nohyphens mode}%}% Allow capitalized words to be hyphenated\def\hyphenall{% \uchyph=\@ne \oktell{Hyphenating all words}%}% Handle a long quotation in a standard way\def\bigquote#1\endbigquote{% \par \vskip \baselineskip \vskip -\parskip { \advance\rightskip by30\p@ \advance\leftskip by30\p@ \smallertype \singlespace \let\\=\newline \noindent\llap{``}\ignorespaces#1\unskip''\par }% End of singlespacing and special indentation \vskip \baselineskip \vskip -\parskip}%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CHAPTERS, SECTIONS, FIGURES, TABLES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% What to do at the beginning of a chapter\def\chapter#1\endchapter{ \chapter@base #1\endchapter \oktell{Chapter \number\chapterno: #1} \content{Chapter \number\chapterno: #1}}% This boolean controls whether chapters are made to start only on% odd pages.\newif\ifoddpages\oddpagesfalse\def\twosided{% This is the ``official'' command \oddpagestrue \oktell{Twosided mode}%}% The guts of the \chapter command. \chapter==\chapter@base when% in \articlestyle.\def\chapter@base#1\endchapter{ \par \clearpage % Clean up from prev chapter \ifoddpages % Make sure start on even page. \ifodd\pageno \relax \else \null\vfill\eject \fi \fi \pageno@foot % Page #ing special for chap pages \advance\chapterno by\@ne \ifnumber@chapters \centerline{\chap@font CHAPTER \number\chapterno}% Do heading \fi \sectno=\z@ \subsectno=\z@ \subsubsectno=\z@ {\let\\=\cr \tabskip=\z@ \chap@font % Center the chapter title \halign to\hsize{\centerline{\ignorespaces##\unskip}\cr#1\cr} } \nobreak % Shouldn't happen anyway \vskip 1.0in minus 0.15in}% What to do at the beginning of a section\outer\def\section{\dosection}\def\dosection#1{% \skip@=\lastskip % \par resets \lastskip, apparently \par % This junk trys to provide consistent spacing \dimen@=\baselineskip \ifdim\skip@<\dimen@ \ifdim\skip@=\z@ \penalty-200 \fi \vskip \dimen@ plus .5\baselineskip \fi \ifnumber@sections \advance\sectno by\@ne \subsectno=\z@ \subsubsectno=\z@ \leftline{\sec@font\number\sectno. #1} \else \leftline{\sec@font#1} \fi \subcontent{#1} \sanetell{ Section: #1} \nobreak \vskip \z@ plus .15\baselineskip \vskip -\parskip}% And for sub-sections\outer\def\subsection{\dosubsection}\def\dosubsection#1{% \skip@=\lastskip \par \dimen@=.6\baselineskip \ifdim\skip@<\dimen@ \ifdim\skip@=\z@ \penalty-100 \fi \vskip \dimen@ plus .3\baselineskip \fi \ifnumber@sections \advance\subsectno by\@ne \subsubsectno=\z@ \leftline{\subsec@font\number\sectno.\number\subsectno. #1} \else \leftline{\subsec@font#1} \fi \subsubcontent{#1} \sanetell{ \\Subsection: #1} \nobreak \vskip \z@ plus .1\baselineskip \vskip -\parskip}% And for sub-sub-sections\outer\def\subsubsection{\dosubsubsection}\def\dosubsubsection#1{% \skip@=\lastskip \par \dimen@=.5\baselineskip \ifdim\skip@<\dimen@ \ifdim\skip@=\z@ \penalty-50 \fi \vskip \dimen@ plus .3\baselineskip \fi \ifnumber@sections \advance\subsubsectno by\@ne \leftline{\subsubsec@font\number\sectno.\number\subsectno .\number\subsubsectno. #1} \else \leftline{\subsubsec@font#1} \fi \subsubsubcontent{#1} \sanetell{ \\\\Subsubsection: #1} \nobreak \vskip -\parskip
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -