← All templates

Communications in Computational Chemistry (cicc)

Global Science Press's cicc class for Communications in Computational Chemistry, a two-column article layout with journal header, dates block, abstract and keywords, with a sample paper showing figures, tables, equations and BibTeX references with the journal's cicc.bst style.

Create an account to use this
Category
Journal
Document class
cicc (cicc.cls) — ships with TeX Live
Workflow
Journal manuscript — submissions and revision rounds
Author
Global Science Press
Source
Global Science Press
Licence
No licence is stated in the files. Global Science Press distributes them for authors preparing a submission.

These are the publisher’s own files. This project starts from Global Science Press’s package for this publication — their manuscript, their cicc.cls, their bibliography style — so what compiles here is what they would have given you.

Global Science Press serves this exact file to Communications in Computational Chemistry. Check Global Science Press’s author pages for the current instructions.

Where this differs from the publisher’s download.

  • Note: The same class serves Communications articles; the journal also offers a separate Communications sample (CICC-Communications-template-latex.zip, author-template-file/73) that differs only in the article type and sample text.

What you get

  • CiCC_template.tex — the file that is compiled · 12 KB
  • Figure_1.jpg · 137 KB
  • cicc.bst · 21 KB
  • cicc.cls · 9 KB
  • ref.bib · 3 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

CiCC_template.tex — the file that is compiled · 12 KB
\documentclass{cicc}
\firstpage{1}
\articletype{Regular / Feature / Perspective / Review Article}

\doi{doi: 10.4208/cicc.2026.xxx.xx}
\publishedyear{2026}
\volume{1}
\issue{1}
%\pagenumbers{1-2}

\receiveddate{20 Oct. 2026}
\revisiondate{25 Oct. 2026}
\accepteddate{25 Dec. 2026}
\onlinedate{28 Dec. 2026}
\publisheddate{30 Dec. 2026}

\title[Here is the Title]
{Your paper}
\author[1,2]{John Doe}
\author[1,2,*]{Jane Smith}

\affil[1]{\textit{Department of Chemistry, Faculty of Arts and Sciences, Beijing Normal University, Zhuhai 519087, China} }
\affil[2]{\textit{College of Chemistry, Beijing Normal University, Beijing 100875, China} 
\protect\vspace{1em}}

\affil[*]{Corresponding authors: xxxxx@xxx}


\let\leqslant=\leq

\newtheorem{theorem}{Theorem}[section]

\begin{document}

\twocolumn[{
  \vspace*{0.5em}
  \maketitle
  \thispagestyle{firstpage}
  \label{firstpage}

\begin{abstract}
The abstract should be a single paragraph that summarises the content of the article.  

\keywords{keyword1, keyword2, keyword3, keyword4.}
\end{abstract}

}] % End of twocolumn header block


\section{Introduction}
The introduction section should appear here\cite{berger1989local,tan_simple_moving,mckechnie2017arxiv,boor1973good,tullius1996comprehensive,authors_year_dataset,sheldrick1996shelxs,tullius1991title}.

\section{Theoretical and computational details}
The theoretical and computational methods or details should appear here.

\subsection{Methods}
The time-dependent Schr\"odinger equation is:
\begin{equation} \label{eq:tdse}
i\hbar\frac{\partial\Psi(\mathbf{r},t)}{\partial t} = \hat{H}\Psi(\mathbf{r},t).
\end{equation}

\section{Results and discussion}
The results and discussions should appear here.

\subsection{Title of subsection}
All figures and tables must be mentioned in the text consecutively and numbered with Arabic numerals, such as Figure 1 or Table 1.

\begin{figure}[hbt!]
   \centering
   \includegraphics[width=1.0\linewidth]{Figure_1.jpg}
   \caption{Each figure must have a caption that includes the figure number and a brief description, preferably one or two sentences.}\label{sample-figure}
\end{figure}

% change \begin{table} to \begin{widetable} if you want to use the wide table environment
\begin{table}[hbt!]
\centering
\caption{Each table must have a brief (one phrase or sentence) title that describes its contents.}\label{sample-table}
\begin{tabular}{cccc}
\hline
Head 1\textsuperscript{[a]} & Head 2 & Head 3 & Head 4 \\
\hline
Column 1 & Column 2\textsuperscript{[b]} & Column 3 & Column 4 \\
Column 1 & Column 2 & Column 3 & Column 4 \\
Column 1 & Column 2 & Column 3 & Column 4 \\
Column 1 & Column 2 & Column 3 & Column 4 \\
Column 1 & Column 2 & Column 3 & Column 4 \\
\hline
\end{tabular}

\vspace{0.5em}
\raggedright\footnotesize
{[a] Table footnote. [b] Table footnote.}
\end{table}

\section{Conclusion}
The conclusion section should appear here.

\begin{acknowledgments}
Here is the place to acknowledge people, organizations, and financing (you may state grant numbers and sponsors here).
\end{acknowledgments}

\begin{Supporting_Information}
The online version contains supplementary material available at website xxx. A listing of the contents of each file supplied as Supporting Information should be included.
\end{Supporting_Information}

\begin{Notes}
The authors declare no competing financial interest.
\end{Notes}

\bibliographystyle{cicc}
\bibliography{ref}
\label{lastpage}
\end{document}

\section{Additional facilities}

