← All templates

SAIP Annual Conference proceedings (jpconf)

The South African Institute of Physics proceedings template: IOP's 2007 jpconf class as SAIP still requires it, with SAIP's own sample paper (authors and affiliations, abstract, sections, a table, side-by-side and stacked figures, BibTeX references with astronomy journal abbreviations).

Create an account to use this
Category
Conference
Document class
jpconf (jpconf.cls) — ships with TeX Live
Workflow
Conference paper — submissions and revision rounds
Author
South African Institute of Physics (SAIP)
Source
South African Institute of Physics (SAIP)
Licence
No licence is stated in the files. South African Institute of Physics (SAIP) distributes them for authors preparing a submission.

These are the publisher’s own files. This project starts from South African Institute of Physics (SAIP)’s package for this publication — their manuscript, their jpconf.cls, their bibliography style — so what compiles here is what they would have given you.

South African Institute of Physics (SAIP) serves this exact file to Proceedings of the Annual Conference of the South African Institute of Physics (SAIP). Check South African Institute of Physics (SAIP)’s author pages for the current instructions.

Where this differs from the publisher’s download.

  • Note: SAIP uses the pre-February-2024 Journal of Physics: Conference Series layout, not the current IOP conference template; papers are limited to 6 pages. Check the current year's proceedings page for changes.

What you get

  • 123-yourname.tex — the file that is compiled · 7 KB
  • fig-name1.pdf · 2 KB
  • fig-name2.jpg · 32 KB
  • fig-name3.png · 33 KB
  • iopams.sty · 3 KB
  • iopart-num.bib · 3 KB
  • iopart-num.bst · 34 KB
  • jpconf.cls · 34 KB
  • jpconf11.clo · 5 KB

These become your files. Editing them afterwards changes your project and nothing else — a project owns its files from the moment it is made.

Journals using this template

Source

123-yourname.tex — the file that is compiled · 7 KB
\documentclass[a4paper]{jpconf}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%defaults, keep as is
\usepackage{lmodern}        
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} % input encoding
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%common packages needed, add or comment as needed
\usepackage{graphicx}  %to include figures
%\usepackage{xcolor}
%\usepackage{algorithm2e}
%\usepackage[version=4]{mhchem} %for isotopes and all with \ce{^{15}_{8}O_{7}}
%\usepackage{amsmath}
%\usepackage{amssymb}
%\usepackage{stmaryrd}
%\usepackage{mathrsfs}
%\usepackage{mathabx}
%\usepackage{upgreek}
%\usepackage{comment}
%\usepackage{verbatim}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% this hyperref packages must be loaded at the end.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[pdftex,bookmarksopen,bookmarksnumbered,linktoc=all,hidelinks]{hyperref}

%common abbreviations used in physics journals, useful for bibtex citations
%define each journal macro your .bib uses, for example:
\providecommand*\apj{ApJ}
\providecommand*\apjs{ApJS}

\begin{document}
\title{Your paper}

\author{Arthur Dent$^{1,2}$, Ford Prefect$^2$, and Zaphod Beeblebrox$^3$}

\address{$^1$ Centre for Space Research, North-West University, Potchefstroom 2531, South Africa}
\address{$^2$ South African Astronomical Observatory, Observatory 7925, Cape Town, South Africa}
\address{$^3$ Department of Astronomy, University of Cape Town, Private Bag X3, Rondebosch 7701, South Africa}

%only put the email of the main corresponding author, not of all authors.
\ead{\url{[email protected]}}

\begin{abstract}
You can type your relevant abstract here.  As with every part of this document, you should just replace this text with your own.  Just a reminder to students, an abstract shouldn't have any references, and you should briefly introduce your topic / aim of your work, and summarize your key findings.  Make it formal, but also inviting for the reader to keep on reading.
\end{abstract}

\section{Introduction}
You should edit this tex file directly and replace what you see here with your own information, figures, tables, results, etc.  Make sure you cite your sources properly using bibtex, as is done here.  For example, you might want to cite this paper \cite{1996ApJ...462..563N} or that paper \cite{2003ApJS..148..175S}.  In certain cases, maybe citing them together would make more sense, like this \cite{1996ApJ...462..563N, 2003ApJS..148..175S}.   All the relevant information for these citations are in the bib file already, and this template has all the code / packages needed to generate the bibliography correctly already. 

\subsection{The Template} Sometimes what you want to cite isn't an article, for example, this proceedings template is based on the one used by the "Journal of Physics: Conference Series" \cite{jpconf}.   In this specific case, although not mentioned on the linked website, the template has changed in mid February 2024 looks very different to what has been adopted bt SAIP.  So the material available to download on their site is no longer identical to what is required for the SAIP proceedings, for both Latex (\texttt{LaTeXTemplates.zip}) and Word (\texttt{WordGuidelines.zip}).  You have been provided with the older zip files that are to be used for the SAIP proceedings.  In addition to these original documents, a "typical" working example of a latex source file \texttt{"123-yourname.tex"} with comments inside and associated PDF have been provided to you.  It is this very document you are reading now, it should be sufficient for most of you, but in case you need more, look for \texttt{"JPCSLaTeXGuidelines.pdf"} in that zip file. 


\subsection{And some more information}
Some other times, it could be an instruction manual available online, like this spectrograph's manual for example, \cite{echelle}.   It can be cited in the following way, check the bib file.


