JINST.cls 63 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617
  1. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2. %%%%%%%%%%%%%%%%%%%%%%%%% JINST.cls 1.0.4 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  3. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  4. %%
  5. %% This file is Copyright JINST 2006: it can be freely distributed but
  6. %% NOT modified preserving its name, even in similar forms.
  7. %%
  8. %% JINST.cls is a LaTeX2e class file used to typeset manuscripts in
  9. %% Journal of Instrumentation (http://jinst.sissa.it) style. It was
  10. %% written by P. Dall'Aglio as a modification of the class JHEP3.cls
  11. %%
  12. %% JINST.cls is only for internal use of the JINST typesetting office.
  13. %%
  14. %% For bugs, comments, suggestions email to jinst-eo@jhep.sissa.it
  15. %%
  16. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  17. %% \CharacterTable
  18. %% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  19. %% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  20. %% Digits \0\1\2\3\4\5\6\7\8\9
  21. %% Exclamation \! Double quote \" Hash (number) \#
  22. %% Dollar \$ Percent \% Ampersand \&
  23. %% Acute accent \' Left paren \( Right paren \)
  24. %% Asterisk \* Plus \+ Comma \,
  25. %% Minus \- Point \. Solidus \/
  26. %% Colon \: Semicolon \; Less than \<
  27. %% Equals \= Greater than \> Question mark \?
  28. %% Commercial at \@ Left bracket \[ Backslash \\
  29. %% Right bracket \] Circumflex \^ Underscore \_
  30. %% Grave accent \` Left brace \{ Vertical bar \|
  31. %% Right brace \} Tilde \~}
  32. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  33. \NeedsTeXFormat{LaTeX2e}[1995/12/01]
  34. \ProvidesClass{JINST} [2015/06/07 v1.0.4 LaTeX document class - P.D.]
  35. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  36. \def\logo{\raisebox{-10.5\p@}{\hb@xt@85\p@{\includegraphics{JINSTlogo}\hfil}}}
  37. %%%%%%%%%%%%%%%%%%%%%%%%%%%% NEW SWITCHES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  38. \newif\if@preprint\@preprinttrue % DEFAULT IS PREPRINT!
  39. \newif\if@draft \@draftfalse % DEFAULT IS NOT DRAFT
  40. \newif\if@hyper \@hypertrue % DEFAULT IS HYPER
  41. \newif\if@proc \@procfalse % DEFAULT IS NOT PROC
  42. \newif\if@tech \@techfalse % DEFAULT IS NOT TECHNICAL REPORT
  43. \newif\if@author\@authorfalse %
  44. \newif\if@abstract\@abstractfalse % FOR FRONTMATTER DECLARATIONS
  45. \newif\if@keywords\@keywordsfalse %
  46. \newif\if@todotoc\@todotocfalse %
  47. \newif\if@rece\@recefalse %
  48. \newif\if@revi\@revifalse %
  49. \newif\if@acce\@accefalse %
  50. \newif\if@publi\@publifalse %
  51. \newif\if@Jcopy\@Jcopyfalse %
  52. \newif\if@conf\@conffalse %
  53. \newif\if@Jspecialurl\@Jspecialurlfalse
  54. \newif\if@Jcits\@Jcitsfalse
  55. \RequirePackage{ifpdf}
  56. %\newif\ifpdf
  57. %\ifx\pdfoutput\undefined
  58. %\else
  59. % \ifx\pdfoutput\relax
  60. % \else
  61. % \ifcase\pdfoutput
  62. % \else
  63. % \pdftrue
  64. % \fi
  65. % \fi
  66. %\fi
  67. \if@compatibility
  68. \setlength\paperheight {297mm}% % DEFAULT FOR LATEX209 IS a4
  69. \setlength\paperwidth {210mm}%
  70. \else % CHOSE PAPER:
  71. \DeclareOption{a4paper}
  72. {\setlength\paperheight {297mm}%
  73. \setlength\paperwidth {210mm}}
  74. \DeclareOption{a5paper}{\@OImess{}} % IGNORED a5
  75. \DeclareOption{b5paper}{\@OImess{}} % IGNORED b5
  76. \DeclareOption{letterpaper}
  77. {\setlength\paperheight {11in}%
  78. \setlength\paperwidth {8.5in}}
  79. \DeclareOption{legalpaper}
  80. {\setlength\paperheight {14in}%
  81. \setlength\paperwidth {8.5in}}
  82. \DeclareOption{executivepaper}
  83. {\setlength\paperheight {10.5in}%
  84. \setlength\paperwidth {7.25in}}
  85. \DeclareOption{landscape}{\@OImess{}} % IGNORED landscape
  86. \fi
  87. \newcommand\@ptsize{1} % DEFAULT SIZE IS 11 PT
  88. \DeclareOption{published}{%
  89. \ifpdf
  90. %\JINST@warnl{Option 'published' incompatible with
  91. %pdf output, turning to dvi output}\pdffalse\pdfoutput=0
  92. \@preprintfalse
  93. \else
  94. \@preprintfalse%
  95. \fi}
  96. \DeclareOption{tech}{\@techtrue}
  97. \DeclareOption{nocits}{\if@preprint\@OImess{ is default for preprints}\else
  98. \@Jcitsfalse
  99. \fi}
  100. \DeclareOption{cits}{%\if@preprint
  101. \@Jcitstrue %\else
  102. %\@OImess{ is automatic for published papers}\fi
  103. }
  104. \DeclareOption{hyper}{\@hypertrue} % HYPER IS 11 PT
  105. \DeclareOption{nohyper}{\@hyperfalse} % PAPER IS ALSO 11 PT (v1.3)
  106. \DeclareOption{paper}{\@hyperfalse} % PAPER IS ALSO 11 PT
  107. \DeclareOption{11pt}{\renewcommand\@ptsize{1}\ExecuteOptions{@FONT}}
  108. \DeclareOption{12pt}{\renewcommand\@ptsize{2}\ExecuteOptions{@FONT}}
  109. \if@compatibility\else % LATEX2.09 HAS NO 10PT
  110. \DeclareOption{10pt}{\renewcommand\@ptsize{0}\ExecuteOptions{@FONT}}% v1.4
  111. \fi % CHOSEN TO FREE MEMORY LATER:
  112. \DeclareOption{@FONT}{\if@preprint % IF PREPRINT ALLOW ANY,
  113. \else % IF PUBLISHED:
  114. \renewcommand\@ptsize{1}\@NFmess{11pt}% ALWAYS 11PT
  115. \fi
  116. }
  117. \if@compatibility\else
  118. \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}\fi
  119. \DeclareOption{twoside}{\if@preprint\if@hyper\@OImess{ in hyper-mode}
  120. \else\@twosidetrue\@mparswitchtrue\fi
  121. \else % FOR PUBLISHED
  122. \@OImess{ in published papers}
  123. \fi}
  124. \DeclareOption{notoc}{\if@preprint % to disable TOC
  125. \AtBeginDocument{\@todotocfalse}
  126. \else
  127. \@OImess{ in JINST papers}
  128. \fi}
  129. \DeclareOption{draft}{\setlength\overfullrule{5pt}% EXTENDED DRAFT
  130. \newcount\hour\newcount\minute
  131. \hour=\time \divide\hour by60 \minute=\time
  132. {\multiply\hour by60 \global\advance\minute by-\hour}
  133. \edef\militarytime{\number\hour:\ifnum\minute<10 0\fi\number\minute}
  134. \let\old@eqnnum\@eqnnum
  135. \def\@eqnnum{\old@eqnnum\rlap{\kern\marginparsep
  136. \if@twocolumn\if@firstcolumn
  137. \kern-2\marginparsep\kern-\columnwidth\
  138. \llap\bgroup\else\bgroup\fi
  139. \else
  140. \if@twoside\ifodd\c@page
  141. \kern-2\marginparsep\kern-\textwidth
  142. \llap\bgroup\else\bgroup\fi
  143. \else\bgroup\fi
  144. \fi
  145. \sf\scriptsize\@eqnlabel\egroup}%
  146. \gdef\@eqnlabel{}}
  147. \let\@eqnlabel\relax
  148. \def\math@note#1{\gdef\@eqnlabel{LAB: #1}}
  149. \def\norm@note#1#2{\special{}% SORRY AGAIN.
  150. \ifinner{\ifdim\baselineskip=\z@% IN ARRAY..
  151. \baselineskip18\p@\fi%%
  152. \ifhmode% ATTENTION TO RESTRICTED VMODE!
  153. \raisebox{.5\baselineskip}[\z@][\z@]{%
  154. \rlap{\sf\scriptsize #2}}%
  155. \else\vskip-\baselineskip%
  156. \raisebox{-.6\baselineskip}[\z@][\z@]{%
  157. \rlap{\sf\scriptsize #2}}%
  158. \fi}%
  159. \else\marginpar{\raggedright\if@twoside\ifodd\c@page%
  160. \raggedleft\fi\fi\sf\scriptsize #1#2}%
  161. \fi}%
  162. \AtBeginDocument{\newbox\drft@box\setbox\drft@box=\hbox{%
  163. \framebox[\textwidth]{\sf\small JINST DRAFT
  164. \ttfamily(\cur@opt)\hfill\sf\bfseries\jobname\sf,
  165. \today, \militarytime}}}
  166. \@drafttrue}
  167. \DeclareOption{titlepage}{\@OImess{}} % IGNORED
  168. \if@compatibility\else
  169. \DeclareOption{notitlepage}{\@OImess{}} % IGNORED
  170. \fi
  171. \if@compatibility\else
  172. \DeclareOption{onecolumn}{\@OImess{}} % IGNORED
  173. \fi
  174. \DeclareOption{twocolumn}{\@OImess{}} % IGNORED
  175. \DeclareOption{leqno}{\@OImess{}} %\input{leqno.clo}} IGNORED ...
  176. \DeclareOption{fleqn}{\@OImess{}} %\input{fleqn.clo}} IGNORED ...
  177. \DeclareOption{openbib}{\@OImess{}} % IGNORED
  178. %%%%%%%%%%%%%%%%%%%%%%%%%%%%% MESSAGES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  179. \newcommand\JINST@mess[1]{\typeout{Class JINST Message: \protect#1.}}%
  180. \newcommand\JINST@warn[1]{\ClassWarning{JINST}{#1}}
  181. \newcommand\JINST@warnl[1]{\ClassWarningNoLine{JINST}{#1}}
  182. \newcommand\JINST@igno[1]{\JINST@warn{IGNORED \protect#1}}
  183. \newcommand\JINST@ignol[1]{\JINST@warnl{IGNORED \protect#1}}
  184. \newcommand\@OImess[1]{\JINST@ignol{OPTION '\CurrentOption'#1}}
  185. \newcommand\@NFmess[1]{\JINST@mess{Normalsize set to #1}}
  186. \newcommand\@ENVwarn[1]{\JINST@warn{Please use \protect#1 in place
  187. of LaTeX environment}}
  188. %%%%%%%%%%%%%%%%%%%%%%%%%% PROCESS OPTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%
  189. \ExecuteOptions{a4paper,oneside,hyper} %WERE ALSO 10pt,onecolumn
  190. \ProcessOptions
  191. %%%%%%%%%%%%%%%%%%%%%%%%%% REQUIRED PACKAGES %%%%%%%%%%%%%%%%%%%%%%%%%%
  192. \RequirePackage{amssymb}
  193. \RequirePackage[T1]{fontenc}
  194. \RequirePackage{times}
  195. \RequirePackage{mathptmx}
  196. \ifpdf
  197. \RequirePackage[pdftex]{graphicx}
  198. \DeclareGraphicsExtensions{.pdf,.jpg,.jpeg}
  199. \else
  200. \RequirePackage{graphicx}
  201. \DeclareGraphicsExtensions{.ps,.eps,.pstex}
  202. \fi
  203. %%%%%%%%%%%%%%%%%%%%%%%% TRICKS FOR DOTLESS J %%%%%%%%%%%%%%%%%%%%%%%%%
  204. %\j and \jmath are missing in font Times. So I use the ones from
  205. % Computer Modern. Works acceptably, but in sf
  206. \DeclareSymbolFont{forjmath}{OT1}{cmr}{m}{sl}
  207. \DeclareMathSymbol{\Jmath}{\mathord}{forjmath}{'021}
  208. \def\jmath{\Jmath}
  209. \DeclareFontFamily{OT1}{cmr}{}
  210. \DeclareFontFamily{OT1}{cmss}{}
  211. \def\j{\ifmmode\Jmath\else{\fontencoding{OT1}\fontfamily{cmr}\selectfont\char'021}\fi}
  212. %%%%%%%%%%%%%%%%%%%%%%%%%%%%% END DOTLESS J %%%%%%%%%%%%%%%%%%%%%%%%%%%%
  213. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  214. %%%%%%%%%%%%%%%%%%%%%%%%%%%% START CODE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  215. \input{size1\@ptsize.clo}
  216. \renewcommand{\baselinestretch}{1.1}\normalsize
  217. \setlength\lineskip{1\p@}
  218. \setlength\parindent{1.2\parindent} % AT 12pt 1.5em BECOMES 1.8em=tocindent
  219. \setlength\normallineskip{1\p@}
  220. \setlength\parskip{0\p@ \@plus \p@}
  221. \@lowpenalty 51
  222. \@medpenalty 151
  223. \@highpenalty 301
  224. \widowpenalty 1000
  225. \clubpenalty 1000
  226. \setcounter{topnumber}{4}
  227. \renewcommand\topfraction{1} % default .7
  228. \setcounter{bottomnumber}{1}
  229. \renewcommand\bottomfraction{.6} %.2 % .6 ???***
  230. \setcounter{totalnumber}{5}
  231. \renewcommand\textfraction{0}
  232. \renewcommand\floatpagefraction{1}
  233. \setcounter{dbltopnumber}{3}
  234. \renewcommand\dbltopfraction{.7}
  235. \renewcommand\dblfloatpagefraction{1}
  236. \textwidth .72\paperwidth % WIDTH OF TEXT, REMAINS .28% FOR MARGINS
  237. %
  238. \setlength\@tempdima{.76\paperheight} % HEIGHT OF TEXT WITH FOOTNOTES
  239. \divide\@tempdima\baselineskip % EXCLUDING HEAD (AND FOOT)
  240. \@tempcnta=\@tempdima % rounded to integer (#lines-1)
  241. \setlength\textheight{\@tempcnta\baselineskip}
  242. \addtolength\textheight{\topskip}
  243. \voffset -1in
  244. \topmargin .05\paperheight % FROM TOP OF PAGE TO TOP OF HEADING (0=1inch)
  245. \headheight .02\paperheight % HEIGHT OF HEADING BOX.
  246. \headsep .03\paperheight % VERT. SPACE BETWEEN HEAD AND TEXT.
  247. \footskip .07\paperheight % FROM END OF TEX TO BASE OF FOOTER. (40pt)
  248. \marginparsep 9\p@ % HOR. SPACE BETWEEN TEXT AND MARGINAL NOTE
  249. \marginparpush 6\p@ % MIN. VERT. SPACE BETWEEN MARGINAL NOTES
  250. \hoffset -1in % TO ADJUST WITH PAPER:
  251. \if@twoside % IF TWO-SIDED:
  252. \oddsidemargin .13\paperwidth % LEFT MARGIN FOR ODD PAGES (10)
  253. \evensidemargin .15\paperwidth % LEFT MARGIN FOR EVEN PAGES (30)
  254. \marginparwidth .10\paperwidth % TEXTWIDTH OF MARGINALNOTES
  255. \reversemarginpar % BECAUSE OF TITLEPAGE.
  256. \else % IF ONE-SIDED:
  257. \oddsidemargin .14\paperwidth % LEFT MARGIN FOR ODD PAGES (20)
  258. \evensidemargin .14\paperwidth % LEFT MARGIN FOR EVEN PAGES (20)
  259. \marginparwidth .11\paperwidth % TEXTWIDTH OF MARGINALNOTES
  260. \fi %
  261. %%%%%%%%%%%%%%%%%%%%%%% HYPER (AND DRAFT) STUFF %%%%%%%%%%%%%%%%%%%%%%%
  262. \ifpdf
  263. \input pdfcolor.tex
  264. \else
  265. \fi
  266. \bgroup\catcode`\#=12\gdef\hash{#}\egroup % DEFINED \hash=#.
  267. \def\H@tilde{\string~}
  268. \newcommand{\href}[2]{\rule{0pt}{0pt}\bgroup\let~\H@tilde
  269. \if@hyper\ifpdf
  270. \def\hash{}%
  271. \pdfstartlink attr{/Border [1 1 1] /C [0 0 1]}
  272. user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
  273. \pdfsetcolor{0 0 0 1}%
  274. \else
  275. \noexpand\special{html:<A href="#1">}%
  276. \fi
  277. \fi
  278. \rule{.2ex}{0pt}\rule[-.5ex]{0pt}{2.2ex}{#2}\rule[-.5ex]{0pt}{2.2ex}\rule{.1ex}{0pt}\egroup
  279. \if@hyper\ifpdf
  280. \Black\pdfendlink
  281. \else
  282. \special{html:</A>}%
  283. \fi
  284. \fi
  285. }
  286. % \intPlink was added because in pdflatex you need two different commands
  287. % for internal and external links. For latex they are the same.
  288. \newcommand{\intJlink}[2]{\rule{0pt}{0pt}\bgroup\let~\H@tilde
  289. \if@hyper\ifpdf
  290. \def\hash{}%
  291. \pdfstartlink attr{/Border [1 1 1] /C [0 0 1]}
  292. goto name{#1}%
  293. \pdfsetcolor{0 0 0 1}%
  294. \else
  295. \noexpand\special{html:<A href="#1">}%
  296. \fi
  297. \fi
  298. \rule[-.2ex]{0pt}{1.8ex}{#2}\rule[-.2ex]{0pt}{1.8ex}\egroup
  299. \if@hyper\ifpdf
  300. \Black\pdfendlink
  301. \else
  302. \special{html:</A>}%
  303. \fi
  304. \fi
  305. }
  306. \newcommand{\name}[1]{{\if@hyper\ifpdf
  307. \pdfdest name{#1} fith%
  308. \else
  309. \noexpand\special% NAME HAS NO TAGGED TEXT HERE.
  310. {html:<A name="#1">}\special{html:</A>}%
  311. \fi
  312. \fi}%
  313. }
  314. \newcommand{\base}[1]{\if@hyper\ifpdf
  315. \relax\JINST@warn{Command base undefined for pdf output}
  316. %\pdfdest baseurl{#1} fith%
  317. \else
  318. \bgroup\let~\H@tilde
  319. \noexpand\special % BASE HAS NO TAGGED TEXT.
  320. {html:<base href="#1">}\egroup
  321. \fi\fi}
  322. %------------------------------------------------------------------%
  323. % SECTION TAGS and THEIR REFERENCE IN TOC \d@t will be '.' for sections only
  324. \if@hyper
  325. \renewcommand{\@seccntformat}[1]{\name{sec\csname the#1\endcsname}%
  326. \csname the#1\endcsname\d@t\hspace{1ex}}
  327. \renewcommand{\numberline}[1]{\hb@xt@\@tempdima{\intJlink
  328. {\hash\hyp@typ#1}{#1}\d@t\hfil}}
  329. \else
  330. \renewcommand{\@seccntformat}[1]{\csname the#1\endcsname\d@t\hspace{1ex}}
  331. \renewcommand{\numberline}[1]{\hb@xt@\@tempdima{#1\d@t\hfil}}
  332. \fi
  333. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  334. %%%%%%%%%%%% this is to obtain collapsing citations %%%%%%%%%%%%%%%%%%
  335. \if@Jcits % only if 'cits' option is chosen
  336. \newcount\@tempcntc
  337. \def\@citex[#1]#2{%
  338. \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}%
  339. \@cite{\@for\@citeb:=#2\do% for aech citation...
  340. {\edef\@citeb{\expandafter\@firstofone\@citeb}% eat trailing space
  341. \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi% write to aux
  342. \@ifundefined{b@\@citeb}% if label undefined..
  343. {\@citeo\@tempcntb\m@ne\@citea% ... then ...
  344. \def\@citea{,\penalty\@m\ }{\reset@font\bf ?}%
  345. \G@refundefinedtrue\@latex@warning%
  346. {Citation `\@citeb' on page \thepage \space undefined}}%
  347. {\setbox\z@\hbox{\global\@tempcntc0\csname % ... else
  348. b@\@citeb\endcsname}%
  349. \advance\@tempcntb\@ne%
  350. \ifnum\@tempcntb=\@tempcntc%
  351. \else\advance\@tempcntb\m@ne\@citeo%
  352. \@tempcnta\@tempcntc\@tempcntb\@tempcntc
  353. \fi%
  354. }%
  355. }\@citeo}{#1}%
  356. \if@draft\norm@note{CIT: }{#2}\fi % **DRAFT**
  357. }% end definition of \@citex
  358. %This really prints out the cit-numbers
  359. \def\@citeo{\ifnum\@tempcnta>\@tempcntb%
  360. \else\@citea\def\@citea{,\penalty\@m\ }%
  361. \ifnum\@tempcnta=\@tempcntb%
  362. \intJlink{\hash bib\the\@tempcnta}{\the\@tempcnta}% if there is no range
  363. \else{\advance\@tempcnta\@ne% % if there is a range
  364. \ifnum\@tempcnta=\@tempcntb%
  365. \else\def\@citea{\,--\,}%
  366. \fi%
  367. \advance\@tempcnta\m@ne%
  368. \intJlink{\hash bib\the\@tempcnta}{\the\@tempcnta}\@citea%first
  369. \intJlink{\hash bib\the\@tempcntb}{\the\@tempcntb}}%last
  370. \fi%
  371. \fi}
  372. %%%%%%%%%%%%%%% until here %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  373. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  374. %------------------------------------------------------------------%
  375. % CITATION TAGS ARE TOGETHER WITH BIB STUFF.
  376. % CITATION HREF
  377. \else % w.r.t. \if@Jcits above
  378. \def\@citex[#1]#2{% % UNFORTUNATELY REDEFINED!!!!
  379. \let\@citea\@empty
  380. \@cite{\@for\@citeb:=#2\do
  381. {\@citea\def\@citea{,\penalty\@m\ }%
  382. \edef\@citeb{\expandafter\@firstofone\@citeb}%
  383. \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
  384. \@ifundefined{b@\@citeb}{\mbox{\reset@font\bf ?}%
  385. \G@refundefinedtrue
  386. \@latex@warning
  387. {Citation `\@citeb' on page \thepage \space undefined}}%
  388. {\edef\tmp@bn{\csname b@\@citeb\endcsname}%
  389. \hbox{\intJlink{\hash bib\tmp@bn}{\tmp@bn}}}}}{#1}% % **HYPER**
  390. \if@draft\norm@note{CIT: }{#2}\fi % **DRAFT**
  391. }
  392. \fi % w.r.t. \if@Jcits above
  393. %-----------------------------------------------------------------%
  394. % LABEL, REF AND PAGEREF, TEXTREF, ~ COMPATIBLE:
  395. \let\old@label\label % OLD LATEX COMMAND.
  396. \def\label{\bgroup\catcode`\>=15\catcode`\"=15 \catcode`\==15\@@label}
  397. \newcommand{\@@label}[1]{\egroup\name{ref-#1}% % LABEL IN HYPER TAG.
  398. \old@label{#1}% %
  399. \if@draft% % DRAFT:
  400. \ifmmode\math@note{#1}%
  401. \else\norm@note{}{LAB: #1}\fi%
  402. \fi%
  403. }
  404. \if@hyper
  405. \let\old@ref\ref \let\old@pageref\pageref % OLD LATEX COMMANDS.
  406. \renewcommand{\ref}[1]{\@ifundefined{r@#1}{}{\intJlink{\hash ref-#1}}%
  407. {\old@ref{#1}}} % LABEL INSIDE HREF.
  408. \renewcommand{\pageref}[1]{\@ifundefined{r@#1}{}{% % UNDEFINED => NO HREF
  409. \edef\tmp@ref{\noexpand\@secondoftwo\csname r@#1\endcsname}%
  410. \intJlink{\hash pag\tmp@ref}}{\old@pageref{#1}}}
  411. \fi
  412. \newcommand{\textref}[2]{\@ifundefined{r@#1}
  413. {%
  414. \protect\G@refundefinedtrue
  415. \nfss@text{\reset@font\bf ?#2?}%
  416. \@latex@warning{Reference `#1' on page \thepage \space
  417. undefined}}
  418. {\vrule height \z@ width \z@\intJlink{\hash ref-#1}{#2}}}
  419. %------------------------------------------------------------------%
  420. %%%%%%%%%%%%%%%%%%%%%%%%%% END HYPER-STUFF %%%%%%%%%%%%%%%%%%%%%%%%%%%%
  421. %%%%%%%%%%%%%%%%%%%%%%%%%%% JINST HEADINGS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  422. \def\ps@JINST{%
  423. \def\@oddfoot{\ifnum\thepage=0\if@preprint\else
  424. \Jcopyright@box\fi\hfill % copyright only on front page of published papers
  425. \if@Jspecialurl\copy\Jspecial@url\else\if@preprint\else\copy\Jpaper@url\fi\fi %possible url
  426. \else\reset@font\hfil-- \thepage\ --\hfil\fi} % page numbers on other pages
  427. \if@draft\edef\cur@opt{\@curroptions}\fi
  428. \def\@oddhead{\name{pag\thepage}\hfil\if@draft\copy\drft@box\fi}
  429. \if@twoside\let\@evenhead\@oddhead\let\@evenfoot\@oddfoot\fi
  430. \let\@mkboth\@gobbletwo
  431. \let\sectionmark\@gobble
  432. \let\subsectionmark\@gobble
  433. }
  434. %%%%%%%%%%%%%%%%%%%%%%%%%%%%% TITLE PAGE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  435. \def\maketitle{\JINST@ignol{\maketitle}}
  436. \newcommand\auto@maketitle{\begingroup
  437. \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
  438. \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
  439. \long\def\@makefntext##1{\parindent 1em\noindent
  440. \hb@xt@1.8em{\hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
  441. \let\footnote\thanks%
  442. \newpage %
  443. \@maketitle % CALL ACTUAL FORMATTING
  444. \@thanks % TITLE THANKS
  445. \thispagestyle{JINST}
  446. \setcounter{page}\z@
  447. \newpage % FINE PAGINA
  448. \endgroup
  449. \setcounter{footnote}{0}%
  450. \if@todotoc % IF THERE IS A SECTION
  451. \noindent\rule\textwidth{.1pt} % THEN MAKE TOC...
  452. \vskip 2em \@plus 3ex \@minus 3ex
  453. \tableofcontents
  454. \vskip 2em \@plus 3ex \@minus 3ex
  455. \noindent\rule\textwidth{.1pt}
  456. \vskip 2em \@plus 3ex \@minus 3ex
  457. \fi
  458. \if@preprint\else
  459. \gdef\tableofcontents{\JINST@igno{\tableofcontents\space is automatic}}
  460. \fi
  461. \global\let\thanks\@gobble
  462. \global\let\@maketitle\relax %
  463. \global\let\@thanks\@empty %
  464. \global\let\@author\@empty % KILL ALL
  465. \global\let\@date\@empty %
  466. \global\let\@title\@empty %
  467. \global\let\@abstract\@empty %
  468. \global\let\title\relax %
  469. \global\let\author\relax %
  470. \global\let\date\relax %
  471. \global\let\and\relax %
  472. \global\let\email\@gobble
  473. \global\let\received\relax
  474. \global\let\revised\relax
  475. \global\let\accepted\relax
  476. \global\let\published\relax
  477. \global\let\JINSTcopydate\relax
  478. \global\let\Jspecialurl\relax
  479. \global\let\keywords\relax
  480. \global\let\endkeywords\relax
  481. }
  482. %%%%%%%%%%%%%%%%%%%%%%%%%% ACTUAL TITLEPAGE %%%%%%%%%%%%%%%%%%%%%%%%%%%
  483. \newskip\titlesk@ja % Skips for titlepage
  484. \newskip\titlesk@jb %
  485. \newskip\titlesk@jc %
  486. \titlesk@ja= 1.6em plus .4fil% % Before title
  487. \titlesk@jb= 2em plus .06fil minus .5ex% % Between title/rule
  488. \titlesk@jc= 2em plus .05fil minus 1.2ex% % Before authors
  489. \def\@maketitle{% % PAGE IS FLUSHED LEFT
  490. \begin{flushleft}% % PAY ATTENTION TO \par'S
  491. % page with queries for authors in proof
  492. \if@Jqueries
  493. \setcounter{page}{0}
  494. \noindent{\let\thanks\@gobble\let\footnote\@gobble%
  495. \large\sffamily\@title\par} % title
  496. \vskip.4\titlesk@jb
  497. \noindent{\Large\sffamily\bfseries\queriesname\hfill\par} % queriesname
  498. \vskip.7\titlesk@jb
  499. \hrule height 1\p@% otherwise = 1.5pt. % rule
  500. \vskip.7\titlesk@jb
  501. {\noindent\footnotesize Please reply to the following queries using
  502. the appropriate tool ``{\sc send proofs}'' at the bottom of the
  503. preprint page on \href{http://jinst.sissa.it}{\tt http://jinst.sissa.it}}
  504. \vskip\titlesk@jc
  505. \Jqueries@auth % queries
  506. \newpage
  507. \setcounter{page}{0}
  508. \fi
  509. %header for preprints
  510. \if@preprint %%% PREPRINT HEADER:
  511. \vskip-7em %
  512. \underline{\tiny Preprint typeset %
  513. in JINST style - %
  514. \if@hyper{HYPER VERSION} %
  515. \else{PAPER VERSION}\fi } %
  516. \normalsize\hfill% %
  517. \begin{tabular}[t]{r}\@preprint\end{tabular}% % PREPRINT NUMBERS
  518. %header for technical reports
  519. \else %
  520. % header for published papers
  521. \vskip-7em\hfill
  522. {\small\scshape Published by Institute of Physics
  523. Publishing and SISSA}
  524. \vskip-1.35\baselineskip\logo\hrulefill
  525. \vskip-1.5\baselineskip\hskip21.73\p@%
  526. \hfill{\parbox[t]{30em}{\begin{flushright}\setlength\baselineskip{11pt}\footnotesize
  527. \Jrece@cs\\
  528. \if@revi\Jrevi@cs\\\fi
  529. \Jacce@cs\\
  530. \Jpubli@cs
  531. \end{flushright}}}%
  532. \fi\null
  533. % end headers
  534. \if@tech %%% TECHNICAL REPORT HEADER:
  535. {\sffamily \bfseries \scshape technical report}
  536. \fi
  537. \vskip \titlesk@ja % vspace before title
  538. % TITLE large sans-serif bf
  539. {\LARGE \sffamily\bfseries\@title\par}
  540. %
  541. \vskip \titlesk@jb % vspace between title and rule
  542. % RULE
  543. \hrule height 1.5\p@%
  544. %
  545. \vskip \titlesk@jb % vspace between rule and authors
  546. % AUTHORS\\ADDRESSES
  547. \vskip-\auth@skip
  548. {\normalsize \bfseries \sffamily \@author \par}
  549. %
  550. \vskip \titlesk@jc % vspace between authors and abstract
  551. % ABSTRACT
  552. \parbox\textwidth{\abstract@cs}%
  553. \normalsize % why reset size?
  554. % KEYWORDS IF PRESENT
  555. \if@keywords
  556. \vskip .9\titlesk@jc % vspace between abstract and keywords
  557. \par
  558. \@keywords
  559. \fi
  560. % DEDICATION, IF PRESENT
  561. \dedic@box
  562. \end{flushleft}% % FINISHED.
  563. }
  564. %%%%%%%%%%%%%%%%%%%%%%%%%%% STANDARD STUFF %%%%%%%%%%%%%%%%%%%%%%%%%%%%
  565. \setcounter{secnumdepth}{3}
  566. \newcounter {part}
  567. \newcounter {section}
  568. \newcounter {subsection}[section]
  569. \newcounter {subsubsection}[subsection]
  570. \newcounter {paragraph}[subsubsection]
  571. \newcounter {subparagraph}[paragraph]
  572. \renewcommand\thepart {\@Roman\c@part}
  573. \renewcommand\thesection {\@arabic\c@section}
  574. \renewcommand\thesubsection {\thesection.\@arabic\c@subsection}
  575. \renewcommand\thesubsubsection{\thesubsection.\@arabic\c@subsubsection}
  576. \renewcommand\theparagraph {\thesubsubsection.\@arabic\c@paragraph}
  577. \renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph}
  578. %%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION FORMATS %%%%%%%%%%%%%%%%%%%%%%%%%%%
  579. \newcommand\secstyle{\bfseries}
  580. \def\ts@flag{\let\d@t.% % Sections get ``.''
  581. \immediate\write\@auxout % IF THERE IS A SECTION
  582. {\string\global\string\@todotoctrue}} % THEN SIGNAL IN AUX.
  583. \newcommand\part{\par
  584. \addvspace{4ex}%
  585. \@afterindentfalse
  586. \secdef\@part\@spart}
  587. \def\@part[#1]#2{\ts@flag
  588. \ifnum \c@secnumdepth >\m@ne
  589. \refstepcounter{part}% % DAMN LATEX !!! BELOW,
  590. \addcontentsline{toc}{part}{\string\intJlink % UNFORTUNATELY, NO NUMBERLINE:
  591. {\string\hash\space part\the\c@part}%
  592. {\thepart}\hspace{1em}#1}%
  593. \else
  594. \addcontentsline{toc}{part}{#1}%
  595. \fi
  596. {\parindent \z@ \raggedright
  597. \interlinepenalty \@M
  598. \normalfont
  599. \ifnum \c@secnumdepth >\m@ne
  600. \name{part\the\c@part}\Large\bfseries \partname~\thepart
  601. \par\nobreak
  602. \fi
  603. \huge \bfseries #2%
  604. \markboth{}{}\par}%
  605. \nobreak
  606. \vskip 3ex
  607. \@afterheading\let\d@t\relax}
  608. \def\@spart#1{%
  609. {\parindent \z@ \raggedright
  610. \interlinepenalty \@M
  611. \normalfont
  612. \huge \bfseries #1\par}%
  613. \nobreak
  614. \vskip 3ex
  615. \@afterheading}
  616. \newcommand\section{\@startsection{section}{1}{\z@}%
  617. {-3.5ex \@plus -1.3ex \@minus -.7ex}%
  618. {2.3ex \@plus.4ex \@minus .4ex}%
  619. {\normalfont\large\secstyle}}
  620. \newcommand\subsection{\@startsection{subsection}{2}{\z@}%
  621. {-2.3ex\@plus -1ex \@minus -.5ex}%
  622. {1.2ex \@plus .3ex \@minus .3ex}%
  623. {\normalfont\normalsize\secstyle}}
  624. \newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
  625. {-2.3ex\@plus -1ex \@minus -.5ex}%
  626. {1ex \@plus .2ex \@minus .2ex}%
  627. {\normalfont\normalsize\secstyle}}
  628. \newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
  629. {1.75ex \@plus1ex \@minus.2ex}%
  630. {-1em}%
  631. {\normalfont\normalsize\bfseries}}
  632. \newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
  633. {1.75ex \@plus1ex \@minus .2ex}%
  634. {-1em}%
  635. {\normalfont\normalsize\bfseries}}
  636. % ---- turnaround for sections with figures ------ %
  637. \def\bef@sec{\iffigprocessing\JINST@warnl{Floating figure \the\ffigcount\space
  638. and startsection colliding}\fi
  639. \iftabprocessing\JINST@warnl{Floating table \the\ftabcount\space
  640. and startsection colliding}\fi
  641. \edef\bef@everypar{\the\everypar}} % HACK FOR FLOATS AND \everypar
  642. \def\aft@sec{\let\d@t\relax % RESTORE: NO DOTTED SUBSECS..
  643. \edef\tmp@everypar{\the\everypar}% % DELETED CLUBPENALTY, BELOW.
  644. \everypar\expandafter{\bef@everypar{\tmp@everypar}}}% RESTORE.
  645. \let\old@sec\section %
  646. \let\old@ssec\subsection %
  647. \let\old@sssec\subsubsection % OLD SECTIONING COMMANDS.
  648. \let\old@par\paragraph %
  649. \let\old@spar\subparagraph %
  650. % ------- new forms ------- %
  651. \renewcommand{\section}{\secdef\JINST@sec\JINST@secs}
  652. \renewcommand{\subsection}{\secdef\JINST@ssec\JINST@ssecs}
  653. \renewcommand{\subsubsection}{\secdef\JINST@sssec\JINST@sssecs}
  654. \renewcommand{\paragraph}{\secdef\JINST@par\JINST@pars}
  655. \renewcommand{\subparagraph}{\secdef\JINST@spar\JINST@spars}
  656. % ---- unstarred forms ---- %
  657. \def\JINST@sec[#1]#2{\ts@flag\bef@sec\old@sec[#1]{#2}\aft@sec}
  658. \def\JINST@ssec[#1]#2{\bef@sec\old@ssec[#1]{#2}\aft@sec}
  659. \def\JINST@sssec[#1]#2{\bef@sec\old@sssec[#1]{#2}\aft@sec}
  660. \def\JINST@par[#1]#2{\bef@sec\old@par[#1]{#2}\aft@sec}
  661. \def\JINST@spar[#1]#2{\bef@sec\old@spar[#1]{#2}\aft@sec}
  662. % ----- starred forms ----- %
  663. \def\JINST@secs#1{\bef@sec\old@sec*{#1}\aft@sec}
  664. \def\JINST@ssecs#1{\bef@sec\old@ssec*{#1}\aft@sec}
  665. \def\JINST@sssecs#1{\bef@sec\old@sssec*{#1}\aft@sec}
  666. \def\JINST@pars#1{\bef@sec\old@par*{#1}\aft@sec}
  667. \def\JINST@spars#1{\bef@sec\old@spar*{#1}\aft@sec}
  668. % ----- end hack for sections with floats --------%
  669. \if@twocolumn
  670. \setlength\leftmargini {2em}
  671. \else
  672. \setlength\leftmargini {2.5em}
  673. \fi
  674. \leftmargin \leftmargini
  675. \setlength\leftmarginii {2.2em}
  676. \setlength\leftmarginiii {1.87em}
  677. \setlength\leftmarginiv {1.7em}
  678. \setlength\leftmarginv {1em}
  679. \setlength\leftmarginvi {1em}
  680. \setlength \labelsep {.5em}
  681. \setlength \labelwidth{\leftmargini}
  682. \addtolength\labelwidth{-\labelsep}
  683. \@beginparpenalty -\@lowpenalty
  684. \@endparpenalty -\@lowpenalty
  685. \@itempenalty -\@lowpenalty
  686. \renewcommand\theenumi{\@arabic\c@enumi}
  687. \renewcommand\theenumii{\@alph\c@enumii}
  688. \renewcommand\theenumiii{\@roman\c@enumiii}
  689. \renewcommand\theenumiv{\@Alph\c@enumiv}
  690. \newcommand\labelenumi{\theenumi.}
  691. \newcommand\labelenumii{(\theenumii)}
  692. \newcommand\labelenumiii{\theenumiii.}
  693. \newcommand\labelenumiv{\theenumiv.}
  694. \renewcommand\p@enumii{\theenumi}
  695. \renewcommand\p@enumiii{\theenumi(\theenumii)}
  696. \renewcommand\p@enumiv{\p@enumiii\theenumiii}
  697. \newcommand\labelitemi{$\m@th\bullet$}
  698. \newcommand\labelitemii{\normalfont\bfseries --}
  699. \newcommand\labelitemiii{$\m@th\ast$}
  700. \newcommand\labelitemiv{$\m@th\cdot$}
  701. \newenvironment{description}
  702. {\list{}{\labelwidth\z@ \itemindent-\leftmargin
  703. \let\makelabel\descriptionlabel}}
  704. {\endlist}
  705. \newcommand*\descriptionlabel[1]{\hspace\labelsep
  706. \normalfont\bfseries #1}
  707. %%%%%%%%%%%%%%%%%%%%%%%%%% AUTHORS/ADDRESSES %%%%%%%%%%%%%%%%%%%%%%%%%%
  708. % *** After proceedings, the authors go in a hbox. => \break does not work!!
  709. % *** if no address nobody closes the box!
  710. \newif\if@speaker\@speakerfalse
  711. \newif\if@dblspeak\@dblspeakfalse
  712. \newtoks\prev@t
  713. \newtoks\cur@t
  714. \newbox\@firstaubox
  715. \newskip\addr@skip\addr@skip=.6em\@plus.02fil\@minus.3ex %\fi
  716. \newskip\auth@skip\auth@skip=.6em\@plus.03fil\@minus.2ex %\fi
  717. \renewcommand\@author{\parskip\z@
  718. \def\\{\egroup % CLOSE & aftergroup!
  719. \par % FIRST TIME \\=>ADDR.
  720. \vskip\addr@skip % GLUE UNDER AUTHOR
  721. \hskip1em% % ADDRESS INDENT
  722. \vbox\bgroup\hsize=.9\textwidth %
  723. \small\it\raggedright % STYLE FOR ADDRESSES
  724. \def\\{\par\leavevmode\ignorespaces}%\let\\\relax%
  725. \leavevmode\ignorespaces}%
  726. }
  727. \renewcommand\author[1]{%
  728. \global\@authortrue %
  729. \prev@t=\expandafter{\@author}% % TWO TOKEN LISTS.
  730. \cur@t={\vskip\auth@skip % glue before auth.
  731. \vtop\bgroup #1\egroup % ACTUAL AUTH.\\ADD.
  732. \par}% %
  733. \long\xdef\@author{\the\prev@t\the\cur@t}%STORE ALL IN \@AUTHOR
  734. }
  735. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% RECEIVED %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  736. \newcommand\received[1]{\gdef\Jrece@cs{{\scshape\receivedname}
  737. {\itshape #1}}\@recetrue\let\received\gobble}
  738. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% REVISED %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  739. \newcommand\revised[1]{\gdef\Jrevi@cs{{\scshape\revisedname}
  740. {\itshape #1}}\@revitrue\let\revised\gobble}
  741. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ACCEPTED %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  742. \newcommand\accepted[1]{\gdef\Jacce@cs{{\scshape\acceptedname}
  743. {\itshape #1}}\@accetrue\let\accepted\gobble}
  744. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PUBLISHED %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  745. \newcommand\published[1]{\gdef\Jpubli@cs{{\scshape\publishedname}
  746. {\itshape #1$\vphantom{,}$}}\@publitrue\let\published\gobble}
  747. %%%%%%%%%%%%%%%%%%%%%%%%%% COPYRIGHT DATE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  748. \newbox\Jcopy@date
  749. \newcommand\JINSTcopydate[1]{\global\setbox\Jcopy@date
  750. \hbox{\scriptsize #1}\global\@Jcopytrue}
  751. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DEDICATED %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  752. \gdef\dedic@box{\relax}
  753. \newcommand\dedicated[1]{\gdef\dedic@box{\vskip2em minus 1.2ex
  754. \vbox{\small\it\raggedleft #1}}}
  755. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% QUERIES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  756. \newif\if@Jqueries\@Jqueriesfalse
  757. \gdef\Jqueries@auth{\relax}
  758. \newcommand\QueriesForAuth[1]{\@Jqueriestrue\gdef\Jqueries@auth{%
  759. {\raggedright #1}}}
  760. %%%%%%%%%%%%%%%%%%%%%%%%%%% ACKNOWELEDGMENTS %%%%%%%%%%%%%%%%%%%%%%%%%%
  761. \newcommand\acknowledgments{\section*{\acknowlname}}
  762. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% EMAIL %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  763. \newcommand\email[1]{{\tt\href{mailto:#1}{#1}}}
  764. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% PREPRINT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  765. \let\@preprint\relax
  766. \newcommand\preprint[1]{\long\gdef\@preprint{#1}}
  767. %%%%%%%%%%%%%%%%% SPECIAL URL overrides paper@url %%%%%%%%%%%%%%%%%%%%%
  768. \newbox\Jspecial@url
  769. \newcommand\Jspecialurl[1]{\global\setbox\Jspecial@url\hbox{\tiny\ttfamily
  770. #1}\@Jspecialurltrue}
  771. %%%%%%%%%%%%%%%%%%%%%%%%% FILE NAME AND URL %%%%%%%%%%%%%%%%%%%%%%%%%%%
  772. %\global\newbox\Jacce@month
  773. %\global\newcount\Jacce@year
  774. %\global\newbox\Jacce@number
  775. %\def\Jsplit@ident#1(#2)#3.{\global\setbox\Jacce@month\hbox{\tiny\ttfamily #1}
  776. % \global\Jacce@year= #2
  777. % \global\setbox\Jacce@number\hbox{\tiny\ttfamily #3}
  778. %\gdef\Jfile@name{\hbox{\tiny\ttfamily
  779. % jinst\unhcopy\Jacce@month\the\Jacce@year\unhcopy\Jacce@number}}
  780. \newbox\Jpaper@url
  781. \global\setbox\Jpaper@url\hbox{\tiny\ttfamily http://www.iop.org/EJ/jinst/}
  782. %\Jfile@name/\Jfile@name.pdf}}
  783. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% COPYRIGHT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  784. \gdef\Jcopyright@box{\hbox{\if@preprint\else{\scriptsize $\copyright$
  785. \if@Jcopy\unhbox\Jcopy@date\else\the\year\fi\ IOP Publishing Ltd\ and SISSA}\fi}}
  786. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ABSTRACT %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  787. %% *** For beton! We need a cs, not a box. Maybe also for refs.. %%%%%%
  788. \newcommand{\abstract}[1]% % ABSTR. IN NORMALSIZE
  789. {\gdef\abstract@cs{ % cs FOR WHOLE ABSTRACT
  790. {\noindent{\scshape\abstractname}\ \ignorespaces #1}}
  791. \normalsize
  792. \global\@abstracttrue\let\abstract\gobble}
  793. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% KEYWORDS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  794. \def\@keywords{\relax}% % CS FOR WHOLE KEYWORDS
  795. \def\keywords{\bgroup\gdef\@comma{,}\catcode`\ =\active\catcode`,=\active
  796. \@@keywords}
  797. \begingroup
  798. \catcode`\ =\active\catcode`,=\active\global
  799. \def\@@keywords#1{\gdef\@keywords{\noindent{\scshape\keywordsname}
  800. \bgroup\def, {+}\def {_}% %ATTENTION: NO EXPANSION.
  801. %\href{http://jinst.sissa.it/stdsearch}%
  802. {\let,\@comma\let \ #1}.
  803. \egroup}\egroup\global\@keywordstrue\let\keywords\gobble}%
  804. \endgroup
  805. %%%%%%%%%%%%%%%%%%%%%%%%%% OTHER ENVIRONMENTS %%%%%%%%%%%%%%%%%%%%%%%%%
  806. \newenvironment{verse}
  807. {\let\\\@centercr
  808. \list{}{\itemsep \z@
  809. \itemindent -1.5em%
  810. \listparindent\itemindent
  811. \rightmargin \leftmargin
  812. \advance\leftmargin 1.5em}%
  813. \item\relax}
  814. {\endlist}
  815. \newenvironment{quotation}
  816. {\list{}{\listparindent 1.5em%
  817. \itemindent \listparindent
  818. \rightmargin \leftmargin
  819. \parsep \z@ \@plus\p@}%
  820. \item\relax}
  821. {\endlist}
  822. \newenvironment{quote}
  823. {\list{}{\rightmargin\leftmargin}%
  824. \item\relax}
  825. {\endlist}
  826. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% THEOREMS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  827. \newif\if@twothms\@twothmsfalse
  828. \if@preprint%\ifx\@thmcountersep\@undefined
  829. %\def\@xthm#1#2{\@begintheorem{#2}{\csname the#1\endcsname.}\ignorespaces}% after thm number
  830. \else % if published
  831. \def\@xthm#1#2{\@begintheorem{#2\if@twothms\else.\fi} % theorems are numbered
  832. {\if@twothms\csname the#1\endcsname.\fi} % only if more than one
  833. \ifnum \csname the#1\endcsname>1 \immediate\write\@auxout% and not within sections
  834. {\string\global\string\@twothmstrue}\fi
  835. \ignorespaces}
  836. \fi
  837. \newcommand\Proof{\noindent\emph{Proof.}\ }
  838. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% APPENDIX %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  839. \newcommand\appendix{\par
  840. \setcounter{section}{0}%
  841. \setcounter{subsection}{0}%
  842. \renewcommand\thesection{\@Alph\c@section}}
  843. %%%%%%%%%%%%%%%%%%%%%%%%%%% SOME MORE LENGHTS %%%%%%%%%%%%%%%%%%%%%%%%%
  844. \setlength\arraycolsep{2\p@} % TO MATCH eqnarrays<->equations
  845. \setlength\tabcolsep{6\p@}
  846. \setlength\arrayrulewidth{.4\p@}
  847. \setlength\doublerulesep{2\p@}
  848. \setlength\tabbingsep{\labelsep}
  849. \skip\@mpfootins = \skip\footins
  850. \setlength\fboxsep{3\p@}
  851. \setlength\fboxrule{.4\p@}
  852. %%%%%%%%%%%%%%%%%%%%%%%%%%%%% THE EQUATION %%%%%%%%%%%%%%%%%%%%%%%%%%%%
  853. \renewcommand\theequation{\ifnum\c@section=0\else\thesection.\fi
  854. \@arabic\c@equation}
  855. %%%%%%%%%%%%%%%%%%%%%%%%%%%% FIGURES, TABLES %%%%%%%%%%%%%%%%%%%%%%%%%%
  856. \newcounter{figure}
  857. \renewcommand\thefigure{\@arabic\c@figure}
  858. \def\fps@figure{htbp}
  859. \def\ftype@figure{1}
  860. \def\ext@figure{lof}
  861. \def\fnum@figure{\figurename~\thefigure}
  862. \newenvironment{figure}
  863. {\@float{figure}}
  864. {\end@float}
  865. \newenvironment{figure*}
  866. {\@dblfloat{figure}}
  867. {\end@dblfloat}
  868. \newcounter{table}
  869. \renewcommand\thetable{\@arabic\c@table}
  870. \def\fps@table{tbp}
  871. \def\ftype@table{2}
  872. \def\ext@table{lot}
  873. \def\fnum@table{\tablename~\thetable}
  874. \newenvironment{table}
  875. {\@float{table}}
  876. {\end@float}
  877. \newenvironment{table*}
  878. {\@dblfloat{table}}
  879. {\end@dblfloat}
  880. %%-----------------------------------------------------------------%%
  881. \newcommand{\FIGURE}[2][v]{\begin{floatingfigure}[#1]#2
  882. \end{floatingfigure}}
  883. \newcommand{\TABLE}[2][v]{\begin{floatingtable}[#1]{#2}
  884. \end{floatingtable}}
  885. \newcommand{\EPSFIGURE}[3][v]{\begin{floatingfigure}[#1]\epsfig{file=#2}
  886. \caption{#3}\end{floatingfigure}}
  887. \newcommand{\TABULAR}[4][v]{\begin{floatingtable}[#1]{\begin{tabular}{#2}
  888. #3\end{tabular}}\caption{#4}
  889. \end{floatingtable}}
  890. %Check below, and put automatic width ***
  891. \newcommand{\DOUBLEFIGURE}[5][ht]{\@dblfloat{figure}[#1]\centerline{%
  892. \parbox{.45\textwidth}{\centerline{\epsfig{file=#2}}}~~~~
  893. \parbox{.45\textwidth}{\centerline{\epsfig{file=#3}}}}
  894. \centerline{\parbox[t]{.45\textwidth}{\caption{#4}}~~~~
  895. \parbox[t]{.45\textwidth}{\caption{#5}}}\end@dblfloat}
  896. \newcommand{\DOUBLETABLE}[5][ht]{\@dblfloat{table}[#1]\centerline{%
  897. \parbox{.45\textwidth}{\centerline{#2}}~~~~
  898. \parbox{.45\textwidth}{\centerline{#3}}}
  899. \centerline{\parbox[t]{.45\textwidth}{\caption{#4}}~~~~
  900. \parbox[t]{.45\textwidth}{\caption{#5}}}\end@dblfloat}
  901. %%%%%%---------------- FROM FLOATFLT PACKAGE ------------------%%%%%%%%
  902. %% Original file `floatflt.sty', modified by F.Nesti <nesti@sissa.it> to:
  903. %% be inserted in JINST.cls;
  904. %% correct float placement when shifting past pages;
  905. %% correct incompatibility with \marginpar;
  906. %% correct incompatibility with \@startsection;
  907. %% correct persisting indentation in following pars;
  908. %% let float also at beginning of pages;
  909. %% avoid the widht specification.
  910. %%
  911. %% Original was 1994-1996 by Mats Dahlgren <matsd@physchem.kth.se>.
  912. %%
  913. %%%%%%%%\NeedsTeXFormat{LaTeX2e}[1994/06/01] %LEFT THIS STUFF TO
  914. %%%%%%%%\ProvidesPackage{floatflt}[1996/02/27 v. 1.3] %RECONVERT TO PACKAGE.
  915. \newcounter{OptionTest}
  916. \if@twoside
  917. \setcounter{OptionTest}{0}
  918. \else % POS: 2side=p/1side=r
  919. \setcounter{OptionTest}{1}
  920. \fi
  921. %%%%%%%%\DeclareOption{rflt}{\setcounter{OptionTest}{1}}
  922. %%%%%%%%\DeclareOption{lflt}{\setcounter{OptionTest}{2}} % CHOSEN.
  923. %%%%%%%%\DeclareOption{vflt}{\setcounter{OptionTest}{0}}
  924. %%%%%%%%\DeclareOption*{\OptionNotUsed}
  925. %%%%%%%%\ProcessOptions
  926. \newbox\@tmpbox
  927. \newbox\figbox
  928. \newbox\tabbox
  929. \newbox\pagebox
  930. \newcount\ffigcount
  931. \newcount\ftabcount
  932. \newcount\hangcount
  933. \newcount\nosuccesstryfig
  934. \newcount\nosuccesstrytab
  935. \newdimen\figgutter \figgutter=1truepc
  936. \newdimen\tabgutter \tabgutter=1truepc
  937. \newdimen\fl@wd
  938. \newdimen\fl@ht
  939. \newdimen\htdone \htdone=\z@
  940. \newdimen\pageht
  941. \newdimen\startpageht
  942. \newdimen\floatfltwidth
  943. \newdimen\fltitemwidth
  944. \newif\iftryingfig \tryingfigfalse
  945. \newif\iftryingtab \tryingtabfalse
  946. \newif\ifdoingfig \doingfigfalse
  947. \newif\ifdoingtab \doingtabfalse
  948. \newif\iffigprocessing \figprocessingfalse
  949. \newif\iftabprocessing \tabprocessingfalse
  950. \newif\ifpageafterfig \pageafterfigfalse
  951. \newif\ifpageaftertab \pageaftertabfalse
  952. \newif\ifoddpages
  953. \newif\ifoutput
  954. \newtoks\outputpretest
  955. \def\@captype{}
  956. %%---------------- ORRIBLE HACKS, SORRY -------------------------%%
  957. \let\old@marginpar\marginpar %
  958. \renewcommand\marginpar[1]{{\outputpretest={\outputtrue}% REDEF \marginpar.
  959. \old@marginpar{#1}}} %
  960. \def\g@addto#1#2{{\toks@\expandafter{#1#2}%
  961. \xdef#1{\the\toks@}}}%
  962. \def\postpone@captions{% %
  963. \global\let\tmp@caption\caption % \label, LATER.
  964. \global\let\later@capt\relax % UN PO' PESANTI
  965. \gdef\later@label{}% % MA D'ALTRONDE...
  966. \let\J@ref\ref\def\ref{\protect\J@ref}% % protect ref in captions..
  967. \renewcommand\caption{\@ifnextchar[\J@@caption\J@caption}%
  968. \newcommand\J@caption[1]{\gdef\later@capt{\tmp@caption{##1}}}% LOCAL!!
  969. \newcommand\J@@caption[2][v]%
  970. {\gdef\later@capt{\tmp@caption[##1]{##2}}}% LOCAL!!
  971. \renewcommand\@@label[1]{\egroup\name{ref-##1}% % TAG WHERE CALLED, AT LEAST,
  972. \if@draft\norm@note{}{LAB: ##1}\fi% & DRAFTNOTE.
  973. \g@addto\later@label{\old@label{##1}}}%
  974. }
  975. \AtEndDocument{\iftryingfig\JINST@warnl{Floating figure \the\ffigcount\space
  976. remains undone}\fi
  977. \iftryingtab\JINST@warnl{Floating table \the\ftabcount\space
  978. remains undone}\fi}
  979. %%----------------- FIGURE ---------------------------------------%%
  980. \newenvironment{floatingfigure}[1][v]%
  981. {\@tfor \@tempa :=#1\do {\xdef\@fside{\@tempa}}%
  982. \global\advance\ffigcount by 1%
  983. \iffigprocessing {\count0=\ffigcount\advance\count0 by -1%
  984. \JINST@warnl{Floating figures \the\count0\space\space and
  985. \the\ffigcount\space colliding}}\fi
  986. \iftabprocessing \JINST@warnl{Floating table \the\ftabcount\space and
  987. floating figure \the\ffigcount\space colliding}\fi
  988. \postpone@captions
  989. \global\setbox\@tmpbox=\hbox\bgroup% begin of figbox %HBOX FOR AUTO WIDTH!
  990. }
  991. {%
  992. \egroup% % CALCULATE WIDTH (NO CAPTION FOR NOW)
  993. \global\setlength{\floatfltwidth}{\the\wd\@tmpbox}%
  994. % New behavior: wd < .6 columnwidth => floatflt.
  995. % wd < columnwidth => float{figure}
  996. % wd > columnwidth => dblfloat{figure}
  997. \ifdim\floatfltwidth<.6\columnwidth% % IF NOT TOO WIDE OK:
  998. \global\setbox\figbox=\vbox{\hsize=\floatfltwidth
  999. \def\@captype{figure}%
  1000. \noindent\unhbox\@tmpbox
  1001. \later@capt\later@label}%
  1002. \global\figprocessingtrue
  1003. \global\everypar={\tryfig\oldeverypar}% must be set globally!
  1004. \figinsert\par
  1005. \else% % ELSE NORMAL LATEX FIGURE, SIGH.
  1006. % \JINST@mess{Floating figure \the\ffigcount\space is
  1007. % wide becomes a LaTeX float}%
  1008. \if\@fside v \def\@fside{ht}\fi
  1009. \ifdim\floatfltwidth<\columnwidth
  1010. \def\@@tempa{\@float{figure}[}\let\@@tempb\end@float
  1011. \else
  1012. \def\@@tempa{\@dblfloat{figure}[}\let\@@tempb\end@dblfloat
  1013. \fi
  1014. \expandafter\@@tempa\@fside]\center\unhbox\@tmpbox\later@capt\later@label\@@tempb
  1015. \fi
  1016. }
  1017. %%------------ TABLE ----------------------------------------------%%
  1018. \newenvironment{floatingtable}[1][v]%
  1019. {\@tfor \@tempa :=#1\do {\global\edef\@tside{\@tempa}}%
  1020. \global\advance\ftabcount by 1%
  1021. \iftabprocessing {\count0=\ftabcount\advance\count0 by -1%
  1022. \JINST@warnl{Floating tables \the\count0\space
  1023. \space and \the\ftabcount \space colliding}}\fi
  1024. \iffigprocessing \JINST@warnl{Floating figure \the\ffigcount\space and
  1025. floating table \the\ftabcount\space colliding}\fi
  1026. \postpone@captions
  1027. \global\setbox\@tmpbox=\hbox\bgroup% begin of tabbox, ACTUALLY AN HBOX.
  1028. }
  1029. {%
  1030. \egroup% end of \tabbox, % ACTUALLY \@tmpbox
  1031. \global\setlength{\floatfltwidth}{\the\wd\@tmpbox}%
  1032. \ifdim\floatfltwidth<.6\columnwidth% % IF NOT TOO WIDE OK:
  1033. \global\setbox\tabbox=\vbox{\hsize=\floatfltwidth
  1034. \def\@captype{table}%
  1035. \noindent\unhbox\@tmpbox
  1036. \later@capt\later@label}%
  1037. \global\tabprocessingtrue
  1038. \global\everypar={\trytab\oldeverypar}%
  1039. \tabinsert\par%
  1040. \else% % ELSE NORMAL LATEX TABLE.
  1041. % \JINST@mess{Floating table \the\ftabcount\space is
  1042. % wide becomes a LaTeX float}%
  1043. \ifdim\floatfltwidth<1.1\columnwidth
  1044. \if\@tside v \def\@tside{ht}\fi
  1045. \def\@@tempa{\@float{table}[}\let\@@tempb\end@float
  1046. \else
  1047. \if\@tside v \def\@tside{t}\fi
  1048. \def\@@tempa{\@dblfloat{table}[}\let\@@tempb\end@dblfloat
  1049. \fi
  1050. \expandafter\@@tempa\@tside]% % ACTUALLY CALL THE LATEX FLOAT
  1051. \center\unhbox\@tmpbox\later@capt\later@label
  1052. \@@tempb
  1053. \fi%
  1054. }
  1055. %----------- prepare for tries ----------------------------%
  1056. \def\figinsert{%
  1057. \global\nosuccesstryfig=0%
  1058. \global\outputpretest={\do@test}%
  1059. \global\tryingfigtrue \global\doingfigfalse%
  1060. \global\pageafterfigfalse}%
  1061. \def\tabinsert{%
  1062. \global\nosuccesstrytab=0%
  1063. \global\outputpretest={\do@test}%
  1064. \global\tryingtabtrue \global\doingtabfalse%
  1065. \global\pageaftertabfalse}%
  1066. %----------- init -----------------------------------------%
  1067. \AtBeginDocument{%
  1068. \edef\oldoutput{\the\output}
  1069. \output={\the\outputpretest\ifoutput\oldoutput\fi}%
  1070. \outputpretest={\outputtrue}%
  1071. \edef\oldeverypar{\the\everypar}% PERCHE' NESSUNO LO RIMETTE PIU' A POSTO?***
  1072. }
  1073. %---- tests during \outputpretest -------------------------%
  1074. \def\do@test{%
  1075. \ifnum\outputpenalty=-10005
  1076. % \output
  1077. \setbox\pagebox=\vbox{\unvbox255}%
  1078. \global\pageht=\ht\pagebox
  1079. \global\outputfalse
  1080. \unvbox\pagebox
  1081. \dimen0=\pageht\advance\dimen0 by 2 \baselineskip
  1082. \ifdim\dimen0>\vsize\pagebreak[4]\global\pageht\z@\fi
  1083. \else
  1084. \global\outputtrue
  1085. \ifnum\outputpenalty>-\@Mi %ie \marginpar's give penalty.
  1086. \ifdoingtab\global\pageaftertabtrue\fi
  1087. \ifdoingfig\global\pageafterfigtrue\fi
  1088. \fi
  1089. \fi}%
  1090. %-------- check for side ----------------------------------%
  1091. \def\chk@side#1{% DEFINED \fl@sid, BUT IF CHOSEN A DEFAULT, ELIMINATE ALL ***
  1092. {\edef\fl@sid{#1}%
  1093. \if\fl@sid r\global\oddpagestrue\fi
  1094. \if\fl@sid l\global\oddpagesfalse\fi
  1095. \if\fl@sid p%
  1096. \ifodd\c@page\global\oddpagesfalse
  1097. \else\global\oddpagestrue\fi
  1098. \fi
  1099. \if\fl@sid v%
  1100. \ifnum\theOptionTest=0%
  1101. \ifodd\c@page\global\oddpagesfalse
  1102. \else\global\oddpagestrue\fi
  1103. \else
  1104. \ifodd\theOptionTest\global\oddpagestrue
  1105. \else\global\oddpagesfalse\fi
  1106. \fi
  1107. \fi
  1108. }}%
  1109. %-------- get point in page -------------------------------%
  1110. \def\get@pageht{{\everypar={\relax}\setbox0=\lastbox
  1111. \parindent=\wd0 \parskip=\z@ \par
  1112. \penalty-10005 \leavevmode}}%
  1113. %-------- try at everypar ---------------------------------%
  1114. \def\tryfig{%
  1115. \global\fl@ht\ht\figbox
  1116. \global\fl@wd\wd\figbox
  1117. \global\let\fl@gut\figgutter
  1118. \iftryingfig
  1119. \get@pageht
  1120. \dimen0=\vsize
  1121. \advance\dimen0 by -\pageht
  1122. \advance\dimen0 by -2\baselineskip
  1123. \ifdim\dimen0>\fl@ht
  1124. \chk@side\@fside
  1125. \dimen0=0.3\baselineskip
  1126. \vrule depth \dimen0 width \z@%height 1.5\baselineskip
  1127. \vadjust{\kern -\dimen0
  1128. \vtop to \dimen0{%
  1129. \baselineskip=\dimen0
  1130. \vss \vbox to 1ex{%
  1131. \ifoddpages
  1132. \hb@xt@\hsize{\hss\copy\figbox}%
  1133. \else% leftsetting
  1134. \hb@xt@\hsize{\copy\figbox\hss}%
  1135. \fi
  1136. \vss}\null}}%
  1137. \global\tryingfigfalse
  1138. \global\doingfigtrue
  1139. \global\startpageht=\pageht
  1140. \global\htdone=\z@
  1141. \dohang
  1142. \ifnum\nosuccesstryfig>0%
  1143. \JINST@mess{Flt. fig. \the\ffigcount\space set on page \the\count0,
  1144. shifted \the\nosuccesstryfig\space par(s) forward}%
  1145. % \else
  1146. % \JINST@mess{Floating figure \the\ffigcount\space
  1147. % set on page \the\count0}%
  1148. \fi
  1149. \else
  1150. \global\advance\nosuccesstryfig by 1
  1151. \fi
  1152. \else% % IF NOT TRYING
  1153. \ifdoingfig
  1154. \get@pageht
  1155. \global\htdone=\pageht
  1156. \global\advance\htdone by -\startpageht
  1157. \ifpageafterfig
  1158. \global\doingfigfalse% IN CASE A PAGEBREAK JUST BELOW?
  1159. \else
  1160. \dimen0=\fl@ht
  1161. \advance\dimen0 by .85\baselineskip % .85 ENOUGH: WE ARE AT NEW PAR
  1162. % \typeout{FLOAT HT: \the\dimen0, HTDONE: \the\htdone}
  1163. \ifdim\htdone<\dimen0%
  1164. \dohang
  1165. \else
  1166. \global\doingfigfalse
  1167. \fi
  1168. \fi
  1169. \ifdoingfig\else\global\figprocessingfalse\fi% IF NO MORE DOING.
  1170. \else
  1171. \global\outputpretest={\outputtrue}% NOT RESTORE EVPAR IF NOT DOING?
  1172. \fi% % END IF DOING
  1173. \fi% % END IF TRYING
  1174. }
  1175. \def\trytab{%
  1176. \global\fl@ht\ht\tabbox
  1177. \global\fl@wd\wd\tabbox
  1178. \global\let\fl@gut\tabgutter
  1179. \iftryingtab
  1180. \get@pageht
  1181. \dimen0=\vsize
  1182. \advance\dimen0 by -\pageht
  1183. \advance\dimen0 by -2\baselineskip
  1184. \ifdim\dimen0>\fl@ht
  1185. \chk@side\@tside
  1186. \dimen0=0.3\baselineskip
  1187. \vrule depth \dimen0 width \z@
  1188. \vadjust{\kern -\dimen0
  1189. \vtop to \dimen0{%
  1190. \baselineskip=\dimen0
  1191. \vss \vbox to 1ex{%
  1192. \ifoddpages
  1193. \hb@xt@\hsize{\hss\copy\tabbox}%
  1194. \else% leftsetting
  1195. \hb@xt@\hsize{\copy\tabbox\hss}%
  1196. \fi
  1197. \vss}\null}}%
  1198. \global\tryingtabfalse
  1199. \global\doingtabtrue
  1200. \global\startpageht=\pageht
  1201. \global\htdone=\z@
  1202. \dohang
  1203. \ifnum\nosuccesstrytab>0%
  1204. \JINST@mess{Flt. tab. \the\ftabcount\space set on page \the\count0,
  1205. shifted \the\nosuccesstrytab\space par(s) forward}%
  1206. % \else
  1207. % \JINST@mess{Floating table \the\ftabcount\space
  1208. % set on page \the\count0}%
  1209. \fi
  1210. \else
  1211. \global\advance\nosuccesstrytab by 1
  1212. \fi
  1213. \else
  1214. \ifdoingtab
  1215. \get@pageht
  1216. \global\htdone=\pageht
  1217. \global\advance\htdone by -\startpageht
  1218. \ifpageaftertab
  1219. \global\doingtabfalse
  1220. \else
  1221. \dimen0=\fl@ht
  1222. \advance\dimen0 by .85\baselineskip % .85 ENOUGH: WE ARE AT NEW PAR
  1223. \ifdim\htdone<\dimen0%
  1224. \dohang
  1225. \else
  1226. \global\doingtabfalse
  1227. \fi
  1228. \fi
  1229. \ifdoingtab\relax\else\global\tabprocessingfalse\fi
  1230. \else
  1231. \global\outputpretest={\outputtrue}%
  1232. \fi
  1233. \fi
  1234. }
  1235. %----- hanging lord -----------------------------%
  1236. \def\dohang{%
  1237. \dimen0=\fl@ht
  1238. \advance\dimen0 by -\htdone
  1239. \advance\dimen0 by 1.999\baselineskip % (16/12/98) WAS 1.49 BUT
  1240. \hangcount=\dimen0 % TEX ROUNDS ON STRICT INTEGERS
  1241. \divide\hangcount by \baselineskip % IN THIS DIVISION!
  1242. % \typeout{HANGCOUNT: \the\hangcount.}
  1243. % \ifnum\hangcount > 0 % IF ZERO ALSO INDENT MUST BE NULL. (7/6/97)
  1244. \dimen0=\fl@wd
  1245. \advance\dimen0 by \fl@gut
  1246. \ifoddpages
  1247. \global\hangindent=-\dimen0% placing right
  1248. \else
  1249. \global\hangindent=\dimen0% placing left
  1250. \fi
  1251. \global\hangafter=-\hangcount
  1252. % \fi
  1253. }
  1254. %----------------------- TWO NEWITEMS ---------------------%
  1255. \newcommand{\fltitem}[2][\z@]{\setlength{\fltitemwidth}{\linewidth}%
  1256. \addtolength{\fltitemwidth}{-\floatfltwidth}%
  1257. \addtolength{\fltitemwidth}{-0.5em}%
  1258. \item \parbox[t]{\fltitemwidth}{#2}\\[#1]}
  1259. \newcommand{\fltditem}[3][\z@]{\setlength{\fltitemwidth}{\linewidth}%
  1260. \addtolength{\fltitemwidth}{-\floatfltwidth}%
  1261. \addtolength{\fltitemwidth}{-0.5em}%
  1262. \item[#2] \parbox[t]{\fltitemwidth}{#3}\\[#1]}
  1263. %%%%%%\endinput
  1264. %%%
  1265. %%% End of ex-file `floatflt.sty'.
  1266. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CAPTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1267. \newlength\abovecaptionskip
  1268. \newlength\belowcaptionskip
  1269. \setlength\abovecaptionskip{8\p@}
  1270. \setlength\belowcaptionskip{0\p@}
  1271. \long\def\@makecaption#1#2{%
  1272. \if@hyper{\edef\@pippo{the\@captype}
  1273. \name{\@captype\expandafter\csname\@pippo\endcsname}}\fi%
  1274. \vskip\abovecaptionskip
  1275. {\let\label\@gobble% % FN 10.2.97 REMOVED LATEX BUG:
  1276. \let\index\@gobble% % LARGE CAPTIONS PROCESS LABEL
  1277. \let\glossary\@gobble% % TWO TIMES.
  1278. \sbox\@tempboxa{\small {\bfseries #1.} #2}% %
  1279. \global\dimen0\wd\@tempboxa}% %
  1280. \ifdim \dimen0 >\hsize
  1281. \small {\bfseries #1.} #2\par
  1282. \else
  1283. \global\@minipagefalse \sbox\@tempboxa{\small {\bfseries #1.} #2}%
  1284. \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  1285. \fi
  1286. \vskip\belowcaptionskip}
  1287. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FONTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1288. \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
  1289. \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
  1290. \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
  1291. \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
  1292. \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
  1293. \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
  1294. \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
  1295. \DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
  1296. \DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}
  1297. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TOC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1298. \newcommand\tocsecs{}
  1299. \newcommand\@pnumwidth{1.55em}
  1300. \newcommand\@tocrmarg{2.55em}
  1301. \newcommand\@dotsep{4.5}
  1302. \setcounter{tocdepth}{3}
  1303. \newcommand\tableofcontents{%
  1304. \section*{\contentsname\label{-TOC-}}
  1305. \@starttoc{toc}%
  1306. \gdef\tableofcontents{\JINST@igno{\tableofcontents\space already done}}}
  1307. \newcommand*\l@part[2]{\def\hyp@typ{part}%
  1308. \ifnum \c@tocdepth >-2\relax
  1309. \addpenalty\@secpenalty
  1310. \addvspace{2.25em \@plus\p@}%
  1311. \begingroup
  1312. \setlength\@tempdima{3em}%
  1313. \parindent \z@ \rightskip \@pnumwidth
  1314. \parfillskip -\@pnumwidth
  1315. {\leavevmode
  1316. \large \bfseries \tocsecs#1\hfil \hb@xt@\@pnumwidth{\hss
  1317. \intJlink{\hash pag#2}{#2}}}\par
  1318. \nobreak
  1319. \if@compatibility
  1320. \global\@nobreaktrue
  1321. \everypar{\global\@nobreakfalse\everypar{}}%
  1322. \fi
  1323. \endgroup
  1324. \fi}
  1325. \newcommand*\l@section[2]{\def\hyp@typ{sec}%
  1326. \ifnum \c@tocdepth >\z@
  1327. \addpenalty\@secpenalty
  1328. \addvspace{1.0em \@plus\p@}%
  1329. \setlength\@tempdima{1.8em}% %WIDTH OF SECT. N.
  1330. \begingroup
  1331. \let\d@t.%
  1332. \parindent \z@ \rightskip \@pnumwidth
  1333. \parfillskip -\@pnumwidth
  1334. \leavevmode \bfseries
  1335. \advance\leftskip\@tempdima
  1336. \hskip -\leftskip
  1337. \tocsecs#1\nobreak\hfil %HREF HERE WOULD GET ALSO THE TITLE(...)
  1338. \nobreak\hb@xt@\@pnumwidth{\hss \intJlink{\hash pag#2}{#2}}\par
  1339. \endgroup
  1340. \fi}
  1341. \newcommand*\l@subsection{\def\hyp@typ{sec}\@tocline{2}{1.8em}{2.3em}}
  1342. \newcommand*\l@subsubsection{\def\hyp@typ{sec}\@tocline{3}{4.1em}{3.1em}}
  1343. \newcommand*\l@paragraph{\def\hyp@typ{sec}\@tocline{4}{7.2em}{4.3em}}
  1344. \newcommand*\l@subparagraph{\def\hyp@typ{sec}\@tocline{5}{10.5em}{5em}}
  1345. \if@hyper
  1346. \let\old@dtl\@dottedtocline
  1347. \def\@dottedtocline#1#2#3#4#5{\old@dtl{#1}{#2}{#3}{#4}{%
  1348. \intJlink{\hash pag#5}{#5}}}
  1349. \fi
  1350. \def\@tocline#1#2#3#4#5{%
  1351. \ifnum #1>\c@tocdepth \else
  1352. \vskip \z@ \@plus.2\p@
  1353. {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
  1354. \parindent #2\relax\@afterindenttrue
  1355. \interlinepenalty\@M
  1356. \leavevmode
  1357. \@tempdima #3\relax
  1358. \advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
  1359. {#4}\nobreak
  1360. \hfill
  1361. \nobreak
  1362. \hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor \intJlink{\hash pag#5}{#5}}%
  1363. \par}%
  1364. \fi}
  1365. %%%%%%%%%%%%%%%%%%%%%% LIST OF FIGURES AND TABLES %%%%%%%%%%%%%%%%%%%%%
  1366. \if@draft % ONLY IF DRAFT! ...
  1367. \newcommand\listoffigures{%
  1368. \section*{\listfigurename
  1369. \@mkboth{\MakeUppercase\listfigurename}%
  1370. {\MakeUppercase\listfigurename}}%
  1371. \@starttoc{lof}%
  1372. }
  1373. \newcommand*\l@figure{\def\hyp@typ{figure}\@dottedtocline{1}{1.5em}{2.3em}}
  1374. \newcommand\listoftables{%
  1375. \section*{\listtablename
  1376. \@mkboth{%
  1377. \MakeUppercase\listtablename}{\MakeUppercase\listtablename}}%
  1378. \@starttoc{lot}%
  1379. }
  1380. \newcommand*\l@table{\def\hyp@typ{table}\@dottedtocline{1}{1.5em}{2.3em}}
  1381. \else
  1382. \newcommand\listoffigures{\JINST@ignol{List of figures (draft mode only)}}
  1383. \newcommand\listoftables{\JINST@ignol{List of tables (draft mode only)}}
  1384. \fi
  1385. %%%%%%%%%%%%%%%%%%%%%%%%%%%%% BIBLIOGRAPHY %%%%%%%%%%%%%%%%%%%%%%%%%%%%***
  1386. \newdimen\bibindent
  1387. \setlength\bibindent{1.5em}
  1388. \newenvironment{thebibliography}[1]% %UNFORTUNATELY MODIFIED..
  1389. {\bgroup\raggedright\small\section*{\refname
  1390. \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}%
  1391. \list{\name{bib\@arabic\c@enumiv}% HOPE!
  1392. \@biblabel{\@arabic\c@enumiv}}%
  1393. {\settowidth\labelwidth{\@biblabel{#1}}%
  1394. \leftmargin\labelwidth
  1395. \advance\leftmargin\labelsep
  1396. \@openbib@code
  1397. \usecounter{enumiv}%
  1398. \let\p@enumiv\@empty
  1399. \renewcommand\theenumiv{\@arabic\c@enumiv}}%
  1400. \sloppy\clubpenalty4000\widowpenalty4000%
  1401. \sfcode`\.\@m}
  1402. {\def\@noitemerr
  1403. {\@latex@warning{Empty `thebibliography' environment}}%
  1404. \endlist\egroup}
  1405. \newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em}
  1406. \if@draft
  1407. \let\old@bbt\@bibitem\let\old@lbbt\@lbibitem% LOOK THE DISASTER HERE BELOW.
  1408. \def\@lbibitem[#1]#2{\old@lbbt[#1]{#2}\reversemarginpar{\sf\bfseries\small#2}}
  1409. \def\@bibitem#1{\old@bbt{#1}\reversemarginpar{\sf\bfseries\small#1}}
  1410. \fi
  1411. \let\@openbib@code\@empty
  1412. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% JOURNALS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1413. \def\@spires#1{\href{http://www-spires.slac.stanford.edu/spires/find/hep/www?j=#1}}
  1414. % %PITY THAT target IS NOT IMPLEMENTED.
  1415. \catcode`\%=12
  1416. \catcode`\|=14
  1417. |%%%% SM publications
  1418. \newcommand\jcap[3] {\href{http://www.iop.org/EJ/abstract/1475-7516/#2/#1/#3}
  1419. {{\it JCAP }{\bf #1} (#2) #3}}
  1420. \newcommand\jhep[3] {\href{http://www.iop.org/EJ/abstract/1126-6708/#2/#1/#3}
  1421. {{\it JHEP }{\bf #1} (#2) #3}}
  1422. \def\splitJINST#120#2#3#4#5#6#7#8#9{\href{http://www.iop.org/EJ/abstract/1748-0221/#1/#5#6/#4#5#6#7#8#9}
  1423. {20#2#3 {\it JINST }{\bf #1} #4#5#6#7#8#9}}
  1424. \newcommand\jinst[3] {\splitJINST#1#2#3}
  1425. \def\splitJSTAT 20#1#2#3#4#5#6#7#8{\href{http://www.iop.org/EJ/abstract/1742-5468/20#1#2/#4#5/#3#4#5#6#7#8}
  1426. {{\it J. Stat. Mech.\ }(20#1#2) #3#4#5#6#7#8}}
  1427. \newcommand\jstat[2]{\splitJSTAT#1#2}
  1428. \newcommand\pos[1]{\href{http://pos.sissa.it/cgi-bin/reader/contribution.cgi?id=#1}{\tt #1}}
  1429. |%%%% APS journals
  1430. \newcommand\pr[3]{\href{http://dx.doi.org/10.1103/PhysRev.#1.#3}
  1431. {\emph{Phys.\ Rev.} {\bf #1} (#2) #3}}
  1432. \newcommand\pra[3]{\href{http://dx.doi.org/10.1103/PhysRevA.#1.#3}
  1433. {\emph{Phys.\ Rev.} {\bf A #1} (#2) #3}}
  1434. \newcommand\prb[3]{\href{http://dx.doi.org/10.1103/PhysRevB.#1.#3}
  1435. {\emph{Phys.\ Rev.} {\bf B #1} (#2) #3}}
  1436. \newcommand\prc[3]{\href{http://dx.doi.org/10.1103/PhysRevC.#1.#3}
  1437. {\emph{Phys.\ Rev.} {\bf C #1} (#2) #3}}
  1438. \newcommand\prd[3]{\href{http://dx.doi.org/10.1103/PhysRevD.#1.#3}
  1439. {\emph{Phys.\ Rev.} {\bf D #1} (#2) #3}}
  1440. \newcommand\prl[3]{\href{http://dx.doi.org/10.1103/PhysRevLett.#1.#3}
  1441. {\emph{Phys.\ Rev.\ Lett.} {\bf #1} (#2) #3}}
  1442. |%%%% Others
  1443. \newcommand\econf[3] {\@spires{ECONF%2C#1%2C#3}
  1444. {{\it eConf\ }{\bf #1} (#2) #3}}
  1445. \newcommand\rsi[3]{\href{http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normal&id=RSINAK0000#1000001#3000001}
  1446. {\emph{Rev.\ Sci.\ Instrum.} {\bf #1} (#2) #3}}
  1447. | }}}}}}}}}}}}}}}}}}}}}} "|" is here a comment (catcode defined above) to
  1448. | }}}}}}}}}}}}}}}}}}}}}} include parenthesis for emacs to parse properly.
  1449. \newcommand\ibid[3]{{\it ibid.\ }{\bf #1} (#2) #3}
  1450. \catcode`\%=14
  1451. \catcode`\|=12
  1452. % HEPTH's: \hepth{9912999} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1453. \newcommand{\hepth}[1]{\href{http://www.arxiv.org/abs/hep-th/#1}{\tt hep-th/#1}}
  1454. \newcommand{\hepph}[1]{\href{http://www.arxiv.org/abs/hep-ph/#1}{\tt hep-ph/#1}}
  1455. \newcommand{\heplat}[1]{\href{http://www.arxiv.org/abs/hep-lat/#1}{\tt hep-lat/#1}}
  1456. \newcommand{\hepex}[1]{\href{http://www.arxiv.org/abs/hep-ex/#1}{\tt hep-ex/#1}}
  1457. \newcommand{\nuclth}[1]{\href{http://www.arxiv.org/abs/nucl-th/#1}{\tt nucl-th/#1}}
  1458. \newcommand{\nuclex}[1]{\href{http://www.arxiv.org/abs/nucl-ex/#1}{\tt nucl-ex/#1}}
  1459. \newcommand{\grqc}[1]{\href{http://www.arxiv.org/abs/gr-qc/#1}{\tt gr-qc/#1}}
  1460. \newcommand{\qalg}[1]{\href{http://www.arxiv.org/abs/q-alg/#1}{\tt q-alg/#1}}
  1461. \newcommand{\dgga}[1]{\href{http://www.arxiv.org/abs/dg-ga/#1}{\tt dg-ga/#1}}
  1462. \newcommand{\accphys}[1]{\href{http://www.arxiv.org/abs/accphys/#1}{\tt accphys/#1}}
  1463. \newcommand{\alggeom}[1]{\href{http://www.arxiv.org/abs/alg-geom/#1}{\tt alg-geom/#1}}
  1464. \newcommand{\astroph}[1]{\href{http://www.arxiv.org/abs/astro-ph/#1}{\tt astro-ph/#1}}
  1465. \newcommand{\chaodyn}[1]{\href{http://www.arxiv.org/abs/chao-dyn/#1}{\tt chao-dyn/#1}}
  1466. \newcommand{\condmat}[1]{\href{http://www.arxiv.org/abs/cond-mat/#1}{\tt cond-mat/#1}}
  1467. \newcommand{\nlinsys}[1]{\href{http://www.arxiv.org/abs/nlin-sys/#1}{\tt nlin-sys/#1}}
  1468. \newcommand{\quantph}[1]{\href{http://www.arxiv.org/abs/quant-ph/#1}{\tt quant-ph/#1}}
  1469. \newcommand{\solvint}[1]{\href{http://www.arxiv.org/abs/solv-int/#1}{\tt solv-int/#1}}
  1470. \newcommand{\suprcon}[1]{\href{http://www.arxiv.org/abs/supr-con/#1}{\tt supr-con/#1}}
  1471. \newcommand{\mathph}[1]{\href{http://www.arxiv.org/abs/math-ph/#1}{\tt math-ph/#1}}
  1472. \newcommand{\physics}[1]{\href{http://www.arxiv.org/abs/physics/#1}{\tt physics/#1}}
  1473. \newcommand{\Math}[2]{\href{http://www.arxiv.org/abs/math.#1/#2}{\tt math.#1/#2}}
  1474. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% BopHook %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1475. \ifpdf
  1476. \newcommand\Jwatermark[1]{\relax}
  1477. %% \JINST@warnl{ATTENTION!!! watermark disabled. Add it with pdftk
  1478. %% (use compilaJINSTpdflatex for instance)}
  1479. \else
  1480. \newcommand\Jwatermark[1]{\special{!userdict begin
  1481. /iseven {dup dup 2 idiv 2 mul eq} bind def
  1482. /BHend {
  1483. translate rotate
  1484. /Courier findfont 30 scalefont setfont
  1485. 0 0 moveto 0.80 setgray (#1) show grestore}
  1486. bind def
  1487. statusdict /duplexmode known
  1488. {statusdict begin duplexmode end}
  1489. {false}
  1490. ifelse
  1491. {/bop-hook {gsave iseven {-90 550 570} {+90 50 300} ifelse BHend} def}
  1492. {/bop-hook {gsave -90 550 570 BHend} def}
  1493. ifelse
  1494. end
  1495. }\let\JHEP\gobble}
  1496. \fi
  1497. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FOOTNOTES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1498. \skip\footins = 1\bigskipamount plus 2pt minus 4pt
  1499. \addtolength{\footnotesep}{1pt}
  1500. \renewcommand\footnoterule{% % NO HYPER...
  1501. \kern-3\p@
  1502. \hrule\@width.4\columnwidth
  1503. \kern2.6\p@}
  1504. \newcommand\@makefntext[1]{%
  1505. \parindent 1em%
  1506. \noindent
  1507. \hb@xt@1.8em{\hss\@makefnmark}#1}
  1508. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% NAMES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1509. \newcommand\contentsname{Contents}
  1510. \if@draft\newcommand\listfigurename{List of figures}
  1511. \newcommand\listtablename{List of tables}\fi
  1512. \newcommand\refname{References}
  1513. \newcommand\indexname{Index}
  1514. \newcommand\figurename{Figure}
  1515. \newcommand\tablename{Table}
  1516. \newcommand\partname{Part}
  1517. \newcommand\appendixname{Appendix}
  1518. \newcommand\abstractname{Abstract:}
  1519. \newcommand\keywordsname{Keywords:}
  1520. \newcommand\receivedname{Received:}
  1521. \newcommand\revisedname{Revised:}
  1522. \newcommand\acceptedname{Accepted:}
  1523. \newcommand\publishedname{Published:}
  1524. \newcommand\acknowlname{Acknowledgments}
  1525. \newcommand\queriesname{Queries for the author}
  1526. \newcommand\today{}
  1527. \edef\today{\ifcase\month\or
  1528. January\or February\or March\or April\or May\or June\or
  1529. July\or August\or September\or October\or November\or December\fi
  1530. \space\number\day, \number\year}
  1531. \setlength\columnsep{20\p@}
  1532. \setlength\columnseprule{0\p@}
  1533. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DEFAULTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1534. \pagestyle{JINST}
  1535. \pagenumbering{arabic}
  1536. \@addtoreset{equation}{section}
  1537. \if@preprint
  1538. \else
  1539. \let\pagestyle\@gobble
  1540. \let\thispagestyle\@gobble
  1541. \let\pagenumbering\@gobble
  1542. \fi
  1543. \onecolumn
  1544. % FOR REQUESTED FRONTMATTER ...
  1545. \AtBeginDocument{\bgroup% SOME NICE (LOCAL) MESSAGES...
  1546. \def\@APPwarn#1{\JINST@warnl{\protect#1 should appear
  1547. before \protect\begin{document}}}%
  1548. \def\@APPerr#1{\ClassError{JINST}{\protect#1 should appear
  1549. before \protect\begin{document}}}%
  1550. \if@author\else\@APPerr{Some \protect\author{...}}\fi
  1551. \if@abstract\else\@APPerr{\abstract{...}}\fi
  1552. \if@preprint
  1553. \else
  1554. \if@rece\else\@APPerr{\received{...}}\fi
  1555. \if@acce\else\@APPerr{\accepted{...}}\fi
  1556. \if@publi\else\@APPerr{\published{...}}\fi
  1557. \if@keywords\else\@APPwarn{\keywords{...}}\fi
  1558. \fi
  1559. \egroup
  1560. \auto@maketitle}%
  1561. \endinput
  1562. %%
  1563. %% End of file `JINST.cls'.