Theory and Applications of Categories


Before submitting an article, authors are requested to read and follow, the Format for Submission below.

Authors may submit an article in pdf compiled from TeX source to any member of the Editorial Board except the Managing Editor or Associate Managing Editor. Authors must copy every article submission to the Managing Editor at When an Editor receives a submission they will acknowledge. If an acknowledgment is not received in a timely fashion, be sure to enquire with the Editor concerned.

After acceptance of an article by an Editor, TeX source code and a compiled PDF must be submitted to the journal at Requirements for submission of source code are described below and must be followed before submitting code for the final version of an accepted article.

All papers published have been carefully refereed and acceptance of an article by an Editor indicates that the high standards of the journal have been met. An article may be submitted to only one Editor.

Accepted papers will be archived electronically by the journal. There are several complete mirrors of the journal's contents.

Authors retain ownership of copyright to their work, subject to appropriate use of the work by the journal. For details consult the Consent to Publish Agreement, to which authors must agree before an accepted paper is published.

The final accepted version of an article will be permanently maintained in the archive without change, except as follows:

TAC Erratum or Correction Procedures

  1. For a small correction in an article (or the appending of a short erratum) that does not affect pagination, TAC will replace the posted article with a new version. The new version will have a footnote on the article first page giving its posting date. Any previous version will remain accessible by a link on the article's web abstract page.
  2. If an author requests a change to their originally posted article that would affect pagination, TAC will post an erratum or correction as a separate number in the current annual volume. TAC will replace the originally posted article with a new version. The new version will have a footnote on the article first page giving its posting date, and a forward reference to the separately posted erratum. Any previous version will remain accessible by a link on the article's web abstract page. That page will also contain a forward link to the erratum.
  3. If the Managing Editor judges it advisable, the erratum or correction may be submitted to the original Transmitting Editor.
  4. A substantive change under 1. or new number published under 2. will be announced to the subscriber list.


It is the author's responsibility to provide the transmitting editor with a compiled (pdf) version of an article.
The Editors require final submissions to be formatted with LaTeX 2e AND use the tac.cls style file (new for 2020!).
Source code which does not meet these conditions will be returned to the author for revision.

Please note first:

  1. TAC uses a 12 point style. You must compose your article at that size.
  2. It will assist the editors if authors ensure that their files use lines of limited length, preferably no more than 72 characters.
  3. An article will be published only in the journal's style. Authors must submit source code which uses the tac.cls style file (see item 8. below for a sample using this style). Do not modify the TAC class file. Author macros which interfere with the journal style will be deleted. Authors must take account of this in submitting TeXscripts. For example, the amsthm package is incompatible with the journal's style since it changes proclamations.
  4. Do not alter the page dimensions. That includes not changing \textwidth,\textheight, etc. Do not load a package, such as the geometry package, that does it for you.
  5. Articles are published in pdf format only. TAC uses PdfLaTeX to typeset articles. Ensure that your source compiles with PdfLaTeX. Graphics may be included. Nevertheless, it is strongly recommended that category theory diagrams are composed with a macro package noted in the Source File Checklist, item 3. below.
  6. To accommodate external indexing, you must include at least one AMS 2020 Subject Classification and a few keywords in your source file.
  7. The TAC style uses the hyperref package to create links to citations and internal references. Reference links work only if \label's are used. Links are coloured a dark blue without boxing. Authors may introduce external links, but they are deprecated because of their impermanence. External links will not be revised.
  8. Example TAC source file: A source file illustrating use of the author version tac.cls of the journal's style is called sample.tex. Its compiled version is sample.pdf.
  9. Be sure to comply with all items in the Source File Checklist below.

Brief hints for using tac.cls
The style for Theory and Applications of Categories is based on the LaTeX article class. It was created by Michael Barr and TAC authors. Thus, your LaTeX source code using tac.cls will be nearly identical to code you would produce in using the article class. The few exceptions concern the title, abstract, proclamation of theorems, propositions etc., and the references. For more detail on the points below, especially if you are submitting your source code to TAC for the first time, please look at the items following the Source File Checklist.

Title and abstract:
The title of the paper and of sections should be typeset with the first letter capitalized and no other caps except for proper names. There are several required macros which are similar to those of LaTeX article style:
\title, \author, \address, \eaddress, \keywords, \amsclass
You may use multiple author names and addresses. Use \\ to obtain a new line; \amsclass refers to the AMS 2020 Subject Classification. You may use square brackets in the title argument to denote a running title separate from the full title of the paper. Optional title macros are
\thanks, \dedication
Please note that \thanks is not part of \author (in contrast to the article class.)

Remember that the macros above should be in the preamble (that is, before \begin{document}). They are called by \maketitle which must immediately follow \begin{document}.