\section{Data Analysis}
You might also want to site a conference proceedings, \cite{SAIP2023}.  No matter what you cite, all this information is contained in the bib file, iopart-num.bib.  Many bibtex entries have macros in them, like \textbackslash aj, which must be expanded to a text name, like "Astronomical Journal", abbreviated usually as "AJ" in citations for example.  This is why the preamble defines \textbackslash apj and \textbackslash apjs at the start of the document; add a line there for each further journal macro your entries use\footnote{The macros used by NASA ADS exports are listed at \url{https://ui.adsabs.harvard.edu/help/actions/journal-macros}.}.  Sometimes, it might be more appropriate to put a footnote with an link rather than a full reference at the end, as shown here.

\subsection{Your figures and tables}
Figures and tables, you can include them like that.  This is how to refer to Table~\ref{tab:mytable} and Figure~\ref{fig-sidebyside}, Figure~\ref*{fig-stackup}, and Figure~\ref{fig-onlyone}.  You should label them all and call them at least once in the text.


\begin{table}[ht]
\centering % centering table
\setlength{\tabcolsep}{0.5em} % for the horizontal padding
{\renewcommand{\arraystretch}{1.2}% for the vertical padding
\begin{tabular}{l c c rrrrrrr} % creating 10 columns
\hline\hline 
Variable &No. of things &Something else  &\multicolumn{7}{c}{Some numbers in there}\\ 
\hline 
Red& 56 &case1   &43 & 34 & 65 & 41 &  33 & 46 & 51 \\
 & &case2  &83 & 97 & 83 & 89 & 61 & 90 & 88 \\
Green&19 &case1 & 44 & 32 & 42 & 37 & 36 & 41 & 32 \\
& & case2 & 87 & 82 & 77 & 95 & 96 & 64 & 91 \\
Blue&78 &case1 & 53 & 41 & 57 & 34 & 59 & 45 & 54 \\
& & case2 &69 & 85 & 85 & 33 & 84 & 62 & 91 \\
\hline 
\end{tabular}}
\caption{\label{tab:mytable}This is the caption of the table.  You are more than welcome to make your own table the way you see fit, the possibilities are infinite, make it look nice.} 
\end{table}



\begin{figure}[!ht]
\centering
\includegraphics[width=0.49\textwidth]{fig-name1}
\includegraphics[width=0.49\textwidth]{fig-name2}
\caption{\label{fig-sidebyside} (\emph{left}) Figure with 2 images side by side, each of them at 0.49\textbackslash textwidth.  Do not specify the two sides, just one (like the width) and let the other scale accordingly.  (\emph{right}) Do not put physical measures, like cm, or pt, relative is better, as a fraction of the text width.}
\end{figure}




\begin{figure}[!ht]
\centering
\includegraphics[width=0.6\textwidth]{fig-name2}\\
\includegraphics[width=0.6\textwidth]{fig-name1}
\caption{\label{fig-stackup} (\emph{top}) Figure with 2 images on top of each other, each of them at 0.6\textbackslash textwidth.  (\emph{bottom}) Make it as wide as possible, as long as it fits your page, and be careful not to overspill in the bottom margin, keep as much white space as the other pages.}
\end{figure}

\clearpage

\begin{figure}[ht]
\centering
\includegraphics[width=0.999\textwidth]{fig-name3}
\caption{\label{fig-onlyone} Figure with 1 image only, at 0.999\textbackslash textwidth}
\end{figure}


\section{Results}
Finally, you can see with these 3 images in the previous figures, that you can use PDF, JPG, or PNG, and you don't have to specific the file extension in the name to load them.

%Bibliography
%make sure you fill the .bib properly, e.g. edit "iopart-num.bib" and add all your references in there.
\section*{References}
\bibliographystyle{iopart-num}
\bibliography{iopart-num}



\end{document}

fig-name1.pdf — binary, 2 KB

fig-name2.jpg — binary, 32 KB

fig-name3.png — binary, 33 KB

iopams.sty · 3 KB
%% 
%% This is file `iopams.sty'
%% File to include AMS fonts and extra definitions for bold greek 
%% characters for use with iopart.cls
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{iopams}[1997/02/13 v1.0]
\RequirePackage{amsgen}[1995/01/01]
\RequirePackage{amsfonts}[1995/01/01]
\RequirePackage{amssymb}[1995/01/01]
\RequirePackage{amsbsy}[1995/01/01]
%
\iopamstrue   % \newif\ifiopams in iopart.cls & iopbk2e.cls
%             % allows optional text to be in author guidelines
%
% Bold lower case Greek letters
%
\newcommand{\balpha}{\boldsymbol{\alpha}}
\newcommand{\bbeta}{\boldsymbol{\beta}}
\newcommand{\bgamma}{\boldsymbol{\gamma}}
\newcommand{\bdelta}{\boldsymbol{\delta}}
\newcommand{\bepsilon}{\boldsymbol{\epsilon}}
\newcommand{\bzeta}{\boldsymbol{\zeta}}
\newcommand{\bfeta}{\boldsymbol{\eta}}
\newcommand{\btheta}{\boldsymbol{\theta}}
\newcommand{\biota}{\boldsymbol{\iota}}
\newcommand{\bkappa}{\boldsymbol{\kappa}}
\newcommand{\blambda}{\boldsymbol{\lambda}}
\newcommand{\bmu}{\boldsymbol{\mu}}
\newcommand{\bnu}{\boldsymbol{\nu}}
\newcommand{\bxi}{\boldsymbol{\xi}}
\newcommand{\bpi}{\boldsymbol{\pi}}
\newcommand{\brho}{\boldsymbol{\rho}}
\newcommand{\bsigma}{\boldsymbol{\sigma}}
\newcommand{\btau}{\boldsymbol{\tau}}
\newcommand{\bupsilon}{\boldsymbol{\upsilon}}
\newcommand{\bphi}{\boldsymbol{\phi}}
\newcommand{\bchi}{\boldsymbol{\chi}}
\newcommand{\bpsi}{\boldsymbol{\psi}}
\newcommand{\bomega}{\boldsymbol{\omega}}
\newcommand{\bvarepsilon}{\boldsymbol{\varepsilon}}
\newcommand{\bvartheta}{\boldsymbol{\vartheta}}
\newcommand{\bvaromega}{\boldsymbol{\varomega}}
\newcommand{\bvarrho}{\boldsymbol{\varrho}}
\newcommand{\bvarzeta}{\boldsymbol{\varsigma}}  %NB really sigma
\newcommand{\bvarsigma}{\boldsymbol{\varsigma}}
\newcommand{\bvarphi}{\boldsymbol{\varphi}}
%
% Bold upright capital Greek letters
%
\newcommand{\bGamma}{\boldsymbol{\Gamma}}
\newcommand{\bDelta}{\boldsymbol{\Delta}}
\newcommand{\bTheta}{\boldsymbol{\Theta}}
\newcommand{\bLambda}{\boldsymbol{\Lambda}}
\newcommand{\bXi}{\boldsymbol{\Xi}}
\newcommand{\bPi}{\boldsymbol{\Pi}}
\newcommand{\bSigma}{\boldsymbol{\Sigma}}
\newcommand{\bUpsilon}{\boldsymbol{\Upsilon}}
\newcommand{\bPhi}{\boldsymbol{\Phi}}
\newcommand{\bPsi}{\boldsymbol{\Psi}}
\newcommand{\bOmega}{\boldsymbol{\Omega}}
%
% Bold versions of miscellaneous symbols
%
\newcommand{\bpartial}{\boldsymbol{\partial}}
\newcommand{\bell}{\boldsymbol{\ell}}
\newcommand{\bimath}{\boldsymbol{\imath}}
\newcommand{\bjmath}{\boldsymbol{\jmath}}
\newcommand{\binfty}{\boldsymbol{\infty}}
\newcommand{\bnabla}{\boldsymbol{\nabla}}
\newcommand{\bdot}{\boldsymbol{\cdot}}
%
% Symbols for caption
%
\renewcommand{\opensquare}{\mbox{$\square$}}
\renewcommand{\opentriangle}{\mbox{$\vartriangle$}}
\renewcommand{\opentriangledown}{\mbox{$\triangledown$}}
\renewcommand{\opendiamond}{\mbox{$\lozenge$}}
\renewcommand{\fullsquare}{\mbox{$\blacksquare$}}
\newcommand{\fulldiamond}{\mbox{$\blacklozenge$}}
\newcommand{\fullstar}{\mbox{$\bigstar$}}
\newcommand{\fulltriangle}{\mbox{$\blacktriangle$}}
\newcommand{\fulltriangledown}{\mbox{$\blacktriangledown$}}

\endinput
%% 
%% End of file `iopams.sty'.
iopart-num.bib · 3 KB
@ARTICLE{1996ApJ...462..563N,
       author = {{Navarro}, Julio F. and {Frenk}, Carlos S. and {White}, Simon D.~M.},
        title = "{The Structure of Cold Dark Matter Halos}",
      journal = {\apj},
     keywords = {COSMOLOGY: THEORY, COSMOLOGY: DARK MATTER, GALAXIES: HALOS, METHODS: NUMERICAL, Astrophysics},
         year = 1996,
        month = may,
       volume = {462},
        pages = {563},
          doi = {10.1086/177173},
archivePrefix = {arXiv},
       eprint = {astro-ph/9508025},
 primaryClass = {astro-ph},
       adsurl = {https://ui.adsabs.harvard.edu/abs/1996ApJ...462..563N},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

@ARTICLE{2003ApJS..148..175S,
       author = {{Spergel}, D.~N. and {Verde}, L. and {Peiris}, H.~V. and {Komatsu}, E. and {Nolta}, M.~R. and {Bennett}, C.~L. and {Halpern}, M. and {Hinshaw}, G. and {Jarosik}, N. and {Kogut}, A. and {Limon}, M. and {Meyer}, S.~S. and {Page}, L. and {Tucker}, G.~S. and {Weiland}, J.~L. and {Wollack}, E. and {Wright}, E.~L.},
        title = "{First-Year Wilkinson Microwave Anisotropy Probe (WMAP) Observations: Determination of Cosmological Parameters}",
      journal = {\apjs},
     keywords = {Cosmology: Cosmic Microwave Background, Cosmology: Cosmological Parameters- Cosmology: Observations, Cosmology: Early Universe, Astrophysics},
         year = 2003,
        month = sep,
       volume = {148},
       number = {1},
        pages = {175-194},
          doi = {10.1086/377226},
archivePrefix = {arXiv},
       eprint = {astro-ph/0302209},
 primaryClass = {astro-ph},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2003ApJS..148..175S},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

@PROCEEDINGS{SAIP2023,
  title = {The Proceedings of SAIP2023, the 67th Annual Conference of the South African Institute of Physics},
  booktitle = {The Proceedings of SAIP2023, the 67th Annual Conference of the South African Institute of Physics,},
  publisher = {edited by Prof. Aletta Prinsloo, University of Johannesburg},
  address = {South Africa},
  month = {dec},
  year = {2023},
  isbn = {978-0-7961-3774-6},
  adsurl = "\url{https://www.saip.org.za/conference-proceedings/}"
}

@misc{echelle,
	title = "{eShel echelle spectrograph User Guide}",
	author	= "{Cochard, F. and Thizy, O.}",
	organization	= {Shelyak Instrements},
	address	= "{Les Roussets 38420 Revel France}",
	year		= {2009},
	month		= {aug},
	howpublished 		= "\url{https://www.shelyak.com/wp-content/uploads/DC0009B-eShel-User-Guide.pdf}",
	 note = "{Accessed: 2022-06-01}"
}

@misc{jpconf,
  title = "{Preparing a paper using \LaTeXe\ for publication in Journal of Physics: Conference Series}",
  author = "{IOP-Publishing}",
  howpublished = "\url{https://publishingsupport.iopscience.iop.org/questions/templates-and-guidelines-for-proceedings-papers/}",
  year = {2006},
  note = "{Accessed: 2024-01-31}"
}
iopart-num.bst · 34 KB
% iopart-num.bst -- BibTeX style for IOP journals (Harvard-like numeric style)
%
% DESCRIPTION
%
%   Further documenation may be found in iopart-num.pdf.
%
%   Available from CTAN as /biblio/bibtex/contrib/iopart-num.
%
% HISTORY
% 
% Version 1.0 (2005/07/11)
%   Created using custom-bib (merlin.mbs), with following manual modifications:
%   -- remove trailing period from predefined volume, page, etc., abbreviations
%   -- provide command \newblock to fix incompatibility between natbib
%      and iopart (as of iopart version 1996/06/10) 
%   -- move edition after booktitle
%   -- add version identifier to generated output
%   -- for incollection and inproceedings, move volume from after publisher to before
%   -- for any series with number, number after series
% Version 2.0 (2006/12/21)
%   -- define section field for proper formatting of lettered journal sections 
%      (as requested by Chris Latham)
%   -- suppress printing of number for article, but provide issue field
%      for periodicals with issue-based page numbering (suggested by Chris Latham)
%   -- patch remove.dots to not strip "\." control sequence (bug reported by Kevin Bube)
%   -- define epilog field (undocumented)
%   -- delete predefined computer science journal names
%   -- bring book volume+number or series+number formatting into IOP form
%   -- for book, inbook, and proceedings with editors but no author, fix formating of editors
%   -- for incollection and inproceedings, put editors in correct location
%   -- for journal: use same page formatting even if volume missing
%
% LIMITATIONS
%
% Still not in IOP form: 
%   -- for incollection and inproceedings, editors initials should preceed rather 
%      than follow last name
%   -- of the two semantically different formatting for a book in a multivolume work,
%      only "title (series volume)" formatting is supported, not "series volume title"

%% This is file `iopart-num.bst',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% merlin.mbs  (with options: `seq-no,nm-rv,dt-beg,yr-blk,xmth,yrp-x,jtit-x,vol-bf,volp-blk,num-xser,jnm-x,add-pub,pub-par,pre-pub,isbn,issn,blk-com,com-blank,fin-bare,pp,ed,abr,ednx,mth-bare,ord,jabr,and-xcom,etal-it,revdata,eprint,url,url-blk')
%% ----------------------------------------
%% *** Institute of Physics (IOP) journals; Harvard-like numeric style ***
%% 
%% Copyright 1994-2002 Patrick W Daly
 % ===============================================================
 % IMPORTANT NOTICE:
 % This bibliographic style (bst) file has been generated from one or
 % more master bibliographic style (mbs) files, listed above.
 %
 % This generated file can be redistributed and/or modified under the terms
 % of the LaTeX Project Public License Distributed from CTAN
 % archives in directory macros/latex/base/lppl.txt; either
 % version 1 of the License, or any later version.
 % ===============================================================
 % Name and version information of the main mbs file:
 % \ProvidesFile{merlin.mbs}[2002/10/21 4.05 (PWD, AO, DPC)]
 %   For use with BibTeX version 0.99a or later
 %-------------------------------------------------------------------
 % This bibliography style file is intended for texts in ENGLISH
 % This is a numerical citation style, and as such is standard LaTeX.
 % It requires no extra package to interface to the main text.
 % The form of the \bibitem entries is
 %   \bibitem{key}...
 % Usage of \cite is as follows:
 %   \cite{key} ==>>          [#]
 %   \cite[chap. 2]{key} ==>> [#, chap. 2]
 % where # is a number determined by the ordering in the reference list.
 % The order in the reference list is that by which the works were originally
 %   cited in the text, or that in the database.
 %---------------------------------------------------------------------

ENTRY
  { address
    archive
    author
    booktitle
    chapter
    collaboration
    edition
    editor
    eid
    eprint
    howpublished
    institution
    isbn
    issn
    journal
    key
    month
    note
    number
    numpages
    organization
    pages
    publisher
    school
    series
    title
    type
    url
    volume
    year
%mc
    issue
    section
    epilog
  }
  {}
  { label }

FUNCTION {not}
{   { #0 }
    { #1 }
  if$
}
FUNCTION {and}
{   'skip$
    { pop$ #0 }
  if$
}
FUNCTION {or}
{   { pop$ #1 }
    'skip$
  if$
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% mc utilities
%   require merlin.mbs logical operators and field.or.null
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% hang -- {hang} suspends execution, for debugging purposes
%   Note that not all pending output may have been flushed.
FUNCTION {hang}
{
  {#1} {skip$} while$
}

% string.length -- {s string.length} returns the true character length of s
%   In contrast, text.length$ gives special treatment to LaTeX
%   accents ("special characters") and braces.
%   Example:   "" string.length     -> 0
%   Example:   "hello" string.length    -> 5

STRINGS {string.length.s }
INTEGERS {string.length.i }
FUNCTION {string.length}
{
 'string.length.s :=
 #0 'string.length.i :=
  {
    string.length.s #1 #1 substring$ "" = not
  }
  { 
   string.length.i #1 + 'string.length.i := 
   string.length.s #2 global.max$ substring$ 'string.length.s :=
  }
  while$
  string.length.i
}

% shared working variables for stripping functions
STRINGS { strip.s strip.t }
INTEGERS { strip.i }

% strip.leading -- {s t strip.leading} strips t from s if it appears
%   as an initial substring 
%   Example:   "abcdef" "abc" strip.leading   -> "def"
%   Example:   "abcdef" "xyz" strip.leading   -> "abcdef"

FUNCTION{strip.leading}
{
  'strip.t :=
  'strip.s :=
  strip.t string.length 'strip.i :=
  strip.s #1 strip.i substring$ strip.t =
    { strip.s strip.i #1 + global.max$ substring$ }
    { strip.s }
  if$
}

% strip.trailing -- {s t strip.trailing} strips t from s if it appears
%   as a terminal substring 
%   Example:   "abcdef" "def" strip.trailing  -> "abc"
%   Example:   "abcdef" "xyz" strip.trailing  -> "abcdef"
FUNCTION{strip.trailing}
{
  'strip.t :=
  'strip.s :=
  strip.t string.length 'strip.i :=
  strip.s #-1 strip.i substring$ strip.t =
    { strip.s #-1 strip.i - global.max$ substring$ }
    { strip.s }
  if$
}

% trim -- {s trim} strips any trailing whitespace from s
%   Example:   "abcdef  " trim  -> "abcdef"
STRINGS {trim.s trim.t}
FUNCTION{trim}
{
  'trim.s :=
  {
   trim.s #-1 #1 substring$ 'trim.t :=
   trim.t empty$ trim.t string.length #0 > and
  }
    { trim.s #-2 global.max$ substring$ 'trim.s := }
  while$
  trim.s
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


INTEGERS { output.state before.all mid.sentence after.sentence after.block }
FUNCTION {init.state.consts}
{ #0 'before.all :=
  #1 'mid.sentence :=
  #2 'after.sentence :=
  #3 'after.block :=
}
STRINGS { s t}

FUNCTION {output.nonnull}
{ 's :=
  output.state mid.sentence =
    { " " * write$ }
    { output.state after.block =
        { add.period$ write$
          newline$
          "\newblock " write$
        }
        { output.state before.all =
            'write$
            { add.period$ " " * write$ }
          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$ }
    'output.nonnull
  if$
}

%mc
FUNCTION {format.epilog}
{ epilog duplicate$ empty$
    { pop$ }
    { * }
  if$
}
%mc end


FUNCTION {fin.entry}
{   
%mc
format.epilog 
%mc end
  duplicate$ empty$
    'pop$
    'write$
  if$
  newline$
}

FUNCTION {new.block}
{ output.state before.all =
    'skip$
    { after.block 'output.state := }
  if$
}
FUNCTION {new.sentence}
{ output.state after.block =
    'skip$
    { output.state before.all =
        'skip$
        { after.sentence 'output.state := }
      if$
    }
  if$
}
FUNCTION {add.blank}
{  " " * before.all 'output.state :=
}

FUNCTION {date.block}
{
  add.blank
}

STRINGS {z}
FUNCTION {remove.dots}
{ 'z :=
  ""
  { z empty$ not }
  {
%mc patch to preserve the control sequence \. if it appears in a name
   z #1 #2 substring$ "\." = 
      { 
        % process "\." sequence
        z #3 global.max$ substring$ 'z :=
        "\." * 
      }
      {    
        % process regular character
        z #1 #1 substring$
        z #2 global.max$ substring$ 'z :=
        duplicate$ "." = 'pop$
         { * }
        if$
      }
    if$
%mc
  }
  while$
}
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 {field.or.null}
{ duplicate$ empty$
    { pop$ "" }
    'skip$
  if$
}
FUNCTION {emphasize}
{ duplicate$ empty$
    { pop$ "" }
    { "{\em " swap$ * "\/}" * }
  if$
}
FUNCTION {bolden}
{ duplicate$ empty$
    { pop$ "" }
    { "{\bf " swap$ * "}" * }
  if$
}
FUNCTION {tie.or.space.prefix}
{ duplicate$ text.length$ #3 <
    { "~" }
    { " " }
  if$
  swap$
}

FUNCTION {capitalize}
{ "u" change.case$ "t" change.case$ }

FUNCTION {space.word}
{ " " swap$ * " " * }
 % Here are the language-specific definitions for explicit words.
 % Each function has a name bbl.xxx where xxx is the English word.
 % The language selected here is ENGLISH
FUNCTION {bbl.and}
{ "and"}

FUNCTION {bbl.etal}
{ "et~al." }

FUNCTION {bbl.editors}
{ "eds" }

FUNCTION {bbl.editor}
{ "ed" }

FUNCTION {bbl.edby}
{ "edited by" }

FUNCTION {bbl.edition}
{ "ed" }

FUNCTION {bbl.volume}
{ "vol" }

FUNCTION {bbl.of}
{ "of" }

FUNCTION {bbl.number}
{ "no" }

FUNCTION {bbl.nr}
{ "no" }

FUNCTION {bbl.in}
{ "in" }

FUNCTION {bbl.pages}
{ "pp" }

FUNCTION {bbl.page}
{ "p" }

FUNCTION {bbl.eidpp}
{ "pages" }

FUNCTION {bbl.chapter}
{ "chap" }

FUNCTION {bbl.techrep}
{ "Tech. Rep." }

FUNCTION {bbl.mthesis}
{ "Master's thesis" }

FUNCTION {bbl.phdthesis}
{ "Ph.D. thesis" }

FUNCTION {bbl.first}
{ "1st" }

FUNCTION {bbl.second}
{ "2nd" }

FUNCTION {bbl.third}
{ "3rd" }

FUNCTION {bbl.fourth}
{ "4th" }

FUNCTION {bbl.fifth}
{ "5th" }

FUNCTION {bbl.st}
{ "st" }

FUNCTION {bbl.nd}
{ "nd" }

FUNCTION {bbl.rd}
{ "rd" }

FUNCTION {bbl.th}
{ "th" }

MACRO {jan} {"Jan."}

MACRO {feb} {"Feb."}

MACRO {mar} {"Mar."}

MACRO {apr} {"Apr."}

MACRO {may} {"May"}

MACRO {jun} {"Jun."}

MACRO {jul} {"Jul."}

MACRO {aug} {"Aug."}

MACRO {sep} {"Sep."}

MACRO {oct} {"Oct."}

MACRO {nov} {"Nov."}

MACRO {dec} {"Dec."}

FUNCTION {eng.ord}
{ duplicate$ "1" swap$ *
  #-2 #1 substring$ "1" =
     { bbl.th * }
     { duplicate$ #-1 #1 substring$
       duplicate$ "1" =
         { pop$ bbl.st * }
         { duplicate$ "2" =
             { pop$ bbl.nd * }
             { "3" =
                 { bbl.rd * }
                 { bbl.th * }
               if$
             }
           if$
          }
       if$
     }
   if$
}

FUNCTION {bibinfo.check}
{ swap$
  duplicate$ missing$
    {
      pop$ pop$
      ""
    }
    { duplicate$ empty$
        {
          swap$ pop$
        }
        { swap$
          pop$
        }
      if$
    }
  if$
}
FUNCTION {bibinfo.warn}
{ swap$
  duplicate$ missing$
    {
      swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
      ""
    }
    { duplicate$ empty$
        {
          swap$ "empty " swap$ * " in " * cite$ * warning$
        }
        { swap$
          pop$
        }
      if$
    }
  if$
}
%% FUNCTION {format.eprint}
%% { eprint duplicate$ empty$
%%     'skip$
%%     { "\eprint"
%%       archive empty$
%%         'skip$
%%         { "[" * archive * "]" * }
%%       if$
%%       "{" * swap$ * "}" *
%%     }
%%   if$
%% }
FUNCTION {format.eprint}
{ eprint duplicate$ empty$
    'skip$
    { 
      "(\textit{Preprint} " 
      swap$
       "\eprint"
      archive empty$
        'skip$
        { "[" * archive * "]" * }
      if$
      "{" * swap$ * "}" *
      *
      ")"
      *
    }
  if$
}

FUNCTION {format.url}
{ url empty$
    { "" }
    { "\urlprefix\url{" url * "}" * }
  if$
}

STRINGS  { bibinfo}
INTEGERS { nameptr namesleft numnames }

FUNCTION {format.names}
{ 'bibinfo :=
  duplicate$ empty$ 'skip$ {
  's :=
  "" 't :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr
      "{vv~}{ll}{ jj}{ f{~}}"
      format.name$
      remove.dots
      bibinfo bibinfo.check
      't :=
      nameptr #1 >
        {
          namesleft #1 >
            { ", " * t * }
            {
              s nameptr "{ll}" format.name$ duplicate$ "others" =
                { 't := }
                { pop$ }
              if$
              t "others" =
                {
                  " " * bbl.etal emphasize *
                }
                {
                  bbl.and
                  space.word * t *
                }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
  } if$
}
FUNCTION {format.names.ed}
{
  'bibinfo :=
  duplicate$ empty$ 'skip$ {
  's :=
  "" 't :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr
      "{f{~}~}{vv~}{ll}{ jj}"
      format.name$
      remove.dots
      bibinfo bibinfo.check
      't :=
      nameptr #1 >
        {
          namesleft #1 >
            { ", " * t * }
            {
              s nameptr "{ll}" format.name$ duplicate$ "others" =
                { 't := }
                { pop$ }
              if$
              t "others" =
                {

                  " " * bbl.etal emphasize *
                }
                {
                  bbl.and
                  space.word * t *
                }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
  } if$
}
FUNCTION {format.authors}
{ author "author" format.names
    duplicate$ empty$ 'skip$
    { collaboration "collaboration" bibinfo.check
      duplicate$ empty$ 'skip$
        { " (" swap$ * ")" * }
      if$
      *
    }
  if$
}
FUNCTION {get.bbl.editor}
{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }

FUNCTION {format.editors}
{ editor "editor" format.names duplicate$ empty$ 'skip$
    {
%%      "," *
%%      " " *
%%      get.bbl.editor
%%      *
%mc
      " " *
      "(" *
      get.bbl.editor
      *
      ")" *
%mc end
    }
  if$
}
%mc
FUNCTION {format.editors.inline}
{ editor "editor" format.names duplicate$ empty$ 'skip$
    {
      bbl.editor " " *
      swap$
      *
    }
  if$
}
%mc end

FUNCTION {format.isbn}
{ isbn "isbn" bibinfo.check
  duplicate$ empty$ 'skip$
    {
      "ISBN " swap$ *
    }
  if$
}

FUNCTION {format.issn}
{ issn "issn" bibinfo.check
  duplicate$ empty$ 'skip$
    {
      "ISSN " swap$ *
    }
  if$
}

FUNCTION {format.note}
{
 note empty$
    { "" }
    { note #1 #1 substring$
      duplicate$ "{" =
        'skip$
        { output.state mid.sentence =
          { "l" }
          { "u" }
        if$
        change.case$
        }
      if$
      note #2 global.max$ substring$ * "note" bibinfo.check
    }
  if$
}

FUNCTION {format.title}
{ title
  duplicate$ empty$ 'skip$
    { "t" change.case$ }
  if$
  "title" bibinfo.check
}
FUNCTION {output.bibitem}
{ newline$
  "\bibitem{" write$
  cite$ write$
  "}" write$
  newline$
  ""
  before.all 'output.state :=
}

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 :=
        }
      if$
    }
  while$
}

FUNCTION {word.in}
{ bbl.in
  " " * }

FUNCTION {format.date}
{
  ""
  duplicate$ empty$
  year  "year"  bibinfo.check duplicate$ empty$
    { swap$ 'skip$
        { "there's a month but no year in " cite$ * warning$ }
      if$
      *
    }
    { swap$ 'skip$
        {
          swap$
          " " * swap$
        }
      if$
      *
      remove.dots
    }
  if$
  duplicate$ empty$
    'skip$
    {
      before.all 'output.state :=
    " " swap$ *
    }
  if$
}
FUNCTION {format.btitle}
{ title "title" bibinfo.check
  duplicate$ empty$ 'skip$
    {
      emphasize
    }
  if$
}
FUNCTION {either.or.check}
{ empty$
    'pop$
    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
  if$
}
FUNCTION {format.bvolume}
{ volume empty$
    { "" }
%%    { bbl.volume volume tie.or.space.prefix
%%      "volume" bibinfo.check * *
%%      series "series" bibinfo.check
%%      duplicate$ empty$ 'pop$
%%        { swap$ bbl.of space.word * swap$
%%         emphasize * }
%%      if$
%%      "volume and number" number either.or.check
%%    }
%mc
    {
      series "series" bibinfo.check
      empty$ 
        {bbl.volume volume tie.or.space.prefix "volume" bibinfo.check * *}
        { 
          "(" 
          series "series" bibinfo.check emphasize *
          " " * bbl.volume * 
          volume tie.or.space.prefix "volume" bibinfo.check * 
          ")" * *
        }
      if$
      "volume and number" number either.or.check
    }
%mc end
  if$
}
FUNCTION {format.number.series}
{ volume empty$
    { number empty$
        { series field.or.null }
        { series empty$
            { number "number" bibinfo.check }
        { 
          %% output.state mid.sentence =
          %%   { bbl.number }
          %%   { bbl.number capitalize }
          %% if$
          %% number tie.or.space.prefix "number" bibinfo.check * *
          %% bbl.in space.word *
          %% series "series" bibinfo.check *
          %% " " * bbl.number * 
          %% number tie.or.space.prefix "number" bibinfo.check * *
%mc
              "(" 
              series "series" bibinfo.check emphasize *
              " " * bbl.number * 
              number tie.or.space.prefix "number" bibinfo.check * 
              ")" *
              *
%mc end
        }
      if$
    }
      if$
    }
    { "" }
  if$
}


FUNCTION {is.num}
{ chr.to.int$
  duplicate$ "0" chr.to.int$ < not
  swap$ "9" chr.to.int$ > not and
}

FUNCTION {extract.num}
{ duplicate$ 't :=
  "" 's :=
  { t empty$ not }
  { t #1 #1 substring$
    t #2 global.max$ substring$ 't :=
    duplicate$ is.num
      { s swap$ * 's := }
      { pop$ "" 't := }
    if$
  }
  while$
  s empty$
    'skip$
    { pop$ s }
  if$
}

FUNCTION {convert.edition}
{ extract.num "l" change.case$ 's :=
  s "first" = s "1" = or
    { bbl.first 't := }
    { s "second" = s "2" = or
        { bbl.second 't := }
        { s "third" = s "3" = or
            { bbl.third 't := }
            { s "fourth" = s "4" = or
                { bbl.fourth 't := }
                { s "fifth" = s "5" = or
                    { bbl.fifth 't := }
                    { s #1 #1 substring$ is.num
                        { s eng.ord 't := }
                        { edition 't := }
                      if$
                    }
                  if$
                }
              if$
            }
          if$
        }
      if$
    }
  if$
  t
}

FUNCTION {format.edition}
{ edition duplicate$ empty$ 'skip$
    {
      convert.edition
      output.state mid.sentence =
        { "l" }
        { "t" }
      if$ change.case$
      "edition" bibinfo.check
      " " * bbl.edition *
    }
  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 duplicate$ empty$ 'skip$
    { duplicate$ multi.page.check
        {
          bbl.pages swap$
          n.dashify
        }
        {
          bbl.page swap$
        }
      if$
      tie.or.space.prefix
      "pages" bibinfo.check
      * *
    }
  if$
}
FUNCTION {format.journal.pages}
{ pages duplicate$ empty$ 'pop$
%mc     { swap$ duplicate$ empty$
%mc         { pop$ pop$ format.pages }
%mc         {
%mc           " " *
%mc           swap$
%mc           n.dashify
%mc           "pages" bibinfo.check
%mc           *
%mc         }
%mc       if$
%mc     }
    { swap$
          " " *
          swap$
          n.dashify
          "pages" bibinfo.check
          *
    }
  if$
}
FUNCTION {format.journal.eid}
{ eid "eid" bibinfo.check
  duplicate$ empty$ 'skip$
    { swap$ duplicate$ empty$ 'skip$
      {
          " " *
      }
      if$
      swap$
      numpages empty$ 'skip$
        { bbl.eidpp numpages tie.or.space.prefix
          "numpages" bibinfo.check * *
          " (" swap$ * ")" * *
        }
      if$
    }
  if$ *
}
FUNCTION {format.vol.num.pages}
{ volume field.or.null
%mc section handling
    section field.or.null strip.leading
    section field.or.null strip.trailing trim
%mc end
  duplicate$ empty$ 'skip$
    {
      "volume" bibinfo.check
    }
  if$
  bolden
%mc  number "number" bibinfo.check duplicate$ empty$ 'skip$
  issue "issue" bibinfo.check duplicate$ empty$ 'skip$
    {
      swap$ duplicate$ empty$
%mc        { "there's a number but no volume in " cite$ * warning$ }
        { "there's an issue but no volume in " cite$ * warning$ }
        'skip$
      if$
      swap$
      "(" swap$ * ")" *
    }
  if$ *
  eid empty$
    { format.journal.pages }
    { format.journal.eid }
  if$
}

FUNCTION {format.chapter.pages}
{ chapter empty$
    'format.pages
    { type empty$
        { bbl.chapter }
        { type "l" change.case$
          "type" bibinfo.check
        }
      if$
      chapter tie.or.space.prefix
      "chapter" bibinfo.check
      * *
      pages empty$
        'skip$
        { ", " * format.pages * }
      if$
    }
  if$
}

FUNCTION {format.booktitle}
{
  booktitle "booktitle" bibinfo.check
  emphasize
}
%% FUNCTION {format.in.ed.booktitle}
%% { format.booktitle duplicate$ empty$ 'skip$
%%     {
%%       editor "editor" format.names.ed duplicate$ empty$ 'pop$
%%         {
%%           "," *
%%           " " *
%%           get.bbl.editor
%%           ", " *
%%           * swap$
%%           * }
%%       if$
%%       word.in swap$ *
%%     }
%%   if$
%% }
FUNCTION {empty.misc.check}
{ author empty$ title empty$ howpublished empty$
  month empty$ year empty$ note empty$
  and and and and and
    { "all relevant fields are empty in " cite$ * warning$ }
    'skip$
  if$
}
FUNCTION {format.thesis.type}
{ type duplicate$ empty$
    'pop$
    { swap$ pop$
      "t" change.case$ "type" bibinfo.check
    }
  if$
}
FUNCTION {format.tr.number}
{ number "number" bibinfo.check
  type duplicate$ empty$
    { pop$ bbl.techrep }
    'skip$
  if$
  "type" bibinfo.check
  swap$ duplicate$ empty$
    { pop$ "t" change.case$ }
    { tie.or.space.prefix * * }
  if$
}
FUNCTION {format.article.crossref}
{
  key duplicate$ empty$
    { pop$
      journal duplicate$ empty$
        { "need key or journal for " cite$ * " to crossref " * crossref * warning$ }
        { "journal" bibinfo.check emphasize word.in swap$ * }
      if$
    }
    { word.in swap$ * " " *}
  if$
  " \cite{" * crossref * "}" *
}
FUNCTION {format.crossref.editor}
{ editor #1 "{vv~}{ll}" format.name$
  "editor" bibinfo.check
  editor num.names$ duplicate$
  #2 >
    { pop$
      "editor" bibinfo.check
      " " * bbl.etal
      emphasize
      *
    }
    { #2 <
        'skip$
        { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
            {
              "editor" bibinfo.check
              " " * bbl.etal
              emphasize
              *
            }
            {
             bbl.and space.word
              * editor #2 "{vv~}{ll}" format.name$
              "editor" bibinfo.check
              *
            }
          if$
        }
      if$
    }
  if$
}

FUNCTION {format.book.crossref}
{ volume duplicate$ empty$
    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
      pop$ word.in
    }
    { bbl.volume
      swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
    }
  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 emphasize * }
          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$
        { format.booktitle duplicate$ empty$
            { "need editor, key, or booktitle for " cite$ * " to crossref " *
              crossref * warning$
            }
            { word.in swap$ * }
          if$
        }
        { word.in key * " " *}
      if$
    }
    { word.in format.crossref.editor * " " *}
  if$
  " \cite{" * crossref * "}" *
}
FUNCTION {format.org.or.pub}
{ 't :=
  ""
  address empty$ t empty$ and
    'skip$
    {
      add.blank "(" *
      address "address" bibinfo.check *
      t empty$
        'skip$
        { address empty$
            'skip$
            { ": " * }
          if$
          t *
        }
      if$
      ")" *
    }
  if$
}
FUNCTION {format.publisher.address}
{ publisher "publisher" bibinfo.warn format.org.or.pub
}

FUNCTION {format.organization.address}
{ organization "organization" bibinfo.check format.org.or.pub
}



FUNCTION {article}
{ output.bibitem
  format.authors "author" output.check
  format.date "year" output.check
  date.block
  crossref missing$
    {
%mc add section handling
%mc       journal
%mc       "journal" bibinfo.check
%mc       emphasize
%mc       "journal" output.check
%mc       add.blank
      journal
      "journal" bibinfo.check
      section field.or.null strip.trailing trim
      emphasize
      "journal" output.check
      add.blank
      section empty$
        { skip$ }
        { section * add.blank}
      if$
%mc end
      format.vol.num.pages output
    }
    { format.article.crossref output.nonnull
      format.pages output
    }
  if$
  format.issn output
  format.note output
  format.eprint output
  format.url output
  fin.entry
}
FUNCTION {book}
{ 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$
  format.date "year" output.check
  date.block
  format.btitle "title" output.check
  format.edition output
  crossref missing$
    { format.bvolume output
      format.number.series output
      format.publisher.address output
    }
    {
      format.book.crossref output.nonnull
    }
  if$
  %% format.edition output
  format.isbn output
  format.note output
  format.eprint output
  format.url output
  fin.entry
}
FUNCTION {booklet}
{ output.bibitem
  format.authors output
  format.date output
  date.block
  format.title "title" output.check
  howpublished "howpublished" bibinfo.check output
  address "address" bibinfo.check output
  format.isbn output
  format.note output
  format.eprint output
  format.url 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$
  format.date "year" output.check
  date.block
  format.btitle "title" output.check
  crossref missing$
    {
      format.bvolume output
      format.publisher.address output
      %% format.bvolume output
      format.chapter.pages "chapter and pages" output.check
      format.number.series output
    }
    {
      format.chapter.pages "chapter and pages" output.check
      format.book.crossref output.nonnull
    }
  if$
  format.edition output
  crossref missing$
    { format.isbn output }
    'skip$
  if$
  format.note output
  format.eprint output
  format.url output
  fin.entry
}

FUNCTION {incollection}
{ output.bibitem
  format.authors "author" output.check
  format.date "year" output.check
  date.block
  crossref missing$
    { 
      %% format.in.ed.booktitle "booktitle" output.check
%mc   
      format.booktitle "booktitle" output.check
      format.bvolume output
      format.number.series output
      format.editors.inline output
%mc end
      format.publisher.address output
      %% format.bvolume output
      %% format.number.series output
      format.chapter.pages output
      format.edition output
      format.isbn output
    }
    { format.incoll.inproc.crossref output.nonnull
      format.chapter.pages output
    }
  if$
  format.note output
  format.eprint output
  format.url output
  fin.entry
}
FUNCTION {inproceedings}
{ output.bibitem
  format.authors "author" output.check
  format.date "year" output.check
  date.block
  crossref missing$
    { 

      %%format.in.ed.booktitle "booktitle" output.check
%mc   
      format.booktitle "booktitle" output.check
      format.bvolume output
      format.number.series output
      format.editors.inline output
%mc end
      publisher empty$
        { format.organization.address output }
        { organization "organization" bibinfo.check output
          format.publisher.address output
        }
      if$
      %% format.bvolume output
      %% format.number.series output
      format.pages output
      format.isbn output
      format.issn output
    }
    { format.incoll.inproc.crossref output.nonnull
      format.pages output
    }
  if$
  format.note output
  format.eprint output
  format.url output
  fin.entry
}
FUNCTION {conference} { inproceedings }
FUNCTION {manual}
{ output.bibitem
  author empty$
    { organization "organization" bibinfo.check
      duplicate$ empty$ 'pop$
        { output
          address "address" bibinfo.check output
        }
      if$
    }
    { format.authors output.nonnull }
  if$
  format.date output
  date.block
  format.btitle "title" output.check
  author empty$
    { organization empty$
        {
          address "address" bibinfo.check output
        }
        'skip$
      if$
    }
    {
      organization "organization" bibinfo.check output
      address "address" bibinfo.check output
    }
  if$
  format.edition output
  format.note output
  format.eprint output
  format.url output
  fin.entry
}

FUNCTION {mastersthesis}
{ output.bibitem
  format.authors "author" output.check
  format.date "year" output.check
  date.block
  format.btitle
  "title" output.check
  bbl.mthesis format.thesis.type output.nonnull
  school "school" bibinfo.warn output
  address "address" bibinfo.check output
  format.note output
  format.eprint output
  format.url output
  fin.entry
}

FUNCTION {misc}
{ output.bibitem
  format.authors output
  format.date output
  format.title output
  howpublished "howpublished" bibinfo.check output
  format.note output
  format.eprint output
  format.url output
  fin.entry
  empty.misc.check
}
FUNCTION {phdthesis}
{ output.bibitem
  format.authors "author" output.check
  format.date "year" output.check
  date.block
  format.btitle
  "title" output.check
  bbl.phdthesis format.thesis.type output.nonnull
  school "school" bibinfo.warn output
  address "address" bibinfo.check output
  format.note output
  format.eprint output
  format.url output
  fin.entry
}

FUNCTION {proceedings}
{ output.bibitem
  editor empty$
    { organization "organization" bibinfo.check output
    }
    { format.editors output.nonnull }
  if$
  format.date "year" output.check
  date.block
  format.btitle "title" output.check
  format.bvolume output
  format.number.series output
  editor empty$
    { publisher empty$
        'skip$
        {
          format.publisher.address output
        }
      if$
    }
    { publisher empty$
        {
          format.organization.address output }
        {
          organization "organization" bibinfo.check output
          format.publisher.address output
        }
      if$
     }
  if$
  format.isbn output
  format.issn output
  format.note output
  format.eprint output
  format.url output
  fin.entry
}

FUNCTION {techreport}
{ output.bibitem
  format.authors "author" output.check
  format.date "year" output.check
  date.block
  format.title
  "title" output.check
  format.tr.number output.nonnull
  institution "institution" bibinfo.warn output
  address "address" bibinfo.check output
  format.note output
  format.eprint output
  format.url output
  fin.entry
}

FUNCTION {unpublished}
{ output.bibitem
  format.authors "author" output.check
  format.date output
  date.block
  format.title "title" output.check
  format.note "note" output.check
  format.eprint output
  format.url output
  fin.entry
}

FUNCTION {default.type} { misc }
READ
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$
  "\providecommand{\newblock}{}"
  write$ newline$
  "\begin{thebibliography}{"  longest.label  * "}" *
  write$ newline$
  "\expandafter\ifx\csname url\endcsname\relax"
  write$ newline$
  "  \def\url#1{{\tt #1}}\fi"
  write$ newline$
  "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi"
  write$ newline$
  "\providecommand{\eprint}[2][]{\url{#2}}"
  write$ newline$
  "% Bibliography created with iopart-num v2.0"
  write$ newline$
  "% /biblio/bibtex/contrib/iopart-num"
  write$ newline$
}
EXECUTE {begin.bib}
EXECUTE {init.state.consts}
ITERATE {call.type$}
FUNCTION {end.bib}
{ newline$
  "\end{thebibliography}" write$ newline$
}
EXECUTE {end.bib}
%% End of customized bst file
%%
%% End of file `iopart-num.bst'.
jpconf.cls · 34 KB
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{jpconf}
              [2007/03/07 v1.1
 LaTeX class for Journal of Physics: Conference Series]
%\RequirePackage{graphicx}
\newcommand\@ptsize{1}
\newif\if@restonecol
\newif\if@letterpaper
\newif\if@titlepage
\newif\ifiopams
\@titlepagefalse
\@letterpaperfalse
\DeclareOption{a4paper}
   {\setlength\paperheight {297mm}%
    \setlength\paperwidth  {210mm}%
\@letterpaperfalse}
\DeclareOption{letterpaper}
   {\setlength\paperheight {279.4mm}%
    \setlength\paperwidth  {215.9mm}%
\@letterpapertrue}
\DeclareOption{landscape}
   {\setlength\@tempdima   {\paperheight}%
    \setlength\paperheight {\paperwidth}%
    \setlength\paperwidth  {\@tempdima}}
\DeclareOption{twoside}{\@twosidetrue  \@mparswitchtrue}
\renewcommand\@ptsize{1}
%\ExecuteOptions{A4paper, twoside}
\ExecuteOptions{A4paper}
\ProcessOptions
\DeclareMathAlphabet{\bi}{OML}{cmm}{b}{it}
\DeclareMathAlphabet{\bcal}{OMS}{cmsy}{b}{n}
\input{jpconf1\@ptsize.clo}
\setlength\lineskip{1\p@}
\setlength\normallineskip{1\p@}
\renewcommand\baselinestretch{}
\setlength\parskip{0\p@ \@plus \p@}
\@lowpenalty   51
\@medpenalty  151
\@highpenalty 301
\setlength\parindent{5mm}
\setcounter{topnumber}{8}
\renewcommand\topfraction{1}
\setcounter{bottomnumber}{3}
\renewcommand\bottomfraction{.99}
\setcounter{totalnumber}{8}
\renewcommand\textfraction{0.01}
\renewcommand\floatpagefraction{.8}
\setcounter{dbltopnumber}{6}
\renewcommand\dbltopfraction{1}
\renewcommand\dblfloatpagefraction{.8}
\renewcommand{\title}{\@ifnextchar[{\@stitle}{\@ftitle}}
\pretolerance=5000
\tolerance=8000
% Headings for all pages apart from first
%
\def\ps@headings{%
     \let\@oddfoot\@empty
     \let\@evenfoot\@empty
     \let\@oddhead\@empty
     \let\@evenhead\@empty
      %\def\@evenhead{\thepage\hfil\itshape\rightmark}%
      %\def\@oddhead{{\itshape\leftmark}\hfil\thepage}%
      %\def\@evenhead{{\itshape Journal of Physics: Conference Series}\hfill}%
      %\def\@oddhead{\hfill {\itshape Journal of Physics: Conference Series}}%%
      \let\@mkboth\markboth
      \let\sectionmark\@gobble
      \let\subsectionmark\@gobble}
%
% Headings for first page
%
\def\ps@myheadings{\let\@oddfoot\@empty\let\@evenfoot\@empty
    \let\@oddhead\@empty\let\@evenhead\@empty
    \let\@mkboth\@gobbletwo
    \let\sectionmark\@gobble
    \let\subsectionmark\@gobble}
%
\def\@stitle[#1]#2{\markboth{#1}{#1}%
    %\pagestyle{empty}%
     \thispagestyle{myheadings}
    \vspace*{25mm}{\exhyphenpenalty=10000\hyphenpenalty=10000 
    %\Large
\fontsize{18bp}{24bp}\selectfont\bf\raggedright\noindent#2\par}}
\def\@ftitle#1{\markboth{#1}{#1}%
    \thispagestyle{myheadings}
%\pagestyle{empty}%
    \vspace*{25mm}{\exhyphenpenalty=10000\hyphenpenalty=10000 
    %\Large\raggedright\noindent\bf#1\par}
\fontsize{18bp}{24bp}\selectfont\bf\noindent\raggedright#1\par}}
%AUTHOR
\renewcommand{\author}{\@ifnextchar[{\@sauthor}{\@fauthor}}
\def\@sauthor[#1]#2{\markright{#1}    % for production only
   \vspace*{1.5pc}%
   \begin{indented}%
   \item[]\normalsize\bf\raggedright#2
   \end{indented}%
   \smallskip}
\def\@fauthor#1{%\markright{#1} for production only
   \vspace*{1.5pc}%
   \begin{indented}%
   \item[]\normalsize\bf\raggedright#1
   \end{indented}%
   \smallskip}
%E-MAIL
\def\eads#1{\vspace*{5pt}\address{E-mail: #1}}
\def\ead#1{\vspace*{5pt}\address{E-mail: \mailto{#1}}}
\def\mailto#1{{\tt #1}}
%ADDRESS
\newcommand{\address}[1]{\begin{indented}
   \item[]\rm\raggedright #1
   \end{indented}}
\newlength{\indentedwidth}
\newdimen\mathindent
\mathindent = 6pc
\indentedwidth=\mathindent
% FOOTNOTES
%\renewcommand\footnoterule{%
%  \kern-3\p@
%  \hrule\@width.4\columnwidth
%  \kern2.6\p@}
%\newcommand\@makefntext[1]{%
%    \parindent 1em%
%    \noindent
%    \hb@[email protected]{\hss\@makefnmark}#1}
% Footnotes: symbols selected in same order as address indicators
% unless optional argument of [<num>] use to specify required symbol, 
% 1=\dag, 2=\ddag, etc
% Usage: \footnote{Text of footnote}
%        \footnote[3]{Text of footnote}
%
\def\footnoterule{}%
\setcounter{footnote}{0}
\long\def\@makefntext#1{\parindent 1em\noindent 
 \makebox[1em][l]{\footnotesize\rm$\m@th{\fnsymbol{footnote}}$}%
 \footnotesize\rm #1}
\def\@makefnmark{\normalfnmark}
\def\normalfnmark{\hbox{${\fnsymbol{footnote}}\m@th$}}
\def\altfnmark{\hbox{$^{\rm Note}\ {\fnsymbol{footnote}}\m@th$}}
\def\footNote#1{\let\@makefnmark\altfnmark\footnote{#1}\let\@makefnmark\normalfnmark}
\def\@thefnmark{\fnsymbol{footnote}}
\def\footnote{\protect\pfootnote}
\def\pfootnote{\@ifnextchar[{\@xfootnote}{\stepcounter{\@mpfn}%
       \begingroup\let\protect\noexpand
       \xdef\@thefnmark{\thempfn}\endgroup
     \@footnotemark\@footnotetext}}
\def\@xfootnote[#1]{\setcounter{footnote}{#1}%
   \addtocounter{footnote}{-1}\footnote}

\newcommand\ftnote{\protect\pftnote}
\newcommand\pftnote[1]{\setcounter{footnote}{#1}%
   \addtocounter{footnote}{-1}\footnote}
\newcommand{\fnm}[1]{\setcounter{footnote}{#1}\footnotetext}

\def\@fnsymbol#1{\ifnum\thefootnote=99\hbox{*}\else^{\thefootnote}\fi\relax}
%
% Address marker
%
\newcommand{\ad}[1]{\noindent\hbox{$^{#1}$}\relax}
\newcommand{\adnote}[2]{\noindent\hbox{$^{#1,}$}\setcounter{footnote}{#2}%
   \addtocounter{footnote}{-1}\footnote}
\def\@tnote{}
\newcounter{oldftnote}
\newcommand{\tnote}[1]{*\gdef\@tnote{%
   \setcounter{oldftnote}{\c@footnote}%
   \setcounter{footnote}{99}%
   \footnotetext{#1}%
   \setcounter{footnote}{\c@oldftnote}\addtocounter{footnote}{-1}}}
%==================
% Acknowledgments (no heading if letter)
% Usage \ack for Acknowledgments, \ackn for Acknowledgement
\def\ack{\section*{Acknowledgments}}
\def\ackn{\section*{Acknowledgment}}
%SECTION DEFINITIONS
\setcounter{secnumdepth}{3}
\newcounter {section}
\newcounter {subsection}[section]
\newcounter {subsubsection}[subsection]
\newcounter {paragraph}[subsubsection]
\newcounter {subparagraph}[paragraph]
\renewcommand \thesection {\arabic{section}}
\renewcommand\thesubsection   {\thesection.\arabic{subsection}}
\renewcommand\thesubsubsection{\thesubsection .\arabic{subsubsection}}
\renewcommand\theparagraph    {\thesubsubsection.\arabic{paragraph}}
\renewcommand\thesubparagraph {\theparagraph.\arabic{subparagraph}}
%\nosections
\def\nosections{\vspace{30\p@ plus12\p@ minus12\p@}
    \noindent\ignorespaces}

%\renewcommand{\@startsection}[6]
%{%
%\if@noskipsec \leavevmode \fi
%\par
%  \@tempskipa #4\relax
%%\@tempskipa 0pt\relax
%  \@afterindenttrue
%  \ifdim \@tempskipa <\z@
%    \@tempskipa -\@tempskipa \@afterindentfalse
%  \fi
%  \if@nobreak
%    \everypar{}%
%  \else
%    \addpenalty\@secpenalty\addvspace\@tempskipa
%  \fi
%  \@ifstar
%    {\@ssect{#3}{#4}{#5}{#6}}%
%    {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}
%\renewcommand{\@sect}[8]{%
%  \ifnum #2>\c@secnumdepth
%    \let\@svsec\@empty
%  \else
%   \refstepcounter{#1}%
%    \protected@edef\@svsec{\@seccntformat{#1}\relax}%
%  \fi
%  \@tempskipa #5\relax
%  \ifdim \@tempskipa>\z@
%    \begingroup
%      #6{%
%        \@hangfrom{\hskip #3\relax\@svsec}%
%          \interlinepenalty \@M #8\@@par}%
%    \endgroup
%    \csname #1mark\endcsname{#7}%
%    \addcontentsline{toc}{#1}{%
%      \ifnum #2>\c@secnumdepth \else
%        \protect\numberline{\csname the#1\endcsname}%
%      \fi
%      #7}%
%  \else
%    \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}}%
%  \fi
% \@xsect{#5}}
%\renewcommand{\@xsect}[1]{%
%  \@tempskipa #1\relax
%  \ifdim \@tempskipa>\z@
%    \par \nobreak
%    \vskip \@tempskipa
%    \@afterheading
%  \else
%    \@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{}%
%      \fi}%
%  \fi
%  \ignorespaces}
%========================================================================
\newcommand\section{\@startsection {section}{1}{\z@}%
                   {-3.25ex\@plus -1ex \@minus -.2ex}%
                   {1sp}%
                   {\reset@font\normalsize\bfseries\raggedright}}
\newcommand\subsection{\@startsection{subsection}{2}{\z@}%
                   {-3.25ex\@plus -1ex \@minus -.2ex}%
                   {1sp}%
                   {\reset@font\normalsize\itshape\raggedright}}
\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
                                     {-3.25ex\@plus -1ex \@minus -.2ex}%
                                     {-1em \@plus .2em}%
                                     {\reset@font\normalsize\itshape}}
\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
                                    {3.25ex \@plus1ex \@minus.2ex}%
                                    {-1em}%
                                    {\reset@font\normalsize\itshape}}
\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
                                       {3.25ex \@plus1ex \@minus .2ex}%
                                       {-1em}%
                                      {\reset@font\normalsize\itshape}}
\def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
     \let\@svsec\@empty\else
     \refstepcounter{#1}\edef\@svsec{\csname the#1\endcsname. }\fi
     \@tempskipa #5\relax
      \ifdim \@tempskipa>\z@
        \begingroup #6\relax
          \noindent{\hskip #3\relax\@svsec}{\interlinepenalty \@M #8\par}%
        \endgroup
       \csname #1mark\endcsname{#7}\addcontentsline
         {toc}{#1}{\ifnum #2>\c@secnumdepth \else
                      \protect\numberline{\csname the#1\endcsname}\fi
                    #7}\else
        \def\@svsechd{#6\hskip #3\relax  %% \relax added 2 May 90
                   \@svsec #8\csname #1mark\endcsname
                      {#7}\addcontentsline
                           {toc}{#1}{\ifnum #2>\c@secnumdepth \else
                             \protect\numberline{\csname the#1\endcsname}\fi
                       #7}}\fi
     \@xsect{#5}}
%
\def\@ssect#1#2#3#4#5{\@tempskipa #3\relax
   \ifdim \@tempskipa>\z@
     \begingroup #4\noindent{\hskip #1}{\interlinepenalty \@M #5\par}\endgroup
   \else \def\@svsechd{#4\hskip #1\relax #5}\fi
    \@xsect{#3}}
% LIST DEFINITIONS
\setlength\leftmargini  {2em}
\leftmargin  \leftmargini
\setlength\leftmarginii  {2em}
\setlength\leftmarginiii {1.8em}
\setlength\leftmarginiv  {1.6em}
  \setlength\leftmarginv  {1em}
  \setlength\leftmarginvi {1em}
\setlength\leftmargin{\leftmargini}
\setlength  \labelsep  {.5em}
\setlength  \labelwidth{\leftmargini}
\addtolength\labelwidth{-\labelsep}
\@beginparpenalty -\@lowpenalty
\@endparpenalty   -\@lowpenalty
\@itempenalty     -\@lowpenalty
\renewcommand\theenumi{\roman{enumi}}
\renewcommand\theenumii{\alph{enumii}}
\renewcommand\theenumiii{\arabic{enumiii}}
\renewcommand\theenumiv{\Alph{enumiv}}
\newcommand\labelenumi{(\theenumi)}
\newcommand\labelenumii{(\theenumii)}
\newcommand\labelenumiii{\theenumiii.}
\newcommand\labelenumiv{(\theenumiv)}
\renewcommand\p@enumii{(\theenumi)}
\renewcommand\p@enumiii{(\theenumi.\theenumii)}
\renewcommand\p@enumiv{(\theenumi.\theenumii.\theenumiii)}
\newcommand\labelitemi{$\m@th\bullet$}
\newcommand\labelitemii{\normalfont\bfseries --}
\newcommand\labelitemiii{$\m@th\ast$}
\newcommand\labelitemiv{$\m@th\cdot$}
\renewcommand \theequation {\@arabic\c@equation}

%%%%%%%%%%%%% Figures
\newcounter{figure}
\renewcommand\thefigure{\@arabic\c@figure}
\def\fps@figure{tbp}
\def\ftype@figure{1}
\def\ext@figure{lof}
\def\fnum@figure{\figurename~\thefigure}
\newenvironment{figure}{\footnotesize\rm\@float{figure}}%
    {\end@float\normalsize\rm}
\newenvironment{figure*}{\footnotesize\rm\@dblfloat{figure}}{\end@dblfloat}
\newcounter{table}
\renewcommand\thetable{\@arabic\c@table}
\def\fps@table{tbp}
\def\ftype@table{2}
\def\ext@table{lot}
\def\fnum@table{\tablename~\thetable}
\newenvironment{table}{\footnotesize\rm\@float{table}}%
   {\end@float\normalsize\rm}
\newenvironment{table*}{\footnotesize\rm\@dblfloat{table}}%
   {\end@dblfloat\normalsize\rm}
\newlength\abovecaptionskip
\newlength\belowcaptionskip
\setlength\abovecaptionskip{10\p@}
\setlength\belowcaptionskip{0\p@}
%Table Environments
%\newenvironment{tableref}[3][\textwidth]{%
%\begin{center}%
%\begin{table}%
%\captionsetup[table]{width=#1}
%\centering\caption{\label{#2}#3}}{\end{table}\end{center}}
%%%%%%%%%%%%%%%%%
%\newcounter{figure}
%\renewcommand \thefigure {\@arabic\c@figure}
%\def\fps@figure{tbp}
%\def\ftype@figure{1}
%\def\ext@figure{lof}
%\def\fnum@figure{\figurename~\thefigure}
%ENVIRONMENT: figure
%\newenvironment{figure}
%               {\@float{figure}}
%               {\end@float}
%ENVIRONMENT: figure*
%\newenvironment{figure*}
%               {\@dblfloat{figure}}
%               {\end@dblfloat}
%ENVIRONMENT: table
%\newcounter{table}
%\renewcommand\thetable{\@arabic\c@table}
%\def\fps@table{tbp}
%\def\ftype@table{2}
%\def\ext@table{lot}
%\def\fnum@table{\tablename~\thetable}
%\newenvironment{table}
%               {\@float{table}}
%               {\end@float}
%ENVIRONMENT: table*
%\newenvironment{table*}
%               {\@dblfloat{table}}
%               {\end@dblfloat}
%\newlength\abovecaptionskip
%\newlength\belowcaptionskip
%\setlength\abovecaptionskip{10\p@}
%\setlength\belowcaptionskip{0\p@}
% CAPTIONS
% Added redefinition of \@caption so captions are not written to 
% aux file therefore less need to \protect fragile commands
%
\long\def\@caption#1[#2]#3{\par\begingroup
    \@parboxrestore
    \normalsize
    \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
  \endgroup}
\long\def\@makecaption#1#2{%
  \vskip\abovecaptionskip
  \sbox\@tempboxa{{\bf #1.} #2}%
 \ifdim \wd\@tempboxa >\hsize
   {\bf #1.} #2\par
 \else
    \global \@minipagefalse
    \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
  \fi
  \vskip\belowcaptionskip}
\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}{3}
%\newcommand\tableofcontents{%
%    \section*{\contentsname
%        \@mkboth{%
%           \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
%    \@starttoc{toc}%
%    }
%\newcommand*\l@part[2]{%
%  \ifnum \c@tocdepth >-2\relax
%    \addpenalty\@secpenalty
%    \addvspace{2.25em \@plus\p@}%
%    \begingroup
%      \parindent \z@ \rightskip \@pnumwidth
%      \parfillskip -\@pnumwidth
%      {\leavevmode
%       \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par
%       \nobreak
%       \if@compatibility
%         \global\@nobreaktrue
%         \everypar{\global\@nobreakfalse\everypar{}}%
%      \fi
%    \endgroup
%  \fi}
%\newcommand*\l@section[2]{%
%  \ifnum \c@tocdepth >\z@
%    \addpenalty\@secpenalty
%    \addvspace{1.0em \@plus\p@}%
%    \setlength\@tempdima{1.5em}%
%    \begingroup
%      \parindent \z@ \rightskip \@pnumwidth
%      \parfillskip -\@pnumwidth
%      \leavevmode \bfseries
%      \advance\leftskip\@tempdima
%      \hskip -\leftskip
%      #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
%    \endgroup
%  \fi}
%\newcommand*\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
%\newcommand*\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
%\newcommand*\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
%\newcommand*\l@subparagraph{\@dottedtocline{5}{10em}{5em}}
%\newcommand\listoffigures{%
%    \section*{\listfigurename
%      \@mkboth{\MakeUppercase\listfigurename}%
%              {\MakeUppercase\listfigurename}}%
%    \@starttoc{lof}%
%    }
%\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
%\newcommand\listoftables{%
%    \section*{\listtablename
%      \@mkboth{%
%          \MakeUppercase\listtablename}{\MakeUppercase\listtablename}}%
%    \@starttoc{lot}%
%    }
%\let\l@table\l@figure
%======================================
%ENVIRONMENTS
%======================================
%ENVIRONMENT: indented
\newenvironment{indented}{\begin{indented}}{\end{indented}}
\newenvironment{varindent}[1]{\begin{varindent}{#1}}{\end{varindent}}
%
\def\indented{\list{}{\itemsep=0\p@\labelsep=0\p@\itemindent=0\p@
   \labelwidth=0\p@\leftmargin=\mathindent\topsep=0\p@\partopsep=0\p@
   \parsep=0\p@\listparindent=15\p@}\footnotesize\rm}
\let\endindented=\endlist 
\def\varindent#1{\setlength{\varind}{#1}%
   \list{}{\itemsep=0\p@\labelsep=0\p@\itemindent=0\p@
   \labelwidth=0\p@\leftmargin=\varind\topsep=0\p@\partopsep=0\p@
   \parsep=0\p@\listparindent=15\p@}\footnotesize\rm}
\let\endvarindent=\endlist 
%ENVIRONMENT: abstract
\newenvironment{abstract}{%
      \vspace{16pt plus3pt minus3pt}
      \begin{indented}
      \item[]{\bfseries \abstractname.}\quad\rm\ignorespaces} 
      {\end{indented}\vspace{10mm}}
%ENVIRONMENT: description
\newenvironment{description}
               {\list{}{\labelwidth\z@ \itemindent-\leftmargin
                        \let\makelabel\descriptionlabel}}
               {\endlist}
\newcommand\descriptionlabel[1]{\hspace\labelsep
                                \normalfont\bfseries #1}
%ENVIRONMENT: quotation
\newenvironment{quotation}
               {\list{}{\listparindent 1.5em%
                        \itemindent    \listparindent
                        \rightmargin   \leftmargin
                        \parsep        \z@ \@plus\p@}%
                \item[]}
               {\endlist}
%ENVIRONMENT: quote
\newenvironment{quote}
               {\list{}{\rightmargin\leftmargin}%
                \item[]}
               {\endlist}
%ENVIRONMENT: verse
\newenvironment{verse}
               {\let\\=\@centercr
                \list{}{\itemsep      \z@
                        \itemindent   -1.5em%
                        \listparindent\itemindent
                        \rightmargin  \leftmargin
                        \advance\leftmargin 1.5em}%
                \item[]}
               {\endlist}
%ENVIRONMENT: bibliography
\newdimen\bibindent
\setlength\bibindent{1.5em}
\def\thebibliography#1{\list
 {\hfil[\arabic{enumi}]}{\topsep=0\p@\parsep=0\p@
 \partopsep=0\p@\itemsep=0\p@
 \labelsep=5\p@\itemindent=-10\p@
 \settowidth\labelwidth{\footnotesize[#1]}%
 \leftmargin\labelwidth
 \advance\leftmargin\labelsep
 \advance\leftmargin -\itemindent
 \usecounter{enumi}}\footnotesize
 \def\newblock{\ }
 \sloppy\clubpenalty4000\widowpenalty4000
 \sfcode`\.=1000\relax}
\let\endthebibliography=\endlist
\def\numrefs#1{\begin{thebibliography}{#1}}
\def\endnumrefs{\end{thebibliography}}
\let\endbib=\endnumrefs
%%%%%%%%%%%%%%%%%%


%\newenvironment{thebibliography}[1]
%    {\section*{References}
%      \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
%ENVIRONMENT: theindex
\newenvironment{theindex}
               {\if@twocolumn
                  \@restonecolfalse
                \else
                  \@restonecoltrue
                \fi
                \columnseprule \z@
                \columnsep 35\p@
                \twocolumn[\section*{\indexname}]%
                \@mkboth{\MakeUppercase\indexname}%
                        {\MakeUppercase\indexname}%
                \thispagestyle{plain}\parindent\z@
                \parskip\z@ \@plus .3\p@\relax
                \let\item\@idxitem}
               {\if@restonecol\onecolumn\else\clearpage\fi}
\newcommand\@idxitem{\par\hangindent 40\p@}
\newcommand\subitem{\@idxitem \hspace*{20\p@}}
\newcommand\subsubitem{\@idxitem \hspace*{30\p@}}
\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax}
%=====================
\def\appendix{\@ifnextchar*{\@appendixstar}{\@appendix}}
\def\@appendix{\eqnobysec\@appendixstar}
\def\@appendixstar{\@@par
 \ifnumbysec                         %  Added 30/4/94 to get Table A1,
 \@addtoreset{table}{section}        %  Table B1 etc if numbering by
 \@addtoreset{figure}{section}\fi    %  section
 \setcounter{section}{0}
 \setcounter{subsection}{0}
 \setcounter{subsubsection}{0}
 \setcounter{equation}{0}
 \setcounter{figure}{0}
 \setcounter{table}{0}
 \def\thesection{Appendix \Alph{section}}   
 \def\theequation{\ifnumbysec
      \Alph{section}.\arabic{equation}\else
      \Alph{section}\arabic{equation}\fi}  % Comment A\arabic{equation} maybe
 \def\thetable{\ifnumbysec                 % better? 15/4/95
      \Alph{section}\arabic{table}\else
      A\arabic{table}\fi}
 \def\thefigure{\ifnumbysec
      \Alph{section}\arabic{figure}\else
      A\arabic{figure}\fi}}
\def\noappendix{\setcounter{figure}{0}
     \setcounter{table}{0}
     \def\thetable{\arabic{table}}
     \def\thefigure{\arabic{figure}}}
\setlength\arraycolsep{5\p@}
\setlength\tabcolsep{6\p@}
\setlength\arrayrulewidth{.4\p@}
\setlength\doublerulesep{2\p@}
\setlength\tabbingsep{\labelsep}
\skip\@mpfootins = \skip\footins
\setlength\fboxsep{3\p@}
\setlength\fboxrule{.4\p@}
\renewcommand\theequation{\arabic{equation}}
% NAME OF STRUCTURES
\newcommand\contentsname{Contents}
\newcommand\listfigurename{List of Figures}
\newcommand\listtablename{List of Tables}
\newcommand\refname{References}
\newcommand\indexname{Index}
\newcommand\figurename{Figure}
\newcommand\tablename{Table}
\newcommand\partname{Part}
\newcommand\appendixname{Appendix}
\newcommand\abstractname{Abstract}
%Miscellaneous commands
\newcommand{\BibTeX}{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
    T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
\newcommand{\jpcsit}{{\bfseries\itshape\selectfont Journal of Physics: Conference Series}}
\newcommand{\jpcs}{{\itshape\selectfont Journal of Physics: Conference Series}}
\newcommand{\iopp}{IOP Publishing}
\newcommand{\cls}{{\upshape\selectfont\texttt{jpconf.cls}}}
\newcommand{\corg}{conference organizer}
\newcommand\today{\number\day\space\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\year}
    \setlength\columnsep{10\p@}
\setlength\columnseprule{0\p@}
\newcommand{\Tables}{\clearpage\section*{Tables and table captions}
\def\fps@table{hp}\noappendix}
\newcommand{\Figures}{\clearpage\section*{Figure captions}
    \def\fps@figure{hp}\noappendix}
%
\newcommand{\Figure}[1]{\begin{figure}
  \caption{#1}
  \end{figure}}
%
\newcommand{\Table}[1]{\begin{table}
  \caption{#1}
  \begin{indented}
  \lineup
  \item[]\begin{tabular}{@{}l*{15}{l}}}
\def\endTable{\end{tabular}\end{indented}\end{table}}
\let\endtab=\endTable
%
\newcommand{\fulltable}[1]{\begin{table}
  \caption{#1}
  \lineup
  \begin{tabular*}{\textwidth}{@{}l*{15}{@{\extracolsep{0pt plus 12pt}}l}}}
\def\endfulltable{\end{tabular*}\end{table}}
%BIBLIOGRAPHY and References
%\newcommand{\Bibliography}[1]{\section*{References}\par\numrefs{#1}}
%\newcommand{\References}{\section*{References}\par\refs}
%\def\thebibliography#1{\list
% {\hfil[\arabic{enumi}]}{\topsep=0\p@\parsep=0\p@
% \partopsep=0\p@\itemsep=0\p@
% \labelsep=5\p@\itemindent=-10\p@
% \settowidth\labelwidth{\footnotesize[#1]}%
% \leftmargin\labelwidth
% \advance\leftmargin\labelsep
% \advance\leftmargin -\itemindent
% \usecounter{enumi}}\footnotesize
% \def\newblock{\ }
% \sloppy\clubpenalty4000\widowpenalty4000
% \sfcode`\.=1000\relax}
%\let\endthebibliography=\endlist
%\def\numrefs#1{\begin{thebibliography}{#1}}
%\def\endnumrefs{\end{thebibliography}}
%\let\endbib=\endnumrefs

\def\thereferences{\list{}{\topsep=0\p@\parsep=0\p@
 \partopsep=0\p@\itemsep=0\p@\labelsep=0\p@\itemindent=-18\p@
\labelwidth=0\p@\leftmargin=18\p@
}\footnotesize\rm
\def\newblock{\ }
\sloppy\clubpenalty4000\widowpenalty4000
\sfcode`\.=1000\relax}%
\let\endthereferences=\endlist
% MISC EQUATRION STUFF
%\def\[{\relax\ifmmode\@badmath\else
% \begin{trivlist}
% \@beginparpenalty\predisplaypenalty
% \@endparpenalty\postdisplaypenalty
% \item[]\leavevmode
% \hbox to\linewidth\bgroup$ \displaystyle
% \hskip\mathindent\bgroup\fi}
%\def\]{\relax\ifmmode \egroup $\hfil \egroup \end{trivlist}\else \@badmath \fi}
%\def\equation{\@beginparpenalty\predisplaypenalty
% \@endparpenalty\postdisplaypenalty
%\refstepcounter{equation}\trivlist \item[]\leavevmode
% \hbox to\linewidth\bgroup $ \displaystyle
%\hskip\mathindent}
%\def\endequation{$\hfil \displaywidth\linewidth\@eqnnum\egroup \endtrivlist}
%\@namedef{equation*}{\[}
%\@namedef{endequation*}{\]}
%\def\eqnarray{\stepcounter{equation}\let\@currentlabel=\theequation
%\global\@eqnswtrue
%\global\@eqcnt\z@\tabskip\mathindent\let\\=\@eqncr
%\abovedisplayskip\topsep\ifvmode\advance\abovedisplayskip\partopsep\fi
%\belowdisplayskip\abovedisplayskip
%\belowdisplayshortskip\abovedisplayskip
%\abovedisplayshortskip\abovedisplayskip
%$$\halign to
%\linewidth\bgroup\@eqnsel$\displaystyle\tabskip\z@
% {##{}}$&\global\@eqcnt\@ne $\displaystyle{{}##{}}$\hfil
% &\global\@eqcnt\tw@ $\displaystyle{{}##}$\hfil
% \tabskip\@centering&\llap{##}\tabskip\z@\cr}
%\def\endeqnarray{\@@eqncr\egroup
% \global\advance\c@equation\m@ne$$\global\@ignoretrue }
%\mathindent = 6pc
%%
%\def\eqalign#1{\null\vcenter{\def\\{\cr}\openup\jot\m@th
%  \ialign{\strut$\displaystyle{##}$\hfil&$\displaystyle{{}##}$\hfil
%      \crcr#1\crcr}}\,}
%%
%\def\eqalignno#1{\displ@y \tabskip\z@skip
%  \halign to\displaywidth{\hspace{5pc}$\@lign\displaystyle{##}$%
%    \tabskip\z@skip
%    &$\@lign\displaystyle{{}##}$\hfill\tabskip\@centering
%    &\llap{$\@lign\hbox{\rm##}$}\tabskip\z@skip\crcr
%    #1\crcr}}
%%
\newif\ifnumbysec
\def\theequation{\ifnumbysec
      \arabic{section}.\arabic{equation}\else
      \arabic{equation}\fi}
\def\eqnobysec{\numbysectrue\@addtoreset{equation}{section}}
\newcounter{eqnval}
\def\numparts{\addtocounter{equation}{1}%
     \setcounter{eqnval}{\value{equation}}%
     \setcounter{equation}{0}%
     \def\theequation{\ifnumbysec
     \arabic{section}.\arabic{eqnval}{\it\alph{equation}}%
     \else\arabic{eqnval}{\it\alph{equation}}\fi}}
\def\endnumparts{\def\theequation{\ifnumbysec
     \arabic{section}.\arabic{equation}\else
     \arabic{equation}\fi}%
     \setcounter{equation}{\value{eqnval}}}
%
\def\cases#1{%
     \left\{\,\vcenter{\def\\{\cr}\normalbaselines\openup1\jot\m@th%
     \ialign{\strut$\displaystyle{##}\hfil$&\tqs
     \rm##\hfil\crcr#1\crcr}}\right.}%
\def\eqalign#1{\null\vcenter{\def\\{\cr}\openup\jot\m@th
  \ialign{\strut$\displaystyle{##}$\hfil&$\displaystyle{{}##}$\hfil
      \crcr#1\crcr}}\,}
% OTHER  USEFUL BITS
\newcommand{\e}{\mathrm{e}}
\newcommand{\rme}{\mathrm{e}}
\newcommand{\rmi}{\mathrm{i}}
\newcommand{\rmd}{\mathrm{d}}
\renewcommand{\qquad}{\hspace*{25pt}}
\newcommand{\tdot}[1]{\stackrel{\dots}{#1}}   % Added 1/9/94
\newcommand{\tqs}{\hspace*{25pt}}
\newcommand{\fl}{\hspace*{-\mathindent}}
\newcommand{\Tr}{\mathop{\mathrm{Tr}}\nolimits}
\newcommand{\tr}{\mathop{\mathrm{tr}}\nolimits}
\newcommand{\Or}{\mathord{\mathrm{O}}} %changed from \mathop 20/1/95
\newcommand{\lshad}{[\![}
\newcommand{\rshad}{]\!]}
\newcommand{\case}[2]{{\textstyle\frac{#1}{#2}}}
\def\pt(#1){({\it #1\/})}
\newcommand{\dsty}{\displaystyle}
\newcommand{\tsty}{\textstyle}
\newcommand{\ssty}{\scriptstyle}
\newcommand{\sssty}{\scriptscriptstyle}
\def\lo#1{\llap{${}#1{}$}}
\def\eql{\llap{${}={}$}}
\def\lsim{\llap{${}\sim{}$}}
\def\lsimeq{\llap{${}\simeq{}$}}
\def\lequiv{\llap{${}\equiv{}$}}
%
\newcommand{\eref}[1]{(\ref{#1})}
%\newcommand{\eqref}[1]{Equation (\ref{#1})}
%\newcommand{\Eqref}[1]{Equation (\ref{#1})}
\newcommand{\sref}[1]{section~\ref{#1}}
\newcommand{\fref}[1]{figure~\ref{#1}}
\newcommand{\tref}[1]{table~\ref{#1}}
\newcommand{\Sref}[1]{Section~\ref{#1}}
\newcommand{\Fref}[1]{Figure~\ref{#1}}
\newcommand{\Tref}[1]{Table~\ref{#1}}
\newcommand{\opencircle}{\mbox{\Large$\circ\,$}}  % moved Large outside maths
\newcommand{\opensquare}{\mbox{$\rlap{$\sqcap$}\sqcup$}}
\newcommand{\opentriangle}{\mbox{$\triangle$}}
\newcommand{\opentriangledown}{\mbox{$\bigtriangledown$}}
\newcommand{\opendiamond}{\mbox{$\diamondsuit$}}
\newcommand{\fullcircle}{\mbox{{\Large$\bullet\,$}}} % moved Large outside maths
\newcommand{\fullsquare}{\,\vrule height5pt depth0pt width5pt}
\newcommand{\dotted}{\protect\mbox{${\mathinner{\cdotp\cdotp\cdotp\cdotp\cdotp\cdotp}}$}}
\newcommand{\dashed}{\protect\mbox{-\; -\; -\; -}}
\newcommand{\broken}{\protect\mbox{-- -- --}}
\newcommand{\longbroken}{\protect\mbox{--- --- ---}}
\newcommand{\chain}{\protect\mbox{--- $\cdot$ ---}}
\newcommand{\dashddot}{\protect\mbox{--- $\cdot$ $\cdot$ ---}}
\newcommand{\full}{\protect\mbox{------}}

\def\;{\protect\psemicolon}
\def\psemicolon{\relax\ifmmode\mskip\thickmuskip\else\kern .3333em\fi}
\def\lineup{\def\0{\hbox{\phantom{0}}}%
    \def\m{\hbox{$\phantom{-}$}}%
    \def\-{\llap{$-$}}}
%
%%%%%%%%%%%%%%%%%%%%%
% Tables rules      %
%%%%%%%%%%%%%%%%%%%%%

\newcommand{\boldarrayrulewidth}{1\p@} 
% Width of bold rule in tabular environment.

\def\bhline{\noalign{\ifnum0=`}\fi\hrule \@height  
\boldarrayrulewidth \futurelet \@tempa\@xhline}

\def\@xhline{\ifx\@tempa\hline\vskip \doublerulesep\fi
      \ifnum0=`{\fi}}

%
% Rules for tables with extra space around
%
\newcommand{\br}{\ms\bhline\ms}
\newcommand{\mr}{\ms\hline\ms}
%
\newcommand{\centre}[2]{\multispan{#1}{\hfill #2\hfill}}
\newcommand{\crule}[1]{\multispan{#1}{\hspace*{\tabcolsep}\hrulefill
  \hspace*{\tabcolsep}}}
\newcommand{\fcrule}[1]{\ifnum\thetabtype=1\multispan{#1}{\hrulefill
  \hspace*{\tabcolsep}}\else\multispan{#1}{\hrulefill}\fi}
%
% Extra spaces for tables and displayed equations
%
\newcommand{\ms}{\noalign{\vspace{3\p@ plus2\p@ minus1\p@}}}
\newcommand{\bs}{\noalign{\vspace{6\p@ plus2\p@ minus2\p@}}}
\newcommand{\ns}{\noalign{\vspace{-3\p@ plus-1\p@ minus-1\p@}}}
\newcommand{\es}{\noalign{\vspace{6\p@ plus2\p@ minus2\p@}}\displaystyle}%
%
\newcommand{\etal}{{\it et al\/}\ }
\newcommand{\dash}{------}
\newcommand{\nonum}{\par\item[]}                %\par added 1/9/93
\newcommand{\mat}[1]{\underline{\underline{#1}}}
%
% abbreviations for IOPP journals
%
\newcommand{\CQG}{{\it Class. Quantum Grav.} }
\newcommand{\CTM}{{\it Combust. Theory Modelling\/} }
\newcommand{\DSE}{{\it Distrib. Syst. Engng\/} }
\newcommand{\EJP}{{\it Eur. J. Phys.} } 
\newcommand{\HPP}{{\it High Perform. Polym.} }              % added 4/5/93
\newcommand{\IP}{{\it Inverse Problems\/} }
\newcommand{\JHM}{{\it J. Hard Mater.} }                    % added 4/5/93
\newcommand{\JO}{{\it J. Opt.} }
\newcommand{\JOA}{{\it J. Opt. A: Pure Appl. Opt.} }
\newcommand{\JOB}{{\it J. Opt. B: Quantum Semiclass. Opt.} }
\newcommand{\JPA}{{\it J. Phys. A: Math. Gen.} }
\newcommand{\JPB}{{\it J. Phys. B: At. Mol. Phys.} }      %1968-87
\newcommand{\jpb}{{\it J. Phys. B: At. Mol. Opt. Phys.} } %1988 and onwards
\newcommand{\JPC}{{\it J. Phys. C: Solid State Phys.} }   %1968--1988
\newcommand{\JPCM}{{\it J. Phys.: Condens. Matter\/} }    %1989 and onwards
\newcommand{\JPD}{{\it J. Phys. D: Appl. Phys.} }
\newcommand{\JPE}{{\it J. Phys. E: Sci. Instrum.} }
\newcommand{\JPF}{{\it J. Phys. F: Met. Phys.} }
\newcommand{\JPG}{{\it J. Phys. G: Nucl. Phys.} }         %1975--1988
\newcommand{\jpg}{{\it J. Phys. G: Nucl. Part. Phys.} }   %1989 and onwards
\newcommand{\MSMSE}{{\it Modelling Simulation Mater. Sci. Eng.} }
\newcommand{\MST}{{\it Meas. Sci. Technol.} }                 %1990 and onwards
\newcommand{\NET}{{\it Network: Comput. Neural Syst.} }
\newcommand{\NJP}{{\it New J. Phys.} }
\newcommand{\NL}{{\it Nonlinearity\/} }
\newcommand{\NT}{{\it Nanotechnology} }
\newcommand{\PAO}{{\it Pure Appl. Optics\/} }
\newcommand{\PM}{{\it Physiol. Meas.} }                        % added 4/5/93
\newcommand{\PMB}{{\it Phys. Med. Biol.} }
\newcommand{\PPCF}{{\it Plasma Phys. Control. Fusion\/} }      % added 4/5/93
\newcommand{\PSST}{{\it Plasma Sources Sci. Technol.} }
\newcommand{\PUS}{{\it Public Understand. Sci.} }
\newcommand{\QO}{{\it Quantum Opt.} }
\newcommand{\QSO}{{\em Quantum Semiclass. Opt.} }
\newcommand{\RPP}{{\it Rep. Prog. Phys.} }
\newcommand{\SLC}{{\it Sov. Lightwave Commun.} }               % added 4/5/93 
\newcommand{\SST}{{\it Semicond. Sci. Technol.} }
\newcommand{\SUST}{{\it Supercond. Sci. Technol.} }
\newcommand{\WRM}{{\it Waves Random Media\/} }
\newcommand{\JMM}{{\it J. Micromech. Microeng.\/} }
%
% Other commonly quoted journals
%
\newcommand{\AC}{{\it Acta Crystallogr.} }
\newcommand{\AM}{{\it Acta Metall.} }
\newcommand{\AP}{{\it Ann. Phys., Lpz.} }
\newcommand{\APNY}{{\it Ann. Phys., NY\/} }
\newcommand{\APP}{{\it Ann. Phys., Paris\/} }
\newcommand{\CJP}{{\it Can. J. Phys.} }
\newcommand{\JAP}{{\it J. Appl. Phys.} }
\newcommand{\JCP}{{\it J. Chem. Phys.} }
\newcommand{\JJAP}{{\it Japan. J. Appl. Phys.} }
\newcommand{\JP}{{\it J. Physique\/} }
\newcommand{\JPhCh}{{\it J. Phys. Chem.} }
\newcommand{\JMMM}{{\it J. Magn. Magn. Mater.} }
\newcommand{\JMP}{{\it J. Math. Phys.} }
\newcommand{\JOSA}{{\it J. Opt. Soc. Am.} }
\newcommand{\JPSJ}{{\it J. Phys. Soc. Japan\/} }
\newcommand{\JQSRT}{{\it J. Quant. Spectrosc. Radiat. Transfer\/} }
\newcommand{\NC}{{\it Nuovo Cimento\/} }
\newcommand{\NIM}{{\it Nucl. Instrum. Methods\/} }
\newcommand{\NP}{{\it Nucl. Phys.} }
\newcommand{\PL}{{\it Phys. Lett.} }
\newcommand{\PR}{{\it Phys. Rev.} }
\newcommand{\PRL}{{\it Phys. Rev. Lett.} }
\newcommand{\PRS}{{\it Proc. R. Soc.} }
\newcommand{\PS}{{\it Phys. Scr.} }
\newcommand{\PSS}{{\it Phys. Status Solidi\/} }
\newcommand{\PTRS}{{\it Phil. Trans. R. Soc.} }
\newcommand{\RMP}{{\it Rev. Mod. Phys.} }
\newcommand{\RSI}{{\it Rev. Sci. Instrum.} }
\newcommand{\SSC}{{\it Solid State Commun.} }
\newcommand{\ZP}{{\it Z. Phys.} }
%===================
\pagestyle{headings}
\pagenumbering{arabic}
\raggedbottom
\onecolumn
\endinput
%%
%% End of file `jconf.cls'.
jpconf11.clo · 5 KB
%% 
%% This is file `jpconf11.clo'
%% 
%% This file is distributed in the hope that it will be useful, 
%% but WITHOUT ANY WARRANTY; without even the implied warranty of 
%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
%% 
%% \CharacterTable
%%  {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
%%   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
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
\ProvidesFile{jpconf11.clo}[2005/05/04 v1.0 LaTeX2e file (size option)]
\renewcommand\normalsize{%
   \@setfontsize\normalsize\@xipt{13}%
   \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
   \abovedisplayshortskip \z@ \@plus3\p@
   \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
   \belowdisplayskip \abovedisplayskip
   \let\@listi\@listI}
\normalsize
\newcommand\small{%
   \@setfontsize\small\@xpt{12}%
   \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
   \abovedisplayshortskip \z@ \@plus3\p@
   \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
   \def\@listi{\leftmargin\leftmargini
               \topsep 9\p@ \@plus3\p@ \@minus5\p@
               \parsep 4.5\p@ \@plus2\p@ \@minus\p@
               \itemsep \parsep}%
   \belowdisplayskip \abovedisplayskip}
\newcommand\footnotesize{%
%   \@setfontsize\footnotesize\@xpt\@xiipt
   \@setfontsize\footnotesize\@ixpt{11}%
   \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
   \abovedisplayshortskip \z@ \@plus3\p@
   \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
   \def\@listi{\leftmargin\leftmargini
               \topsep 6\p@ \@plus2\p@ \@minus2\p@
               \parsep 3\p@ \@plus2\p@ \@minus\p@
               \itemsep \parsep}%
   \belowdisplayskip \abovedisplayskip
}
\newcommand\scriptsize{\@setfontsize\scriptsize\@viiipt{9.5}}
\newcommand\tiny{\@setfontsize\tiny\@vipt\@viipt}
\newcommand\large{\@setfontsize\large\@xivpt{18}}
\newcommand\Large{\@setfontsize\Large\@xviipt{22}}
\newcommand\LARGE{\@setfontsize\LARGE\@xxpt{25}}
\newcommand\huge{\@setfontsize\huge\@xxvpt{30}}
\let\Huge=\huge
\if@twocolumn
  \setlength\parindent{14\p@}
 \else
  \setlength\parindent{18\p@}
\fi
\if@letterpaper%
%\input{letmarg.tex}%
\setlength{\hoffset}{0mm}
\setlength{\marginparsep}{0mm}
\setlength{\marginparwidth}{0mm}
\setlength{\textwidth}{160mm}
\setlength{\oddsidemargin}{-0.4mm}
\setlength{\evensidemargin}{-0.4mm}
\setlength{\voffset}{0mm}
\setlength{\headheight}{8mm}
\setlength{\headsep}{5mm}
\setlength{\footskip}{0mm}
\setlength{\textheight}{230mm}
\setlength{\topmargin}{1.6mm}
\else
%\input{a4marg.tex}%
\setlength{\hoffset}{0mm}
\setlength{\marginparsep}{0mm}
\setlength{\marginparwidth}{0mm}
\setlength{\textwidth}{160mm}
\setlength{\oddsidemargin}{-0.4mm}
\setlength{\evensidemargin}{-0.4mm}
\setlength{\voffset}{0mm}
\setlength{\headheight}{8mm}
\setlength{\headsep}{5mm}
\setlength{\footskip}{0mm}
\setlength{\textheight}{230mm}
\setlength{\topmargin}{1.6mm}
\fi
\setlength\maxdepth{.5\topskip}
\setlength\@maxdepth\maxdepth
\setlength\footnotesep{8.4\p@}
\setlength{\skip\footins} {10.8\p@ \@plus 4\p@ \@minus 2\p@}
\setlength\floatsep       {14\p@ \@plus 2\p@ \@minus 4\p@}
\setlength\textfloatsep   {24\p@ \@plus 2\p@ \@minus 4\p@}
\setlength\intextsep      {16\p@ \@plus 4\p@ \@minus 4\p@}
\setlength\dblfloatsep    {16\p@ \@plus 2\p@ \@minus 4\p@}
\setlength\dbltextfloatsep{24\p@ \@plus 2\p@ \@minus 4\p@}
\setlength\@fptop{0\p@}
\setlength\@fpsep{10\p@ \@plus 1fil}
\setlength\@fpbot{0\p@}
\setlength\@dblfptop{0\p@}
\setlength\@dblfpsep{10\p@ \@plus 1fil}
\setlength\@dblfpbot{0\p@}
\setlength\partopsep{3\p@ \@plus 2\p@ \@minus 2\p@}
\def\@listI{\leftmargin\leftmargini
     \parsep=\z@
     \topsep=6\p@  \@plus3\p@ \@minus3\p@
     \itemsep=3\p@ \@plus2\p@ \@minus1\p@}
\let\@listi\@listI
\@listi
\def\@listii {\leftmargin\leftmarginii
     \labelwidth\leftmarginii
     \advance\labelwidth-\labelsep
     \topsep=3\p@ \@plus2\p@ \@minus\p@
     \parsep=\z@
     \itemsep=\parsep}
\def\@listiii{\leftmargin\leftmarginiii
     \labelwidth\leftmarginiii
     \advance\labelwidth-\labelsep
     \topsep=\z@
     \parsep=\z@
     \partopsep=\z@
     \itemsep=\z@}
\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}
\endinput
%% 
%% End of file `iopart12.clo'.

The first page, as this template compiles today. Click it to enlarge, and again to shrink. Open the file ↗