diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3a09957 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*.log +*.dvi + diff --git a/.latexmkrc b/.latexmkrc new file mode 100644 index 0000000..c4eeb3f --- /dev/null +++ b/.latexmkrc @@ -0,0 +1,10 @@ +# コンパイル&PDF生成 を継続するときのSHELLコマンド +# $ latexmk -pdfdvi -pvc main (main.tex からコンパイルするとき) +$latex = 'uplatex -synctex=1 %O %S'; +$bibtex = 'upbibtex %O %B'; +$dvipdf = 'dvipdfmx %O -o %D %S'; +$makeindex = 'mendex %O -o %D %S'; +$max_repeat = 10; + +# クリーンアップするときのSHELLコマンド +# $ latexmk -C \ No newline at end of file diff --git a/fancyhdr.sty b/fancyhdr.sty new file mode 100644 index 0000000..f7acf98 --- /dev/null +++ b/fancyhdr.sty @@ -0,0 +1,548 @@ +% fancyhdr.sty version 3.8 +% Fancy headers and footers for LaTeX. +% Piet van Oostrum, +% [Formerly] Dept of Computer and Information Sciences, University of Utrecht, +% Email: piet@vanoostrum.org +% WWW: http://www.pietvanoostrum.com +% ======================================================================== +% 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. +% +% Mar 10, 2002 +% version 2.1beta +% New command: \fancyhfoffset[place]{length} +% defines offsets to be applied to the header/footer to let it stick into +% the margins (if length > 0). +% place is like in fancyhead, except that only E,O,L,R can be used. +% This replaces the old calculation based on \headwidth and the marginpar +% area. +% \headwidth will be dynamically calculated in the headers/footers when +% this is used. +% +% Mar 26, 2002 +% version 2.1beta2 +% \fancyhfoffset now also takes h,f as possible letters in the argument to +% allow the header and footer widths to be different. +% New commands \fancyheadoffset and \fancyfootoffset added comparable to +% \fancyhead and \fancyfoot. +% Errormessages and warnings have been made more informative. +% +% Dec 9, 2002 +% version 2.1 +% The defaults for \footrulewidth, \plainheadrulewidth and +% \plainfootrulewidth are changed from \z@skip to 0pt. In this way when +% someone inadvertantly uses \setlength to change any of these, the value +% of \z@skip will not be changed, rather an errormessage will be given. + +% March 3, 2004 +% Release of version 3.0 + +% Oct 7, 2004 +% version 3.1 +% Added '\endlinechar=13' to \fancy@reset to prevent problems with +% includegraphics in header when verbatiminput is active. + +% March 22, 2005 +% version 3.2 +% reset \everypar (the real one) in \fancy@reset because spanish.ldf does +% strange things with \everypar between << and >>. + +% Aug 20, 2016 +% version 3.3 +% Replace `\@ifundefined{chapter}' with `\ifx\chapter\@undefined' +% because the former subtly make \chapter equal to \relax, which may be +% undesirable in some cases. + +% Aug 21, 2016 +% version 3.4 +% Replace \rm by \normalfont\rmfamily +% and \sl by \normalfont\slshape + +% Aug 21, 2016 +% version 3.5 +% Don't define \footruleskip if it is already defined + +% Aug. 27, 2016 +% version 3.6 +% Added a \ProvidesPackage line. +% Updated contact information. + +% Aug. 28, 2016 +% version 3.7 +% Removed \normalfont from default values, as every field is already +% initialised with \normalfont. +% Set \hsize to \headwidth in header/footer. + +% Sept. 6, 2016 +% version 3.8 +% Reset \\, \raggedleft, \raggedright and \centering to their default values +% to avoid a clash with the tabu package. +% Move the redefinition of \@makecol to \begin{document} to avoid a clash +% with the footmisc package (and maybe others) +% Define a working \iffootnote command + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\NeedsTeXFormat{LaTeX2e}[1995/06/01]% +\ProvidesPackage{fancyhdr}[2016/09/06 3.8 Extensive control of page headers and footers]% + +\def\ifancy@mpty#1{\def\temp@a{#1}\ifx\temp@a\@empty} + +\def\fancy@def#1#2{\ifancy@mpty{#2}\fancy@gbl\def#1{\leavevmode}\else + \fancy@gbl\def#1{#2\strut}\fi} + +\let\fancy@gbl\global + +\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\fancyhead h}% + {\f@ncyhf\fancyhead h[]}} +\newcommand{\fancyfoot}{\@ifnextchar[{\f@ncyhf\fancyfoot f}% + {\f@ncyhf\fancyfoot f[]}} +\newcommand{\fancyhf}{\@ifnextchar[{\f@ncyhf\fancyhf{}}% + {\f@ncyhf\fancyhf{}[]}} + +% New commands for offsets added + +\newcommand{\fancyheadoffset}{\@ifnextchar[{\f@ncyhfoffs\fancyheadoffset h}% + {\f@ncyhfoffs\fancyheadoffset h[]}} +\newcommand{\fancyfootoffset}{\@ifnextchar[{\f@ncyhfoffs\fancyfootoffset f}% + {\f@ncyhfoffs\fancyfootoffset f[]}} +\newcommand{\fancyhfoffset}{\@ifnextchar[{\f@ncyhfoffs\fancyhfoffset{}}% + {\f@ncyhfoffs\fancyhfoffset{}[]}} + +% The header and footer fields are stored in command sequences with +% names of the form: \f@ncy with for [eo], from [lcr] +% and from [hf]. + +\def\f@ncyhf#1#2[#3]#4{% + \def\temp@c{}% + \@forc\tmpf@ra{#3}% + {\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 \string#1 argument: + [#3]}% + \fi + \f@nfor\temp@c{#3}% + {\def@ult\f@@@eo{eo}\temp@c + \if@twoside\else + \if\f@@@eo e\@fancywarning + {\string#1's `E' option without twoside option is useless}\fi\fi + \def@ult\f@@@lcr{lcr}\temp@c + \def@ult\f@@@hf{hf}{#2\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 + {#4}}}}}} + +\def\f@ncyhfoffs#1#2[#3]#4{% + \def\temp@c{}% + \@forc\tmpf@ra{#3}% + {\expandafter\if@in\tmpf@ra{eolrhf,EOLRHF}% + {}{\edef\temp@c{\temp@c\tmpf@ra}}}% + \ifx\@empty\temp@c\else + \@fancyerrmsg{Illegal char `\temp@c' in \string#1 argument: + [#3]}% + \fi + \f@nfor\temp@c{#3}% + {\def@ult\f@@@eo{eo}\temp@c + \if@twoside\else + \if\f@@@eo e\@fancywarning + {\string#1's `E' option without twoside option is useless}\fi\fi + \def@ult\f@@@lcr{lr}\temp@c + \def@ult\f@@@hf{hf}{#2\temp@c}% + \@forc\f@@eo\f@@@eo + {\@forc\f@@lcr\f@@@lcr + {\@forc\f@@hf\f@@@hf + {\expandafter\setlength\csname + f@ncyO@\f@@eo\f@@lcr\f@@hf\endcsname + {#4}}}}}% + \fancy@setoffs} + +% 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}} + +\newlength{\fancy@headwidth} +\let\headwidth\fancy@headwidth +\newlength{\f@ncyO@elh} +\newlength{\f@ncyO@erh} +\newlength{\f@ncyO@olh} +\newlength{\f@ncyO@orh} +\newlength{\f@ncyO@elf} +\newlength{\f@ncyO@erf} +\newlength{\f@ncyO@olf} +\newlength{\f@ncyO@orf} +\newcommand{\headrulewidth}{0.4pt} +\newcommand{\footrulewidth}{0pt} +%% Memoir also define \footruleskip. +%% Don't define \footruleskip if it is already defined +\@ifundefined{footruleskip}{\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}{0pt} +\newcommand{\plainfootrulewidth}{0pt} +\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. +% \set \hsize to \headwidth (helps for multicol) +% reset \\ \raggedleft \raggedright and \centering to their default values (for tabu) +\let\fnch@raggedleft\raggedleft +\let\fnch@raggedright\raggedright +\let\fnch@centering\centering +\let\fnch@everypar\everypar% save real \everypar because of spanish.ldf + +\def\fancy@reset{\fnch@everypar{}\restorecr\endlinechar=13 + \let\\\@normalcr + \let\raggedleft\fnch@raggedleft + \let\raggedright\fnch@raggedright + \let\centering\fnch@centering + \def\baselinestretch{1}% + \hsize=\headwidth + \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{}{\slshape\rightmark}} + \fancyhead[er,ol]{\fancyplain{}{\slshape\leftmark}} +\else + \fancyhead[l]{\fancyplain{}{\slshape\rightmark}} + \fancyhead[r]{\fancyplain{}{\slshape\leftmark}} + %\fancyhead[l]{\fancyplain{}{\footnotesize\leftmark}} + %\fancyhead[r]{\fancyplain{}{\footnotesize\rightmark}} +\fi +\fancyfoot[c]{\rmfamily\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#1): ^^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. LEFTSIDE BEARING % This determines at which side the header will stick +% out. When \fancyhfoffset is used this calculates \headwidth, otherwise +% it is \hss or \relax (after expansion). +% 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. RIGHTSIDE BEARING. This is always \relax or \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}}{}% +\ifx\chapter\@undefined +\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}}% +\else +\def\chaptermark##1{\markboth {\MakeUppercase{\ifnum \c@secnumdepth>\m@ne + \@chapapp\thechapter\@chappos \ \fi ##1}}{}}% +\def\sectionmark##1{\markright{\MakeUppercase{\ifnum \c@secnumdepth >\z@ + \thesection. \fi ##1}}}% +\fi +%\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\fancy@Oolh\f@ncyolh\f@ncyoch\f@ncyorh\fancy@Oorh}% +\def\@oddfoot{\@fancyfoot\fancy@Oolf\f@ncyolf\f@ncyocf\f@ncyorf\fancy@Oorf}% +\def\@evenhead{\@fancyhead\fancy@Oelh\f@ncyelh\f@ncyech\f@ncyerh\fancy@Oerh}% +\def\@evenfoot{\@fancyfoot\fancy@Oelf\f@ncyelf\f@ncyecf\f@ncyerf\fancy@Oerf}% +} +% Default definitions for compatibility mode: +% These cause the header/footer to take the defined \headwidth as width +% And to shift in the direction of the marginpar area + +\def\fancy@Oolh{\if@reversemargin\hss\else\relax\fi} +\def\fancy@Oorh{\if@reversemargin\relax\else\hss\fi} +\let\fancy@Oelh\fancy@Oorh +\let\fancy@Oerh\fancy@Oolh + +\let\fancy@Oolf\fancy@Oolh +\let\fancy@Oorf\fancy@Oorh +\let\fancy@Oelf\fancy@Oelh +\let\fancy@Oerf\fancy@Oerh + +% New definitions for the use of \fancyhfoffset +% These calculate the \headwidth from \textwidth and the specified offsets. + +\def\fancy@offsolh{\headwidth=\textwidth\advance\headwidth\f@ncyO@olh + \advance\headwidth\f@ncyO@orh\hskip-\f@ncyO@olh} +\def\fancy@offselh{\headwidth=\textwidth\advance\headwidth\f@ncyO@elh + \advance\headwidth\f@ncyO@erh\hskip-\f@ncyO@elh} + +\def\fancy@offsolf{\headwidth=\textwidth\advance\headwidth\f@ncyO@olf + \advance\headwidth\f@ncyO@orf\hskip-\f@ncyO@olf} +\def\fancy@offself{\headwidth=\textwidth\advance\headwidth\f@ncyO@elf + \advance\headwidth\f@ncyO@erf\hskip-\f@ncyO@elf} + +\def\fancy@setoffs{% +% Just in case \let\headwidth\textwidth was used + \fancy@gbl\let\headwidth\fancy@headwidth + \fancy@gbl\let\fancy@Oolh\fancy@offsolh + \fancy@gbl\let\fancy@Oelh\fancy@offselh + \fancy@gbl\let\fancy@Oorh\hss + \fancy@gbl\let\fancy@Oerh\hss + \fancy@gbl\let\fancy@Oolf\fancy@offsolf + \fancy@gbl\let\fancy@Oelf\fancy@offself + \fancy@gbl\let\fancy@Oorf\hss + \fancy@gbl\let\fancy@Oerf\hss} + +% Redefine \@makecol so that we can capture if there are top/bottom floats, footnotes +% or if we are on a float page. +% Because of a clash with the footmisc package we do this at \begin{document}} + +\newif\iffnch@footnote +\AtBeginDocument{% +\let\latex@makecol\@makecol +\def\@makecol{\ifvoid\footins\fnch@footnotefalse\else\fnch@footnotetrue\fi +\let\topfloat\@toplist\let\botfloat\@botlist\latex@makecol}% +} +\newcommand\iftopfloat[2]{\ifx\topfloat\empty #2\else #1\fi}% +\newcommand\ifbotfloat[2]{\ifx\botfloat\empty #2\else #1\fi}% +\newcommand\iffloatpage[2]{\if@fcolmade #1\else #2\fi}% +\newcommand\iffootnote[2]{\iffnch@footnote #1\else #2\fi}% + +\newcommand{\fancypagestyle}[2]{% + \@namedef{ps@#1}{\let\fancy@gbl\relax#2\relax\ps@fancy}} diff --git a/fig/test.eps b/fig/test.eps new file mode 100644 index 0000000..84627fe --- /dev/null +++ b/fig/test.eps Binary files differ diff --git a/icsthesis.bst b/icsthesis.bst new file mode 100644 index 0000000..8c86a69 --- /dev/null +++ b/icsthesis.bst @@ -0,0 +1,2055 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% 情報通信システム工学科 卒業論文 文献スタイルファイル(令和元年度版) +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + month + note + number + organization + pages + publisher + school + series + title + type + url + volume + year + yomi + } + { is.kanji.entry } + { label } + + +INTEGERS { output.state before.all mid.sentence after.sentence after.block +after.author title.true comma.before.date misc.bool} + + +FUNCTION {not} +{ + { #0 } + { #1 } + if$ +} + + +FUNCTION {and} +{ + 'skip$ + { pop$ #0 } + if$ +} + + +FUNCTION {or} +{ + { pop$ #1 } + 'skip$ + if$ +} + + +FUNCTION {init.state.consts} +{ + #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := + #4 'after.author := + + #0 'title.true := + #0 'comma.before.date := + #0 'misc.bool := +} + + +STRINGS { s t } + + +FUNCTION {add.kanji.period} +{ + add.period$ duplicate$ + #-1 #1 substring$ "." = + { #-2 global.max$ substring$ "." * } + 'skip$ + if$ +} + + +FUNCTION {field.or.null} +{ + duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + + +FUNCTION {output.nonnull} +{ + 's := + output.state mid.sentence = + { + #0 title.true = + { + title empty$ + { + is.kanji.entry + { "," * write$ newline$ } + { ", " * write$ newline$ } + if$ + } + { + title is.kanji.str$ + { "," * write$ newline$ } + { ", " * write$ newline$ } + if$ + } + if$ + } + { + " " * write$ newline$ + #0 'title.true := + #1 'comma.before.date := + } + if$ + } + { + output.state after.block = + { + title empty$ + { + is.kanji.entry + { add.kanji.period write$ } + { add.period$ write$ } + if$ + } + { + title is.kanji.str$ + { add.kanji.period write$ } + { add.period$ write$ } + if$ + } + if$ + newline$ + "\newblock " write$ + } + { + output.state after.author = + { + author empty$ editor empty$ and organization empty$ and + {write$} + { + title empty$ misc.bool #0 = and + { + author field.or.null is.kanji.str$ + editor field.or.null is.kanji.str$ or + organization field.or.null is.kanji.str$ or + { "" * write$ newline$ } + { " " * write$ newline$ } + if$ + } + { + author field.or.null is.kanji.str$ + editor field.or.null is.kanji.str$ or + organization field.or.null is.kanji.str$ or + { "," * write$ newline$ } + { ", " * write$ newline$ } + if$ + } + if$ + } + if$ + mid.sentence 'output.state := + } + { + write$ + #0 'comma.before.date := + } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + + +FUNCTION {output} +{ + duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + + +FUNCTION {output.check} +{ + 't := + duplicate$ empty$ + { + pop$ "empty " t * " in " * cite$ * warning$ + t "title" = + { + is.kanji.entry + {",``\textbullet\textbullet,\<'' " *} + {", ``\textbullet\textbullet,'' " *} + if$ + #1 'comma.before.date := + } + { + t "author" = + { + title empty$ + { + "\textbullet\textbullet" * + } + { + title is.kanji.str$ + {"\textbullet\textbullet," *} + {"\textbullet\textbullet, " *} + if$ + } + if$ + } + { + title is.kanji.str$ + {" \textbullet\textbullet," *} + {" \textbullet\textbullet, " *} + if$ + } + if$ + } + if$ + } + 'output.nonnull + if$ +} + + +FUNCTION {output.bibitem} +{ + newline$ + "\bibitem{" write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + + +FUNCTION {format.series} +{ + series empty$ not + { + series + } + { + "" + } + if$ +} + + +FUNCTION {format.url} +{ + url empty$ + { + "" * + } + { + " " * url * + } + if$ +} + + +FUNCTION {fin.entry} +{ + title empty$ + { + is.kanji.entry + { add.kanji.period } + { add.period$ } + if$ + } + { + title is.kanji.str$ + { add.kanji.period } + { add.period$ } + if$ + } + if$ + format.url + write$ + newline$ +} + + +FUNCTION {new.block} +{ + output.state before.all = + { after.author 'output.state := } + 'skip$ + if$ +} + + +FUNCTION {new.sentence} +{ + output.state after.block = + 'skip$ + { + output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + + +FUNCTION {new.block.checka} +{ + empty$ + 'skip$ + 'new.block + if$ +} + + +FUNCTION {new.block.checkb} +{ + empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + + +FUNCTION {new.sentence.checka} +{ + empty$ + 'skip$ + 'new.sentence + if$ +} + + +FUNCTION {new.sentence.checkb} +{ + empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + + +FUNCTION {emphasize} +{ + duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + + +INTEGERS { nameptr namesleft numnames hyphen string.count period zenkaku kuhaku} + + +STRINGS { u n } + + +FUNCTION {format.names} +{ + 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + #0 'zenkaku := + + { namesleft #0 > } + { + s nameptr "{ff}{ll}" format.name$ is.kanji.str$ + { + #0 'string.count := + s nameptr "{ff}" format.name$ 't := + t empty$ + { + s nameptr "{ll}" format.name$ 't := + } + { + s nameptr "{ff}{ll}" format.name$ 'u := + { u empty$ not } + { + u #3 global.max$ substring$ 'u := + string.count #1 + 'string.count := + } + while$ + + string.count #3 > + { + s nameptr "{ff}{ll}" format.name$ 't := + } + { + s nameptr "{ff}" format.name$ + "\hskip1zw" * + s nameptr "{ll}" format.name$ * + 't := + } + if$ + } + if$ + } + { + "" 'u := + s nameptr "{ff}{vv}{ll}{,jj}" format.name$ 'n := + + { n empty$ not } + { + n #1 #1 substring$ is.kanji.str$ + { + u n #1 #2 substring$ * 'u := + n #3 global.max$ substring$ 'n := + + zenkaku #0 = + { + "欧文著者名に全角文字が使われています in " cite$ * warning$ + #1 'zenkaku := + } + {} + if$ + } + { + n #1 #2 substring$ " -" = + { + u n #2 #1 substring$ * 'u := + n #3 global.max$ substring$ 'n := + } + { + u n #1 #1 substring$ * 'u := + n #2 global.max$ substring$ 'n := + } + if$ + } + if$ + } + while$ + + #0 'hyphen := + #0 'period := + #0 'kuhaku := + "" 't := + + { u empty$ not } + { + u #1 #1 substring$ "." = + { + #1 'period := + } + { + u #1 #1 substring$ "-" = + { + #1 'hyphen := + } + { + u #1 #1 substring$ " " = + u #1 #1 substring$ "~" = or + { + #1 'kuhaku := + } + { + skip$ + } + if$ + } + if$ + } + if$ + u #2 global.max$ substring$ 'u := + } + while$ + + hyphen #1 = + { + s nameptr "{f. }" format.name$ 'u := + } + { + period #1 = + kuhaku #0 = and + { + s nameptr "{ff}" format.name$ 'u := + } + { + s nameptr "{f{.}. }" format.name$ 'u := + } + if$ + } + if$ + + { u empty$ not} + { + u #1 #1 substring$ " " = + u #1 #1 substring$ "~" = or + { + skip$ + } + { + t u #1 #1 substring$ * 't := + } + if$ + u #2 global.max$ substring$ 'u := + } + while$ + + t " " * s nameptr "{vv}{ll}{, jj}" format.name$ * 't := + } + if$ + + nameptr #1 > + { + namesleft #1 > + { + is.kanji.entry + { "," * t * } + { ", " * t * } + if$ + } + { + t " others" = + { + s is.kanji.str$ + { "他" * } + { ", et~al." * } + if$ + } + { + s is.kanji.str$ + { "," * t * } + { + numnames #2 = + { " and " * t * } + { ", and " * t * } + if$ + } + if$ + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + + +FUNCTION {format.authors} +{ + author empty$ + { "" } + { author format.names } + if$ +} + + +FUNCTION {format.editors} +{ + editor empty$ + { "" } + { + editor format.names + editor num.names$ #1 > + { + editor is.kanji.str$ + { "(編)\<" * } + { ", eds." * } + if$ + } + { + editor is.kanji.str$ + { "(編)\<" * } + { ", ed." * } + if$ + } + if$ + } + if$ +} + + +FUNCTION {format.in.ed.editors} +{ + editor empty$ + { "" } + { + editor format.names + editor num.names$ #1 > + { + editor is.kanji.str$ + {"(編)\<" *} + {"eds.\ by " swap$ * } + if$ + } + { + editor is.kanji.str$ + {"(編)\<" *} + {"ed.\ by " swap$ *} + if$ + } + if$ + } + if$ +} + + +FUNCTION {format.string} +{ + 't := + "" + { t empty$ not} + { + t #1 #1 substring$ "." = + { + t #1 #2 substring$ ". " = not + { + t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + { + ".\ " * + t #3 global.max$ substring$ 't := + } + if$ + } + { + t #1 #1 substring$ is.kanji.str$ + { + t #1 #2 substring$ * + t #3 global.max$ substring$ 't := + } + { + t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + if$ + } + while$ +} + + +FUNCTION {format.journal} +{ + journal empty$ + { + "" + } + { + journal format.string + } + if$ +} + + +FUNCTION {format.title} +{ + after.author 'output.state := + #1 'title.true := + title empty$ + { + "" + #0 'title.true := + } + { + "``" title "t" change.case$ * + #0 misc.bool = + { + title empty$ + { + is.kanji.entry + {",\<''" * } + {",''" * } + if$ + } + { + title is.kanji.str$ + {",\<''" * } + {",''" * } + if$ + } + if$ + } + { + howpublished empty$ + month empty$ and + year empty$ and + { "''" *} + { ",''" *} + if$ + } + if$ + } + if$ +} + + +FUNCTION {n.dashify} +{ + 't := + "" + { t empty$ not } + { + t #1 #1 substring$ "-" = + { + t #1 #2 substring$ "--" = not + { + "--" * + t #2 global.max$ substring$ 't := + } + { + { t #1 #1 substring$ "-" = } + { + "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { + t #1 #1 substring$ " " = + { + "" * + t #2 global.max$ substring$ 't := + } + { + t #1 #1 substring$ is.kanji.str$ + { + t #1 #2 substring$ * + t #3 global.max$ substring$ 't := + } + { + t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + if$ + } + if$ + } + while$ +} + + +FUNCTION {format.month} +{ + comma.before.date #1 = + { + title empty$ + { + is.kanji.entry + {","} + {", "} + if$ + } + { + title is.kanji.str$ + {","} + {", "} + if$ + } + if$ + } + { + " " + } + if$ + + month "Jan" = + month "January" = + month "1" = + or or + { "Jan.\" * } + { + month "Feb" = + month "February" = + month "2" = + or or + { "Feb.\" * } + { + month "Mar" = + month "March" = + month "3" = + or or + { "March" * } + { + month "Apr" = + month "April" = + month "4" = + or or + { "April" * } + { + month "May" = + month "5" = + or + { "May" * } + { + month "Jun" = + month "June" = + month "6" = + or or + { "June" * } + { + month "Jul" = + month "July" = + month "7" = + or or + { "July" * } + { + month "Aug" = + month "August" = + month "8" = + or or + { "Aug.\" * } + { + month "Sep" = + month "Sept" = + month "September" = + month "9" = + or or or + { "Sept.\" * } + { + month "Oct" = + month "October" = + month "10" = + or or + { "Oct.\" * } + { + month "Nov" = + month "November" = + month "11" = + or or + { "Nov.\" * } + { + month "Dec" = + month "December" = + month "12" = + or or + { "Dec.\" * } + { month * } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ +} + + +FUNCTION {format.date} +{ + before.all 'output.state := + year empty$ + { + #1 misc.bool = + { "" #0 'misc.bool :=} + { + "there's no year in " cite$ * warning$ + month empty$ + { + comma.before.date #1 = + { + title empty$ + { + is.kanji.entry + {",\textbullet\textbullet"} + {", \textbullet\textbullet"} + if$ + } + { + title is.kanji.str$ + {",\textbullet\textbullet"} + {", \textbullet\textbullet"} + if$ + } + if$ + } + {"\textbullet\textbullet"} + if$ + } + { + format.month " \textbullet\textbullet" * + } + if$ + } + if$ + } + { + month empty$ + { + comma.before.date #1 = + { + title empty$ + { + is.kanji.entry + {"," year * } + {", " year * } + if$ + } + { + title is.kanji.str$ + {"," year * } + {", " year * } + if$ + } + if$ + } + { + " " year * + } + if$ + } + { format.month " " * year * } + if$ + } + if$ +} + + +FUNCTION {format.btitle} +{ + after.author 'output.state := + #1 'title.true := + "``" title "t" change.case$ * + title empty$ + { + is.kanji.entry + { ",\<''" * } + { ",''" * } + if$ + } + { + title is.kanji.str$ + { ",\<''" * } + { ",''" * } + if$ + } + if$ +} + + +FUNCTION {format.book.title} +{ + after.author 'output.state := + #1 'title.true := + title empty$ + {""} + { + title + title empty$ + { + is.kanji.entry + { "," * } + { ", " * } + if$ + } + { + title is.kanji.str$ + { "," * } + { ", " * } + if$ + } + if$ + } + if$ +} + + +FUNCTION {tie.or.space.connect} +{ + duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + + +FUNCTION {either.or.check} +{ + empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + + +FUNCTION {format.bvolume} +{ + volume empty$ + { "" } + { + volume is.kanji.str$ + { volume } + { + is.kanji.entry + { "第" volume * "巻" * } + { "vol." volume * } + if$ + } + if$ + "volume and number" number either.or.check + } + if$ +} + + +FUNCTION {format.number.series} +{ + volume empty$ + { + number empty$ + { "" } + { + number is.kanji.str$ + { number } + {"no." number * } + if$ + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { + "" * + } + if$ + } + if$ + } + { "" } + if$ +} + + +FUNCTION {format.edition} +{ + edition empty$ + { "" } + { + edition is.kanji.str$ + { edition } + { + is.kanji.entry + { "第" edition * "版" *} + { + output.state mid.sentence = + { edition "l" change.case$ " edition" * } + { edition "t" change.case$ " edition" * } + if$ + } + if$ + } + if$ + } + if$ +} + + +INTEGERS { multiresult } + + +FUNCTION {multi.page.check} +{ + 't := + #0 'multiresult := + { + multiresult not + t empty$ not + and + } + { + t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + + +FUNCTION {format.pages} +{ + pages empty$ + { "pp.\textbullet\textbullet--\textbullet\textbullet" } +% {""} + { + pages multi.page.check + { "pp." pages n.dashify * } + { "p." pages * } + if$ + } + if$ +} + + +FUNCTION {format.vol.num.pages} +{ + volume empty$ + {""} + { + volume is.kanji.str$ + { + volume + } + { + "vol." volume * + } + if$ + + number empty$ + { + pages empty$ + { + "" * + } + { + is.kanji.entry + { "," * } + { ", " * } + if$ + } + if$ + } + { + title empty$ + { + is.kanji.entry + { "," * } + { ", " * } + if$ + } + { + title is.kanji.str$ + { "," * } + { ", " * } + if$ + } + if$ + } + if$ + } + if$ + + number empty$ + 'skip$ + { + volume empty$ + { "there's a number but no volume in " cite$ * warning$ + "vol.\textbullet\textbullet, " * + } + 'skip$ + if$ + + number is.kanji.str$ + { number * } + { "no." number * * } + if$ +% volume empty$ +% { "there's a number but no volume in " cite$ * warning$ } +% 'skip$ +% if$ + } + if$ + pages empty$ + %'skip$ + { + volume empty$ + number empty$ and + { + "pp.\textbullet\textbullet--\textbullet\textbullet" * + } + { + is.kanji.entry + { "," * } + { ", " * } + if$ + "pp.\textbullet\textbullet--\textbullet\textbullet" * + } + if$ + } + { + duplicate$ empty$ + { pop$ format.pages } + { + number empty$ + { format.pages * } + { + title empty$ + { + is.kanji.entry + { "," * format.pages * } + { ", " * format.pages * } + if$ + } + { + title is.kanji.str$ + { "," * format.pages * } + { ", " * format.pages * } + if$ + } + if$ + } + if$ + } + if$ + } + if$ +} + + +FUNCTION {format.chapter.pages} +{ + chapter empty$ + 'format.pages + { + type empty$ + { + chapter is.kanji.str$ + { "" } + { + is.kanji.entry + { "章" } + { "chapter" } + if$ + } + if$ + } + { type "l" change.case$ } + if$ + chapter is.kanji.str$ not is.kanji.entry and + { "第" chapter * swap$ * } + { + chapter is.kanji.str$ + { chapter * } + { chapter tie.or.space.connect } + if$ + } + if$ + pages empty$ + 'skip$ + { + title empty$ + { + is.kanji.entry + { "," * format.pages * } + { ", " * format.pages * } + if$ + } + { + is.kanji.entry + { "," * format.pages * } + { ", " * format.pages * } + if$ + } + if$ + } + if$ + } + if$ +} + + +FUNCTION {format.in.ed.booktitle} +{ + booktitle empty$ + { "" } + { + editor empty$ + { booktitle format.string } + { booktitle format.string + title empty$ + { + is.kanji.entry + { "," * format.in.ed.editors * } + { ", " * format.in.ed.editors * } + if$ + } + { + title is.kanji.str$ + { "," * format.in.ed.editors * } + { ", " * format.in.ed.editors * } + if$ + } + if$ + } + if$ + } + if$ +} + + +FUNCTION {empty.misc.check} +{ + author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ url empty$ + and and and and and and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + + +FUNCTION {format.thesis.type} +{ + type empty$ + 'skip$ + { + pop$ + type "t" change.case$ + } + if$ +} + + +FUNCTION {format.tr.number} +{ + type empty$ + { "Technical Report" } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + + +FUNCTION {format.article.crossref} +{ + key empty$ + { + journal empty$ + { + "need key or journal for " cite$ * " to crossref " * crossref * warning$ + "" + } + { + is.kanji.entry + { " " journal * } + { " " journal * } + if$ + } + if$ + } + { + title is.kanji.str$ + { " " key * } + { "in " key * } + if$ + } + if$ + " \cite{" * crossref * "}" * +} + + +FUNCTION {format.crossref.editor} +{ + editor is.kanji.str$ + { + editor #1 "{ff}{ll}" format.name$ duplicate$ empty$ + { pop$ editor #1 "{ll}" format.name$ } + 'skip$ + if$ + } + { editor #1 "{f. }{vv~}{ll}{ , jj}" format.name$ } + if$ + editor num.names$ duplicate$ #2 > + { + editor is.kanji.str$ + { pop$ "他" * } + { pop$ ", et~al." * } + if$ + } + { + #2 < + 'skip$ + { + editor #2 "{f. }{vv }{ll}{, jj}" format.name$ "others" = + { + editor is.kanji.str$ + { "他" * } + { ", et~al." * } + if$ + } + { + editor is.kanji.str$ + { + ", " * + editor #2 "{ff}" format.name$ duplicate$ empty$ + { pop$ editor #2 "{ll}" format.name$ } + 'skip$ + if$ + * + } + { " and " * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ + } + if$ +} + + +FUNCTION {format.book.crossref} +{ + volume empty$ + { + "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + title is.kanji.str$ + {" "} + {"in "} + if$ + } + { + volume is.kanji.str$ + { volume } + { + is.kanji.entry + { "第" volume * "巻" * } + { "vol." volume tie.or.space.connect " of " * } + if$ + } + if$ + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { + key empty$ + { + series empty$ + { + "need editor, key, or series for " cite$ * " to crossref " * crossref * warning$ + "" * + } + { + series is.kanji.str$ + { series ", " * swap$ * } + { series * } + if$ + } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + + +FUNCTION {format.incoll.inproc.crossref} +{ + editor empty$ + editor field.or.null author field.or.null = + or + { + key empty$ + { + booktitle empty$ + { + "need editor, key, or booktitle for " cite$ * " to crossref " * crossref * warning$ + "" + } + { + booktitle is.kanji.str$ + { booktitle format.string } + { booktitle format.string } + if$ + } + if$ + } + { "in " key * } + if$ + } + { + title is.kanji.str$ + { " " format.crossref.editor * } + { "in " format.crossref.editor * } + if$ + } + if$ + " \cite{" * crossref * "}" * +} + + +FUNCTION {article} +{ + output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { + format.journal "journal" output.check + format.vol.num.pages output + format.date "year" output.check + } + { + format.article.crossref output.nonnull + format.pages output + } + if$ + after.block 'output.state := + new.block + note output + fin.entry +} + + +FUNCTION {book} +{ + output.bibitem + author empty$ + { + editor empty$ + { + "\textbullet\textbullet, " * + "" "empty author and editor in " * cite$ * warning$ + } + { format.editors output} + if$ + } + { format.authors output } + if$ + format.book.title "title" output.check + editor empty$ + 'skip$ + { + author empty$ + 'skip$ + { format.editors output } + if$ + } + if$ + crossref missing$ + { + format.bvolume output + new.block + format.number.series output + new.block + format.edition output + format.series output + publisher "publisher" output.check + address output + } + { + new.block + format.book.crossref output.nonnull + } + if$ + crossref missing$ + { "" * } + { format.edition output } + if$ + format.date "year" output.check + after.block 'output.state := + new.block + note output + fin.entry +} + + +FUNCTION {booklet} +{ + output.bibitem + format.authors output + new.block + format.title "title" output.check + howpublished address new.block.checkb + howpublished output + address output + format.date output + after.block 'output.state := + new.block + note output + fin.entry +} + + +FUNCTION {inbook} +{ + output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { + format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { + format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.block + format.series output + publisher "publisher" output.check + address output + } + { + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + after.block 'output.state := + new.block + note output + fin.entry +} + + +FUNCTION {incollection} +{ + output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { + format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + new.block + format.chapter.pages output + format.series output + publisher "publisher" output.check + address output + format.edition output + format.date "year" output.check + } + { + format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + after.block 'output.state := + new.block + note output + fin.entry +} + + +FUNCTION {inproceedings} +{ + output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { + format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + new.block + address empty$ + { + organization publisher new.sentence.checkb + new.block + organization output + mid.sentence 'output.state := + new.block + format.pages output + format.series output + publisher output + format.date "year" output.check + } + { + new.block + organization output + mid.sentence 'output.state := + new.block + format.pages output + format.series output + publisher output + address output.nonnull + format.date "year" output.check + } + if$ + } + { + format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + after.block 'output.state := + new.block + note output + fin.entry +} + + +FUNCTION {conference} { inproceedings } + + +FUNCTION {manual} +{ + output.bibitem + author empty$ + { + organization empty$ + 'skip$ + { + organization output.nonnull + address output + } + if$ + } + { format.authors output.nonnull } + if$ + new.block + format.btitle "title" output.check + author empty$ + { + organization empty$ + { + address new.block.checka + address output + } + 'skip$ + if$ + } + { + organization address new.block.checkb + organization output + address output + } + if$ + format.edition output + format.date output + after.block 'output.state := + new.block + note output + fin.entry +} + + +FUNCTION {mastersthesis} +{ + output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + "Master's thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + after.block 'output.state := + new.block + note output + fin.entry +} + + +FUNCTION {misc} +{ + #1 'misc.bool := + output.bibitem + format.authors output + title howpublished new.block.checkb + format.title output + howpublished new.block.checka + howpublished output + format.date output + after.block 'output.state := + new.block + note output + fin.entry + empty.misc.check +} + + +FUNCTION {phdthesis} +{ + output.bibitem + format.authors "author" output.check + new.block + format.btitle "title" output.check + new.block + "PhD thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + after.block 'output.state := + new.block + note output + fin.entry +} + + +FUNCTION {proceedings} +{ + output.bibitem + editor empty$ + { organization output } + { format.editors output.nonnull } + if$ + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + format.series output + address empty$ + { + editor empty$ + { publisher new.sentence.checka } + { + organization publisher new.sentence.checkb + organization output + } + if$ + publisher output + format.date "year" output.check + after.block 'output.state := + } + { + address output.nonnull + new.block + editor empty$ + 'skip$ + { organization output } + if$ + publisher output + format.date "year" output.check + after.block 'output.state := + } + if$ + new.block + note output + fin.entry +} + + +FUNCTION {techreport} +{ + output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" output.check + address output + format.date "year" output.check + after.block 'output.state := + new.block + note output + fin.entry +} + + +FUNCTION {unpublished} +{ + output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + note "note" output.check + format.date output + fin.entry +} + + +FUNCTION {default.type} { misc } + + +MACRO {jan} {"Jan.\"} +MACRO {january} {"Jan.\"} +MACRO {feb} {"Feb.\"} +MACRO {febrary} {"Feb.\"} +MACRO {mar} {"March"} +MACRO {march} {"March"} +MACRO {apr} {"April"} +MACRO {april} {"April"} +MACRO {may} {"May"} +MACRO {jun} {"June"} +MACRO {june} {"June"} +MACRO {jul} {"July"} +MACRO {july} {"July"} +MACRO {aug} {"Aug.\"} +MACRO {august} {"Aug.\"} +MACRO {sep} {"Sept.\"} +MACRO {september} {"Sept.\"} +MACRO {oct} {"Oct.\"} +MACRO {october} {"Oct.\"} +MACRO {nov} {"Nov.\"} +MACRO {november} {"Nov.\"} +MACRO {dec} {"Dec.\"} +MACRO {december} {"Dec.\"} +MACRO {acmcs} {"ACM Comput. Surv."} +MACRO {acta} {"Acta Inf."} +MACRO {cacm} {"Commun. ACM"} +MACRO {ibmjrd} {"IBM J. Res. Dev."} +MACRO {ibmsj} {"IBM Syst.~J."} +MACRO {ieeese} {"IEEE Trans. Softw. Eng."} +MACRO {ieeetc} {"IEEE Trans. Comput."} +MACRO {ieeetcad} +{"IEEE Trans. Comput.-Aided Design Integrated Circuits"} +MACRO {ipl} {"Inf. Process. Lett."} +MACRO {jacm} {"J.~ACM"} +MACRO {jcss} {"J.~Comput. Syst. Sci."} +MACRO {scp} {"Sci. Comput. Programming"} +MACRO {sicomp} {"SIAM J. Comput."} +MACRO {tocs} {"ACM Trans. Comput. Syst."} +MACRO {tods} {"ACM Trans. Database Syst."} +MACRO {tog} {"ACM Trans. Gr."} +MACRO {toms} {"ACM Trans. Math. Softw."} +MACRO {toois} {"ACM Trans. Office Inf. Syst."} +MACRO {toplas} {"ACM Trans. Prog. Lang. Syst."} +MACRO {tcs} {"Theoretical Comput. Sci."} +MACRO {tieice} {"信学論"} +MACRO {tipsj} {"情報処理学会論文誌"} +MACRO {jipsj} {"J.~Info. Proc. Soc. of Japan"} +MACRO {jorsj} {"Journal of the O. R. Society of Japan"} + + +READ + + +FUNCTION {set.is.kanji.entry} +{ + author field.or.null is.kanji.str$ + title field.or.null is.kanji.str$ or + editor field.or.null is.kanji.str$ or + journal field.or.null is.kanji.str$ or + booktitle field.or.null is.kanji.str$ or + series field.or.null is.kanji.str$ or + 'is.kanji.entry := +} + + +ITERATE {set.is.kanji.entry} + +STRINGS { longest.label } + +INTEGERS { number.label longest.label.width } + + +FUNCTION {initialize.longest.label} +{ + "" 'longest.label := + #1 'number.label := + #0 'longest.label.width := +} + +FUNCTION {longest.label.pass} +{ + number.label int.to.str$ 'label := + number.label #1 + 'number.label := + label width$ longest.label.width > + { + label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ +} + + +EXECUTE {initialize.longest.label} + +ITERATE {longest.label.pass} + + +FUNCTION {begin.bib} +{ + preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" longest.label * "}" * write$ newline$ +} + + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + + +FUNCTION {end.bib} +{ + newline$ + "\end{thebibliography}" write$ newline$ +} + + +EXECUTE {end.bib} + + + + diff --git a/icsthesis.cls b/icsthesis.cls new file mode 100644 index 0000000..175fb94 --- /dev/null +++ b/icsthesis.cls @@ -0,0 +1,1952 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% 情報通信システム工学科卒業論文クラス `icsthesis.cls', +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\ifx\epTeXinputencoding\undefined\else + \epTeXinputencoding utf8 +\fi +\NeedsTeXFormat{pLaTeX2e} +\ProvidesClass{icsthesis}[2019/12/01] +\def\jsc@clsname{icsthesis} +\def\ics@warning{\ClassWarningNoLine{ics}} +\newif\ifjsc@needsp@tch +\jsc@needsp@tchfalse +\newif\if@restonecol +\newif\if@titlepage +\newif\if@openright +\newif\if@openleft +\newif\if@enablejfam +\@enablejfamtrue +\setlength\paperheight {297mm} +\setlength\paperwidth {210mm} +\newif\if@landscape +\@landscapefalse +\DeclareOption{landscape}{\@landscapetrue} +\newif\if@slide +\@slidefalse +\newcommand{\@ptsize}{0} + +% ITOI 指導教官 +\newcommand{\@supervisor}{} +\newcommand{\supervisor}[1]{\renewcommand{\@supervisor}{#1}} +% MIURA 年度 +\newcommand{\@nendo}{} +\newcommand{\nendo}[1]{\renewcommand{\@nendo}{#1}} +% ITOI 著者 +\newcommand{\@authorA}{} +\newcommand{\authorA}[2]{\renewcommand{\@authorA}{#1 \hspace{1em} #2 \vspace{0.3em}\\}} +\newcommand{\@authorB}{} +\newcommand{\authorB}[2]{\renewcommand{\@authorB}{#1 \hspace{1em} #2 \vspace{0.3em}\\}} +\newcommand{\@authorC}{} +\newcommand{\authorC}[2]{\renewcommand{\@authorC}{#1 \hspace{1em} #2 \vspace{0.3em}\\}} +\newcommand{\@authorD}{} +\newcommand{\authorD}[2]{\renewcommand{\@authorD}{#1 \hspace{1em} #2 \vspace{0.3em}\\}} + +\newif\ifjsc@mag\jsc@magtrue +\newif\ifjsc@mag@xreal\jsc@mag@xrealfalse +\def\jsc@magscale{1} +\DeclareOption{8pt}{\def\jsc@magscale{0.833}\renewcommand{\@ptsize}{-2}} +\DeclareOption{9pt}{\def\jsc@magscale{0.913}\renewcommand{\@ptsize}{-1}} +\DeclareOption{10pt}{\def\jsc@magscale{1}\renewcommand{\@ptsize}{0}} +\DeclareOption{11pt}{\def\jsc@magscale{1.095}\renewcommand{\@ptsize}{1}} +\DeclareOption{12pt}{\def\jsc@magscale{1.200}\renewcommand{\@ptsize}{2}} +\DeclareOption{14pt}{\def\jsc@magscale{1.440}\renewcommand{\@ptsize}{4}} +\DeclareOption{17pt}{\def\jsc@magscale{1.728}\renewcommand{\@ptsize}{7}} +\DeclareOption{20pt}{\def\jsc@magscale{2}\renewcommand{\@ptsize}{10}} +\DeclareOption{21pt}{\def\jsc@magscale{2.074}\renewcommand{\@ptsize}{11}} +\DeclareOption{25pt}{\def\jsc@magscale{2.488}\renewcommand{\@ptsize}{15}} +\DeclareOption{30pt}{\def\jsc@magscale{2.986}\renewcommand{\@ptsize}{20}} +\DeclareOption{36pt}{\def\jsc@magscale{3.583}\renewcommand{\@ptsize}{26}} +\DeclareOption{43pt}{\def\jsc@magscale{4.300}\renewcommand{\@ptsize}{33}} +\DeclareOption{12Q}{\def\jsc@magscale{0.923}\renewcommand{\@ptsize}{1200}} +\DeclareOption{14Q}{\def\jsc@magscale{1.077}\renewcommand{\@ptsize}{1400}} +\DeclareOption{10ptj}{\def\jsc@magscale{1.085}\renewcommand{\@ptsize}{1001}} +\DeclareOption{10.5ptj}{\def\jsc@magscale{1.139}\renewcommand{\@ptsize}{1051}} +\DeclareOption{11ptj}{\def\jsc@magscale{1.194}\renewcommand{\@ptsize}{1101}} +\DeclareOption{12ptj}{\def\jsc@magscale{1.302}\renewcommand{\@ptsize}{1201}} +\DeclareOption{usemag}{\jsc@magtrue\jsc@mag@xrealfalse} +\DeclareOption{nomag}{\jsc@magfalse\jsc@mag@xrealfalse} +\DeclareOption{nomag*}{\jsc@magfalse\jsc@mag@xrealtrue} +\hour\time \divide\hour by 60\relax +\@tempcnta\hour \multiply\@tempcnta 60\relax +\minute\time \advance\minute-\@tempcnta +\DeclareOption{tombow}{% + \tombowtrue \tombowdatetrue + \setlength{\@tombowwidth}{.1\p@}% + \@bannertoken{% + \jobname\space(\number\year-\two@digits\month-\two@digits\day + \space\two@digits\hour:\two@digits\minute)}% + \maketombowbox} +\DeclareOption{tombo}{% + \tombowtrue \tombowdatefalse + \setlength{\@tombowwidth}{.1\p@}% + \maketombowbox} +\DeclareOption{mentuke}{% + \tombowtrue \tombowdatefalse + \setlength{\@tombowwidth}{\z@}% + \maketombowbox} +\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} +\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} +\DeclareOption{vartwoside}{\@twosidetrue \@mparswitchfalse} +\DeclareOption{onecolumn}{\@twocolumnfalse} +\DeclareOption{twocolumn}{\@twocolumntrue} +\DeclareOption{titlepage}{\@titlepagetrue} +\DeclareOption{notitlepage}{\@titlepagefalse} +\DeclareOption{openright}{\@openrighttrue\@openleftfalse} +\DeclareOption{openleft}{\@openlefttrue\@openrightfalse} +\DeclareOption{openany}{\@openrightfalse\@openleftfalse} +\def\eqnarray{% + \stepcounter{equation}% + \def\@currentlabel{\p@equation\theequation}% + \global\@eqnswtrue + \m@th + \global\@eqcnt\z@ + \tabskip\@centering + \let\\\@eqncr + $$\everycr{}\halign to\displaywidth\bgroup + \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel + &\global\@eqcnt\@ne \hfil$\displaystyle{{}##{}}$\hfil + &\global\@eqcnt\tw@ $\displaystyle{##}$\hfil\tabskip\@centering + &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup + \tabskip\z@skip + \cr} +\DeclareOption{leqno}{\input{leqno.clo}} +\DeclareOption{fleqn}{\input{fleqn.clo}% + \def\eqnarray{% + \stepcounter{equation}% + \def\@currentlabel{\p@equation\theequation}% + \global\@eqnswtrue\m@th + \global\@eqcnt\z@ + \tabskip\mathindent + \let\\=\@eqncr + \setlength\abovedisplayskip{\topsep}% + \ifvmode + \addtolength\abovedisplayskip{\partopsep}% + \fi + \addtolength\abovedisplayskip{\parskip}% + \setlength\belowdisplayskip{\abovedisplayskip}% + \setlength\belowdisplayshortskip{\abovedisplayskip}% + \setlength\abovedisplayshortskip{\abovedisplayskip}% + $$\everycr{}\halign to\linewidth% $$ + \bgroup + \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel + &\global\@eqcnt\@ne \hfil$\displaystyle{{}##{}}$\hfil + &\global\@eqcnt\tw@ + $\displaystyle{##}$\hfil \tabskip\@centering + &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup + \tabskip\z@skip\cr + }} +\DeclareOption{disablejfam}{\@enablejfamfalse} +\DeclareOption{draft}{\setlength\overfullrule{5pt}} +\DeclareOption{final}{\setlength\overfullrule{0pt}} +\newif\ifmingoth +\mingothfalse +\newif\ifjisfont +\jisfontfalse +\newif\if@jsc@uplatex +\@jsc@uplatextrue +\newif\if@jsc@autodetect +\@jsc@autodetectfalse +\DeclareOption{winjis}{% + \ClassWarningNoLine{\jsc@clsname}{% + The option `winjis' has been removed;\MessageBreak + Use `\string\usepackage{winjis}' instead}} +\DeclareOption{mingoth}{\mingothtrue} +\DeclareOption{jis}{\jisfonttrue} +\DeclareOption{uplatex}{\@jsc@uplatextrue} +\DeclareOption{autodetect-engine}{\@jsc@autodetecttrue} +\def\jsc@JYn{\if@jsc@uplatex JY2\else JY1\fi} +\def\jsc@JTn{\if@jsc@uplatex JT2\else JT1\fi} +\def\jsc@pfx@{\if@jsc@uplatex u\else \fi} +\newif\ifpapersize +\papersizefalse +\DeclareOption{papersize}{\papersizetrue} +\newif\if@english +\@englishfalse +\DeclareOption{english}{\@englishtrue} +\newif\if@jslogo \@jslogotrue +\DeclareOption{jslogo}{\@jslogotrue} +\DeclareOption{nojslogo}{\@jslogofalse} +\ExecuteOptions{oneside,onecolumn,titlepage,openany,final} +\ProcessOptions +\if@slide + \def\maybeblue{\@ifundefined{ver@color.sty}{}{\color{blue}}} +\fi +\if@landscape + \setlength\@tempdima {\paperheight} + \setlength\paperheight{\paperwidth} + \setlength\paperwidth {\@tempdima} +\fi +\ifnum \ifx\ucs\@undefined\z@\else\ucs"3000 \fi ="3000 + \if@jsc@autodetect + \ClassInfo\jsc@clsname{Autodetected engine: upLaTeX} + \@jsc@uplatextrue + \g@addto@macro\@classoptionslist{,uplatex} + \fi + \if@jsc@uplatex\else + \ClassError\jsc@clsname + {You are running upLaTeX.\MessageBreak + Please use pLaTeX instead, or add 'uplatex' to\MessageBreak + the class option list} + {\@ehc} + \@jsc@uplatextrue + \fi +\else + \if@jsc@uplatex + \ClassError\jsc@clsname + {You are running pLaTeX.\MessageBreak + Please use upLaTeX instead, or remove 'uplatex' from\MessageBreak + the class option list} + {\@ehc} + \@jsc@uplatexfalse + \fi + \if@jsc@autodetect + \ClassInfo\jsc@clsname{Autodetected engine: pLaTeX} + \@jsc@uplatexfalse + \fi +\fi +\iftombow + \newdimen\stockwidth \newdimen\stockheight + \setlength{\stockwidth}{\paperwidth} + \setlength{\stockheight}{\paperheight} + \advance \stockwidth 2in + \advance \stockheight 2in +\fi +\ifpapersize + \iftombow + \AtBeginDvi{\special{papersize=\the\stockwidth,\the\stockheight}} + \else + \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}} + \fi +\fi +\if@slide\def\n@baseline{13}\else\def\n@baseline{16}\fi +\newdimen\jsc@mpt +\newdimen\jsc@mmm +\def\inv@mag{1} +\ifjsc@mag + \jsc@mpt=1\p@ + \jsc@mmm=1mm + \ifnum\@ptsize=-2 + \mag 833 + \def\inv@mag{1.20048} + \def\n@baseline{15}% + \fi + \ifnum\@ptsize=-1 + \mag 913 % formerly 900 + \def\inv@mag{1.09529} + \def\n@baseline{15}% + \fi + \ifnum\@ptsize=1 + \mag 1095 % formerly 1100 + \def\inv@mag{0.913242} + \fi + \ifnum\@ptsize=2 + \mag 1200 + \def\inv@mag{0.833333} + \fi + \ifnum\@ptsize=4 + \mag 1440 + \def\inv@mag{0.694444} + \fi + \ifnum\@ptsize=7 + \mag 1728 + \def\inv@mag{0.578704} + \fi + \ifnum\@ptsize=10 + \mag 2000 + \def\inv@mag{0.5} + \fi + \ifnum\@ptsize=11 + \mag 2074 + \def\inv@mag{0.48216} + \fi + \ifnum\@ptsize=15 + \mag 2488 + \def\inv@mag{0.401929} + \fi + \ifnum\@ptsize=20 + \mag 2986 + \def\inv@mag{0.334896} + \fi + \ifnum\@ptsize=26 + \mag 3583 + \def\inv@mag{0.279096} + \fi + \ifnum\@ptsize=33 + \mag 4300 + \def\inv@mag{0.232558} + \fi + \ifnum\@ptsize=1200 + \mag 923 + \def\inv@mag{1.0834236} + \fi + \ifnum\@ptsize=1400 + \mag 1077 + \def\inv@mag{0.928505} + \fi + \ifnum\@ptsize=1001 + \mag 1085 + \def\inv@mag{0.921659} + \fi + \ifnum\@ptsize=1051 + \mag 1139 + \def\inv@mag{0.877963} + \fi + \ifnum\@ptsize=1101 + \mag 1194 + \def\inv@mag{0.837521} + \fi + \ifnum\@ptsize=1201 + \mag 1302 + \def\inv@mag{0.768049} + \fi +\else + \jsc@mpt=\jsc@magscale\p@ + \jsc@mmm=\jsc@magscale mm + \def\inv@mag{1} + \ifnum\@ptsize=-2 + \def\n@baseline{15}% + \fi + \ifnum\@ptsize=-1 + \def\n@baseline{15}% + \fi +\fi +\ifjsc@mag@xreal + \RequirePackage{type1cm} + \mathchardef\jsc@csta=259 + \def\jsc@invscale#1#2{% + \begingroup \@tempdima=#1\relax \@tempdimb#2\p@\relax + \@tempcnta\@tempdima \multiply\@tempcnta\@cclvi + \divide\@tempcnta\@tempdimb \multiply\@tempcnta\@cclvi + \@tempcntb\p@ \divide\@tempcntb\@tempdimb + \advance\@tempcnta-\@tempcntb \advance\@tempcnta-\tw@ + \@tempdimb\@tempcnta\@ne + \advance\@tempcnta\@tempcntb \advance\@tempcnta\@tempcntb + \advance\@tempcnta\jsc@csta \@tempdimc\@tempcnta\@ne + \@whiledim\@tempdimb<\@tempdimc\do{% + \@tempcntb\@tempdimb \advance\@tempcntb\@tempdimc + \advance\@tempcntb\@ne \divide\@tempcntb\tw@ + \ifdim #2\@tempcntb>\@tempdima + \advance\@tempcntb\m@ne \@tempdimc=\@tempcntb\@ne + \else \@tempdimb=\@tempcntb\@ne \fi}% + \xdef\jsc@gtmpa{\the\@tempdimb}% + \endgroup #1=\jsc@gtmpa\relax} + \expandafter\let\csname OT1/cmr/m/n/10\endcsname\relax + \expandafter\let\csname OMX/cmex/m/n/10\endcsname\relax + \let\jsc@get@external@font\get@external@font + \def\get@external@font{% + \jsc@preadjust@extract@font + \jsc@get@external@font} + \def\jsc@fstrunc#1{% + \edef\jsc@tmpa{\strip@pt#1}% + \expandafter\jsc@fstrunc@a\jsc@tmpa.****\@nil} + \def\jsc@fstrunc@a#1.#2#3#4#5#6\@nil{% + \if#5*\else + \edef\jsc@tmpa{#1% + \ifnum#2#3>\z@ .#2\ifnum#3>\z@ #3\fi\fi}% + \fi} + \def\jsc@preadjust@extract@font{% + \let\jsc@req@size\f@size + \dimen@\f@size\p@ \jsc@invscale\dimen@\jsc@magscale + \advance\dimen@.005pt\relax \jsc@fstrunc\dimen@ + \let\jsc@ref@size\jsc@tmpa + \let\f@size\jsc@ref@size} + \def\execute@size@function#1{% + \let\jsc@cref@size\f@size + \let\f@size\jsc@req@size + \csname s@fct@#1\endcsname} + \let\jsc@DeclareErrorFont\DeclareErrorFont + \def\DeclareErrorFont#1#2#3#4#5{% + \@tempdimc#5\p@ \@tempdimc\jsc@magscale\@tempdimc + \edef\jsc@tmpa{{#1}{#2}{#3}{#4}{\strip@pt\@tempdimc}} + \expandafter\jsc@DeclareErrorFont\jsc@tmpa} + \def\gen@sfcnt{% + \edef\mandatory@arg{\mandatory@arg\jsc@cref@size}% + \empty@sfcnt} + \def\genb@sfcnt{% + \edef\mandatory@arg{% + \mandatory@arg\expandafter\genb@x\jsc@cref@size..\@@}% + \empty@sfcnt} + \DeclareErrorFont{OT1}{cmr}{m}{n}{10} +\fi +\def\jsc@smallskip{\vspace\jsc@smallskipamount} +\newskip\jsc@smallskipamount +\jsc@smallskipamount=3\jsc@mpt plus 1\jsc@mpt minus 1\jsc@mpt +\setlength\paperwidth{\inv@mag\paperwidth}% +\setlength\paperheight{\inv@mag\paperheight}% +\iftombow + \setlength\stockwidth{\inv@mag\stockwidth}% + \setlength\stockheight{\inv@mag\stockheight}% +\fi +\def\Cjascale{0.924690} +\ifmingoth + \DeclareFontShape{\jsc@JYn}{mc}{m}{n}{<-> s * [0.961] \jsc@pfx@ min10}{} + \DeclareFontShape{\jsc@JYn}{gt}{m}{n}{<-> s * [0.961] \jsc@pfx@ goth10}{} + \DeclareFontShape{\jsc@JTn}{mc}{m}{n}{<-> s * [0.961] \jsc@pfx@ tmin10}{} + \DeclareFontShape{\jsc@JTn}{gt}{m}{n}{<-> s * [0.961] \jsc@pfx@ tgoth10}{} +\else + \ifjisfont + \DeclareFontShape{\jsc@JYn}{mc}{m}{n}{<-> s * [0.961] \jsc@pfx@ jis}{} + \DeclareFontShape{\jsc@JYn}{gt}{m}{n}{<-> s * [0.961] \jsc@pfx@ jisg}{} + \DeclareFontShape{\jsc@JTn}{mc}{m}{n}{<-> s * [0.961] \jsc@pfx@ tmin10}{} + \DeclareFontShape{\jsc@JTn}{gt}{m}{n}{<-> s * [0.961] \jsc@pfx@ tgoth10}{} + \else + \if@jsc@uplatex + \DeclareFontShape{JY2}{mc}{m}{n}{<-> s * [0.924690] upjisr-h}{} + \DeclareFontShape{JY2}{gt}{m}{n}{<-> s * [0.924690] upjisg-h}{} + \DeclareFontShape{JT2}{mc}{m}{n}{<-> s * [0.924690] upjisr-v}{} + \DeclareFontShape{JT2}{gt}{m}{n}{<-> s * [0.924690] upjisg-v}{} + \else + \DeclareFontShape{\jsc@JYn}{mc}{m}{n}{<-> s * [0.961] \jsc@pfx@ jis}{} + \DeclareFontShape{\jsc@JYn}{gt}{m}{n}{<-> s * [0.961] \jsc@pfx@ jisg}{} + \DeclareFontShape{\jsc@JTn}{mc}{m}{n}{<-> s * [0.961] \jsc@pfx@ tmin10}{} + \DeclareFontShape{\jsc@JTn}{gt}{m}{n}{<-> s * [0.961] \jsc@pfx@ tgoth10}{} + \fi + \fi +\fi +\DeclareFontShape{\jsc@JYn}{mc}{m}{it}{<->ssub*mc/m/n}{} +\DeclareFontShape{\jsc@JYn}{mc}{m}{sl}{<->ssub*mc/m/n}{} +\DeclareFontShape{\jsc@JYn}{mc}{m}{sc}{<->ssub*mc/m/n}{} +\DeclareFontShape{\jsc@JYn}{gt}{m}{it}{<->ssub*gt/m/n}{} +\DeclareFontShape{\jsc@JYn}{gt}{m}{sl}{<->ssub*gt/m/n}{} +\DeclareFontShape{\jsc@JYn}{mc}{bx}{it}{<->ssub*gt/m/n}{} +\DeclareFontShape{\jsc@JYn}{mc}{bx}{sl}{<->ssub*gt/m/n}{} +\DeclareFontShape{\jsc@JTn}{mc}{m}{it}{<->ssub*mc/m/n}{} +\DeclareFontShape{\jsc@JTn}{mc}{m}{sl}{<->ssub*mc/m/n}{} +\DeclareFontShape{\jsc@JTn}{mc}{m}{sc}{<->ssub*mc/m/n}{} +\DeclareFontShape{\jsc@JTn}{gt}{m}{it}{<->ssub*gt/m/n}{} +\DeclareFontShape{\jsc@JTn}{gt}{m}{sl}{<->ssub*gt/m/n}{} +\DeclareFontShape{\jsc@JTn}{mc}{bx}{it}{<->ssub*gt/m/n}{} +\DeclareFontShape{\jsc@JTn}{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} +\ifx\DeclareFixJFMCJKTextFontCommand\@undefined +\DeclareRobustCommand\textmc[1]{% + \relax\ifmmode \expandafter\nfss@text \fi{\mcfamily #1}} +\DeclareRobustCommand\textgt[1]{% + \relax\ifmmode \expandafter\nfss@text \fi{\gtfamily #1}} +\fi +\def\reDeclareMathAlphabet#1#2#3{% + \edef\@tempa{\expandafter\@gobble\string#2}% + \edef\@tempb{\expandafter\@gobble\string#3}% + \edef\@tempc{\string @\expandafter\@gobbletwo\string#2}% + \ifx\@tempc\@tempa% + \edef\@tempa{\expandafter\@gobbletwo\string#2}% + \edef\@tempb{\expandafter\@gobbletwo\string#3}% + \fi + \begingroup + \let\protect\noexpand + \def\@tempaa{\relax}% + \expandafter\ifx\csname RDMAorg@\@tempa\endcsname\relax + \edef\@tempaa{\expandafter\def\expandafter\noexpand% + \csname RDMAorg@\@tempa\endcsname{% + \expandafter\noexpand\csname\@tempa\endcsname}}% + \fi + \def\@tempbb{\relax}% + \expandafter\ifx\csname RDMAorg@\@tempb\endcsname\relax + \edef\@tempbb{\expandafter\def\expandafter\noexpand% + \csname RDMAorg@\@tempb\endcsname{% + \expandafter\noexpand\csname\@tempb\endcsname}}% + \fi + \edef\@tempc{\@tempaa\@tempbb}% + \expandafter\endgroup\@tempc% + \edef#1{\noexpand\protect\expandafter\noexpand\csname% + \expandafter\@gobble\string#1\space\space\endcsname}% + \expandafter\edef\csname\expandafter\@gobble\string#1\space\space\endcsname% + {\noexpand\DualLang@mathalph@bet% + {\expandafter\noexpand\csname RDMAorg@\@tempa\endcsname}% + {\expandafter\noexpand\csname RDMAorg@\@tempb\endcsname}% + }% +} +\@onlypreamble\reDeclareMathAlphabet +\def\DualLang@mathalph@bet#1#2{% + \relax\ifmmode + \ifx\math@bgroup\bgroup% 2e normal style (\mathrm{...}) + \bgroup\let\DualLang@Mfontsw\DLMfontsw@standard + \else + \ifx\math@bgroup\relax% 2e two letter style (\rm->\mathrm) + \let\DualLang@Mfontsw\DLMfontsw@oldstyle + \else + \ifx\math@bgroup\@empty% 2.09 oldlfont style ({\mathrm ...}) + \let\DualLang@Mfontsw\DLMfontsw@oldlfont + \else% panic! assume 2e normal style + \bgroup\let\DualLang@Mfontsw\DLMfontsw@standard + \fi + \fi + \fi + \else + \let\DualLang@Mfontsw\@firstoftwo + \fi + \DualLang@Mfontsw{#1}{#2}% +} +\def\DLMfontsw@standard#1#2#3{#1{#2{#3}}\egroup} +\def\DLMfontsw@oldstyle#1#2{#1\relax\@fontswitch\relax{#2}} +\def\DLMfontsw@oldlfont#1#2{#1\relax#2\relax} +\if@enablejfam + \DeclareSymbolFont{mincho}{\jsc@JYn}{mc}{m}{n} + \DeclareSymbolFontAlphabet{\mathmc}{mincho} + \SetSymbolFont{mincho}{bold}{\jsc@JYn}{gt}{m}{n} + \jfam\symmincho + \DeclareMathAlphabet{\mathgt}{\jsc@JYn}{gt}{m}{n} + \AtBeginDocument{% + \reDeclareMathAlphabet{\mathrm}{\@mathrm}{\@mathmc} + \reDeclareMathAlphabet{\mathbf}{\@mathbf}{\@mathgt}} +\fi +\prebreakpenalty\jis"2147=10000 % 5000 ’ +\postbreakpenalty\jis"2148=10000 % 5000 “ +\prebreakpenalty\jis"2149=10000 % 5000 ” +\inhibitxspcode`!=1 +\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{}} +\def\@setfontsize#1#2#3{% + \ifx\protect\@typeset@protect + \let\@currsize#1% + \fi + \fontsize{#2}{#3}\selectfont + \ifdim\parindent>\z@ + \if@english + \parindent=1em + \else + \parindent=1zw + \fi + \fi + %ITOI \kanjiskip=0zw plus .1zw minus .01zw + \kanjiskip=-0.02zw plus .1zw minus .01zw %ITOI:漢字の文字送り + \ifdim\xkanjiskip>\z@ + \if@slide \xkanjiskip=0.1em \else + \xkanjiskip=0.25em plus 0.15em minus 0.06em + \fi + \fi} +\def\jsc@setfontsize#1#2#3{% + \@setfontsize#1{#2\jsc@mpt}{#3\jsc@mpt}} +\emergencystretch 3zw +\newif\ifnarrowbaselines +\if@english + \narrowbaselinestrue +\fi +\def\narrowbaselines{% + \narrowbaselinestrue + \skip0=\abovedisplayskip + \skip2=\abovedisplayshortskip + \skip4=\belowdisplayskip + \skip6=\belowdisplayshortskip + \@currsize\selectfont + \abovedisplayskip=\skip0 + \abovedisplayshortskip=\skip2 + \belowdisplayskip=\skip4 + \belowdisplayshortskip=\skip6\relax} +\def\widebaselines{\narrowbaselinesfalse\@currsize\selectfont} +\renewcommand{\normalsize}{% + \ifnarrowbaselines + \jsc@setfontsize\normalsize\@xpt\@xiipt + \else + \jsc@setfontsize\normalsize\@xpt{\n@baseline}% + \fi + \abovedisplayskip 11\jsc@mpt \@plus3\jsc@mpt \@minus4\jsc@mpt + \abovedisplayshortskip \z@ \@plus3\jsc@mpt + \belowdisplayskip 9\jsc@mpt \@plus3\jsc@mpt \@minus4\jsc@mpt + \belowdisplayshortskip \belowdisplayskip + \let\@listi\@listI} +\normalsize +\setbox0\hbox{\char\jis"3441}% +\setlength\Cht{\ht0} +\setlength\Cdp{\dp0} +\setlength\Cwd{\wd0} +\setlength\Cvs{\baselineskip} +\setlength\Chs{\wd0} +\setbox0=\box\voidb@x +\newcommand{\small}{% + \ifnarrowbaselines + \jsc@setfontsize\small\@ixpt{11}% + \else + \jsc@setfontsize\small\@ixpt{13}% + \fi + \abovedisplayskip 9\jsc@mpt \@plus3\jsc@mpt \@minus4\jsc@mpt + \abovedisplayshortskip \z@ \@plus3\jsc@mpt + \belowdisplayskip \abovedisplayskip + \belowdisplayshortskip \belowdisplayskip + \def\@listi{\leftmargin\leftmargini + \topsep \z@ + \parsep \z@ + \itemsep \parsep}} +\newcommand{\footnotesize}{% + \ifnarrowbaselines + \jsc@setfontsize\footnotesize\@viiipt{9.5}% + \else + \jsc@setfontsize\footnotesize\@viiipt{11}% + \fi + \abovedisplayskip 6\jsc@mpt \@plus2\jsc@mpt \@minus3\jsc@mpt + \abovedisplayshortskip \z@ \@plus2\jsc@mpt + \belowdisplayskip \abovedisplayskip + \belowdisplayshortskip \belowdisplayskip + \def\@listi{\leftmargin\leftmargini + \topsep \z@ + \parsep \z@ + \itemsep \parsep}} +\newcommand{\scriptsize}{\jsc@setfontsize\scriptsize\@viipt\@viiipt} +\newcommand{\tiny}{\jsc@setfontsize\tiny\@vpt\@vipt} +\if@twocolumn + \newcommand{\large}{\jsc@setfontsize\large\@xiipt{\n@baseline}} +\else + \newcommand{\large}{\jsc@setfontsize\large\@xiipt{17}} +\fi +\newcommand{\Large}{\jsc@setfontsize\Large\@xivpt{21}} +\newcommand{\LARGE}{\jsc@setfontsize\LARGE\@xviipt{25}} +\newcommand{\huge}{\jsc@setfontsize\huge\@xxpt{28}} +\newcommand{\Huge}{\jsc@setfontsize\Huge\@xxvpt{33}} +\newcommand{\HUGE}{\jsc@setfontsize\HUGE{30}{40}} +\everydisplay=\expandafter{\the\everydisplay \narrowbaselines} +\newcommand{\headfont}{\gtfamily\sffamily} +\setlength\columnsep{2zw} +\setlength\columnseprule{0\jsc@mpt} +\setlength\lineskip{1\jsc@mpt} +\setlength\normallineskip{1\jsc@mpt} +\setlength\lineskiplimit{1\jsc@mpt} +\setlength\normallineskiplimit{1\jsc@mpt} +\renewcommand{\baselinestretch}{0.94} %ITOI:ベースライン標準からの比率(デフォルト= {}) +\setlength\parskip{0\jsc@mpt} +\if@slide + \setlength\parindent{0zw} +\else + \setlength\parindent{1zw} +\fi +\@lowpenalty 51 +\@medpenalty 151 +\@highpenalty 301 +\setlength\topskip{1.38zw} +\if@slide + \setlength\headheight{0\jsc@mpt} +\else + \setlength\headheight{20\jsc@mpt} +\fi +\setlength\footskip{0.03367\paperheight} +\ifdim\footskip<\baselineskip + \setlength\footskip{\baselineskip} +\fi +\setlength\headsep{\footskip} +\addtolength\headsep{-\topskip} +\setlength\maxdepth{.5\topskip} +\newdimen\fullwidth +\setlength\fullwidth{0.76\paperwidth} %ITOI:テキスト幅の紙幅比(デフォルト=0.8) +\if@twocolumn \@tempdima=2zw \else \@tempdima=1zw \fi +\divide\fullwidth\@tempdima \multiply\fullwidth\@tempdima +\setlength\textwidth{\fullwidth} +\if@slide + \setlength{\textheight}{0.95\paperheight} +\else + \setlength{\textheight}{0.85\paperheight} %ITOI:テキスト高の紙高比(デフォルト=0.8) +\fi +\addtolength{\textheight}{-10\jsc@mpt} +\addtolength{\textheight}{-\headsep} +\addtolength{\textheight}{-\footskip} +\addtolength{\textheight}{-\topskip} +\divide\textheight\baselineskip +\multiply\textheight\baselineskip +\addtolength{\textheight}{\topskip} +\addtolength{\textheight}{0.1\jsc@mpt} +\def\flushbottom{% + \def\@textbottom{\vskip \z@ \@plus.1\jsc@mpt}% + \let\@texttop\relax} +\setlength\marginparsep{\columnsep} +\setlength\marginparpush{\baselineskip} +\setlength{\oddsidemargin}{\paperwidth} +\addtolength{\oddsidemargin}{-\fullwidth} +\setlength{\oddsidemargin}{.55\oddsidemargin} %ITOI: 左余白 +\iftombow + \addtolength{\oddsidemargin}{-1in} +\else + \addtolength{\oddsidemargin}{-\inv@mag in} +\fi +\setlength{\evensidemargin}{\oddsidemargin} +\if@mparswitch + \addtolength{\evensidemargin}{\fullwidth} + \addtolength{\evensidemargin}{-\textwidth} +\fi +\setlength\marginparwidth{\paperwidth} +\addtolength\marginparwidth{-\oddsidemargin} +\addtolength\marginparwidth{-\inv@mag in} +\addtolength\marginparwidth{-\textwidth} +\addtolength\marginparwidth{-10\jsc@mmm} +\addtolength\marginparwidth{-\marginparsep} +\@tempdima=1zw +\divide\marginparwidth\@tempdima +\multiply\marginparwidth\@tempdima +\setlength\topmargin{\paperheight} +\addtolength\topmargin{-\textheight} +\if@slide + \addtolength\topmargin{-\headheight} +\else + \addtolength\topmargin{-10\jsc@mpt} +\fi +\addtolength\topmargin{-\headsep} +\addtolength\topmargin{-\footskip} +\setlength\topmargin{0.5\topmargin} +\iftombow + \addtolength\topmargin{-1in} +\else + \addtolength\topmargin{-\inv@mag in} +\fi +{\footnotesize\global\setlength\footnotesep{\baselineskip}} +\setlength\footnotesep{0.7\footnotesep} +\setlength{\skip\footins}{16\jsc@mpt \@plus 5\jsc@mpt \@minus 2\jsc@mpt} +\setcounter{topnumber}{9} +\renewcommand{\topfraction}{.85} +\setcounter{bottomnumber}{9} +\renewcommand{\bottomfraction}{.8} +\setcounter{totalnumber}{20} +\renewcommand{\textfraction}{.1} +\renewcommand{\floatpagefraction}{.8} +\setcounter{dbltopnumber}{9} +\renewcommand{\dbltopfraction}{.8} +\renewcommand{\dblfloatpagefraction}{.8} +\setlength\floatsep {12\jsc@mpt \@plus 2\jsc@mpt \@minus 2\jsc@mpt} +\setlength\textfloatsep{20\jsc@mpt \@plus 2\jsc@mpt \@minus 4\jsc@mpt} +\setlength\intextsep {12\jsc@mpt \@plus 2\jsc@mpt \@minus 2\jsc@mpt} +\setlength\dblfloatsep {12\jsc@mpt \@plus 2\jsc@mpt \@minus 2\jsc@mpt} +\setlength\dbltextfloatsep{20\jsc@mpt \@plus 2\jsc@mpt \@minus 4\jsc@mpt} +\setlength\@fptop{0\jsc@mpt \@plus 1fil} +\setlength\@fpsep{8\jsc@mpt \@plus 2fil} +\setlength\@fpbot{0\jsc@mpt \@plus 1fil} +\setlength\@dblfptop{0\jsc@mpt \@plus 1fil} +\setlength\@dblfpsep{8\jsc@mpt \@plus 2fil} +\setlength\@dblfpbot{0\jsc@mpt \@plus 1fil} +\def\pltx@cleartorightpage{\clearpage\if@twoside + \ifodd\c@page + \iftdir + \hbox{}\thispagestyle{empty}\newpage + \if@twocolumn\hbox{}\newpage\fi + \fi + \else + \ifydir + \hbox{}\thispagestyle{empty}\newpage + \if@twocolumn\hbox{}\newpage\fi + \fi + \fi\fi} +\def\pltx@cleartoleftpage{\clearpage\if@twoside + \ifodd\c@page + \ifydir + \hbox{}\thispagestyle{empty}\newpage + \if@twocolumn\hbox{}\newpage\fi + \fi + \else + \iftdir + \hbox{}\thispagestyle{empty}\newpage + \if@twocolumn\hbox{}\newpage\fi + \fi + \fi\fi} +\def\pltx@cleartooddpage{\clearpage\if@twoside + \ifodd\c@page\else + \hbox{}\thispagestyle{empty}\newpage + \if@twocolumn\hbox{}\newpage\fi + \fi\fi} +\def\pltx@cleartoevenpage{\clearpage\if@twoside + \ifodd\c@page + \hbox{}\thispagestyle{empty}\newpage + \if@twocolumn\hbox{}\newpage\fi + \fi\fi} +\if@openleft + \let\cleardoublepage\pltx@cleartoleftpage +\else\if@openright + \let\cleardoublepage\pltx@cleartorightpage +\fi\fi +\def\ps@plainfoot{% + \let\@mkboth\@gobbletwo + \let\@oddhead\@empty + \def\@oddfoot{\normalfont\hfil\thepage\hfil}% + \let\@evenhead\@empty + \let\@evenfoot\@oddfoot} +\def\ps@plainhead{% + \let\@mkboth\@gobbletwo + \let\@oddfoot\@empty + \let\@evenfoot\@empty + \def\@evenhead{% + \if@mparswitch \hss \fi + \hbox to \fullwidth{\textbf{\thepage}\hfil}% + \if@mparswitch\else \hss \fi}% + \def\@oddhead{% + \hbox to \fullwidth{\hfil\textbf{\thepage}}\hss}} +\let\ps@plain\ps@plainfoot +\newif\if@omit@number +\def\ps@headings{% + \let\@oddfoot\@empty + \let\@evenfoot\@empty + \def\@evenhead{% + \if@mparswitch \hss \fi + \underline{\hbox to \fullwidth{\autoxspacing + \textbf{\thepage}\hfil\leftmark}}% + \if@mparswitch\else \hss \fi}% + \def\@oddhead{\underline{\hbox to \fullwidth{\autoxspacing + {\if@twoside\rightmark\else\leftmark\fi}\hfil\textbf{\thepage}}}\hss}% + \let\@mkboth\markboth + \def\chaptermark##1{\markboth{% + \ifnum \c@secnumdepth >\m@ne + \if@omit@number\else + \@chapapp\thechapter\@chappos\hskip1zw + \fi + \fi + ##1}{}}% + \def\sectionmark##1{\markright{% + \ifnum \c@secnumdepth >\z@ \thesection \hskip1zw\fi + ##1}}}% +\def\ps@myheadings{% + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{% + \if@mparswitch \hss \fi% + \hbox to \fullwidth{\thepage\hfil\leftmark}% + \if@mparswitch\else \hss \fi}% + \def\@oddhead{% + \hbox to \fullwidth{\rightmark\hfil\thepage}\hss}% + \let\@mkboth\@gobbletwo + \let\chaptermark\@gobble + \let\sectionmark\@gobble +} +\def\plainifnotempty{% + \ifx \@oddhead \@empty + \ifx \@oddfoot \@empty + \else + \thispagestyle{plainfoot}% + \fi + \else + \thispagestyle{plainhead}% + \fi} +\newcommand{\maketitle}{% +\begin{titlepage}% + \let\footnotesize\small + %\let\footnoterule\relax + %\let\footnote\thanks + %\null\vfil + \if@slide + {\footnotesize \@date}% + \begin{center} + \mbox{} \\[1zw] + \large + {\maybeblue\hrule height0\jsc@mpt depth2\jsc@mpt\relax}\par + \jsc@smallskip + \renewcommand{\baselinestretch}{2.5} + \@title + \renewcommand{\baselinestretch}{1} + \jsc@smallskip + {\maybeblue\hrule height0\jsc@mpt depth2\jsc@mpt\relax}\par + \vfill + {\small \@author}% + \end{center} + \else + \vskip 60\jsc@mpt + \begin{center}% + %ITOI:表紙>>> + %\vskip -5em + ~\\ + {\Large \@nendo 卒業論文 \par} + \vskip 8em + {\textsf{\fontsize{28pt}{0pt}\selectfont \@title} \par}% + \vskip 20em + {\Large 千葉工業大学 工学部 情報通信システム工学科 \par} + \vskip 1.8em% + {\large + \lineskip .75em + \begin{tabular}[t]{c}% + \@authorA + \@authorB + \@authorC + \@authorD + \end{tabular}\par}% + \vskip 1.8em% + {\large 指導教員:{\@supervisor} \par} + \vskip 3em + {\large 提出日:\@date \par}% + %<<\z@ + \if@slide\else + \null + \vspace*{-\baselineskip}% + \fi + \vskip\@tempskipa + \fi + \fi + \noindent + \@ifstar + {\@ssect{#3}{#4}{#5}{#6}}% + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}} +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2>\c@secnumdepth + \let\@svsec\@empty + \else + \refstepcounter{#1}% + \protected@edef\@svsec{\@seccntformat{#1}\relax}% + \fi + \@tempskipa #5\relax + \ifdim \@tempskipa<\z@ + \def\@svsechd{% + #6{\hskip #3\relax + \@svsec #8}% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7}}% 目次にフルネームを載せるなら #8 + \else + \begingroup + \interlinepenalty \@M % 下から移動 + #6{% + \@hangfrom{\hskip #3\relax\@svsec}% + \hskip -0.2em %ITOI:章・節番号と見出し文字の間隔(負は狭く,正は広く) + #8\@@par}% + \endgroup + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth \else + \protect\numberline{\csname the#1\endcsname}% + \fi + #7}% 目次にフルネームを載せるならここは #8 + \fi + \@xsect{#5}} +\def\@xsect#1{% + \@tempskipa #1\relax + \ifdim \@tempskipa<\z@ + \@nobreakfalse + \global\@noskipsectrue + \everypar{% + \if@noskipsec + \global\@noskipsecfalse + {\setbox\z@\lastbox}% + \clubpenalty\@M + \begingroup \@svsechd \endgroup + \unskip + \@tempskipa #1\relax + \hskip -\@tempskipa + \else + \clubpenalty \@clubpenalty + \everypar{\everyparhook}% + \fi\everyparhook}% + \else + \par \nobreak + \vskip \@tempskipa + \@afterheading + \fi + \if@slide + {\vskip\if@twocolumn-5\jsc@mpt\else-6\jsc@mpt\fi + \maybeblue\hrule height0\jsc@mpt depth1\jsc@mpt + \vskip\if@twocolumn 4\jsc@mpt\else 7\jsc@mpt\fi\relax}% + \fi + \par + \ignorespaces} +\def\@ssect#1#2#3#4#5{% + \@tempskipa #3\relax + \ifdim \@tempskipa<\z@ + \def\@svsechd{#4{\hskip #1\relax #5}}% + \else + \begingroup + #4{% + \@hangfrom{\hskip #1}% + \interlinepenalty \@M #5\@@par}% + \endgroup + \fi + \@xsect{#3}} +\newcommand*\chaptermark[1]{} +\setcounter{secnumdepth}{3} +\newcounter{part} +\newcounter{chapter} +\newcounter{section}[chapter] +\newcounter{subsection}[section] +\newcounter{subsubsection}[subsection] +\newcounter{paragraph}[subsubsection] +\newcounter{subparagraph}[paragraph] +\renewcommand{\thepart}{\@Roman\c@part} +\renewcommand{\thechapter}{\@arabic\c@chapter} +\renewcommand{\thesection}{\thechapter.\@arabic\c@section} +\renewcommand{\thesubsection}{\thesection.\@arabic\c@subsection} +\renewcommand{\thesubsubsection}{% + \thesubsection.\@arabic\c@subsubsection} +\renewcommand{\theparagraph}{% + \thesubsubsection.\@arabic\c@paragraph} +\renewcommand{\thesubparagraph}{% + \theparagraph.\@arabic\c@subparagraph} +\newcommand{\@chapapp}{\prechaptername} +\newcommand{\@chappos}{\postchaptername} +\newcommand\part{% + \if@openleft + \cleardoublepage + \else\if@openright + \cleardoublepage + \else + \clearpage + \fi\fi + \thispagestyle{empty}% 欧文用標準スタイルでは plain + \if@twocolumn + \onecolumn + \@restonecoltrue + \else + \@restonecolfalse + \fi + \null\vfil + \secdef\@part\@spart} +\def\@part[#1]#2{% + \ifnum \c@secnumdepth >-2\relax + \refstepcounter{part}% + \addcontentsline{toc}{part}{% + \prepartname\thepart\postpartname\hspace{1zw}#1}% + \else + \addcontentsline{toc}{part}{#1}% + \fi + \markboth{}{}% + {\centering + \interlinepenalty \@M + \normalfont + \ifnum \c@secnumdepth >-2\relax + \huge\headfont \prepartname\thepart\postpartname + \par\vskip20\jsc@mpt + \fi + \Huge \headfont #2\par}% + \@endpart} +\def\@spart#1{{% + \centering + \interlinepenalty \@M + \normalfont + \Huge \headfont #1\par}% + \@endpart} +\def\@endpart{\vfil\newpage + \if@twoside + \if@openleft + \null\thispagestyle{empty}\newpage + \else\if@openright + \null\thispagestyle{empty}\newpage + \fi\fi + \fi + \if@restonecol + \twocolumn + \fi} +\newcommand{\chapter}{% + \if@openleft\cleardoublepage\else + \if@openright\cleardoublepage\else\clearpage\fi\fi + %\plainifnotempty % 元: \thispagestyle{plain} + \global\@topnum\z@ + \if@english \@afterindentfalse \else \@afterindenttrue \fi + \secdef + {\@omit@numberfalse\@chapter}% + {\@omit@numbertrue\@schapter}} +\def\@chapter[#1]#2{% + \ifnum \c@secnumdepth >\m@ne + \refstepcounter{chapter}% + \typeout{\@chapapp\thechapter\@chappos}% + \addcontentsline{toc}{chapter}% + {\protect\numberline + % {\if@english\thechapter\else\@chapapp\thechapter\@chappos\fi}% + {\@chapapp\thechapter\@chappos}% + #1}% + \else + \addcontentsline{toc}{chapter}{#1}% + \fi + \chaptermark{#1}% + \addtocontents{lof}{\protect\addvspace{10\jsc@mpt}}% + \addtocontents{lot}{\protect\addvspace{10\jsc@mpt}}% + \if@twocolumn + \@topnewpage[\@makechapterhead{#2}]% + \else + \@makechapterhead{#2}% + \@afterheading + \fi} +\def\@makechapterhead#1{% + \vspace*{0.9\Cvs}%ITOI 前アキ:欧文は50pt + {\parindent \z@ \raggedright \normalfont + \ifnum \c@secnumdepth >\m@ne + %\huge\headfont \@chapapp\thechapter\@chappos + \fontsize{20pt}{0pt}\selectfont \headfont \@chapapp\thechapter\@chappos + %\hskip 1em + \hskip 0.7em + \fi + \interlinepenalty\@M + %\huge \headfont #1\par\nobreak + \fontsize{20pt}{0pt}\selectfont \headfont #1\par\nobreak + \vskip 2.1\Cvs}} %ITOI:後アキ(欧文は40pt) +\def\@schapter#1{% + \chaptermark{#1}% + \if@twocolumn + \@topnewpage[\@makeschapterhead{#1}]% + \else + \@makeschapterhead{#1}\@afterheading + \fi} +\def\@makeschapterhead#1{% + \vspace*{2\Cvs}% 欧文は50pt + {\parindent \z@ \raggedright + \normalfont + \interlinepenalty\@M + \Huge \headfont #1\par\nobreak + \vskip 3\Cvs}} % 欧文は40pt +\if@twocolumn + \newcommand{\section}{% + \@startsection{section}{1}{\z@}% + {0.6\Cvs}{0.4\Cvs}% + {\normalfont\large\headfont\raggedright}} +\else + \newcommand{\section}{% + \if@slide\clearpage\fi + \@startsection{section}{1}{\z@}% + {1.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}%ITOI:前アキ(最大 \Cvs+0.5\Cdp,少なくとも \Cvs-0.2\Cdp あける) + {.5\Cvs \@plus.3\Cdp}%ITOI:後アキ + %{\normalfont\Large\headfont\raggedright}} + {\normalfont\fontsize{14pt}{0pt}\selectfont\headfont\raggedright}} +\fi +\if@twocolumn + \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}% + {\z@}{\if@slide .4\Cvs \else \z@ \fi}% + {\normalfont\normalsize\headfont}} +\else + \newcommand{\subsection}{\@startsection{subsection}{2}{\z@}% + {1.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}%ITOI:前アキ + {.5\Cvs \@plus.3\Cdp}%ITOI:後アキ + %{\normalfont\large\headfont}} + {\normalfont\fontsize{12pt}{0pt}\selectfont\headfont}} +\fi +\if@twocolumn + \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}% + {\z@}{\if@slide .4\Cvs \else \z@ \fi}% + {\normalfont\normalsize\headfont}} +\else + \newcommand{\subsubsection}{\@startsection{subsubsection}{3}{\z@}% + {1.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}% 前アキ + {.5\Cvs \@plus.3\Cdp}%ITOI:後アキ + %{\normalfont\normalsize\headfont}} + {\normalfont\fontsize{11pt}{0pt}\selectfont\headfont}} +\fi +\newcommand{\jsParagraphMark}{■} +\if@twocolumn + \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}% + {\z@}{\if@slide .4\Cvs \else -1zw\fi}% 改行せず 1zw のアキ + {\normalfont\normalsize\headfont\jsParagraphMark}} +\else + \newcommand{\paragraph}{\@startsection{paragraph}{4}{\z@}% + {0.5\Cvs \@plus.5\Cdp \@minus.2\Cdp}% + {\if@slide .5\Cvs \@plus.3\Cdp \else -1zw\fi}% 改行せず 1zw のアキ + {\normalfont\normalsize\headfont\jsParagraphMark}} +\fi +\if@twocolumn + \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}% + {\z@}{\if@slide .4\Cvs \@plus.3\Cdp \else -1zw\fi}% + {\normalfont\normalsize\headfont}} +\else + \newcommand{\subparagraph}{\@startsection{subparagraph}{5}{\z@}% + {\z@}{\if@slide .5\Cvs \@plus.3\Cdp \else -1zw\fi}% + {\normalfont\normalsize\headfont}} +\fi +\if@slide + \setlength\leftmargini{1zw} +\else + \if@twocolumn + \setlength\leftmargini{2zw} + \else + \setlength\leftmargini{3zw} + \fi +\fi +\if@slide + \setlength\leftmarginii {1zw} + \setlength\leftmarginiii{1zw} + \setlength\leftmarginiv {1zw} + \setlength\leftmarginv {1zw} + \setlength\leftmarginvi {1zw} +\else + \setlength\leftmarginii {2zw} + \setlength\leftmarginiii{2zw} + \setlength\leftmarginiv {2zw} + \setlength\leftmarginv {1zw} + \setlength\leftmarginvi {1zw} +\fi +\setlength \labelsep {0.5zw} % .5em +\setlength \labelwidth{\leftmargini} +\addtolength\labelwidth{-\labelsep} +\setlength\partopsep{\z@} % {2\p@ \@plus 1\p@ \@minus 1\p@} +\@beginparpenalty -\@lowpenalty +\@endparpenalty -\@lowpenalty +\@itempenalty -\@lowpenalty +\def\@listi{\leftmargin\leftmargini + \parsep \z@ + \topsep 0.5\baselineskip + \itemsep \z@ \relax} +\let\@listI\@listi +\@listi +\def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii \advance\labelwidth-\labelsep + \topsep \z@ + \parsep \z@ + \itemsep\parsep} +\def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii \advance\labelwidth-\labelsep + \topsep \z@ + \parsep \z@ + \itemsep\parsep} +\def\@listiv {\leftmargin\leftmarginiv + \labelwidth\leftmarginiv + \advance\labelwidth-\labelsep} +\def\@listv {\leftmargin\leftmarginv + \labelwidth\leftmarginv + \advance\labelwidth-\labelsep} +\def\@listvi {\leftmargin\leftmarginvi + \labelwidth\leftmarginvi + \advance\labelwidth-\labelsep} +\renewcommand{\theenumi}{\@arabic\c@enumi} +\renewcommand{\theenumii}{\@alph\c@enumii} +\renewcommand{\theenumiii}{\@roman\c@enumiii} +\renewcommand{\theenumiv}{\@Alph\c@enumiv} +\newcommand{\labelenumi}{\theenumi.} +\newcommand{\labelenumii}{\inhibitglue(\theenumii)\inhibitglue} +\newcommand{\labelenumiii}{\theenumiii.} +\newcommand{\labelenumiv}{\theenumiv.} +\renewcommand{\p@enumii}{\theenumi} +\renewcommand{\p@enumiii}{\theenumi\inhibitglue(\theenumii)} +\renewcommand{\p@enumiv}{\p@enumiii\theenumiii} +\newcommand\labelitemi{\textbullet} +\newcommand\labelitemii{\normalfont\bfseries \textendash} +\newcommand\labelitemiii{\textasteriskcentered} +\newcommand\labelitemiv{\textperiodcentered} +\newenvironment{description}{% + \list{}{% + \labelwidth=\leftmargin + \labelsep=1zw + \advance \labelwidth by -\labelsep + \let \makelabel=\descriptionlabel}}{\endlist} +\newcommand*\descriptionlabel[1]{\normalfont\headfont #1\hfil} +\newbox\@abstractbox +\if@titlepage + \newenvironment{abstract}{% + \titlepage + \null\vfil + \@beginparpenalty\@lowpenalty + \begin{center}% + \headfont \abstractname + \@endparpenalty\@M + \end{center}}% + {\par\vfil\null\endtitlepage} +\else + \newenvironment{abstract}{% + \if@twocolumn + \ifx\maketitle\relax + \section*{\abstractname}% + \else + \global\setbox\@abstractbox\hbox\bgroup + \begin{minipage}[b]{\textwidth} + \small\parindent1zw + \begin{center}% + {\headfont \abstractname\vspace{-.5em}\vspace{\z@}}% + \end{center}% + \list{}{% + \listparindent\parindent + \itemindent \listparindent + \rightmargin \leftmargin}% + \item\relax + \fi + \else + \small + \begin{center}% + {\headfont \abstractname\vspace{-.5em}\vspace{\z@}}% + \end{center}% + \list{}{% + \listparindent\parindent + \itemindent \listparindent + \rightmargin \leftmargin}% + \item\relax + \fi}{\if@twocolumn + \ifx\maketitle\relax + \else + \endlist\end{minipage}\egroup + \fi + \else + \endlist + \fi} +\fi +\newenvironment{verse}{% + \let \\=\@centercr + \list{}{% + \itemsep \z@ + \itemindent -2zw % 元: -1.5em + \listparindent\itemindent + \rightmargin \z@ + \advance\leftmargin 2zw}% 元: 1.5em + \item\relax}{\endlist} +\newenvironment{quotation}{% + \list{}{% + \listparindent\parindent + \itemindent\listparindent + \rightmargin \z@}% + \item\relax}{\endlist} +\newenvironment{quote}% + {\list{}{\rightmargin\z@}\item\relax}{\endlist} +\def\@begintheorem#1#2{\trivlist\labelsep=1zw + \item[\hskip \labelsep{\headfont #1\ #2}]} +\def\@opargbegintheorem#1#2#3{\trivlist\labelsep=1zw + \item[\hskip \labelsep{\headfont #1\ #2(#3)}]} +\newenvironment{titlepage}{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse\newpage + \fi + \thispagestyle{empty}% + \ifodd\c@page\setcounter{page}\@ne\else\setcounter{page}\z@\fi + }% + {\if@restonecol\twocolumn \else \newpage \fi + \if@twoside\else + \setcounter{page}\@ne + \fi} +\newcommand{\appendix}{\par + \setcounter{chapter}{0}% + \setcounter{section}{0}% + \gdef\@chapapp{\appendixname}% + \gdef\@chappos{}% + \gdef\thechapter{\@Alph\c@chapter}} +\setlength\arraycolsep{5\jsc@mpt} +\setlength\tabcolsep{6\jsc@mpt} +\setlength\arrayrulewidth{.4\jsc@mpt} +\setlength\doublerulesep{2\jsc@mpt} +\setlength\tabbingsep{\labelsep} +\skip\@mpfootins = \skip\footins +\setlength\fboxsep{3\jsc@mpt} +\setlength\fboxrule{.4\jsc@mpt} +%\@addtoreset{equation}{chapter} +\renewcommand\theequation + %{\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@equation} + {\@arabic\c@equation} +%ITOI \newcounter{figure}[chapter] +\newcounter{figure}%ITOI:図番号を通し番号にする +\renewcommand \thefigure + %ITOI {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@figure} + {\@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{\figurename\nobreak\thefigure} +\newenvironment{figure}% + {\@float{figure}}% + {\end@float} +\newenvironment{figure*}% + {\@dblfloat{figure}}% + {\end@dblfloat} +%ITOI \newcounter{table}[chapter] +\newcounter{table}%ITOI:表番号を通し番号にする +\renewcommand \thetable + %ITOI {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@table} + {\@arabic\c@table} +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{\tablename\nobreak\thetable} +\newenvironment{table}% + {\@float{table}}% + {\end@float} +\newenvironment{table*}% + {\@dblfloat{table}}% + {\end@dblfloat} +\newlength\abovecaptionskip +\newlength\belowcaptionskip +\setlength\abovecaptionskip{5\jsc@mpt} % 元: 10\p@ +\setlength\belowcaptionskip{5\jsc@mpt} % 元: 0\p@ +\long\def\@makecaption#1#2{{ + \advance\leftskip .0628\linewidth + \advance\rightskip .0628\linewidth + \vskip\abovecaptionskip + \sbox\@tempboxa{#1\hskip1zw\relax #2}% + \ifdim \wd\@tempboxa <\hsize \centering \fi + #1\hskip1zw\relax #2\par + \vskip\belowcaptionskip}} +\DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc} +\DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt} +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareRobustCommand*{\cal}{\@fontswitch\relax\mathcal} +\DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal} +\newcommand\@pnumwidth{1.55em} +\newcommand\@tocrmarg{2.55em} +\newcommand\@dotsep{4.5} +\setcounter{tocdepth}{1} +\newdimen\jsc@tocl@width +\newcommand{\tableofcontents}{% + \settowidth\jsc@tocl@width{\headfont\prechaptername\postchaptername}% + \settowidth\@tempdima{\headfont\appendixname}% + \ifdim\jsc@tocl@width<\@tempdima \setlength\jsc@tocl@width{\@tempdima}\fi + \ifdim\jsc@tocl@width<2zw \divide\jsc@tocl@width by 2 \advance\jsc@tocl@width 1zw\fi + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\vspace{-1.8em}\huge\contentsname}% + \vspace{-2.8em} + \@mkboth{\contentsname}{}% + \@starttoc{toc}% + \if@restonecol\twocolumn\fi +} +\newcommand*{\l@part}[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus\jsc@mpt}% + \begingroup + \parindent \z@ + \rightskip \@tocrmarg + \parfillskip -\rightskip + {\leavevmode + \large \headfont + \setlength\@lnumwidth{4zw}% + #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par + \nobreak + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \endgroup + \fi} +\newcommand*{\l@chapter}[2]{% + \ifnum \c@tocdepth >\m@ne + \addpenalty{-\@highpenalty}% + \addvspace{1.0em \@plus\jsc@mpt} + \begingroup + \parindent\z@ + \rightskip\@tocrmarg + \parfillskip-\rightskip + \leavevmode\headfont + % \if@english\setlength\@lnumwidth{5.5em}\else\setlength\@lnumwidth{4.683zw}\fi + \setlength\@lnumwidth{\jsc@tocl@width}\advance\@lnumwidth 2.683zw + \advance\leftskip\@lnumwidth \hskip-\leftskip + #1\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss#2}\par + \penalty\@highpenalty + \endgroup + \fi} + % \newcommand*{\l@section}{\@dottedtocline{1}{1zw}{3.683zw}} +\newcommand*{\l@section}{% + \@tempdima\jsc@tocl@width \advance\@tempdima -1zw + \@dottedtocline{1}{\@tempdima}{3.683zw}} +\newcommand*{\l@subsection}{% + \@tempdima\jsc@tocl@width \advance\@tempdima 2.683zw + \@dottedtocline{2}{\@tempdima}{3.5zw}} +\newcommand*{\l@subsubsection}{% + \@tempdima\jsc@tocl@width \advance\@tempdima 6.183zw + \@dottedtocline{3}{\@tempdima}{4.5zw}} +\newcommand*{\l@paragraph}{% + \@tempdima\jsc@tocl@width \advance\@tempdima 10.683zw + \@dottedtocline{4}{\@tempdima}{5.5zw}} +\newcommand*{\l@subparagraph}{% + \@tempdima\jsc@tocl@width \advance\@tempdima 16.183zw + \@dottedtocline{5}{\@tempdima}{6.5zw}} +\newdimen\@lnumwidth +\def\numberline#1{\hb@xt@\@lnumwidth{#1\hfil}\hspace{0pt}} +\def\@dottedtocline#1#2#3#4#5{\ifnum #1>\c@tocdepth \else + \vskip \z@ \@plus.2\jsc@mpt + {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip + \parindent #2\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \@lnumwidth #3\relax + \advance\leftskip \@lnumwidth \null\nobreak\hskip -\leftskip + {#4}\nobreak + \leaders\hbox{$\m@th \mkern \@dotsep mu\hbox{.}\mkern \@dotsep + mu$}\hfill \nobreak\hb@xt@\@pnumwidth{% + \hfil\normalfont \normalcolor #5}\par}\fi} +\newcommand{\listoffigures}{% + \if@twocolumn\@restonecoltrue\onecolumn + \else\@restonecolfalse\fi + \chapter*{\listfigurename}% + \@mkboth{\listfigurename}{}% + \@starttoc{lof}% + \if@restonecol\twocolumn\fi +} +\newcommand*{\l@figure}{\@dottedtocline{1}{1zw}{3.683zw}} +\newcommand{\listoftables}{% + \if@twocolumn\@restonecoltrue\onecolumn + \else\@restonecolfalse\fi + \chapter*{\listtablename}% + \@mkboth{\listtablename}{}% + \@starttoc{lot}% + \if@restonecol\twocolumn\fi +} +\let\l@table\l@figure +\newdimen\bibindent +\setlength\bibindent{2zw} +\newenvironment{thebibliography}[1]{% + \global\let\presectionname\relax + \global\let\postsectionname\relax + \chapter*{\vspace{-1em}\huge\bibname}\@mkboth{\bibname}{}% + \vspace{-1.8em} + \addcontentsline{toc}{chapter}{\bibname}% + \list{\@biblabel{\@arabic\c@enumiv}}% + {\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}}% + \sloppy + \clubpenalty4000 + \@clubpenalty\clubpenalty + \widowpenalty4000% + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist} +\newcommand{\newblock}{\hskip .11em\@plus.33em\@minus.07em} +\let\@openbib@code\@empty +\newenvironment{theindex}{% 索引を3段組で出力する環境 + \if@twocolumn + \onecolumn\@restonecolfalse + \else + \clearpage\@restonecoltrue + \fi + \columnseprule.4pt \columnsep 2zw + \ifx\multicols\@undefined + \twocolumn[\@makeschapterhead{\indexname}% + \addcontentsline{toc}{chapter}{\indexname}]% + \else + \ifdim\textwidth<\fullwidth + \setlength{\evensidemargin}{\oddsidemargin} + \setlength{\textwidth}{\fullwidth} + \setlength{\linewidth}{\fullwidth} + \begin{multicols}{3}[\chapter*{\indexname}% + \addcontentsline{toc}{chapter}{\indexname}]% + \else + \begin{multicols}{2}[\chapter*{\indexname}% + \addcontentsline{toc}{chapter}{\indexname}]% + \fi + \fi + \@mkboth{\indexname}{}% + \plainifnotempty % \thispagestyle{plain} + \parindent\z@ + \parskip\z@ \@plus .3\jsc@mpt\relax + \let\item\@idxitem + \raggedright + \footnotesize\narrowbaselines + }{ + \ifx\multicols\@undefined + \if@restonecol\onecolumn\fi + \else + \end{multicols} + \fi + \clearpage + } +\newcommand{\@idxitem}{\par\hangindent 4zw} % 元 40pt +\newcommand{\subitem}{\@idxitem \hspace*{2zw}} % 元 20pt +\newcommand{\subsubitem}{\@idxitem \hspace*{3zw}} % 元 30pt +\newcommand{\indexspace}{\par \vskip 10\jsc@mpt \@plus5\jsc@mpt \@minus3\jsc@mpt\relax} +\newcommand\seename{\if@english see\else →\fi} +\newcommand\alsoname{\if@english see also\else →\fi} +\@ifl@t@r\pfmtversion{2016/09/03} + {\jsc@needsp@tchfalse}{\jsc@needsp@tchtrue} +\ifjsc@needsp@tch + \let\footnotes@ve=\footnote + \def\footnote{\inhibitglue\footnotes@ve} + \let\footnotemarks@ve=\footnotemark + \def\footnotemark{\inhibitglue\footnotemarks@ve} +\fi +\@ifl@t@r\pfmtversion{2016/04/17} + {\jsc@needsp@tchfalse}{\jsc@needsp@tchtrue} +\ifjsc@needsp@tch +\renewcommand\@makefnmark{% + \ifydir \hbox{}\hbox{\@textsuperscript{\normalfont\@thefnmark}}\hbox{}% + \else\hbox{\yoko\@textsuperscript{\normalfont\@thefnmark}}\fi} +\fi +\def\thefootnote{\ifnum\c@footnote>\z@\leavevmode\lower.5ex\hbox{*}\@arabic\c@footnote\fi} +\renewcommand{\footnoterule}{% + \kern-3\jsc@mpt + \hrule width .4\columnwidth height 0.4\jsc@mpt + \kern 2.6\jsc@mpt} +\@addtoreset{footnote}{chapter} +\long\def\@footnotetext{% + \insert\footins\bgroup + \normalfont\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}% + \futurelet\jsc@next\jsc@fo@t} +\def\jsc@fo@t{\ifcat\bgroup\noexpand\jsc@next \let\jsc@next\jsc@f@@t + \else \let\jsc@next\jsc@f@t\fi \jsc@next} +\def\jsc@f@@t{\bgroup\aftergroup\jsc@@foot\let\jsc@next} +\def\jsc@f@t#1{#1\jsc@@foot} +\def\jsc@@foot{\@finalstrut\strutbox\color@endgroup\egroup + \ifx\pltx@foot@penalty\@undefined\else + \ifhmode\null\fi + \ifnum\pltx@foot@penalty=\z@\else + \penalty\pltx@foot@penalty + \pltx@foot@penalty\z@ + \fi + \fi} +\newcommand\@makefntext[1]{% + \advance\leftskip 3zw + \parindent 1zw + \noindent + \llap{\@makefnmark\hskip0.3zw}#1} +\def\@inhibitglue{% + \futurelet\@let@token\@@inhibitglue} +\begingroup +\let\GDEF=\gdef +\let\CATCODE=\catcode +\let\ENDGROUP=\endgroup +\CATCODE`k=12 +\CATCODE`a=12 +\CATCODE`n=12 +\CATCODE`j=12 +\CATCODE`i=12 +\CATCODE`c=12 +\CATCODE`h=12 +\CATCODE`r=12 +\CATCODE`t=12 +\CATCODE`e=12 +\GDEF\KANJI@CHARACTER{kanji character } +\ENDGROUP +\def\@@inhibitglue{% + \expandafter\expandafter\expandafter\jsc@inhibitglue\expandafter\meaning\expandafter\@let@token\KANJI@CHARACTER\relax\jsc@end} +\expandafter\def\expandafter\jsc@inhibitglue\expandafter#\expandafter1\KANJI@CHARACTER#2#3\jsc@end{% + \def\jsc@ig@temp{#1}% + \ifx\jsc@ig@temp\@empty + \ifnum\the\inhibitxspcode`#2=2\relax + \inhibitglue + \fi + \fi} +\let\everyparhook=\@inhibitglue +\AtBeginDocument{\everypar{\everyparhook}} +\def\@doendpe{% + \@endpetrue + \def\par{% + \@restorepar\clubpenalty\@clubpenalty\everypar{\everyparhook}\par\@endpefalse}% + \everypar{{\setbox\z@\lastbox}\everypar{\everyparhook}\@endpefalse\everyparhook}} +\def\@setminipage{% + \@minipagetrue + \everypar{\@minipagefalse\everypar{\everyparhook}}% +} +\def\@item[#1]{% + \if@noparitem + \@donoparitem + \else + \if@inlabel + \indent \par + \fi + \ifhmode + \unskip\unskip \par + \fi + \if@newlist + \if@nobreak + \@nbitem + \else + \addpenalty\@beginparpenalty + \addvspace\@topsep + \addvspace{-\parskip}% + \fi + \else + \addpenalty\@itempenalty + \addvspace\itemsep + \fi + \global\@inlabeltrue + \fi + \everypar{% + \@minipagefalse + \global\@newlistfalse + \if@inlabel + \global\@inlabelfalse + {\setbox\z@\lastbox + \ifvoid\z@ + \kern-\itemindent + \fi}% + \box\@labels + \penalty\z@ + \fi + \if@nobreak + \@nobreakfalse + \clubpenalty \@M + \else + \clubpenalty \@clubpenalty + \everypar{\everyparhook}% + \fi\everyparhook}% + \if@noitemarg + \@noitemargfalse + \if@nmbrlist + \refstepcounter\@listctr + \fi + \fi + \sbox\@tempboxa{\makelabel{#1}}% + \global\setbox\@labels\hbox{% + \unhbox\@labels + \hskip \itemindent + \hskip -\labelwidth + \hskip -\labelsep + \ifdim \wd\@tempboxa >\labelwidth + \box\@tempboxa + \else + \hbox to\labelwidth {\unhbox\@tempboxa}% + \fi + \hskip \labelsep}% + \ignorespaces} +\def\@afterheading{% + \@nobreaktrue + \everypar{% + \if@nobreak + \@nobreakfalse + \clubpenalty \@M + \if@afterindent \else + {\setbox\z@\lastbox}% + \fi + \else + \clubpenalty \@clubpenalty + \everypar{\everyparhook}% + \fi\everyparhook}} +\def\@gnewline #1{% + \ifvmode + \@nolnerr + \else + \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \null + \inhibitglue \ignorespaces + \fi} +\if@jslogo + \IfFileExists{jslogo.sty}{% + \RequirePackage{jslogo}% + \def\小{\jslg@small}% + \def\上小{\jslg@uppersmall}% + }{% + \ClassWarningNoLine{\jsc@clsname}{% + The redefinitions of LaTeX-related logos has\MessageBreak + been moved to jslogo.sty since 2016, but\MessageBreak + jslogo.sty not found. Current release of\MessageBreak + 'jsclasses' includes it, so please check\MessageBreak + the installation}% + } +\fi +\newcommand{\prepartname}{\if@english Part~\else 第\fi} +\newcommand{\postpartname}{\if@english\else 部\fi} +\newcommand{\prechaptername}{\if@english Chapter~\else 第\fi} +\newcommand{\postchaptername}{\if@english\else 章\fi} +\newcommand{\presectionname}{}% 第 +\newcommand{\postsectionname}{}% 節 +\newcommand{\contentsname}{\if@english Contents\else 目次\fi} +\newcommand{\listfigurename}{\if@english List of Figures\else 図目次\fi} +\newcommand{\listtablename}{\if@english List of Tables\else 表目次\fi} +\newcommand{\refname}{\if@english References\else 参考文献\fi} +\newcommand{\bibname}{\if@english Bibliography\else 参考文献\fi} +\newcommand{\indexname}{\if@english Index\else 索引\fi} +\newcommand{\figurename}{\if@english Fig.~\else \gt{図}\fi} +\newcommand{\tablename}{\if@english Table~\else \gt{表}\fi} +\newcommand{\appendixname}{\if@english \else 付録\fi} +\newcommand{\abstractname}{\if@english Abstract\else 概要\fi} +\newif\if西暦 \西暦true +\def\西暦{\西暦true} +\def\和暦{\西暦false} +\newcount\heisei \heisei\year \advance\heisei-1988\relax +\def\today{% + \if@english + \ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year + \else + \if西暦 + \number\year 年 + \number\month 月 + \number\day 日 + \else + 平成\number\heisei 年 + \number\month 月 + \number\day 日 + \fi + \fi} +\hyphenation{ado-be post-script ghost-script phe-nom-e-no-log-i-cal man-u-script} +\pagestyle{plain} +\pagenumbering{arabic} +\if@twocolumn + \twocolumn + \sloppy + \flushbottom +\else + \onecolumn + \raggedbottom +\fi +\if@slide + \renewcommand\kanjifamilydefault{\gtdefault} + \renewcommand\familydefault{\sfdefault} + \raggedright + \xkanjiskip=0.1em\relax +\fi +\@ifpackageloaded{exppl2e}{\jsc@needsp@tchtrue}{\jsc@needsp@tchfalse} +\ifjsc@needsp@tch\else + \expandafter\endinput +\fi +\def\@gnewline #1{% + \ifvmode + \@nolnerr + \else + \unskip \reserved@e {\reserved@f#1}\nobreak \hfil \break \hskip \z@ + \ignorespaces + \fi} +\endinput +%% diff --git a/sebyousi.tex b/sebyousi.tex new file mode 100644 index 0000000..7afa181 --- /dev/null +++ b/sebyousi.tex @@ -0,0 +1,118 @@ +% latexmk -pdfdvi -pvc sebyousi で継続コンパイル。設定と詳細は .latexmkrc +\documentclass[a4j,11pt]{utarticle} +\usepackage{plext} +\usepackage{xstring} +\usepackage{ifthen} +\usepackage{xcolor} +\usepackage{xparse} +\usepackage{ifthen} +\usepackage{setspace} + + +\setlength{\textwidth}{210mm} %%A4の幅 +\setlength{\textheight}{297mm} %%A4の高さ +\setlength{\oddsidemargin}{-25.4mm} %%左横マージンを0にする +\setlength{\topmargin}{-25.4mm} %%上マージンを0にする +\setlength{\headheight}{14mm} +\setlength{\headsep}{0mm} +\special{papersize=210mm,297mm} %%A4の大きさにページサイズを指定 + +\pagestyle{empty} %%ページ番号を出力しない + +% \setlength{\textheight}{9.5in} +% \setlength{\parskip}{0em} +% \setlength{\topsep}{0em} + +% 基準線の長さ(ここを420とかにすると、上下の線がつながる) +\newcounter{tombow}\setcounter{tombow}{5} + +% 著者と著者の距離 16 (+20) 36 (+18) 54 +\newcounter{ppos}\setcounter{ppos}{54} +\newcounter{pwidth}\setcounter{pwidth}{-18}% 幅 + +% \usepackage{tikz}%(これで、pgfとpgfforが読み込まれます。) +\makeatletter +\@tfor\x:=0123456789\do{\kansujichar\x=\jis"233\x\relax} +\makeatother + +%% 年度を半角数字で記入 +\newcommand{\nendo}{令和\kansuji 5 年度 卒業論文} +% \kansuji のあとは半角数字でよい。全角数字に変換するので。 + +\newcommand{\Acap}{A} %全角大文字のA + +% 学生番号のAで区切って(パターンマッチング)、前半と後半を取り出す(Aは単なる区切り文字) +% xstringパッケージの\StrMid \StrLeft \StrRight でも同様のことができそう +\makeatletter +\def\年部分#1{\年部分@#1\@nil} +\def\年部分@#1A#2\@nil{#1} +\def\番号部分#1{\番号部分@#1\@nil} +\def\番号部分@#1A#2\@nil{#2} +\makeatother + +% (必須項目は{},オプションは[] ) +% {題目}{18A5040}{氏名1}[18A5123][氏名2][18A5123][氏名3] +% \NewDocumentEnvironment{sebyousi}{m m m m O{} o o O{} o o}{% +\NewDocumentEnvironment{sebyousi}{m m m O{} o O{} o}{% + +\begin{picture}(500,173)(0,175.4) +% \begin{picture}(820,232.5)(0,-90) +\put(-45,100){\color{gray}{\line(1,0){\value{tombow}}}} +\put(-45,-13){\color{gray}{\line(1,0){\value{tombow}}}} +\put(-45,-73){\color{gray}{\line(1,0){\value{tombow}}}} +% \put(-35,0){\framebox(820,120){}} +% \put(0,0){\vector(1,0){80}} +% \put(0,0){\vector(0,1){60}} +\put(-10,78){\large \nendo} +\put(120,78){{\Large #1}} + +\setcounter{ppos}{54} +\put(310,\value{ppos}){\large 情報通信システム工学科} +\put(450,\value{ppos}){\large \kansuji \年部分{#2} \Acap \kansuji \番号部分{#2}} +\put(540,\value{ppos}){\large #3} + +%%% mynameB が定義されているときだけ +\ifthenelse{\equal{#4}{}}{}{ + \addtocounter{ppos}{\value{pwidth}} % ppos = ppos+pwidth + \put(450,\value{ppos}){\large \kansuji \年部分{#4} \Acap \kansuji \番号部分{#4}} + \put(540,\value{ppos}){\large #5} +} +%%% mynameC が定義されているときだけ +\ifthenelse{\equal{#6}{}}{}{ + \addtocounter{ppos}{\value{pwidth}} % ppos = ppos+pwidth + \put(450,\value{ppos}){\large \kansuji \年部分{#6} \Acap \kansuji \番号部分{#6}} + \put(540,\value{ppos}){\large #7} +} + +% \ifdefined\mynameB +% \fi +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\addtocounter{ppos}{\value{pwidth}} % ppos = ppos+pwidth +\addtocounter{ppos}{-4} % ppos = ppos-4 (数字を減らすと教員が左に動く) +\put(450,\value{ppos}){\large 指導教員} +\put(513,\value{ppos}){\large 三浦 元喜 教授} + +% \put(200,-30){\kansuji 5001}} +\put(-10,-44){\large \nendo} +\put(120,-44){{\Large #1}} + +\put(787,100){\color{gray}{\line(-1,0){\value{tombow}}}} +\put(787,-13){\color{gray}{\line(-1,0){\value{tombow}}}} +\put(787,-73){\color{gray}{\line(-1,0){\value{tombow}}}} + +\end{picture} +} + +\begin{document} + + +%\sebyousi{題目}{18A5040}{氏名1}[18A5123][氏名2][18A5123][氏名3] +\sebyousi{背表紙の生成を簡素化するための手法とその評価\kansuji 1}{20A5555}{羅手歩 増人} +\sebyousi{背表紙の生成を簡素化するための手法とその評価\kansuji 2}{20A5555}{羅手歩 増人} +\sebyousi{背表紙の生成を簡素化するための手法とその評価\kansuji 3}{20A5555}{羅手歩 増人} +% \newpage + + + +\end{document} diff --git a/thesis.bbl b/thesis.bbl new file mode 100644 index 0000000..9b431fa --- /dev/null +++ b/thesis.bbl @@ -0,0 +1,3 @@ +\begin{thebibliography}{} + +\end{thebibliography} diff --git a/thesis.bib b/thesis.bib new file mode 100644 index 0000000..f460736 --- /dev/null +++ b/thesis.bib @@ -0,0 +1,55 @@ +@book{Knuth, + author="Donald Ervin Knuth", + title="Computers \& Typesetting, Volume B: \TeX : The Program (Computers and Typesetting)", + publisher="Addison-Wesley Professional", + year="1986" +} + +@book{Okumura201701, + author="奥村 晴彦 and 黒木 裕介", + title="[改訂第7版]\LaTeX2e 美文書作成入門", + publisher="技術評論社", + year="2017" +} + +@book{Yoshinaga201808, + author="吉永 徹美", + title="\LaTeX2e 辞典 増補改訂版 (DESKTOP REFERENCE)", + publisher="翔泳社", + year="2018" +} + +@book{Tsuchiya201808, + author="土屋 勝", + title="\LaTeX はじめの一歩―Windows 10/8/7対応 (やさしいプログラミング)", + publisher="カットシステム", + year="2018" +} + +@book{Yoshinaga200803, + author="吉永 徹美", + title="独習 \LaTeX2e", + publisher="翔泳社", + year="2008" +} + +@book{Dilip201707, + author="Dilip Datta", + title="{\LaTeX in 24 Hours: A Practical Guide for Scientific Writing}", + publisher="Springer", + year="2017" +} + +@book{George201409, + author="George Graetzer", + title="Practical \LaTeX", + publisher="Springer", + year="2014" +} + +@book{Akama201410, + author="赤間 世紀", + title="\LaTeX 論文作成マニュアル―「論文」の書き方と「\LaTeX 」の使い方 (I・O BOOKS)", + publisher="工学社", + year="2014" +} diff --git a/thesis.tex b/thesis.tex new file mode 100644 index 0000000..7532820 --- /dev/null +++ b/thesis.tex @@ -0,0 +1,179 @@ +% latexmk -pdfdvi -pvc thesis で継続コンパイル。設定と詳細は .latexmkrc +% \RequirePackage{plautopatch} +\documentclass[platex,dvipdfmx,11pt]{icsthesis} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% 情報通信システム工学科 卒業論文テンプレート +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% \documentclass[11pt]{icsthesis} +\usepackage[dvipdfmx]{graphicx} +\usepackage[fleqn]{amsmath} +\usepackage{fancyhdr} +\usepackage{bm} +\usepackage{bigstrut} +\usepackage{multirow} +\usepackage{amsfonts} + +\renewcommand{\yen}{\textbackslash} % 円マークのコマンドを上書き再定義 + +%%---------------------------------------------------------------------------------------------------------------------- +%% 表紙の記載事項 +%%---------------------------------------------------------------------------------------------------------------------- +%% ToDo: 論文タイトル +\title{卒業論文のタイトルと\\[.5cm]テンプレートに関する研究} + +%% ToDo: 著者一覧 +\authorA{17A5001}{氏 名1} +\authorB{16A5002}{氏 名2} +%\authorC{16A5003}{氏 名3} +%\authorD{16A5004}{氏 名4} + +%% ToDo: 指導教員 +\supervisor{三浦 元喜 教授} + +%% ToDo: 提出日 +\date{令和6年1月31日} +\nendo{令和5年度} + +%%---------------------------------------------------------------------------------------------------------------------- +\begin{document} +\maketitle +%----------------------------------------------------------- +% ヘッダ・フッタ設定 +\pagestyle{fancy} +\fancyhead[R]{\nouppercase{\fontsize{10.5pt}{0pt}\selectfont\rightmark}} +\fancyhead[L]{\nouppercase{\fontsize{10.5pt}{0pt}\selectfont\leftmark}} +%\fancyhead[R]{\nouppercase{\small\rightmark}} +%\fancyhead[L]{\nouppercase{\small\leftmark}} +\fancyfoot[C]{--\ \thepage\ --} +\renewcommand{\headrulewidth}{0.3truemm} +%----------------------------------------------------------- +%% 目次 +\pagenumbering{roman} +\setcounter{tocdepth}{4} +\pagestyle{fancy} +\fancyfoot[C]{--\ \thepage\ --} +{\makeatletter +\let\ps@jpl@in\ps@empty +\makeatother +\pagestyle{plain} +\tableofcontents +\clearpage} +\pagenumbering{arabic} +%%====================================================================================================================== +%% ここから本文 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +%%====================================================================================================================== + +\chapter{はじめに} +本書は,情報通信システム工学科卒業論文用\LaTeX テンプレートファイルの説明書である. +\LaTeX (必要に応じて,\BibTeX)はそれなりに使えることが前提である. + +\section{ファイル構成} +テンプレートのファイル構成は次の通りである. + +\begin{itemize} +\item \textsf{thesis.tex}: 論文本体のファイル +\item \textsf{icsthesis.cls}: 情報通信システム工学科卒業論文用クラスファイル +\item \textsf{fancyhdr.sty}: ヘッダ・フッタのスタイルファイル +\item \textsf{thesis.bib}: 文献データベースファイル(\BibTeX 使用時のみ) +\item \textsf{icsthesis.bst}: 文献スタイルファイル(\BibTeX 使用時のみ) +\end{itemize} + +なお,本テンプレートは,uplatex+dvipdfmx環境で作成した. + +\section{表紙情報の設定} +表紙に記載される情報を``\textsf{thesis.tex}''の最初の方にある\textsf{ToDo}項目に記載する. + +\subsection{論文タイトル} +\textsf{\yen title\{卒業論文テンプレート\}}を自分の論文のタイトルに書き換える. + +\subsection{著者} +\textsf{\yen authorA\{16A5001\}\{氏 名1\}}を書き換える. +複数名の場合は,順に\textsf{\yen authorB},\textsf{\yen authorC},...を使用する. + +\subsection{指導教員} +\textsf{\yen supervisor\{○○ 教授\}}を書き換える. + +\chapter{章見出し} +本章では,文書構成要素のスタイルを説明する. +ここは,「章」である.「章見出し」は必ずページの先頭になる. +文字サイズ20pt,上下に(見出し文字サイズで)1行分程度の余白がある. + +\textsf{\yen chapter\{見出し文字列\}}と書けば,「章見出し」が設定される. + +ちなみに,本文の文字サイズは11ptである. + +\section{節見出し} +ここは,「節」である.見出しはゴシック14ptである.見出し文字サイズで,上に1行,下に0.5行分程度の余白がある. + +\textsf{\yen section\{見出し文字列\}}と書けば,「節見出し」が設定される. + +\subsection{小節見出し} +ここは,「小節」である.見出しはゴシック12ptである.で,以下同文... + +\textsf{\yen subsection\{見出し文字列\}}と書けば,「小節見出し」が設定される. + +\subsubsection{小小節見出し} +ここは,「小小節」である.見出しはゴシック11ptである.で,以下同文... + +\textsf{\yen subsubsection\{見出し文字列\}}と書けば,「小小節見出し」が設定される. + +\section{文字数と行数} +概ね,1ページ40行,1行45文字となるように設定してある. + + +%%====================================================================================================================== +%% ここまで本文 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +%%====================================================================================================================== + +%% 謝辞 +\clearpage +\fancyhead[L]{}\fancyhead[R]{} +\renewcommand{\headrulewidth}{0truemm} +\section*{謝辞} +本研究を遂行し,卒業論文をまとめるにあたり,なんたらかんたら… + +%%---------------------------------------------------------------------------------------------------------------------- +%% 参考文献 +\clearpage +%\nocite{*} +\bibliographystyle{icsthesis} +\fancyhead[L]{\nouppercase{\small\leftmark}}\fancyhead[R]{} +\renewcommand{\headrulewidth}{0.3truemm} +\bibliography{thesis} + +%%---------------------------------------------------------------------------------------------------------------------- +%% 付録: 不要なら,最後の \end{document} を残して,これ以降の行を消す. +%% +\clearpage +\fancyhead[L]{\nouppercase{\small\leftmark}} +\fancyhead[R]{\nouppercase{\small\rightmark}} +\fancyfoot[C]{--\ \thepage\ --} +\renewcommand{\headrulewidth}{0.3truemm} +\appendix +\chapter{付録章見出し} +ここから付録のページである.章や節の番号付けが変わるだけで本文の章や節と同じように記述できる. +不要な場合は,``\textsf{thesis.tex}''内の指示に従い,不要な行を削除する. + +ここは「付録章」である.\textsf{\yen appendix}以降に,\textsf{\yen chapter\{見出し文字列\}}と書けば, +「付録章見出し」が設定される. +「章見出し」と同じ文字サイズ,同じ上下余白である. + +\section{付録節見出し} +ここは,「付録節」である.\textsf{\yen appendix}以降に\textsf{\yen section\{見出し文字列\}}と書けば, +「付録節見出し」が設定される. +「節見出し」と同じ文字サイズ,同じ上下余白である. + +\subsection{付録小節見出し} +ここは,「付録小節」である.\textsf{\yen appendix}以降に\textsf{\yen subsection\{見出し文字列\}}と書けば, +「付録小節見出し」が設定される. +「小節見出し」と同じ文字サイズ,同じ上下余白である. + +\subsubsection{付録小小見出し} +ここは,「付録小小節」である.\textsf{\yen appendix}以降に\textsf{\yen subsubsection\{見出し文字列\}}と書けば, +「付録小小節見出し」が設定される. +「小小節見出し」と同じ文字サイズ,同じ上下余白である. + + +\end{document}