%american physical society style
%footnotes collected as endnotes
%superscript flag, author, journal, volume, first page, (date).    (journal)
%superscript flag, author, title, (publisher, city, date).            (book)

\Refstd\Citesuper %set general formats for reference list and citations
\def\Citefont{\sevenrm} %override default definition (smaller superscripts)
\def\Flagfont{\sevenrm} %override default definition (smaller superscripts)
\expandafter\ifx\csname{sevenrm}  %LaTeX fix for \sevenrm
          \endcsname\relax\def\sevenrm{\scriptsize\rm}\fi
\def\Volfont{\bf}\def\Titlefont{\sl} %override default definition
\def\Flagstyle#1{\noindent\hbox{\raise1ex\hbox{\Flagfont#1}}}%flag style

\def\journalarticleformat{\Reffont\let\uchyph=1\parindent=0pc\def\Comma{}%
                \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
                \par\vfil\penalty-200\vfilneg%\filbreak
                \hangindent5pt%
      \if\Ftest\present\Flagstyle\Fstr\fi%
       \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
        \if\etest\present\ (\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
         \if\Jtest\present\Comma\bgroup\Jstr\/\egroup\def\Comma{, }\fi%
          \if\Vtest\present\if\Jtest\present\ \else\Comma\fi\bgroup\Volfont\Vstr\egroup\def\Comma{, }\fi%
           \if\Ptest\present\bgroup, \Pstr\egroup\def\Comma{, }\fi%
            \if\Dtest\present\ (\bgroup\Dstr\egroup)\def\Comma{, }\fi%
             \if\jtest\present\Comma\bgroup\jstr\/\egroup\def\Comma{, }\fi%
              \if\vtest\present\if\jtest\present\ \else\Comma\fi\bgroup\Volfont\vstr\egroup\def\Comma{, }\fi%
               \if\ptest\present\bgroup, \pstr\egroup\def\Comma{, }\fi%
                \if\dtest\present\ (\bgroup\dstr\egroup)\def\Comma{, }\fi%
                 \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
                  }

\def\conferencereportformat{\Reffont\let\uchyph=1\parindent=0pc\def\Comma{}%
                \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
                \par\vfil\penalty-200\vfilneg%\filbreak
                \hangindent5pt%
      \if\Ftest\present\Flagstyle\Fstr\fi%
       \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
        \if\Jtest\present\Comma\bgroup\Tomefont\Jstr\/\egroup\def\Comma{, }\fi%
         \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
          \if\Dtest\present\ (\bgroup\Dstr\egroup)\def\Comma{, }\fi%
           \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
            }

\def\bookarticleformat{\Reffont\let\uchyph=1\parindent=0pc\def\Comma{}%
                \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
                \par\vfil\penalty-200\vfilneg%\filbreak
                \hangindent5pt%
      \if\Ftest\present\Flagstyle\Fstr\fi%
       \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }\fi%
        \if\etest\present\ (\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
         \if\Btest\present\Comma in \bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi%
          \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
           \if\Etest\present\Comma edited by \bgroup\Estr\egroup\fi%
            \if\Itest\present\ (\bgroup\Istr\egroup\def\Comma{) }\fi%
             \if\Ctest\present\if\Itest\present, \else\ (\fi\bgroup\Cstr\egroup\def\Comma{) }\fi%
              \if\Dtest\present\if\Itest\present, \else\if\Ctest\present, \else\ (\fi\fi\bgroup\Dstr\egroup\def\Comma{) }\fi%
                  \if\Itest\present\if\Ctest\present\else\if\Dtest\present\Comma\def\Comma{, }\fi\fi\fi%
                \if\Ptest\present\Comma p.~\Pstr\def\Comma{, }\fi%
                 \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
                  }

\def\bookformat{\Reffont\let\uchyph=1\parindent=0pc\def\Comma{}%
                \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
                \par\vfil\penalty-200\vfilneg%\filbreak
                \hangindent5pt%
      \if\Ftest\present\Flagstyle\Fstr\fi%
       \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
            \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
                  \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
          \if\Ttest\present\Comma\bgroup\Tomefont\Tstr\/\egroup\def\Comma{\unskip, }%
                \else\if\Btest\present\Comma\bgroup\Tomefont\Bstr\/\egroup\def\Comma{\unskip, }\fi\fi%
            \if\otest\present\ \bgroup\ostr\egroup\def\Comma{, }\fi%
             \if\etest\present\ (\bgroup\estr\egroup)\def\Comma{\unskip, }\fi%
              \if\Atest\present\if\Itest\present
                      \ (\bgroup\Istr\egroup\fi%
                   \else\if\Etest\present\if\Itest\present
                           \ (\bgroup\Istr\egroup\fi\fi\fi%
                    \if\Ctest\present\if\Atest\present, \else\if\Etest\present, \else\ (\fi\fi\bgroup\Cstr\egroup\fi%
                      \if\Dtest\present\if\Atest\present, \else\if\Etest\present, \else%
                          \if\Ctest\present, \else\ (\fi\fi\fi\bgroup\Dstr\egroup\fi%
                       \if\Ctest\present)\else\if\Dtest\present)\else\if\Itest\present%
                           \if\Atest\present)\else\if\Etest\present)\fi\fi\fi\fi\fi\def\Comma{ }%
                        \if\ttest\present\Comma\bgroup\Tomefont\tstr\egroup\def\Comma{, }%
                              \else\if\btest\present\Comma\bgroup\Tomefont\bstr\egroup\def\Comma{, }\fi\fi%
                         \if\itest\present\ (\bgroup\istr\egroup\def\Comma{\unskip) }\fi%
                          \if\ctest\present\if\itest\present, \else\ (\fi\bgroup\cstr\egroup\fi%
                           \if\dtest\present\if\itest\present, \else%
                               \if\ctest\present, \else\ (\fi\fi\bgroup\dstr\egroup\fi%
                            \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
                             }

\def\technicalreportformat{\Reffont\let\uchyph=1\parindent=0pc\def\Comma{}%
                \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
                \par\vfil\penalty-200\vfilneg%\filbreak
                \hangindent5pt%
      \if\Ftest\present\Flagstyle\Fstr\fi%
       \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
            \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
                  \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
          \if\Ttest\present\Comma\bgroup\Titlefont\Tstr\egroup\def\Comma{\ }\fi%
           \if\Atest\present\if\Itest\present
                   \ (\bgroup\Istr\egroup\fi%
                \else\if\Etest\present\if\Itest\present
                        \ (\bgroup\Istr\egroup\fi\fi\fi%
                 \if\Rtest\present\if\Atest\present, \else\if\Etest\present, \else\ (\fi\fi\bgroup\Rstr\egroup\fi%
                  \if\Ctest\present\if\Atest\present, \else\if\Etest\present, \else\if\Rtest\present, \else\ (\fi\fi\fi\bgroup\Cstr\egroup\fi%
                    \if\Dtest\present\if\Atest\present, \else\if\Etest\present, \else%
                        \if \Rtest\present, \else\if\Ctest\present, \else\ (\fi\fi\fi\fi\bgroup\Dstr\egroup\fi%
                     \if\Rtest\present)\else\if\Dtest\present)\else\if\Ctest\present)\else%
                        \if\Itest\present\if\Atest\present)\else\if\Etest\present)\fi\fi\fi\fi\fi\fi\def\Comma{ }%
                      \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
                       }

\def\otherformat{\Reffont\let\uchyph=1\parindent=0pc\def\Comma{}%
                \sfcode`\.=1000\sfcode`\?=1000\sfcode`\!=1000\sfcode`\:=1000\sfcode`\;=1000\sfcode`\,=1000%\frenchspacing
                \par\vfil\penalty-200\vfilneg%\filbreak
                \hangindent5pt%
      \if\Ftest\present\Flagstyle\Fstr\fi%
       \if\Atest\present\bgroup\Authfont\Astr\egroup\def\Comma{\unskip, }%
            \else\if\Etest\present\bgroup\def\Eand{\Aand}\def\Eandd{\Aandd}\Authfont\Estr\egroup\unskip, \ifnum\Ecnt>1eds.\else ed.\fi\def\Comma{, }%
                  \else\if\Itest\present\bgroup\Authfont\Istr\egroup\def\Comma{, }\fi\fi\fi%
          \if\Ttest\present\Comma\bgroup``\Titlefont\Tstr\egroup\def\Comma{," }\fi%
           \if\Atest\present\if\Itest\present
                   \Comma\bgroup\Istr\egroup\def\Comma{, }\fi%
                \else\if\Etest\present\if\Itest\present
                        \Comma\bgroup\Istr\egroup\def\Comma{, }\fi\fi\fi%
            \if\Rtest\present\Comma\bgroup\Rstr\egroup\def\Comma{, }\fi%
             \if\Ctest\present\Comma\bgroup\Cstr\egroup\def\Comma{, }\fi%
              \if\Dtest\present\Comma\bgroup\Dstr\egroup\def\Comma{, }\fi%
               \if\Otest\present{\Comma\bgroup\Ostr\egroup.}\else{.}\fi%
                }