\subsection{Titles and author's name}

In the CiCC style, the title of the article and the author's name (or
authors' names) are used both at the beginning of the article for the
main title and throughout the article as running headlines at the top
of every page. The title is used on odd-numbered pages (rectos) and the
author's name appears on even-numbered pages (versos). Although the
main heading can run to several lines of text, the running headline
must be a single line ($\leqslant 45$ characters). Moreover, the main
heading can also incorporate new line commands (e.g. \verb"\\") but
these are not acceptable in a running headline. To enable you to
specify an alternative short title and an alternative short author's
name, the standard \verb"\title" and \verb"\author" commands have been
extended to take an optional argument to be used as the running
headline. The running headlines for this guide were produced using the
following code:
\begin{verbatim}
\title[Commun. Comput. Chem.,
       \LaTeXe\ Guide for Authors]
\end{verbatim}
and
\begin{verbatim}
\author[B.L.N. Kennett]
   {B.L.N. Kennett$^1$
  \thanks{Pacific Region Office, CiCC} \\
  $^{1}$Research School of Earth Sciences,
    Australian National University,
    Canberra ACT \emph{0200}, Australia
  }
\end{verbatim}
The \verb"\thanks" note produces a footnote to the title or author.


\subsection{Captions for continued figures and tables}

The \verb"\caption*" command may be used to produce a caption with the
same number as the previous caption (for the corresponding type of
float). For instance, if a very large table does not fit on one page,
it must be split into two floats; the second float should use the
\verb"caption*" command with a suitable caption:
\begin{verbatim}
\begin{table}
 \caption*{-- \textit{continued}}
  \begin{tabular}{@{}lccll}
  :
  \end{tabular}
\end{table}
\end{verbatim}

 \begin{figure}
  \centering
  \includegraphics[width=0.3\textwidth]{CICC.jpg}
     \caption{An example figure in which space has been
              left for the artwork.}
     \label{sample-figure2}
  \end{figure}


\subsection{Tables}

The CiCC style will cope with positioning of your tables and you
should not use the positional qualifiers on the
\verb"table" environment which would override these decisions. Table
captions should be at the top, therefore the \verb"\caption" command
should appear before the body of the table.

The \verb"tabular" environment can be used to produce tables with
single horizontal rules, which are allowed, if desired, at the head and
foot only. This environment has been modified for the CiCC style in the
following ways:
\begin{enumerate}
  \item additional vertical space is inserted on either side of a rule;
  \item vertical lines are not produced.
\end{enumerate}
Commands to redefine quantities such as \verb"\arraystretch" should be
omitted. For example, Table~\ref{symbols} is produced using the
following commands.


\begin{table}
 \caption{Seismic velocities at major discontinuities.}
 \label{symbols}
 \begin{center}
 \begin{tabular}{||lcccccc||}
  \hline
  Class & depth & radius
        & $\alpha _{-}$ & $\alpha _{+}$
        & $\beta _{-}$ & $\beta _{+}$ \\
  \hline
  ICB & 5154 & 1217 & 11.091 & 10.258
        & 3.438 &  0. \\
  CMB & 2889 & 3482 & 8.009 & 13.691
        & 0. & 7.301 \\
  \hline
 \end{tabular}
 \end{center}

 \medskip

\end{table}


If you have a table that is to extend over two columns, you need to use
\verb"table*" in a minipage environment, i.e., you can say
\begin{verbatim}
\begin{table*}
\begin{minipage}{80mm}
 \caption{Caption which will wrap round to the
          width of the minipage environment.}
 \begin{tabular}{%
      :
 \end{tabular}
\end{minipage}
\end{table*}
\end{verbatim}
The width of the minipage should more or less be the width of your table,
so you can only guess on a value on the first pass. The value will have to
be adjusted when your article is finally typeset, so don't worry
about making it the exact size.

\subsection{Running headlines}

As described above, the title of the article and the author's name (or
authors' names) are used as running headlines at the top of every page.
The headline on right pages can list up to three names; for more than
three use et~al. The \verb"\pagestyle" and \verb"\thispagestyle"
commands should {\em not\/} be used. Similarly, t··he commands
\verb"\markright" and \verb"\markboth" should not be necessary.

\subsection{Bibliography}

The bibliography is generated automatically by BibTeX using the \verb"cicc.bst" style. Below is a summary of the formatting conventions for each entry type.

\subsubsection{General Rules}

\textbf{Author Names:} Surname first, followed by initials with no comma between surname and initials. Multiple initials are separated by periods and tied with non-breaking spaces. Multiple authors are separated by commas; the last author is preceded by ``and'' (no Oxford comma for two authors; ``and'' for three or more).\\
Example: \verb"Berger M.~J. and Colella P." or \verb"Tan Z.~J., Tang T. and Zhang Z.~R."

\textbf{Punctuation Between Fields:} Fields are separated by commas. Each entry ends with a period.

\subsubsection{Journal Articles (\texttt{@article})}

Format: Authors, Title, \emph{Journal Name}, \textbf{Volume}(Issue) (Year), Pages.

\begin{itemize}
  \item The article title appears in plain text (no italics, no quotes).
  \item The journal name is italicized. If a \verb"shortjournal" field is provided, it is used instead of the full journal name.
  \item The volume number is in bold. If an issue number is present, it follows in parentheses immediately after the volume.
  \item The year is enclosed in parentheses after the volume/issue.
  \item Page ranges follow the year, separated by a comma, using an en-dash.
\end{itemize}
Example output: Berger M.~J. and Colella P., Local adaptive mesh refinement for shock hydrodynamics, \emph{J. Comput. Phys.}, \textbf{82} (1989), 62--84.

\subsubsection{Books and Book Chapters (\texttt{@incollection}, \texttt{@inbook})}

Format: Authors, Title, In \emph{Book Title}, Vol.~\textbf{Volume}, (Eds.\ Editor Names), Publisher, Address, Year, pp.~Pages.

\begin{itemize}
  \item The chapter/article title appears in plain text.
  \item The book title is preceded by ``In'' and italicized.
  \item If a volume is present, it appears as ``Vol.~\textbf{N}''.
  \item Editors are listed in parentheses as ``(Eds.\ ...)'' or ``(Ed.\ ...)''.
  \item Publisher, address, and year follow, separated by commas.
  \item Page ranges are prefixed with ``pp.'' (or ``p.'' for a single page).
\end{itemize}
Example output: Tullius T.~D., Supramolecular reactivity and transport: Bioinorganic systems, In \emph{Comprehensive Supramolecular Chemistry}, Vol.~\textbf{5}, (Eds. Atwood J.~L., Davies J.~E.~D., MacNicol D.~D., V{\"o}gtle F. and Suslick K.~S.), Pergamon, Oxford, 1996, pp.~317--343.

\subsubsection{Standalone Books (\texttt{@book})}

Format: Authors, \emph{Book Title}, Publisher, Address, Year.

\begin{itemize}
  \item The book title is italicized.
  \item Publisher, address, and year follow, separated by commas.
\end{itemize}

\subsubsection{Preprints and Miscellaneous (\texttt{@misc})}

Format: Authors, Title, Year, DOI: identifier.

\begin{itemize}
  \item The title appears in plain text.
  \item The DOI is formatted as ``DOI: value''.
\end{itemize}
Example output: McKechnie S., Frost J.~M., ..., Dynamic symmetry breaking and spin splitting in metal halide perovskites, 2017, DOI: 10.48550/arXiv.1711.00533.

\subsubsection{Datasets (\texttt{@dataset})}

Format: Authors, \emph{Dataset Title}, Year, DOI: identifier.

\begin{itemize}
  \item The dataset title is italicized (treated like a book title).
\end{itemize}

\subsubsection{Programs and Manuals (\texttt{@manual})}

Format: Authors, \emph{Program Title}, Organization, Address, Year.

\begin{itemize}
  \item The program/manual title is italicized.
  \item Organization and address follow, separated by commas.
\end{itemize}
Example output: Sheldrick G.~M., \emph{SHELXS-96, program for the solution of crystal structures}, University of G{\"o}ttingen, G{\"o}ttingen, Germany, 1996.

\subsubsection{Theses (\texttt{@phdthesis}, \texttt{@mastersthesis})}

Format: Authors, \emph{Thesis Title}, School, Address, Year.

\begin{itemize}
  \item The thesis title is italicized.
  \item The school name, address, and year follow, separated by commas.
\end{itemize}
Example output: Tullius T.~D., \emph{Title of PhD thesis}, University of Newcastle, UK, 1991.

Figure_1.jpg — binary, 137 KB

cicc.bst · 21 KB
%% File: `cicc.bst'
%% Custom bibliography style for CiCC journal.
%% Based on unsrtnat.bst, modified for use with natbib package.
%%
%% Original Copyright 1993-2007 Patrick W Daly (LPPL v1+)
%%
ENTRY
  { address
    author
    booktitle
    chapter
    doi
    eid
    edition
    editor
    howpublished
    institution
    isbn
    issn
    journal
    shortjournal
    key
    month
    note
    number
    organization
    pages
    publisher
    school
    series
    title
    type
    url
    volume
    year
  }
  {}
  { label extra.label sort.label short.list }

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$
}

FUNCTION {fin.entry}
{ add.period$
  write$
  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 {not}
{   { #0 }
    { #1 }
  if$
}

FUNCTION {and}
{   'skip$
    { pop$ #0 }
  if$
}

FUNCTION {or}
{   { pop$ #1 }
    'skip$
  if$
}

FUNCTION {new.block.checka}
{ empty$
    'skip$
    'new.block
  if$
}

FUNCTION {new.block.checkb}
{ empty$
  swap$ empty$
  and
    'skip$
    'new.block
  if$
}

FUNCTION {new.sentence.checka}
{ empty$
    'skip$
    'new.sentence
  if$
}

FUNCTION {new.sentence.checkb}
{ empty$
  swap$ empty$
  and
    'skip$
    'new.sentence
  if$
}

FUNCTION {field.or.null}
{ duplicate$ empty$
    { pop$ "" }
    'skip$
  if$
}

FUNCTION {emphasize}
{ duplicate$ empty$
    { pop$ "" }
    { "\emph{" swap$ * "}" * }
  if$
}

INTEGERS { nameptr namesleft numnames }

FUNCTION {format.names}
{ 's :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr "{vv~}{ll} {f.}{, jj}" format.name$ 't :=
      nameptr #1 >
        { namesleft #1 >
            { ", " * t * }
            { t "others" =
                { ", others" * }
                { " and " * t * }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

FUNCTION {format.key}
{ empty$
    { key field.or.null }
    { "" }
  if$
}

FUNCTION {format.authors}
{ author empty$
    { "" }
    { author format.names }
  if$
}

FUNCTION {format.editors}
{ editor empty$
    { "" }
    { editor format.names
      editor num.names$ #1 >
        { ", eds" * }
        { ", ed" * }
      if$
    }
  if$
}

FUNCTION {format.isbn}
{ isbn empty$
    { "" }
    { new.block "ISBN " isbn * }
  if$
}

FUNCTION {format.issn}
{ issn empty$
    { "" }
    { new.block "ISSN " issn * }
  if$
}

FUNCTION {format.url}
{ url empty$
    { "" }
    { new.block "URL \url{" url * "}" * }
  if$
}

FUNCTION {format.doi}
{ doi empty$
    { "" }
    { "DOI: " doi * }
  if$
}

FUNCTION {format.title}
{ title empty$
    { "" }
    { title }
  if$
}

FUNCTION {format.full.names}
{'s :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr
      "{vv~}{ll}" format.name$ 't :=
      nameptr #1 >
        {
          namesleft #1 >
            { ", " * t * }
            {
              numnames #2 >
                { "," * }
                'skip$
              if$
              t "others" =
                { " et~al." * }
                { ", " * t * }
              if$
            }
          if$
        }
        't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

FUNCTION {author.editor.full}
{ author empty$
    { editor empty$
        { "" }
        { editor format.full.names }
      if$
    }
    { author format.full.names }
  if$
}

FUNCTION {author.full}
{ author empty$
    { "" }
    { author format.full.names }
  if$
}

FUNCTION {editor.full}
{ editor empty$
    { "" }
    { editor format.full.names }
  if$
}

FUNCTION {make.full.names}
{ type$ "book" =
  type$ "inbook" =
  or
    'author.editor.full
    { type$ "proceedings" =
        'editor.full
        'author.full
      if$
    }
  if$
}

FUNCTION {output.bibitem}
{ newline$
  "\bibitem[" write$
  label write$
  ")" make.full.names duplicate$ short.list =
     { pop$ }
     { * }
   if$
  "]{" * 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 {format.date}
{ year duplicate$ empty$
    { "empty year in " cite$ * warning$
       pop$ "" }
    'skip$
  if$
  month empty$
    'skip$
    { month
      " " * swap$ *
    }
  if$
  extra.label *
}

FUNCTION {format.btitle}
{ title emphasize
}

FUNCTION {tie.or.space.connect}
{ duplicate$ text.length$ #3 <
    { "~" }
    { " " }
  if$
  swap$ * *
}

FUNCTION {either.or.check}
{ empty$
    'pop$
    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
  if$
}

FUNCTION {format.bvolume}
{ volume empty$
    { "" }
    { "Vol.~\textbf{" volume * "}" *
      series empty$
        'skip$
        { " of " * series emphasize * }
      if$
      "volume and number" number either.or.check
    }
  if$
}

FUNCTION {format.number.series}
{ volume empty$
    { number empty$
        { series field.or.null }
        { output.state mid.sentence =
            { "number" }
            { "Number" }
          if$
          number tie.or.space.connect
          series empty$
            { "there's a number but no series in " cite$ * warning$ }
            { " in " * series * }
          if$
        }
      if$
    }
    { "" }
  if$
}

FUNCTION {format.edition}
{ edition empty$
    { "" }
    { output.state mid.sentence =
        { edition "l" change.case$ " edition" * }
        { edition "t" change.case$ " edition" * }
      if$
    }
  if$
}

INTEGERS { multiresult }

FUNCTION {multi.page.check}
{ 't :=
  #0 'multiresult :=
    { multiresult not
      t empty$ not
      and
    }
    { t #1 #1 substring$
      duplicate$ "-" =
      swap$ duplicate$ "," =
      swap$ "+" =
      or or
        { #1 'multiresult := }
        { t #2 global.max$ substring$ 't := }
      if$
    }
  while$
  multiresult
}

FUNCTION {format.pages}
{ pages empty$
    { "" }
    { pages multi.page.check
        { "pp.~" pages n.dashify * }
        { "p.~" pages * }
      if$
    }
  if$
}

FUNCTION {format.eid}
{ eid empty$
    { "" }
    { "art." eid tie.or.space.connect }
  if$
}

FUNCTION {format.vol.num.pages}
{ volume empty$
    { "" }
    { "\textbf{" volume * "}" * }
  if$
  number empty$
    'skip$
    { "" * "\penalty0 (" * number * ")" * }
  if$
  year empty$
    'skip$
    { " (" * year * ")" * }
  if$
  pages empty$
    'skip$
    { duplicate$ empty$
        { pop$ format.pages }
        { ", " * pages n.dashify * }
      if$
    }
  if$
}

FUNCTION {format.vol.num.eid}
{ volume field.or.null
  number empty$
    'skip$
    { "\penalty0 (" number * ")" * *
      volume empty$
        { "there's a number but no volume in " cite$ * warning$ }
        'skip$
      if$
    }
  if$
  eid empty$
    'skip$
    { duplicate$ empty$
        { pop$ format.eid }
        { ":\penalty0 " * eid * }
      if$
    }
  if$
}

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

FUNCTION {format.editors.in}
{ editor empty$
    { "" }
    { editor num.names$ #1 >
        { "(Eds. " editor format.names * ")" * }
        { "(Ed. " editor format.names * ")" * }
      if$
    }
  if$
}

FUNCTION {format.in.ed.booktitle}
{ booktitle empty$
    { "" }
    { "In \emph{" booktitle * "}" * }
  if$
}

FUNCTION {empty.misc.check}
{ author empty$ title empty$ howpublished empty$
  month empty$ year empty$ note empty$
  and and and and and
  key empty$ not and
    { "all relevant fields are empty in " cite$ * warning$ }
    'skip$
  if$
}

FUNCTION {format.thesis.type}
{ type empty$
    'skip$
    { pop$
      type "t" change.case$
    }
  if$
}

FUNCTION {format.tr.number}
{ type empty$
    { "Technical Report" }
    'type
  if$
  number empty$
    { "t" change.case$ }
    { number tie.or.space.connect }
  if$
}

FUNCTION {format.article.crossref}
{ key empty$
    { shortjournal empty$
        { journal empty$
            { "need key or journal for " cite$ * " to crossref " * crossref *
              warning$
              ""
            }
            { "In \emph{" journal * "}" * }
          if$
        }
        { "In \emph{" shortjournal * "}" * }
      if$
    }
    { "In " }
  if$
  " \citet{" * crossref * "}" *
}

FUNCTION {format.book.crossref}
{ volume empty$
    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
      "In "
    }
    { "Volume" volume tie.or.space.connect
      " of " *
    }
  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$
              "" *
            }
            { "\emph{" * series * "}" * }
          if$
        }
        'skip$
      if$
    }
    'skip$
  if$
  " \citet{" * crossref * "}" *
}

FUNCTION {format.incoll.inproc.crossref}
{ editor empty$
  editor field.or.null author field.or.null =
  or
    { key empty$
        { booktitle empty$
            { "need editor, key, or booktitle for " cite$ * " to crossref " *
              crossref * warning$
              ""
            }
            { "In \emph{" booktitle * "}" * }
          if$
        }
        { "In " }
      if$
    }
    { "In " }
  if$
  " \citet{" * crossref * "}" *
}

FUNCTION {article}
{ output.bibitem
  format.authors "author" output.check
  author format.key output
  format.title "title" output.check
  
  crossref missing$
    { shortjournal empty$
        { journal emphasize "journal" output.check }
        { shortjournal emphasize "journal" output.check }
      if$
      eid empty$
        { format.vol.num.pages output }
        { format.vol.num.eid output }
      if$
    }
    { format.article.crossref output.nonnull
      eid empty$
        { format.pages output }
        { format.eid output }
      if$
    }
  if$
  format.issn output
  format.doi output
  format.url output
  note output
  fin.entry
}

FUNCTION {book}
{ output.bibitem
  author empty$
    { format.editors "author and editor" output.check
      editor format.key output
    }
    { format.authors output.nonnull
      crossref missing$
        { "author and editor" editor either.or.check }
        'skip$
      if$
    }
  if$
  format.btitle "title" output.check
  crossref missing$
    { format.bvolume output
      format.number.series output
      publisher "publisher" output.check
      address output
    }
    { format.book.crossref output.nonnull
    }
  if$
  format.edition output
  format.date "year" output.check
  format.isbn output
  format.doi output
  format.url output
  note output
  fin.entry
}

FUNCTION {booklet}
{ output.bibitem
  format.authors output
  author format.key output
  
  format.title "title" output.check
  howpublished output
  address output
  format.date output
  format.isbn output
  format.doi output
  format.url output
  note output
  fin.entry
}

FUNCTION {inbook}
{ output.bibitem
  author empty$
    { format.editors "author and editor" output.check
      editor format.key output
    }
    { format.authors output.nonnull
      crossref missing$
        { "author and editor" editor either.or.check }
        'skip$
      if$
    }
  if$
  format.btitle "title" output.check
  crossref missing$
    { format.bvolume output
      format.chapter.pages "chapter and pages" output.check
      format.number.series output
      publisher "publisher" output.check
      address output
    }
    { format.chapter.pages "chapter and pages" output.check
      format.book.crossref output.nonnull
    }
  if$
  format.edition output
  format.date "year" output.check
  format.isbn output
  format.doi output
  format.url output
  note output
  fin.entry
}

FUNCTION {incollection}
{ output.bibitem
  format.authors "author" output.check
  author format.key output
  format.title "title" output.check
  
  crossref missing$
    { format.in.ed.booktitle "booktitle" output.check
      format.bvolume output
      format.editors.in output
      format.number.series output
      publisher "publisher" output.check
      address output
      format.edition output
      format.date "year" output.check
      format.chapter.pages output
    }
    { format.incoll.inproc.crossref output.nonnull
      format.chapter.pages output
    }
  if$
  format.isbn output
  format.doi output
  format.url output
  note output
  fin.entry
}

FUNCTION {inproceedings}
{ output.bibitem
  format.authors "author" output.check
  author format.key output
  format.title "title" output.check
  
  crossref missing$
    { format.in.ed.booktitle "booktitle" output.check
      format.bvolume output
      format.editors.in output
      format.number.series output
      address empty$
        { 
          organization output
          publisher output
          format.date "year" output.check
          format.pages output
        }
        { address output.nonnull
          format.date "year" output.check
          organization output
          publisher output
          format.pages output
        }
      if$
    }
    { format.incoll.inproc.crossref output.nonnull
      format.pages output
    }
  if$
  format.isbn output
  format.doi output
  format.url output
  note output
  fin.entry
}

FUNCTION {conference} { inproceedings }

FUNCTION {manual}
{ output.bibitem
  format.authors output
  author format.key output
  
  format.btitle "title" output.check
  organization output
  address output
  format.edition output
  format.date output
  format.url output
  note output
  fin.entry
}

FUNCTION {mastersthesis}
{ output.bibitem
  format.authors "author" output.check
  author format.key output
  format.title "title" output.check
  
  "Master's thesis" format.thesis.type output.nonnull
  school "school" output.check
  address output
  format.date "year" output.check
  format.url output
  note output
  fin.entry
}

FUNCTION {misc}
{ output.bibitem
  format.authors output
  author format.key output
  format.title output
  howpublished output
  format.date output
  format.doi output
  format.issn output
  format.url output
  note output
  fin.entry
  empty.misc.check
}

FUNCTION {dataset}
{ output.bibitem
  format.authors output
  author format.key output
  format.btitle "title" output.check
  howpublished output
  format.date output
  format.doi output
  format.issn output
  format.url output
  note output
  fin.entry
  empty.misc.check
}

FUNCTION {phdthesis}
{ output.bibitem
  format.authors "author" output.check
  author format.key output
  
  format.btitle "title" output.check
  
  school "school" output.check
  address output
  format.date "year" output.check
  format.url output
  note output
  fin.entry
}

FUNCTION {proceedings}
{ output.bibitem
  format.editors output
  editor format.key output
  
  format.btitle "title" output.check
  format.bvolume output
  format.number.series output
  address output
  format.date "year" output.check
  organization output
  publisher output
  format.isbn output
  format.doi output
  format.url output
  note output
  fin.entry
}

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

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

FUNCTION {default.type} { misc }


MACRO {jan} {"January"}

MACRO {feb} {"February"}

MACRO {mar} {"March"}

MACRO {apr} {"April"}

MACRO {may} {"May"}

MACRO {jun} {"June"}

MACRO {jul} {"July"}

MACRO {aug} {"August"}

MACRO {sep} {"September"}

MACRO {oct} {"October"}

MACRO {nov} {"November"}

MACRO {dec} {"December"}



READ

FUNCTION {sortify}
{ purify$
  "l" change.case$
}

INTEGERS { len }

FUNCTION {chop.word}
{ 's :=
  'len :=
  s #1 len substring$ =
    { s len #1 + global.max$ substring$ }
    's
  if$
}

FUNCTION {format.lab.names}
{ 's :=
  s #1 "{vv~}{ll}" format.name$
  s num.names$ duplicate$
  #2 >
    { pop$ " et~al." * }
    { #2 <
        'skip$
        { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
            { " et~al." * }
            { " and " * s #2 "{vv~}{ll}" format.name$ * }
          if$
        }
      if$
    }
  if$
}

FUNCTION {author.key.label}
{ author empty$
    { key empty$
        { cite$ #1 #3 substring$ }
        'key
      if$
    }
    { author format.lab.names }
  if$
}

FUNCTION {author.editor.key.label}
{ author empty$
    { editor empty$
        { key empty$
            { cite$ #1 #3 substring$ }
            'key
          if$
        }
        { editor format.lab.names }
      if$
    }
    { author format.lab.names }
  if$
}

FUNCTION {author.key.organization.label}
{ author empty$
    { key empty$
        { organization empty$
            { cite$ #1 #3 substring$ }
            { "The " #4 organization chop.word #3 text.prefix$ }
          if$
        }
        'key
      if$
    }
    { author format.lab.names }
  if$
}

FUNCTION {editor.key.organization.label}
{ editor empty$
    { key empty$
        { organization empty$
            { cite$ #1 #3 substring$ }
            { "The " #4 organization chop.word #3 text.prefix$ }
          if$
        }
        'key
      if$
    }
    { editor format.lab.names }
  if$
}

FUNCTION {calc.short.authors}
{ type$ "book" =
  type$ "inbook" =
  or
    'author.editor.key.label
    { type$ "proceedings" =
        'editor.key.organization.label
        { type$ "manual" =
            'author.key.organization.label
            'author.key.label
          if$
        }
      if$
    }
  if$
  'short.list :=
}

FUNCTION {calc.label}
{ calc.short.authors
  short.list
  "("
  *
  year duplicate$ empty$
  short.list key field.or.null = or
     { pop$ "" }
     'skip$
  if$
  *
  'label :=
}

INTEGERS { seq.num }

FUNCTION {init.seq}
{ #0 'seq.num :=}

EXECUTE {init.seq}

FUNCTION {int.to.fix}
{ "000000000" swap$ int.to.str$ *
  #-1 #10 substring$
}


FUNCTION {presort}
{ calc.label
  label sortify
  "    "
  *
  seq.num #1 + 'seq.num :=
  seq.num  int.to.fix
  'sort.label :=
  sort.label *
  #1 entry.max$ substring$
  'sort.key$ :=
}

ITERATE {presort}

SORT

STRINGS { longest.label last.label next.extra }

INTEGERS { longest.label.width last.extra.num number.label }

FUNCTION {initialize.longest.label}
{ "" 'longest.label :=
  #0 int.to.chr$ 'last.label :=
  "" 'next.extra :=
  #0 'longest.label.width :=
  #0 'last.extra.num :=
  #0 'number.label :=
}

FUNCTION {forward.pass}
{ last.label label =
    { last.extra.num #1 + 'last.extra.num :=
      last.extra.num int.to.chr$ 'extra.label :=
    }
    { "a" chr.to.int$ 'last.extra.num :=
      "" 'extra.label :=
      label 'last.label :=
    }
  if$
  number.label #1 + 'number.label :=
}

FUNCTION {reverse.pass}
{ next.extra "b" =
    { "a" 'extra.label := }
    'skip$
  if$
  extra.label 'next.extra :=
  extra.label
  duplicate$ empty$
    'skip$
    { "{\natexlab{" swap$ * "}}" * }
  if$
  'extra.label :=
  label extra.label * 'label :=
}

EXECUTE {initialize.longest.label}

ITERATE {forward.pass}

REVERSE {reverse.pass}

FUNCTION {bib.sort.order}
{ sort.label  'sort.key$ :=
}

ITERATE {bib.sort.order}

SORT

FUNCTION {begin.bib}
{   preamble$ empty$
    'skip$
    { preamble$ write$ newline$ }
  if$
  "\begin{thebibliography}{" number.label int.to.str$ * "}" *
  write$ newline$
  "\providecommand{\natexlab}[1]{#1}"
  write$ newline$
  "\providecommand{\url}[1]{\texttt{#1}}"
  write$ newline$
  "\expandafter\ifx\csname urlstyle\endcsname\relax"
  write$ newline$
  "  \providecommand{\doi}[1]{doi: #1}\else"
  write$ newline$
  "  \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi"
  write$ newline$
}

EXECUTE {begin.bib}

EXECUTE {init.state.consts}

ITERATE {call.type$}

FUNCTION {end.bib}
{ newline$
  "\end{thebibliography}" write$ newline$
}

EXECUTE {end.bib}
cicc.cls · 9 KB
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{cicc}[2024/05/06 Communications in Computational Chemistry Class]

% ==============================================================================
% 1. 核心定义与声明 (Core Identification)
% ==============================================================================
\LoadClass[twocolumn,twoside]{article}

% ==============================================================================
% 2. 基础页面几何设定 (Layout & Geometry)
% ==============================================================================
% 使用 includehead 确保页眉高度被计算在边距内,防止与正文冲突
\RequirePackage[
  a4paper,
  left=0.6in,
  right=0.6in,
  top=0.2in,
  bottom=0.2in,
  headheight=45pt, % 增加高度以容纳首字母缩写和期刊信息
  headsep=5pt,
  footskip=0.4in,
  includehead,
  includefoot
]{geometry}

% ==============================================================================
% 3. 字体与编码 (Fonts & encoding)
% ==============================================================================
\RequirePackage[T1]{fontenc}
\RequirePackage[utf8]{inputenc}
\RequirePackage{newtxtext, newtxmath} % 泰晤士风格字体
\RequirePackage{microtype}           % 改善间距调整

% ==============================================================================
% 4. 必需宏包加载 (Required Packages)
% ==============================================================================
\RequirePackage{graphicx}
\RequirePackage{xcolor}
\RequirePackage{etoolbox}
\RequirePackage{amsmath}
\RequirePackage{calc}
\RequirePackage{xstring}
\RequirePackage{authblk}  % 作者机构处理
\RequirePackage{cuted}    % 双栏中的单栏环境 (strip)
\RequirePackage{lipsum}   % 占位文本

% ==============================================================================
% 5. 期刊元数据定义 (Journal Metadata)
% ==============================================================================
\newcommand{\journalfullname}[1]{\gdef\@journalfullname{#1}}
\newcommand{\journalabbrevname}[1]{\gdef\@journalabbrevname{#1}}
\newcommand{\volume}[1]{\gdef\@volume{#1}}
\newcommand{\issue}[1]{\gdef\@issue{#1}}
\newcommand{\doi}[1]{\gdef\@doi{#1}}
\newcommand{\articletype}[1]{\gdef\@articletype{#1}}

% --- 修改日期元数据的初始状态 ---
\newcommand{\receiveddate}[1]{\gdef\@receiveddate{#1}}
\newcommand{\revisiondate}[1]{\gdef\@revisiondate{#1}}
\newcommand{\accepteddate}[1]{\gdef\@accepteddate{#1}}
\newcommand{\onlinedate}[1]{\gdef\@onlinedate{#1}}
\newcommand{\publisheddate}[1]{\gdef\@publisheddate{#1}}
\newcommand{\publishedyear}[1]{\gdef\@publishedyear{#1}}

% 将默认值设为空
\gdef\@receiveddate{}
\gdef\@revisiondate{}
\gdef\@accepteddate{}
\gdef\@onlinedate{}
\gdef\@publisheddate{}
\gdef\@publishedyear{}

% --- 核心逻辑替换:简洁的起始页设置 ---
\RequirePackage{totpages}
\RequirePackage{refcount}
\newcommand{\firstpage}[1]{%
  \setcounter{page}{#1}% 直接设置页码
  \gdef\@pagenumbers{%
    % \the\value{page}--\the\numexpr#1 + \getrefnumber{TotPages} - 1\relax%
    #1--\the\numexpr#1 + \getrefnumber{TotPages} - 1\relax%      
  }%
}


% 默认值设定
\journalfullname{Communications in Computational Chemistry}
\journalabbrevname{Commun. Comput. Chem.}
\articletype{Communications}
\doi{doi: 10.4208/cicc.2026.xxx}
\volume{xx}
\issue{xx}
\publishedyear{xxxx}
\receiveddate{dd/mm/yyyy}
\revisiondate{dd/mm/yyyy} 
\accepteddate{dd/mm/yyyy}
\onlinedate{dd/mm/yyyy}
\publisheddate{dd/mm/yyyy}
% \firstpage{x}
%\pagenumbers{1-10}

% ==============================================================================
% 6. 标题与作者逻辑 (Title & Author Logic)
% ==============================================================================
% 短标题逻辑
\newcommand{\shorttitle}{}
\renewcommand{\title}[2][]{%
  \gdef\@title{#2}
  \if\relax\detokenize{#1}\relax \gdef\shorttitle{#2} \else \gdef\shorttitle{#1} \fi
}

% 自动获取第一作者用于页眉
\newcounter{authorcount}
\newcommand{\firstauthorname}{}
\NewCommandCopy\origauthor\author
\renewcommand{\author}[2][]{%
  \stepcounter{authorcount}%
  \ifnum\value{authorcount}=1 \gdef\firstauthorname{#2} \fi
  \ifx&#1& \origauthor{#2} \else \origauthor[#1]{#2} \fi
}
\newcommand{\authorheader}{%
  \ifnum\value{authorcount}>1 \firstauthorname\ et al. \else \firstauthorname \fi
}

% ==============================================================================
% 7. 标题区定制 (Maketitle Redefinition)
% ==============================================================================
\renewcommand\Affilfont{\small\raggedright}
\def\@maketitle{%
  \newpage \null
  \vspace{-2em}
  \begin{flushleft}
    \let \footnote \thanks
    {\LARGE\bfseries \@title \par}
    \vspace{1.5em}
    {\large \@author \par}
    \vspace{1em}
% --- 重新定义的日期显示逻辑 ---
    {\footnotesize 
      % 检查 Received Date
      \ifcsvoid{@receiveddate}{}{Received: \@receiveddate}%
      % 检查 Revision Date,如果有值,前面加个分号隔开
      \ifcsvoid{@revisiondate}{}{; Revision: \@revisiondate}%
      % 检查 Accepted Date
      \ifcsvoid{@accepteddate}{}{; Accepted: \@accepteddate}%
      % 检查 Online Date
      \ifcsvoid{@onlinedate}{}{; Online: \@onlinedate}%
      % 检查 Online Date
      \ifcsvoid{@publisheddate}{}{; Published: \@publisheddate}%          
      . % 句尾点号
    }    
% {\footnotesize 
% Received: \@receiveddate; Revision: \@revisiondate; 
% Accepted: \@accepteddate; Online: \@onlinedate.}
  \end{flushleft}
  \par
}

% ==============================================================================
% 8. 摘要、关键词与图文摘要 (Abstract & GA)
% ==============================================================================
\RequirePackage[runin]{abstract}
\setlength{\abstitleskip}{-1em}
\setlength{\absparindent}{0em}
\setlength{\absleftindent}{1em}
\setlength{\absrightindent}{1em}
\abslabeldelim{:}

\newcommand{\keywords}[1]{%
  \par\vspace{0.5em}
  \noindent{\small\textbf{Key words:}} #1
}

% 装饰线逻辑
\BeforeBeginEnvironment{abstract}{\par\centering\rule{\textwidth - 2em}{0.5pt}}
\AfterEndEnvironment{abstract}{\par\centering\rule{\textwidth - 2em}{0.5pt}\vspace{1em}}

% 图文摘要 (Graphical Abstract)
\newcommand{\graphicalabstractname}{Graphical Abstract}
\newenvironment{graphicalabstract}{%
  \vspace{1em} \noindent
  \begin{minipage}{\textwidth - 2em}
    \begin{flushleft}
      \noindent\textbf{\small\graphicalabstractname:} \par\vspace{0.8em}
    }{%
      \par\vspace{1.5em}
      \noindent\rule{\textwidth}{0.5pt}
    \end{flushleft}
  \end{minipage} \vspace{1.5em}
}

% ==============================================================================
% 9. 页眉页脚设定 (Header & Footer)
% ==============================================================================
\RequirePackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{1pt}

% 奇数页页眉:显示标题
% \fancyhead[LO]{\textit{\shorttitle}}
\fancyhead[LO]{\textit{\small \authorheader / \@journalabbrevname, \@publishedyear, \@volume(\@issue), \@pagenumbers}}
\fancyfoot[CO]{\thepage}

% 偶数页页眉:显示作者和期刊信息
\fancyhead[RE]{\textit{\small \authorheader / \@journalabbrevname, \@publishedyear, \@volume(\@issue), \@pagenumbers}}
\fancyfoot[CE]{\thepage}

% 首页特殊样式
\fancypagestyle{firstpage}{
  \fancyhf{}
  \renewcommand{\headrulewidth}{0pt}
  \fancyhead[L]{%
    \begin{minipage}[t]{0.55\textwidth}
      \raggedright
      {\small\bfseries\color[RGB]{31,73,125}\MakeUppercase{\@journalabbrevname}}\\[1pt]
      {\small Vol. \@volume, No. \@issue\ | pp. \@pagenumbers\ | \@publishedyear}
    \end{minipage}%
    \begin{minipage}[t]{0.45\textwidth}
      \raggedleft
      {\small\bfseries\color[RGB]{31,73,125}\@articletype}\\[1pt]
      {\small\color{black!60}\@doi}
    \end{minipage}%
    \par\vspace{4pt}%
    {\color[RGB]{31,73,125}\rule{\textwidth}{0.6pt}}%
  }
  \fancyfoot[C]{\thepage}
}

% ==============================================================================
% 10. 浮动体与特殊环境 (Floats & Special Environments)
% ==============================================================================
\RequirePackage{caption}
\captionsetup{labelsep=period, labelfont=bf}

% 宽版文本环境 (基于 cuted)
\newenvironment{widetext}{%
  \par\medskip
  \begin{strip}
    \centering \vspace{-10pt}
    \rule{0.9\textwidth}{0.4pt} \vspace{8pt}
    \setlength{\abovedisplayskip}{12pt}
    \setlength{\belowdisplayskip}{12pt}
    \par\interlinepenalty=10000
}{%
    \par\vspace{8pt}
    \rule{0.9\textwidth}{0.4pt} \vspace{4pt}
  \end{strip}
  \par\medskip
}

% 浮动体环境简化
\newenvironment{widefigure}[1][tbp]{\begin{figure*}[#1]}{\end{figure*}}
\newenvironment{widetable}[1][tbp]{\begin{table*}[#1]}{\end{table*}}

% 声明 Scheme 环境
\DeclareCaptionType[fileext=los]{scheme}[Scheme][List of Schemes]

% 文献规范
\RequirePackage[numbers,sort&compress]{natbib}
\setlength{\bibsep}{0pt plus 0.3ex}

% 期刊特定章节
\newenvironment{acknowledgments}{\section*{Acknowledgments}}{}
\newenvironment{Supporting_Information}{\section*{Supporting information}}{}
\newenvironment{Notes}{\section*{Notes}}{}

\endinput
ref.bib · 3 KB
% [1] Journal Articles
@article{berger1989local,
  title        = {Local adaptive mesh refinement for shock hydrodynamics},
  author       = {Berger, M. J. and Colella, P.},
  journal      = {Journal of Computational Physics},
  shortjournal = {J. Comput. Phys.},
  volume       = {82},
  pages        = {62--84},
  year         = {1989},
  publisher    = {Elsevier}
}

% [2] Article accepted
@article{tan_simple_moving,
  title        = {A simple moving mesh method for one- and two-dimensional phase-field equations},
  author       = {Tan, Z. J. and Tang, T. and Zhang, Z. R.},
  journal      = {Journal of Computational and Applied Mathematics},
  shortjournal = {J. Comput. Appl. Math.},
  note         = {To appear}
}

% [3] Preprints
@misc{mckechnie2017arxiv,
  title         = {Dynamic symmetry breaking and spin splitting in metal halide perovskites},
  author        = {McKechnie, S. and Frost, J. M. and Pashov, D. and Azarhoosh, P. and Walsh, A. and Schilfgaarde, M.},
  year          = {2017},
  eprint        = {1711.00533},
  archiveprefix = {arXiv},
  doi           = {10.48550/arXiv.1711.00533}
}

% [4] Books without editor
@incollection{boor1973good,
  title     = {Good approximation by splines with variable knots II},
  author    = {de Boor, C.},
  booktitle = {Springer Lecture Notes Series 363},
  year      = {1973},
  publisher = {Springer-Verlag},
  address   = {Berlin}
}

% [5] Books with editor
@incollection{tullius1996comprehensive,
  title     = {Supramolecular reactivity and transport: Bioinorganic systems},
  author    = {Tullius, T. D.},
  booktitle = {Comprehensive Supramolecular Chemistry},
  editor    = {Atwood, J. L. and Davies, J. E. D. and MacNicol, D. D. and V{\"o}gtle, F. and Suslick, K. S.},
  volume    = {5},
  pages     = {317--343},
  year      = {1996},
  publisher = {Pergamon},
  address   = {Oxford}
}

% [6] Data citations (Template)
@dataset{authors_year_dataset,
  author    = {Doe, John},
  title     = {Dataset title},
  year      = {Year},
  publisher = {Data repository or archive},
  version   = {Version (if any)},
  doi       = {persistent identifier (e.g. DOI)}
}

% [7] Programs
@manual{sheldrick1996shelxs,
  title        = {SHELXS-96, program for the solution of crystal structures},
  author       = {Sheldrick, G. M.},
  organization = {University of G{\"o}ttingen},
  address      = {G{\"o}ttingen, Germany},
  year         = {1996}
}

% [8] Thesis
@phdthesis{tullius1991title,
  title   = {Title of PhD thesis},
  author  = {Tullius, T. D.},
  school  = {University of Newcastle},
  address = {UK},
  year    = {1991}
}

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