The text of your abstract must immediately follow \maketitle and begin with \begin{abstract} and end with \end{abstract}. Because the abstract will be rendered in html on the journal's web pages, it is strongly recommended that use of mathematical symbols in the abstract is minimized. Citations in the abstract will be deleted when it appears on the journal's web page. In any case, an abstract should never include citations - it is meant to be available and readable independently of the article.

Proclamations and proofs:
Do not use hand-coded formatting commands, such as forced line or page breaks, nor forced vertical or horizontal spacing. Do use standard latex environments (e.g., theorem-like environments, sub-sectioning commands, enumerate or itemize environements). In TAC style, proclamations are handled using the \subsection counters and you should always use \label's to ensure correct internal references. The macros for proclamations come in pairs, for example
\theorem, \endtheorem
Pre-defined macro pairs are available for:
\theorem, \proposition, \corollary, \lemma, \definition, \remark, \example
The latter two macros result in roman type, not italic. In TAC style definitions are set in italic. See below for adding your own proclamation names.

The text of proofs should begin with \proof, and end with \endproof (the latter provides a `Halmos bar'.)

The reference list environment begins with
\begin{references} or \begin{references*}
depending on whether the Harvard e.g. [Eileberg-Mac Lane, 1945] or a numerical reference style is desired.

Finally, the class file has some very useful macros for dealing with new math operations, math roman elements like `hom' and multi-line displays. See the documentation below, or in the class file.

Source File Checklist

  1. A TeX source file and a compiled pdf must be sent to the Managing Editor after acceptance.

  2. The source file must begin with a comment which includes the following information:
    the number of pages, any diagram macro package used, any non-standard fonts, the implementation of TeX used in preparation of the source file. An example is

    % 12 pp, Xy-pic ver 3.9, MikTeX version 3.2

  3. The source file must use the style file tac.cls.

  4. The source code for an article must be submitted as a single source file and include the bibliography. For example, authors must not submit a separate .bbl file.

    All author macros must be included at the beginning of the source file. Any macro that is not actually used should be deleted from the source file. Packages used should be loaded at the beginning of the source file. Do not use \def in your personal macros. Use \newcommand or \renewcommand, instead.

    The exception to including macros is diagram macro packages. The author is responsible to ensure that the current version of a macro package has been used.

  5. Articles must include an Abstract in English of not more than 200 words. Because the abstract will be rendered in html on the journal's web pages, it is strongly recommended that use of mathematical symbols in the abstract be minimized. Citations in the abstract will be deleted when it appears on the journal's web page. An abstract should never include citations in any case - it is meant to be available and readable independently of the article.

  6. AMS 2020 Subject Classification and a few keywords must be included with the source file.

  7. Please also read and observe the following instructions and recommendations.
    Source file style
    Reference and bibliography styles
    Avoidable Errors
    A final point


Authors should note that the base font size is 12 point. Avoid use of elements which depend on another base font size. This is another reason to avoid absolute moves such as `\vskip 10 pt'. Remember that the journal's pagination will differ from yours. As a general rule less, but more logical, formatting is better.

Authors are strongly encouraged to use only fonts from the standard TeX distribution (cmr etc.), AMS symbol fonts (msym...) or the Xy-pic fonts. They should be aware that use of non-standard fonts can interfere with successful dissemination of their work.

Source file style

LaTeX 2e is the required format. Non-LaTeX 2e source code will be returned to the author for revision.

The LaTeX 2e class file for TAC authors is tac.cls.

Logical formatting

The most important advice for a TAC author (or for any electronic journal, or even any journal that accepts TeXscripts) is to use logical, rather than physical formatting. That is, instead of beginning a section by writing

\noindent{\bf 4.3 The main theorem.}

just write

\section{The main theorem}\label{mainth}

(The \label will be explained below.) Instead of writing

\noindent{\sc Theorem A}{\it ...}


\begin{theorem}\label{thmA} ... \end{theorem}

(shorter forms as will be explained later).

You should never put explicit skips and kerns into your paper. Suppose, for example, you want to go on to a new topic and want to leave a little space. The preferable way is to write


which will have exactly that effect. In fact, it is probably always appropriate to start a new subsection in such a case. Except in very long papers, we discourage the use of three indexing levels.

The point is to use symbolic formatting and let the journals put in their own style.

All versions of LaTeX provide definitions for \section, \subsection, and \subsubsection. It even goes further, but these should be enough for nearly all papers. They do not provide definitions for \begin{theorem} and the like. But the TAC style files provide a \newtheorem macro that is used as follows. Place at the beginning of your paper, the following:

 ... (whatever is needed)

The first parameter is what you will call it in your TeXscript and the second what it will be called in your paper. So you can just as well write


and then you can enclose your theorems in \begin{thm}...\end{thm} or even \thm...\endthm. Beware that you lose certain error checking with the latter form. Note that the text of proclamations is usually set in emphasized (italic) type but roman text can be obtained using the \newtheoremrm macro. Examples of this usage are the predefined \remark and \example macros.

A theorem (or any theorem-like environment), whether introduced by \theorem or by \begin{theorem} may have an optional argument that is material to be set in upright font and enclosed in square brackets. This is normally used to give credit, but may also be used for naming the theorem. For example,

\theorem[Fermat's last theorem] For any integers ...\endtheorem

will result in

THEOREM [Fermat's last theorem] For any integers ...


\theorem[Fermat's last theorem \cite{w94}] For any integers

might result in

THEOREM [Fermat's last theorem [Wiles, 1994]] For any integers ...

A few points should be noted. If the parenthetical material itself contains brackets, then it must be enclosed in braces. For example,

\theorem[Fermat's last theorem {\cite[Theorem 4.7]{w94}}] For any
integers ...\endtheorem

will result in only one pair of brackets in the output, not two. Nothing (in particular no \label) may intervene between \theorem or \begin{theorem} and this parenthetical remark. A \label can follow this argument with no change in functionality.

TAC uses the \subsection counter to assign numbering to proclaimed items (like definitions and theorem statements). Thus they, and numbered subsections, are numbered sequentially within a section. Some authors may prefer numbering of proclaimed items within a subsection, and for this the \thirdleveltheorems macro is available. For the (usually short) articles without sections, authors may use \firstlevel theorems.

Multi-character identifiers

All TeX users should be aware that it is absolutely standard in mathematical typography that single characters should be in italics and multi-character identifiers should be in upright type. That is how the reader tells Hom from H times o times m (even if s/he hasn't consciously learned the rule).

In order to make this easy to implement, TAC provides a number of useful macros that authors are free to use. The first group all have the same syntax and provide an easy way to create macros that produce characters or strings in different fonts. They are:

The syntax: If you say \mathrmdef{Hom} you create a macro named \Hom that sets Hom in roman type with the usual spacing of a word. If, instead you say \mathrmdef[hom]{Hom} you get a macro named \hom that produces Hom, just as above. If you use that instead of just Hom, the results will look much better. Using just Hom in math mode will result in an italic font and ugly spacing that is more appropriate to a ternary product.

The semantics: \mathrmdef is as described; \mathbfdef produces bold characters; \mathssbxdef produces characters in an extra bold sans serif font; \mathfkdef makes fraktur producing macros; \mathzcdef produces Zapf Chancery, (a useful script font that includes both upper and lower case letters so that \mathzcdef{Set} makes a macro \Set that gives Set in that font); \mathrsfsdef defines a macro that uses Ralph Smith fancy script; \mathcaldef gives the standard calligraphic forms; finally \mathopdef makes \mathop{}s, explained below, using roman character, while \mathopsldef does the same using slant characters (almost, but not quite the same as italic).

Perhaps the only place \mathop is clearly explained is in the TeXBook (The description in The LaTeX Companion is just wrong; \mathop is used only to define large operators). If you define a macro such as \lim as a mathop, which you can by the TAC macro \mathopdef{lim} or in standard plain (or LaTeX for that matter by \def\lim{\mathop{\rm lim}} you have defined a macro that sets "lim" in roman type, leaves a \thinspace after it (unless followed by a "(" or other token of type \mathopen) and, in display mode only, puts any subscript underneath instead of to the right. However, this last can be overruled. If you type \lim\limits_{whatever}, even online, the result is to put the "whatever" underneath, while if you type \lim\nolimits_{whatever}, even in a display, the effect is to subscript the "whatever" on the right. (If you are interested, these names mean "limitswitch" and "nolimitswitch".)

Two more comments: the macros defined using these defining macros can be used in either math mode or not. Also, they add space after themselves unless followed by punctuation marks or certain other symbols (like braces). So if you define, say, \mathzcdef[Asc]{A}, you can say, "Let \Asc be a category" and you will get no complaint that you were not in math mode and there will be a space after the script "A". If you have defined \mathrmdef[nbd]{neighbourhood}, then you cannot say \nbd s to get the plural since the space will be added, but either \nbd{s} or \nbd{}s will work fine.

Multi-line displays

Another useful macro that we supply is \mld. It is used in a display as follows:
$$\mld formula1& formula2\\formula3\\formula4\\...$$
and produces a multi-line display formatted as

           formula1  formula2

Only one & is to be used and it can occur anywhere except that if formula1 is empty, you should use \mld{}&. This is a bug that might be fixed some day.

References and bibliography styles

When you want to refer to Theorem A (which will not be called that in the TAC style) of Section 4.3, refer to it as Theorem~\ref{thmA} of Section~\ref{mainth}. The labels you use are totally arbitrary, of course, so long as they are not reused in the same paper. Use of symbolic labels allows you to insert or delete material without having to renumber everything or to wind up with sections or theorems bis. The ~, by the way, is an unbreakable space so that the theorem or section number does not get separated from the word Theorem or Section. This is considered poor style, although it is not terribly important. It is also an element of good style to capitalize the words Section and Theorem when followed by an explicit reference. However, they are not capitalized in such phrases as "next section" and "the main theorem".

If BiBTeX is used with LaTeX, bibliographies must be BiBTeXed and any .bbl files included in the source file. No .bib files will be accepted.

References may use the standard BiBTeX styles or the two bibliography styles that TAC supports. We recommend the first TAC style. It is much more useful for the reader since it puts citations like [Grothendieck, 1957] in your text (you can probably already guess the reference) and the reference in the form

\item A. Grothendieck (1957), Sur quelques points d'alg\'ebre homologique, T\^ohoku
Math. J. \em{3}, 120-221.

You get the first style by preceding your references with


and ending the list of \items with


The second style is traditional and puts [4] into your paper with the reference in the traditional form

\item A. Grothendieck, Sur quelques points d'alg\'ebre homologique, T\^ohoku
Math. J. \em{3} (1957), 120-221.

To obtain it use


 \item ...


except you will almost surely want to use \bibitem, allowing you to put in a symbolic label.

A useful package that also implements the recommended first style above is natbib with the square-bracket option invoked with:


and then replace every \cite by:
\citep to produce [Author, year]
\citet to produce Author [year]
\citeyearpar to produce [year]

The package is found at

Avoidable errors

There are two mistakes made by many users of TeX that appear in print over and over and are easy to avoid.

The first is to have multicharacter identifiers slanted (like math symbols), rather than in upright type. This refers to names like sin, cos,... but also Hom, Tor, Id, ker, Im, .... The TAC style files provide macros that can automate this, as noted above.

The second error is to use < ... > for angle brackets. You have no idea how bad this will look. The < and > produce the wrong shape for angle brackets, but mainly they produce the wrong spacing and the results can be ludicrous, especially if an = follows > or precedes <. The official way to do this is to say \langle and \rangle. Many papers in TAC use these angle brackets extensively and make little or no use of the inequality signs. If this is your case, we recommend the following. At the top of your paper, put:

\mathcode`\<="4268 %left delimiter
\mathcode`\>="5269 %right delimiter
\mathchardef\gt="313E %relation
\mathchardef\lt="313C %relation

The effect of the first two lines is to make < and > into \langle and \rangle, respectively, so that you can use them freely. The third and fourth lines allow you to use \lt and \gt for the inequality signs. This is not done in the TAC styles because an author has the right to use < and > for the inequalites if desired.

Incompatibility with packages

Unfortunately, tac.cls is incompatible with the cleverref package. If you use this package, take a look at the "Poor man's cleverref" option in the cleverref documentation for a workaround.

A final point

Although these instructions are specific to TAC, they should go a long way towards making your papers usable by any journal that is serious about using author-supplied TeX.

Return to Main Page.


1. The primary archive of Theory and Applications of Categories(TAC) is a set of electronic files in TeX source, dvi, pdf and pk font formats. The source files contain all articles accepted in TAC and any macro files required to typeset them. The dvi files are those produced from the articles by the TeX program (version 3.14). Font files to allow printing of accepted articles must also be maintained. This archive is the property of the Editorial Board of TAC and is maintained by the Managing Editor.

2. A secondary electronic archive of TAC is maintained by The National Library of Canada at as part of its Electronic Collection.

Return to Information for Authors.


The links here are to macro packages (and their documentation) intended to facilitate creation of category theory diagrams in LaTeX.

The packages are:

Michael Barr's front-end for XY-pic. It uses syntax similar to his now obsolete package based on the LaTeX picture mode and, in the opinion of the TAC Managing Editor, provides the most attractive output for typeset categorical diagrams. It is at
There are two advantages to diagxy over xymatrix. First, simple diagrams, e.g. triangles, are predefined. Second, the user has precise control over positioning and spacing. You do not have to choose between ill-fitting nodes and extra long arrows.

Kris Rose and Ross Moore's xypic package is at

See diagxy-xymatrix.pdf for a consideration of the differences.

Return to Format for submission.

Valid HTML 4.01 Transitional

Valid CSS!