] > Writing LaTeX for multiple output formats

Writing LATEX  for multiple output formats

Emma Cliffe

May 2012


This work was carried out as part of a HESTEM Mathematics Curriculum Innovation project. We have explored methods to produce flexible and accessible learning resources for mathematics with a focus on producing a guide for lecturers in HEI to enable them as individuals to create flexible resources efficiently and robustly.

A significant barrier for disabled students who enrol on HE programmes of study involving any mathematical or statistical content is the suitability of the resource format for their particular situation. To date, there is no single facility to produce resources in a flexible format which can be modified according to individual requirements. We hope to provide teaching staff with the requisite knowledge to access and make use of a small selection of currently available software to produce a variety of accessible formats automatically from a single master document. This will enable lecturers and departments to

As part of this project we have worked with a number of legacy documents and tested a subset of LATEX  packages that survey respondents noted were important to them in writing teaching materials. Transformations from LATEX  to other formats are fragile and will remain so — the introduction of notations and structures from any of the 4000+ TEX, LATEX  and related packages and tools available 1 is not a luxury that can be readily supported. We have focused therefore on documenting a basic structure and symbol collection which can be transformed successfully. It is acknowledged that for use beyond the production of teaching materials this is unlikely to be of assistance. This site is not aimed at the accessible production of published materials such as books or papers. In fact, it is recommended that LATEX  is not used as the source format in these cases but rather a true mark-up language, which can be robustly styled into multiple formats, should be used. The methods described are aimed at teaching staff who do not have the resources of a publishing house at their disposal.


1 Document structure
 1.1 The preamble and global settings
  1.1.1 Running LATEX
  1.1.2 The transformations
  1.1.3 Very common transformation errors
 1.2 Writing a structured document
2 Structure, navigation, text
 2.1 Taken from the comprehensive symbol list
 2.2 Standard structures
  2.2.1 Quotations
  2.2.2 List environments
  2.2.3 Frames and rules
  2.2.4 Tables
  2.2.5 Verbatim
  2.2.6 Theorems etc.
3 Maths symbols
 3.1 Text and keyboard symbols
 3.2 Standard
  3.2.1 Upper case
 3.3 Greek
  3.3.1 Upper case
 3.4 Calligraphic
 3.5 Binary operators
 3.6 Relations
  3.6.1 Negated
 3.7 Arrows
 3.8 Other
 3.9 Symbols with two sizes
 3.10 Function names
  3.10.1 Those with under-subscript available
  3.10.2 Modulus
 3.11 Accents and under/over
 3.12 Symbols left and right can be applied to
 3.13 Dots
 3.14 Spacing
4 AMS maths symbols
 4.1 Blackboard bold
 4.2 Math script
 4.3 Math Frak
 4.4 AMS arrows
  4.4.1 AMS negated arrows
 4.5 AMS binary operators
 4.6 AMS Greek and Hebrew letters
 4.7 AMS delimiters
 4.8 AMS relations
  4.8.1 AMS negated relations
 4.9 AMS other
 4.10 AMS multiple symbols
 4.11 AMS dots
 4.12 Vertical bars
 4.13 AMS function names and newcommand
 4.14 AMS modulus
5 Maths structures
 5.1 Display math
 5.2 Two dimensional structures
6 AMS mathematical structures
 6.1 Split
 6.2 Gather
 6.3 Align
 6.4 Cases
 6.5 Two dimensional structures
7 Graphics
 7.1 Picture environment
 7.2 Commutative diagrams
  7.2.1 array
 7.3 Graphicx
  7.3.1 EPS and psfrag
8 Basic bibliography

1 Document structure

1.1 The preamble and global settings

We have tested only the article format. A fontsize of 12pt on A4 paper should be specified. This is the largest font size available in standard LATEX  and the smallest considered to be appropriate for a clear print format by the RNIB [1]. Using a clear print format will ensure your base document format can be immediately accessed by more people. This is particularly important when producing a PDF containing — the reader will not be able to change the font and equations will not be reflowed with the text if the font size is increased. The RNIB also recommends that the text layout be simple and clear hence text should be presented in one column only.


The following packages and commands can or must be used:

%All changes to page geometry must be via the geometry package.  
\usepackage[a4paper]{geometry} %Required  
\usepackage[english]{babel} %Required  
\usepackage[OT1]{fontenc} %Required  
\usepackage[intlimits]{amsmath} %Required if using amsmath  
\usepackage{amssymb} %Required if using amssymb  
\usepackage{amsfonts} %Required if using amsfonts  
\usepackage[mathscr]{eucal} %Required if using eucal  
\usepackage{eufrak} %Required if using eufrak  
\usepackage{amsthm} %Required if typesetting theorems etc.  
\usepackage{longtable} %Required if using tables with headings  
\usepackage{graphicx} %Required if including images  
\usepackage{verbatim} %Required if including verbatim text  
\usepackage{url} %Required if including urls  
\let\columnlines\empty %Required (transformation to Word format)  
%All theorem-like entities should use a newtheorem-like structure,  
%do not use {\bf Theorem} etc. as the structure is lost.  
%Currently the transformation via plastex does not retain numbering,  
%this will be fixed in the future.  
%Theorem styles can be used but in large print will be redefined.  
%Unnumbered theorem environments may be used  
%All newenvironments should be produced using the newenvironment tool  
\newenvironment{Proof}{\noindent{\bf Proof.}\hspace*{1em}}{\qed\par}  
%All definitions must be via newcommand or renewcommand to ensure that  
%previous definition is not overridden. Do not use declaremathoperator  
%or def. All definitions which include superscripts or subscripts  
%will need to be copied into tex4ht configuration file for the document.  
%Do not use newcommand to produce macros for begin and end environments.  
%Required to ensure that the theorem numbering is correct after plastex  
%transformation. As well as this the equation numbering needs to be set  
%back to 0 at the start of every section and subsection including  
%numbered equations. Numbering should not be reset apart from this.  
%\nonumber can be used, \tag and \notag cannot be  
\newif\ifplastex %Required  
\plastexfalse %Required  
\newif\iftht %Required  
\thtfalse %Required  
\newif\ifLP %Required  
\LPfalse %Required  
\ifLP %Required  
%Reflow cannot occur within a root symbol in large print PDF so the  
%root symbol is transformed to other notation  
{\left( #2 \right)^{\frac{1}{#1}}}  
\newcommand{\nextalt}[1]{} %Required for alt tags  
\newcommand{\PICalt}[1]{{#1}} %Required for alt tags  
%Required for basic commuting diagrams, please note that labelled  
%diagonal arrows are not currently possible.  
%\tab must be used inside commuting diagrams instead of &  
\allowdisplaybreaks %Required

The introduction of any other packages may cause any or all of the transformations to fail even if no commands from the package are used! Examples of this were found when assessing the legacy documents but will not be documented here. If you introduce any other package you will need to test all the output formats accordingly.

Other RNIB guidelines include:

The following sequence of commands will switch the global document font, remove indents (using whitespace between paragraphs instead), redefine \emph to use bold for emphasis instead of italics and establish basic document information which will assist students with difficulties accessing text to quickly establish whether this is the document for which they are looking.

%Required for identifying documents  
%date should be hardcoded as future versions with identical  
%content may be compiled on a different date or student might  
%be provided with the LaTeX file  
\title{Writing \LaTeX~ for multiple output formats}  
\author{Emma Cliffe}  
\date{May 2012}  
%Helps with navigation, if you use this you must supply short  
%forms of section titles (~4 words max) if they are long.  
%To ensure that the page numbering of the front matter and  
%the main content (after the contents page) is distinct.  
\else \iftht  
\fi \fi  
\maketitle %Required for identifying documents  

The last line in the file must be


Content after this point can interfere with some transformation processes.

Finally, when writing your LATEX  file it is important to recall that two of the transformation formats involve a student having direct access to the LATEX  source itself. It is advisable that you only include what you wish to be read so either avoid comments or using a tools to strip comments out to create a clean version is recommended.

1.1.1 Running LATEX

This structure of document and all advice is given in the context of compiling to PDF using pdflatex, that is, straight to pdf without using DVI or postscript as an intermediate format. This method of compiling means that packages which work only with postscript will not function. However, in all cases considered documents making use of such packages will not transform anyway. Specific advice on using images in this context is given elsewhere in the document.

1.1.2 The transformations

The transformations will not be covered in this document, please see the separate document on the main project page.

It is more important to remember that what you are writing will be transformed. Most authors use LATEX  to produce PDF or hard-copy documents. Most authors will compile a document as they write to see precisely how it is formatted and make adjustments by hand — treating LATEX  as a strict typesetting tool. The act of transforming the LATEX  can destroy or alter much of the formatting and layout (consider a version delivered only in speech, or a format in a 20pt font size for instance).

Ideally, of course, you should proofread all output formats in use — and if the format supports speech then you should in addition proofread the speech output. However, practically speaking it is admitted that this is likely to be very time-consuming. Student feedback acknowledges this but recommends that at least a subset of the documents you produce are proofread in all formats. Authors are likely to find this a useful exercise as it can assist in the transition of mindset from using LATEX  to typeset an inflexible document to using it primarily to encode content and describe structure.

1.1.3 Very common transformation errors

Having ensured that only the packages, structures and symbols described in this document are used, errors with transformations when given a LATEX  document which compiles can still occur. The most common errors when performing the transformations, come from instances where LATEX  is, arguably, more permissive than expected or welcome. To avoid these problems ensure that following:

1.2 Writing a structured document

Content must be structured to ensure that transformations which produce html, xhtml or Word documents produce structured output that is useful for a screenreader / text-to-speech user and which aids navigation e.g. in large print versions. Another consideration is that very long structureless webpages are quite unnatural.

In structured LATEX, even in short documents, as much as the document as possible (all except paragraphed text interspersing the other elements) should be within an environment. For instance, hardcoded whitespace and numbering can be made to visually mimic an enumerate environment but structurally it is not equivalent. In longer documents sectioning commands should always be used rather than visually breaking up the text using only bold text (visually mimicking the sectioning commands) and white space. This will permit a table of contents and navigation assistance. In transformed formats it will permit the document to be broken down into shorter pieces and navigated directly.

The LATEX  file itself is used by students directly in two of the transformations. In one case with screenreader and Braille display accessing the LATEX  directly and in another case via an editor for students who need to be able to manipulate and add to the text. For these reasons the LATEX  should be as clean, structured and impersonal as possible. By clean and impersonal we aim to suggest that the LATEX  should no longer be considered as a personal format for the eyes and ease of the author only. For instance, macros should assist a reader to follow the text rather than simply be as short as possible! Macros should only be introduced if they are used and careful consideration given to whether they are necessary and whether they help or hinder the reader. Line breaks and whitespace will assist the reader to read more fluently and to edit the document with greater ease. Imagine that you are coming to the LATEX  document for the first time, you are not permitted to compile it, you are permitted to search and edit but you can only read one line at a time. Write the document you would like to read!

In the following sections the structuring commands, symbols and graphics manipulation available in the transformations, the requirements of using these and our advice on them is given.

2 Structures, navigation and text manipulation

You may lay out using the centering, flushleft and flushright commands however, this information will all be lost to a screenreader user.

Centered text.  
Flush left text.  
Flush right text.  

Centered text.

Flush left text.

Flush right text.

You may style short pieces of text using font size and text style commands however, this information will be lost to a screenreader user. Text should not be made smaller in order to fit it on a page width or height — this typesetting, rather than encoding of content, will not be retained in transformations. Nor should a mapping to a specific font size be inferred as the normalsize will be different in transformed documents. It should be remembered that such text may impede a partially sighted reader or a reader with a specific reading disability. In general \emph should be used for emphasis, to enable a reader reading the LATEX  to comprehend the intention and overridden so that this maps to bold to ensure clear print. Rather than using \texttt for text intended to be understood as verbatim the command \verb should be used, again, to enable a reader reading the LATEX  to comprehend the intention.

Commands used:

\tiny, \scriptsize, \footnotesize, \small, \normalsize,  
\large, \Large, \LARGE, \huge, \Huge  
\textrm, \rm, \textsc, \sc, \texttt, \tt, \textit, \it,  
\textsf, \sf, \textsl, \sl, \textbf, \bf

Standard text. Tiny text. Scriptsize text. Footnotesize text. Small text. Normalsize text. large text. Large text. LARGE text. huge text. Huge text.

Standard text. Roman text. Roman inline. Small caps text. Small caps inline. Typewriter text. Typewriter inline. Italics text. Italics inline. Sans serif text. San serif inline. Slant text. Slant inline. Bold text. Bold inline. A combination of bold and italic text. A combination inline of bold and inline italics.

Commands to add whitespace such as bigskip, medskip etc. can be used but again, may not be honoured in the transformation and the information will be lost to a screenreader user.

Newline commands including \\, \newline and \linebreak must not be used to manipulate the text layout as this can lead to significant layout problems under some transformations.

2.1 Taken from the comprehensive symbol list

These below special characters may be used in the text, all other text commands are untested.

Labels and references to structural elements may be using by inserting \label and \ref commands. When referring to another part of a document these should always be used to enable the transformations which break the document into parts to form crosslinks. This enables the reader to navigate and locate the information as required. For mathematical symbols, see the section 3.

2.2 Standard structures

2.2.1 Quotations

For block quotes the following quote environment should be used to provide adequate whitespace however, the space is lost to the screenreader user and so double quotes must also be used. Block quotes cannot be used within other environments.

“In the quote environment [paragraphs] are indicated with more vertical spacing between them.

Additional vertical spacing is inserted above and below the displayed text to separate it visually from the the normal text.”

Basic use of \cite with a non-bibtex bibliography is possible, bibtex is untested. The quotation above is from “A Guide to LATEX[3]. Footnotes3 can be used.

2.2.2 List environments

You may and should make use of the itemize list environment for bullet point lists. You cannot override the marker with, for instance, \item[\dag] or via any other method as this will not be preserved (best case) or result in significantly incorrect structure (worst case) on transformation. You may use the description environment for full override of markers (see below).

All list points should be punctuated e.g. with a full stop, comma, colon or semi-colon at the end of each line to ensure appropriate pauses for the screenreader or text-to-speech user.

Some environments cannot be used within a list environment as they are either lost on transformation (best case) or cause the compilation to fail (worst case). Quote, the equation environment, tables and images cannot be used within a list environment. Some environments, including verbatim, other list environments, unnumbered displayed math, eqnarray, gather and align do function correctly in this context.

You may use enumerate list, you cannot override the marker with, for instance, \item[(II)] or via any other method as this will not be preserved (best case) or result in significantly incorrect structure (worst case) on transformation. You may use the description environment for full override of markers (see below).

All list points should be punctuated e.g. with a full stop, comma, colon or semi-colon at the end of each line to ensure appropriate pauses for the screenreader or text-to-speech user.

  1. An enumerated list,
  2. using standard enumerate.
    1. With a level 2 sub-point.
      1. With a level 3 sub-point.
        1. With a level 4 sub-point.
      2. Punctuation is important for screenreaders and text to speech.

You may use the description environment if default itemize or enumerate will not suit your purposes. You will need to specify by hand all the descriptions. They should have a full stop after them to ensure that there is a pause for the screenreader user. You should not leave the descriptions blank via \item[] as this can be quite confusing when transformed to speech.

The marker is a description,
in the description environment.
It is optional but unhelpful to screenreaders to not include it.

2.2.3 Frames and rules

Frames, of any kind, cannot be used by several of the transformations. To break up text or to highlight an equation etc. it is appropriate to use a rule before and after instead. This could be encoded in a command if you wish. Only a 1pt height line is available in all formats so thicker rules will not be honoured.



2.2.4 Tables

You must use the tabular environment or the longtable environment and tables can be floated. Tabular must only be used for tables without column headings as tables may break across pages in large print. Left and right alignment within columns can be used, as can specified column widths however these will not be retained in other formats. Multicolumn, although possible is strongly advised against in most uses as the resultant table can be very confusing to read with a screenreader as the rows will have varying numbers of columns. Below and as table 1 is an example of a table that is possible but which a screenreader user would find very difficult to read.

\begin{tabular}{|l*{2}{c}l@{: }p{2cm}}  
%Content must start on a newline  
a & b & c & d & a+b+c+d\\  
\multicolumn{4}{|c}{empty} & ---\\  
$\frac{1}{2}$ & $\frac{1}{3}$ & $\frac{1}{4}$ & $\frac{1}{5}$  
& $\sum_{n=2}^5 \frac{1}{n}$ \\  
%All floats must have captions and labels and be referenced to  
%aid navigation  
\caption{This is a table}  

a b c d :



1 21 31 41 5:

n=25 1 n

Table 1: This is a table

Long table should be used for all tables which have column headings (and the headings should be defined), see above for comments about multicolumn however the below use of multicolumn is acceptable.

\begin{longtable}{*{3}{|l|}}%There must be a newline here  
\textbf{First} & \textbf{Second} & \textbf{Third} \\  
{\tablename\ \thetable\ -- \textit{Continued from previous page}} \\  
\textbf{First} & \textbf{Second} & \textbf{Third} \\  
\hline \multicolumn{3}{r}{\textit{Continued on next page}} \\  
This is the first line & & \\  
This is the second line & $1 \times 2$ & \\  
This is the third line & $1 \times 2 \times 3$ & $6$\\  
This is the fourth line & $1 \times 2 \times 3 \times 4$ & $24$\\  
This is the fifth line & $1 \times 2 \times 3 \times 4 \times 5$  
& $120$\\  
This is the sixth line & $1 \times 2 \times 3 \times 4 \times 5  
\times 6$ & $720$\\  
This is the seventh line & $1 \times 2 \times 3 \times 4 \times 5 \times 6  
\times 7$ & $5040$\\  
This is the eighth line & $1 \times 2 \times 3 \times 4 \times 5 \times 6  
\times 7 \times 8$ & $40320$\\  
& The & End\\  


This is the first line

This is the second line 1 × 2

This is the third line 1 × 2 × 36

This is the fourth line 1 × 2 × 3 × 424

This is the fifth line 1 × 2 × 3 × 4 × 5120

This is the sixth line 1 × 2 × 3 × 4 × 5 × 6720

This is the seventh line1 × 2 × 3 × 4 × 5 × 6 × 75040

This is the eighth line 1 × 2 × 3 × 4 × 5 × 6 × 7 × 840320

The End

2.2.5 Verbatim

Only the standard “vertabim” environment can be used. In other formats the text may have additional linebreaks to ensure that text does not overrun the right hand margin but all other facets of the layout will be honoured.

This text should be printed verbatim with a linebreak here  
  then two spaces at the start of this line which breaks here  
> this line has a prompt at the start and now some braces {}

You can also use the \verb command for inline verbatim. This will also linebreak in other formats for instance:

\verb=This is a piece of verbatim text which will break in large  

This is a piece of verbatim text which will break in large print.

2.2.6 Theorems etc.

Theorem declarations etc. should be given within a structured environment using the AMS theorem packages, not those from standard LATEX. Please load amsthm. The particular font and styling of these environments may be changed in the transformations. In some transformations the numbering is lost (fixing this problem is on the list of primary goals). Referencing a numbered theorem or similar should be done via use of \label and \ref but again, this won’t currently be retained in all transformations. This linking will also assist navigation.

Theorem 2.1 (Title of the theorem). This is a numbered theorem (within the section) in the standard style and hence this text is in italics.

Corollary 2.2. This is a numbered corollary (numbered with theorems) also in the standard style.

Proof.  This is a proof of theorem 2.1. This is what a proof looks like! □

Definition 2.1. This is a numbered definition (numbered within section but not with theorems) and in the “definition” style. The title and number should be bold but the rest of the text should be normal font.

Note. This is an unnumbered note and is in the “remark” style.

3 Standard mathematics symbols

What follows below is all of the symbols that we know to function correctly in the transformations explored. Use of any other symbol may result in output that cannot be read visually and / or that a screenreader / text-to-speech user cannot read. Please do not assume that all standard LATEX  codes and AMS codes can be used, this is by no means the case. There are particular problems with negated symbols.

3.1 Text and keyboard symbols

$\$$,  $\_$,  $\dots$,  $\{\}$,  $\S$

$, _, , {,}, §

$+$, $-$, $=$, $<$, $/$, $:$, $!$, $’$, $|$, $[,]$, $(,)$, $>$

+, , =, <, , :, !, , |, [, ], (, ), >

3.2 Standard

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

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

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

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

3.3 Greek

$\alpha$, $\beta$, $\gamma$, $\delta$, $\epsilon$, $\varepsilon$,  
$\zeta$, $\eta$, $\theta$, $\vartheta$, $\iota$, $\kappa$, $\lambda$,  
$\mu$, $\nu$, $\xi$, $o$, $\pi$, $\varpi$, $\rho$, $\varrho$,  
$\sigma$, $\varsigma$, $\tau$, $\upsilon$, $\phi$, $\varphi$, $\chi$,  
$\psi$, $\omega$

α, β, γ, δ, ϵ, ε, ζ, η, θ, ϑ, ι, κ, λ, μ, ν, ξ, o, π, ϖ, ρ, ϱ, σ, ς, τ, υ, ϕ, φ, χ, ψ, ω

3.3.1 Upper case
$\Gamma$, $\Delta$, $\Theta$, $\Lambda$, $\Xi$, $\Pi$, $\Sigma$,  
$\Upsilon$, $\Phi$, $\Psi$, $\Omega$

Γ, Δ, Θ, Λ, Ξ, Π, Σ, ϒ, Φ, Ψ, Ω

3.4 Calligraphic

Upper case only.

$\mathcal{A}$, $\mathcal{B}$, $\mathcal{C}$, $\mathcal{D}$,  
$\mathcal{E}$, $\mathcal{F}$, $\mathcal{G}$, $\mathcal{H}$,  
$\mathcal{I}$, $\mathcal{J}$, $\mathcal{K}$, $\mathcal{L}$,  
$\mathcal{M}$, $\mathcal{N}$, $\mathcal{O}$, $\mathcal{P}$,  
$\mathcal{Q}$, $\mathcal{R}$, $\mathcal{S}$, $\mathcal{T}$,  
$\mathcal{U}$, $\mathcal{V}$, $\mathcal{W}$, $\mathcal{X}$,  
$\mathcal{Y}$, $\mathcal{Z}$

𝒜, , 𝒞, 𝒟, , , 𝒢, , , 𝒥, 𝒦, , , 𝒩, 𝒪, 𝒫, 𝒬, , 𝒮, 𝒯, 𝒰, 𝒱, 𝒲, 𝒳, 𝒴, 𝒵

3.5 Binary operators

$\pm$, $\mp$, $\times$, $\div$, $\ast$, $\star$, $\dagger$,  
$\ddagger$, $\amalg$, $\cap$, $\cup$, $\uplus$, $\sqcap$,  
$\sqcup$, $\oplus$, $\ominus$, $\otimes$, $\circ$, $\diamond$,  
$\oslash$, $\odot$, $\bigcirc$, $\bigtriangleup$,  
$\bigtriangledown$, $\triangleleft$, $\triangleright$, $\setminus$,  
$\wr$, $\vee$, $\wedge$, $\land$, $\lor$

±, , ×, ÷, , , , , , , , , , , , , , , , , , , , , , , , , , , ,

3.6 Relations

$\ll$, $\sqsubseteq$, $\vdash$, $\gg$, $\sqsupseteq$, $\ni$, $\dashv$,  
$\perp$, $\neq$, $\doteq$, $\sim$, $\simeq$, $\asymp$, $\smile$,  
$\frown$, $\mid$, $\le$, $\leq$, $\subset$, $\subseteq$, $\in$, $\ge$,  
$\geq$, $\supset$, $\supseteq$, $\perp$, $\neq$, $\ne$, $\approx$,  
$\cong$, $\equiv$, $\propto$, $\prec$, $\preceq$, $\parallel$, $\|$,  
$\succ$, $\succeq$

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

3.6.1 Negated
$\not<$, $\not\leq$, $\not\vdash$, $\not\models$, $\not>$, $\not\geq$,  
$\not\cong$, $\not\sim$, $\not\subset$, $\not\subseteq$, $\not\in$,  
$\notin$, $\not\supseteq$, $\not=$, $\not\succ$, $\not\prec$,

, , , , , , , , , , , , , , , ,

3.7 Arrows

$\leftarrow$, $\gets$, $\Leftarrow$, $\rightarrow$, $\to$,  
$\Rightarrow$, $\leftrightarrow$, $\Leftrightarrow$, $\mapsto$,  
$\leftharpoonup$, $\leftharpoondown$, $\rightleftharpoons$,  
$\longleftarrow$, $\Longleftarrow$, $\longrightarrow$,  
$\Longrightarrow$, $\longleftrightarrow$, $\Longleftrightarrow$,  
$\iff$, $\longmapsto$, $ \rightharpoonup$, $\rightharpoondown$,  
$\uparrow$, $\Uparrow$, $\downarrow$, $\Downarrow$, $\updownarrow$,  
$\Updownarrow$, $\nearrow$, $\searrow$, $\swarrow$, $\nwarrow$

, , , , , , , , , , , , , =, , , , , , , , , , , , , , , , , ,

3.8 Other

$\aleph$, $\hbar$, $\ell$, $\wp$, $\Re$, $\Im$, $\prime$, $\emptyset$,  
$\nabla$, $\surd$, $\partial$, $\top$, $\vdash$, $\dashv$, $\forall$,  
$\exists$, $\flat$, $\natural$, $\sharp$, $\|$, $\angle$,  
$\backslash$, $\triangle$, $\clubsuit $, $\heartsuit$, $\spadesuit$,  
$\infty$, $\bot$,  
$\neq$, $\|$

, , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

3.9 Symbols with two sizes

$\sum$, $\int$, $\oint$, $\prod$, $\coprod$, $\cdot \bigsqcup$,  
$\bigodot$, $\bigotimes$, $\bigoplus$, $\biguplus$, $\bigvee$,  
$\bigwedge$, $\bigcap$, $\bigcup$  
$$\sum, \int, \oint, \prod, \coprod, \cdot \bigsqcup, \bigodot,  
\bigotimes, \bigoplus, \biguplus, \bigvee, \bigwedge, \bigcap_{A},  

, , , , , , , , , , , , A, A

,, , , , , , , , , , , A, A

3.10 Function names

$\arccos$, $\arcsin$, $\arctan$, $\arg$, $\cos$, $\cosh$, $\cot$,  
$\coth$, $\csc$, $\deg$, $\det$, $\dim$, $\exp$, $\gcd$, $\hom$,  
$\inf$, $\ker$, $\lg$, $\lim$, $\liminf$, $\limsup$, $\ln$, $\log$,  
$\max$, $\min$, $\Pr$, $\sec$, $\sin$, $\sinh$, $\sup$, $\tan$,  

arccos, arcsin, arctan, arg, cos, cosh, cot, coth, csc, deg, det, dim, exp, gcd, hom, inf, ker, lg, lim, liminf, limsup, ln, log, max, min, Pr, sec, sin, sinh, sup, tan, tanh

3.10.1 Those with under-subscript available
$\det_{a}$, $\gcd_{a}$, $\inf_{a}$, $\lim_{a}$, $\liminf_{a}$,  
$\limsup_{a}$, $\max_{a}$, $\min_{a}$, $\Pr_{a}$, $\sup_{a}$

det a, gcd a, inf a, lim a, liminf a, limsup a, max a, min a, Pr a, sup a

3.10.2 Modulus

It is recommended that you redefine your own modulus operators or use:

$a~\mathrm{mod}~b$, $a~(\mathrm{mod}~b)$

amodb, a(modb)

As the following are not read correctly by screenreaders in transformation:

$a \bmod b$, $a \pmod{b}$

a mod b, a(modb)

3.11 Accents and under/over

$\hat{a}$, $\check{a}$, $\breve{a}$, $\acute{a}$, $\ddot{a}$,  
$\grave{a}$, $\tilde{a}$, $\mathring{a}$, $\bar{a}$, $\overline{aaa}$,  
$\underline{aaa}$, $\dot{a}$, $\vec{a}$

â, ǎ, ă, á, ä, à, ã, å, ā, aaa¯, aaa̲, ȧ, a

3.12 Symbols left and right can be applied to

$$\left( \dfrac{1}{2} \right), \left[ \dfrac{1}{2} \right],  
\left\{ \dfrac{1}{2} \right\}, \left| \dfrac{1}{2} \right|$$

1 2 , 1 2 , 1 2 , 1 2

3.13 Dots

$a \ldots a$,  $a \vdots a$, $a \cdots a$,  $a \ddots a$

aa, aa, aa, aa

3.14 Spacing

Spacing commands can be used but are lost in some transformations, nor are they read by a screenreader. Generally it is better to let LATEX  do the spacing for you if at all possible. Spacing commands should not be used for layout purposes as in a typesetting mode but only in cases where the spacing within mathematics is visually unusual.

$|~|\,|\:|\;|\quad | \qquad |$


4 AMS mathematics symbols

4.1 Blackboard bold

Upper case only.

$\mathbb{A}$, $\mathbb{B}$, $\mathbb{C}$, $\mathbb{D}$, $\mathbb{E}$,  
$\mathbb{F}$, $\mathbb{G}$, $\mathbb{H}$, $\mathbb{I}$, $\mathbb{J}$,  
$\mathbb{K}$, $\mathbb{L}$, $\mathbb{M}$, $\mathbb{N}$, $\mathbb{O}$,  
$\mathbb{P}$, $\mathbb{Q}$, $\mathbb{R}$, $\mathbb{S}$, $\mathbb{T}$,  
$\mathbb{U}$, $\mathbb{V}$, $\mathbb{W}$, $\mathbb{X}$, $\mathbb{Y}$,  

𝔸, 𝔹, , 𝔻, 𝔼, 𝔽, 𝔾, , 𝕀, 𝕁, 𝕂, 𝕃, 𝕄, , 𝕆, , , , 𝕊, 𝕋, 𝕌, 𝕍, 𝕎, 𝕏, 𝕐,

4.2 Math script

Upper case only.

$\mathscr{A}$, $\mathscr{B}$, $\mathscr{C}$, $\mathscr{D}$,  
$\mathscr{E}$, $\mathscr{F}$, $\mathscr{G}$, $\mathscr{H}$,  
$\mathscr{I}$, $\mathscr{J}$, $\mathscr{K}$, $\mathscr{L}$,  
$\mathscr{M}$, $\mathscr{N}$, $\mathscr{O}$, $\mathscr{P}$,  
$\mathscr{Q}$, $\mathscr{R}$, $\mathscr{S}$, $\mathscr{T}$,  
$\mathscr{U}$, $\mathscr{V}$, $\mathscr{W}$, $\mathscr{X}$,  
$\mathscr{Y}$, $\mathscr{Z}$

𝒜, , 𝒞, 𝒟, , , 𝒢, , , 𝒥, 𝒦, , , 𝒩, 𝒪, 𝒫, 𝒬, , 𝒮, 𝒯, 𝒰, 𝒱, 𝒲, 𝒳, 𝒴, 𝒵

4.3 Math Frak

Upper case only.

$\mathfrak{A}$, $\mathfrak{B}$, $\mathfrak{C}$, $\mathfrak{D}$,  
$\mathfrak{E}$, $\mathfrak{F}$, $\mathfrak{G}$, $\mathfrak{H}$,  
$\mathfrak{I}$, $\mathfrak{J}$, $\mathfrak{K}$, $\mathfrak{L}$,  
$\mathfrak{M}$, $\mathfrak{N}$, $\mathfrak{O}$, $\mathfrak{P}$,  
$\mathfrak{Q}$, $\mathfrak{R}$, $\mathfrak{S}$, $\mathfrak{T}$,  
$\mathfrak{U}$, $\mathfrak{V}$, $\mathfrak{W}$, $\mathfrak{X}$,  
$\mathfrak{Y}$, $\mathfrak{Z}$

𝔄, 𝔅, , 𝔇, 𝔈, 𝔉, 𝔊, , , 𝔍, 𝔎, 𝔏, 𝔐, 𝔑, 𝔒, 𝔓, 𝔔, , 𝔖, 𝔗, 𝔘, 𝔙, 𝔚, 𝔛, 𝔜,

4.4 AMS arrows

$\leftleftarrows$, $\leftrightarrows$, $\Lleftarrow$,  
$\twoheadleftarrow$, $\leftarrowtail$, $\looparrowleft$,  
$\leftrightharpoons$, $\curvearrowleft$, $\circlearrowleft$, $\Lsh$,  
$\upuparrows$, $\upharpoonleft$, $\downharpoonleft$, $\multimap$,  
$\leftrightsquigarrow$, $\rightrightarrows$, $\rightleftarrows$,  
$\Rrightarrow$, $\twoheadrightarrow$, $\rightarrowtail$,  
$\looparrowright$, $\rightleftharpoons$, $\curvearrowright$,  
$\circlearrowright$, $\Rsh$, $\downdownarrows$, $\upharpoonright$,  
$\downharpoonright$, $\rightsquigarrow$

, , , , , , , , , , , , , , , , , , , , , , , , , , , ,

4.4.1 AMS negated arrows
$\nleftarrow$, $\nrightarrow$, $\nLeftarrow$, $\nRightarrow$,  
$\nleftrightarrow$, $\nLeftrightarrow$

, , , , ,

4.5 AMS binary operators

$\dotplus$, $\Cup$, $\barwedge$, $\veebar$, $\boxminus$, $\boxtimes$,  
$\boxplus$, $\divideontimes$, $\ltimes$, $\rtimes$, $\leftthreetimes$,  
$\rightthreetimes$, $\curlywedge$, $\curlyvee$, $\circledast$,  
$\circledcirc$, $\intercal$, $\Cap$

, , , , , , , , , , , , , , , , ,

4.6 AMS Greek and Hebrew letters

$\varkappa$, $\beth$, $\daleth$, $\gimel$

ϰ, , ,

4.7 AMS delimiters

$\ulcorner$, $\urcorner$, $\llcorner$, $\lrcorner$

, , ,

4.8 AMS relations

$\leqq$, $\eqslantless$, $\lesssim$, $\approxeq$, $\lessdot$, $\lll$,  
$\lessgtr$, $\doteqdot$, $\risingdotseq$, $\fallingdotseq$,  
$\backsimeq$, $\Subset$, $\sqsubset$, $\curlyeqprec$,  
$\trianglelefteq$, $\vDash$, $\Vvdash$, $\smallsmile$, $\smallfrown$,  
$\bumpeq$, $\Bumpeq$, $\geqq$, $\eqslantgtr$, $\gtrsim$, $ \gtrdot$,  
$\ggg$, $\gtrless$, $\eqcirc$, $\circeq$, $\triangleq $, $\Supset$,  
$\sqsupset$, $\curlyeqsucc$, $ \trianglerighteq$, $\Vdash$,  
$\pitchfork$, $\therefore$, $\because$, $\varpropto$, $\backepsilon$

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

4.8.1 AMS negated relations
$\nless$, $ \lneqq$, $\lnsim$, $ \precnsim$, $\nsim$, $ \nvdash$,  
$\nvDash$, $\ntriangleleft$, $\ntrianglelefteq$, $\subsetneq$, $  
\ngtr$, $ \gneqq$, $ \gnsim$, $\ncong$, $ \nparallel$, $\nvDash$,  
$\nVDash$, $\ntriangleright$, $\ntrianglerighteq$, $\supsetneq$,  
$\nprec$, $\nmid$, $\nleqslant$, $\ngeqslant$, $\nsucc$, $\succnsim$

, , , , , , , , , , , , , , , , , , , , , , , , ,

4.9 AMS other

$\hbar$, $\hslash$, $\square $, $\circledS$, $\angle$,  
$\measuredangle$, $\nexists$, $\mho$, $\Finv$, $\backprime$,  
$\varnothing$, $ \blacksquare$, $\sphericalangle$, $\complement$

, , , , , , , , , , , , ,

4.10 AMS multiple symbols

\sum_{\substack{p_1p_2\cdots p_{n}\\p_i \text{is prime}}}$$

12, p1p2pn piis prime

4.11 AMS dots

Dots can be based on the surrounding text, if there is no right hand end to the dots then the type must be specified.

$x_1, x_2, \dots x_n$, $x_1 + x_2 + \dots + x_n$, $x_1,x_2, \dotsc$,  
$x_1 + x_2 + \dotsb$, $x_1 \cdot x_2 \dotsm$, $\iint \dotsi$

x1,x2,xn, x1 + x2 + + xn, x1,x2,, x1 + x2 + , x1 x2,

4.12 Vertical bars

\left\lvert \frac{1}{2}\right\rvert \left\lVert \frac{1}{2}\right\rVert  

1 2 1 2

4.13 AMS function names and newcommand

Extra function names and using newcommand: lim¯, lim̲, lim, lim, boonN

4.14 AMS modulus

It is recommended that you redefine your own modulus operator or use the below structure as the output from the commands is not read correctly by a screenreader on transformation.

$a~\mathrm{mod}~b$, $a~ (b)$

amodb, a(b)

The following are not read correctly:

$a \mod{b}$, $a \pod{b}$

amodb, a(b)

5 Standard mathematical structures

The equation counter should be set to 0 at the start of all sections and subsections that contain equations.


You may use any of the three single dollar equivalent environments. Any mathematics contained in such structures will not be reflowed in the transformation to large print. They should not be used for anything that is longer than a few words. Encode each separate mathematical “thought” within it’s own dollars. Each time you exit math mode the line-breaking algorithm has a chance to break the line.

\begin{math}A_{i,j,k}^{2^n}\end{math}, \(A_{i,j,k}^{2^n}\),  

Ai,j,k2n , Ai,j,k2n, Ai,j,k2n

5.1 Display math

Four different ways to display math can all be used. They must be used for equations of any significant length as these forms can be line broken under relevant transformations. Hence, the visually identical use of centre, single dollar and \displaymath is not structurally the same and should not be used.

You may label numbered equations; you cannot use \tag, \notag (AMS) or change the equation counter in any way except that required above or the equation numbering in the various formats will not match (though there would be internal document consistency in each of the formats).

Do not put full line comments in display math mode and do not finish with a \\ as both can result in problems with transformation.

All displaymath environments are capable of being reflowed in output formats that are reflow capable. The line breaks that are specified will always be retained but additional line break will occur as necessary. Hence, it is important to enclose in braces any subpart of the equation that must not be broken. Line breaks are most likely to occur at relations and binary operators, they can occur within brackets. In some reflow algorithms the algorithm will attempt to align relations. Hence, if you are encoding a condition e.g.

x = y \mbox{if} y = 0

the condition should be in braces to prevent this i.e.

x = y \mbox{if} {y=0}.

Line breaks cannot occur within mbox or text blocks. Line breaks occur at commas or whitespace but could in some formats in the future. It is important to consider whether your equations have adequate line breaking opportunities. If not you will need to line break the equation by hand for use at a larger font size.

\begin{equation}\label{equation} \sum_{i=1}^{15} x_i^2 = x_1^2 + x_2^2  
+ x_3^2 + x_4^2 + x_5^2 + x_6^2 + x_7^2 + x_8^2 + x_9^2 + x_{10}^2 +  
x_{11}^2 + x_{12}^2 + x_{13}^2 + x_{14}^2 + x_{15}^2  
\begin{displaymath} x_1^2 = x_2^2 = x_3^2 = x_4^2 = x_5^2 = x_6^2 =  
x_7^2 = x_8^2 = x_9^2 = x_{10}^2 = x_{11}^2 = x_{12}^2 = x_{13}^2 =  
x_{14}^2 = x_{15}^2  
\[ \prod_{i=1}^{15} x_i^2 = x_1^2\ x_2^2\ x_3^2\ x_4^2\ x_5^2\  
\ x_6^2\ x_7^2\ x_8^2\ x_9^2\ x_{10}^2\ x_{11}^2\  
x_{12}^2\ x_{13}^2\ x_{14}^2\ x_{15}^2\  
\prod_{i=1}^{15} x_i^2 = x_1^2 \cdot x_2^2 \cdot x_3^2 \cdot x_4^2  
\cdot x_5^2 \cdot x_6^2 \cdot x_7^2 \cdot x_8^2 \cdot x_9^2 \cdot  
x_{10}^2 \cdot x_{11}^2 \cdot x_{12}^2 \cdot x_{13}^2 \cdot x_{14}^2  
\cdot x_{15}^2  

i=115x i2 = x 12+x 22+x 32+x 42+x 52+x 62+x 72+x 82+x 92+x 102+x 112+x 122+x 132+x 142+x 152 (5.1.1)
x12 = x 22 = x 32 = x 42 = x 52 = x 62 = x 72 = x 82 = x 92 = x 102 = x 112 = x 122 = x 132 = x 142 = x 152

i=115x i2 = x 12x 22x 32x 42x 52x 62x 72x 82x 92x 102x 112x 122x 132x 142x 152

i=115x i2 = x 12x 22x 32x 42x 52x 62x 72x 82x 92x 102x 112x 122x 132x 142x 152

One of the forms above is a numbered equation 5.1.1 and can be labelled and referenced via \ref, \eqref cannot be used.

You can use the eqnarray and eqnarray* environments. Currently one of the transformations won’t number the numbered version of this environment. This is a very recently reported bug in software which is being actively developed. It may well be fixed by the time you need to use it.

As noted above your linebreaks will be honoured but your alignment might not be in some transformations. Extra linebreaks might be inserted! See comments above on how to work in this environment.

You must put in both ampersands on each line or some transformations will not function — specifically in office formats the below always transforms to an array-like structure with 3 columns. If the columns aren’t all present in the original this causes significant layout problems.

Text can be placed in eqnarray etc. however line breaking cannot break \mbox so the text must be as short as possible.

\begin{eqnarray}\label{eqnarrayref} \sum_{i=1}^{13} 2^i &=& 2^1 + 2^2  
+ 2^3 + 2^4 + 2^5 + 2^6 + 2^7 + 2^8 + 2^9 + 2^{10} + 2^{11} + 2^{12} +  
&=&2 + 4 + 8 + 16 + 32 + 64 + 128 + 256 + 512 + 1024  
+ 2048 + 4096 + 8192 \nonumber\\  
&=&16382 \qquad\mbox{text in formulas does not break}  

i=1132i = 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 210 + 211 + 212 + 213 = 2 + 4 + 8 + 16 + 32 + 64 + 128 + 256 + 512 + 1024 + 2048 + 4096 + 8192 = 16382text in formulas does not break (5.1.2)

Here is a reference to the above equation (5.1.2).

5.2 Two dimensional structures

Arrays are possible, however it is not possible to line break an array. Ensure that you do not use math array for structures that really should be tables each cell of which includes mathematics. Small arrays are fine:

\left[\begin{array}{cc} a_{11} & a_{12}\\ a_{21} & a_{22}  

a11a12 a21 a22

Larger arrays will take some thought — below is the widest array that can be typeset in 20pt on A4 paper. If your array is wider you will need to consider elision. Consider also how hard it would be for a screenreader user to make sense of such a large array in a format that does not permit for navigation but only for a reading from start to finish row by row. In this specific case a substantial amount of time and energy would be wasted working out what matrix was being considered, though, of course, the example was picked to be extreme.

In general, unless writing out the full structure is required for teaching reasons or because the concise form hides too much information for the current purpose it is best to elide or semi-elide all large two dimensional structures. In cases where it is not possible to elide offering up a sentence before the structure is introduced to give the reader some guidance as to what they are about to read can be helpful. This will also permit a reader using large print to notice that columns are missing (for instance) e.g. the 10 by 10 sparse matrix with the diagonal as the main interest point:

2 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\  
0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\  
0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\  
0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\  
0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\  
0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\  
0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\  
0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\  
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\  
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\  

20000000000 100000000 0 0100000000 001000000 0 0001000000 000010000 0 0000010000 000000100 0 0000000100 000000001

Arrays will not be line broken or mis-aligned:

abcd ef g hi = aei+bfg+cdhcegbdiafh (5.2.1)

Even with used within an eqnarray which could be:

210 0 2 1 0 02 = 2 2 2 + 1 1 0 + 0 0 0 0 2 0 1 0 2 2 1 0 = 8 + 0 + 0 0 0 0

In one reflow capable format used for hard copy large print lines cannot reflow within a root symbol. To permit line breaking in this format the \sqrt[]{} command is overridden (see the preamble section). Please note that in a setting in which students are learning about the equivalence of these notations this override command should be removed from the preamble and great care must be taken with line length within the root. The command is used as standard. In some formats the two equations below will be notationally identical and in others they will not be.

i=113xi2 = x1 2 + x2 2 + x3 2 + x4 2 + x5 2 + x6 2 + x7 2 + x8 2 + x9 2 + x10 2 + x11 2 + x12 2 + x13 2

i=113xi2 = x12 + x 22 + x 32 + x 42 + x 52 + x 62 + x 72 + x 82 + x 92 + x 102 + x 112 + x 122 + x 132 1 2

a + b + c + d e 5 + f3

Stackrel can be used to stack any of the symbols mentioned earlier:



It is possible to produce other 2 dimensional structures that cannot be linebroken (see below). Again, elision would be required for very large print and to enhance readability for a screenreader user. Some line breaking algorithms will break at the first plus of the second continued fraction, this would result in a misleading layout hence braces are required around each of the structures. This leaves no point at which to line break. The following can be displayed at 20pt on A4 paper but anything larger could not. This is another situation where elision is required for both display and to ensure that the structure can be understood efficiently by a screenreader user.

{a + \frac{1}{b + \frac{1}{c + \frac{1}{d + \frac{1}  
{e + \frac{1}{f + \frac{1}{g + \frac{1}{h}}}}}}}} \qquad  
{a + \frac{1}{\displaystyle b + \frac{1}  
{\displaystyle c + \frac{1}{\displaystyle d + \frac{1}  
{\displaystyle e + \frac{1}{\displaystyle f + \frac{1}  
{\displaystyle g + \frac{1}{h}}}}}}}}  

a + 1 b + 1 c+ 1 d+ 1 e+ 1 f+ 1 g+ 1ha + 1 b + 1 c + 1 d + 1 e + 1 f + 1 g + 1 h

Finally we test the newcommands defined in the preamble. These use subscript and superscript within them. The definitions of such newcommands need to be copied and pasted into the configuration file for two of the transformations.

\xsb \xsp \xsbnum{2}  

x1x2x 2

6 AMS mathematical structures

Many of the AMS mathematical display environments are designed to give the user greater or complete control of structural layout. The typesetting nature of the environments is so strong that using these can be problematic as the user may rely on the layout to convey information or to guide the reader. The transformations to large print which reflow and can lose alignment and any speech output will not convey the original structure. While some environments are included as possibilities these effects must be recalled and output proofread.

\tag cannot be used; neither can \notag cannot be used — use \nonumber instead if necessary.

All comments about eqnarray above hold in these environments excepting that there is no requirement to include any number of ampersands.

6.1 Split

Split is used within other display modes and is meant for splitting single equations which do not fit on one line but allows alignment between lines. Numbering from the external mode will apply to the entire split as one line. In transformed large print forms supporting reflow additional line breaking might occur and any alignment might be lost.

\sum_{i=1}^{15} x_i^2 =& x_1^2 + x_2^2 + x_3^2 + x_4^2 + x_5^2 \\  
&+ x_6^2 + x_7^2 + x_8^2 + x_9^2 + x_{10}^2+ x_{11}^2 + x_{12}^2  
+ x_{13}^2 + x_{14}^2 + x_{15}^2  

i=115x i2 =x 12 + x 22 + x 32 + x 42 + x 52 + x62 + x 72 + x 82 + x 92 + x 102 + x 112 + x 122 + x 132 + x 142 + x 152 (6.1.1)

6.2 Gather

Switches to mathmode and centers each line without alignment. Additional line breaking might occur, unintended alignment might occur.

\sum_{i=1}^{15} x^i = x^1 + x^2 + x^3 + x^4 + x^5 + x^6 + x^7  
+ x^8 + x^9 + x^{10} + x^{11} + x^{12} + x^{13} + x^{14} + x^{15}\\  
2^1 + 2^2 + 2^3 + 2^4 + 2^5 + 2^6 + 2^7 + 2^8 + 2^9 + 2^{10}  
+ 2^{11} + 2^{12} + 2^{13} + 2^{14} + 2^{15}\nonumber  

i=115xi = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10 + x11 + x12 + x13 + x14 + x15 (6.2.1) 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 210 + 211 + 212 + 213 + 214 + 215

And we can reference the equation using label and ref (6.2.1).

6.3 Align

For use with multiple equations with horizontal alignment (usually on the equals sign or equivalent). Each line is split into aligned columns with the odd numbered columns being right justified and the even numbered left justified {rl rl rl...}.

Due to the problems with numbered eqnarray in one format (see above) and because so many people use the align environment it is included here for “basic” use (i.e. equivalent use to eqnarray effectively). Any use beyond this is effectively an array type environment which relies on correct alignment and strict line breaking. In some transformations all such alignment will be lost and additional line breaking will occur if required. If you require such an environment in which this will not happen then use an array or matrix.

\sum_{i=1}^{13} 2^i &= 2^1 + 2^2 + 2^3 + 2^4 + 2^5 + 2^6  
+ 2^7 + 2^8 + 2^9 + 2^{10} + 2^{11} + 2^{12} + 2^{13}\\  
&\quad \text{some calculator use later:}\nonumber\\  
&=2 + 4 + 8 + 16 + 32 + 64 + 128 + 256 + 512 + 1024  
+ 2048 + 4096 + 8192 \nonumber\\  
&=16382 \qquad\text{text in formulas does not break}  

i=1132i = 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 210 + 211 + 212 + 213 (6.3.1) some calculator use later: = 2 + 4 + 8 + 16 + 32 + 64 + 128 + 256 + 512 + 1024 + 2048 + 4096 + 8192 = 16382text in formulas does not break (6.3.2)

6.4 Cases

It is easier to produce some equations using cases. This is used when already in mathmode. It is possible to use the cases environment and it will not be interfered with by line breaking hence it should only be used for relatively narrow structures that will not need line breaking at any realistic font size.

f(x) = x2 if x 0 x if x < 0

6.5 Two dimensional structures

Fraction commands: display style in text style – \dfrac{1}{2}, 1 2 – and specialist commands can be used subject to notes on continued fractions elsewhere in the document.

\binom{n}{k} \quad \tbinom{n}{k}  
\tfrac{1}{2} \quad  
a + \cfrac{1}{b + \cfrac{1}{c + \cfrac{1}{d + \cfrac{1}  
{e + \cfrac{1}{f + \cfrac{1}{g + \cfrac{1}{h}}}}}}}  

n kn k (6.5.1)
1 2a + 1 b + 1 c + 1 d + 1 e + 1 f + 1 g + 1 h (6.5.2)

Matrices can be displayed in text via

$\left(\begin{smallmatrix} a & b & c \\ d & e & f  

and will look like a b c d e f or in display mode with 6 different commands.

In the below you must include the ampersands of an eqnarray, as mentioned in the appropriate section, to prevent problems in the transformation to office documents.

&&\begin{matrix} r & s & t \\ u & v & w \\ x & y & x  
\begin{pmatrix} r & s & t \\ u & v & w \\ x & y & x  
\begin{bmatrix} r & s & t \\ u & v & w \\ x & y & x  
&&\begin{Bmatrix} r & s & t \\ u & v & w \\ x & y & x  
\begin{vmatrix} r & s & t \\ u & v & w \\ x & y & x  
\begin{Vmatrix} r & s & t \\ u & v & w \\ x & y & x  

rstuvw xyx rstu v w xyx rstu v w xyx rstu v w xyx rstu v w xyx rstu v w xyx

7 Graphics

All pictures and graphics must be floats to allow the different transformation formats to deal with them in the way they require. Always include “!p” in the float command to ensure that there is enough freedom in the placement. Ideally “h” should be included to minimise the number of diagrams that are not in situ, inclusion of “t” and “b” where possible will give the maximum amount of flexibility.

For transformed formats aimed at screenreader use all images require an “alt tag” containing a full text description of the diagram. Not all transformed formats can be provided with this information but commands have been created in the configuration files for those that can in order to make use of the information. Examples are given in the subsequent sections.

7.1 Picture environment

This section looks only at graphics available without graphics packages, that is, internal to standard LATEX. Kopka and Daly [3] explain that “Standard LATEX  does actually contain the means to make primitive drawings on its own”.

The unitlength has to be set before the picture environment can be used. In order that this works in the transformations the length must be 1pt.


The \PICalt wrapper on the picture environment allows the creation of an alt tag which is the whole picture command itself. This may be an acceptable way to produce very simple pictures directly in LATEX. A screenreader user would effectively have to imagine what the picture looked like from the description of the parts. If you can’t do this then neither can they! As a rule of thumb therefore, don’t use the method to encode anything that you get wrong the first time you tried to encode it. All floats such have a caption, label and reference in the text to support navigation. There is an example picture (Figure. 1) below.

\framebox(320,100){Not made earlier!}  
\caption{Example of picture environment}\label{picture1}  

 \begin {picture}(320,100) \framebox (320,100){Not made earlier!} \put (0,0){\vector (-1,1){20}} \put (0,100){\vector (-1,-1){20}} \put (-320,100){\vector (1,-1){20}} \put (-320,0){\vector (1,1){20}} \put (-80,50){\circle {100}} \put (-240,50){\circle {100}} \put (-160,50){\oval (100,30)} \put (-320,50){\line (1,0){80}} \put (0,50){\line (-1,0){80}} \qbezier (-240,0)(-160,50)(-80,0) \end {picture}

Figure 1: Example of picture environment

7.2 Commutative diagrams

7.2.1 array

Currently it is not possible to support any of the specialist commutative diagram packages as each one causes problems with one or more transformations. Current advice is to use array as in figure 2. However it is acknowledged that labelled diagonal arrows cannot be produced.

The command \PICalt is again providing the full LATEX  description to the screenreader user as an alt tag. Again, this is likely only to be acceptable for relatively simple diagrams. A side effect of this is that & must not be used directly as this will produce & in xhtml transformed formats and this is a protected character in xhtml. The simplest work round for this is to define, for instance, \tab to be & and use this instead. The commands for producing mappings are cumbersome to read directly and so macros are provided to improve the reading of the raw LATEX  and hence also the alt tag.

This below must contain a full begin and end math environment otherwise the transformation of the alt tag is not completed correctly resulting in no output for the entire transformation.

 \begin {equation*} \begin {array}{ccc} A\tab \mapright {f} \tab B \\ \mapdown {g} \tab \tab \mapdown {g'} \\ A^* \tab \mapright {f^*} \tab B^* \end {array} \end {equation*}

Figure 2: Commuting diagram

7.3 Graphicx package

The following are the tested methods for including images of various formats which will enable the images to be available in the transformed versions. When using these methods we should be able to directly insert jpg (figure 3), png (figure 4) and pdf (figure 5) formats. The accepted method for working with eps format and psfrag in this context is also given below for reference.

For included graphics an alt tag should be defined. This should include a full description of the image for a screenreader user. For images included via the graphicx package a command \nextalt is provided in a local configuration file. This should be used directly before inclusion of the image.

All includegraphics commands must include the file extension and a value for the required angle and the width. No other rotation method should be used. All figure widths need to be in terms of a multiple of the current textwidth to ensure that large print formats can produce a realistic estimate of the necessary size of the image in the transformation. You must set the width before you alter the angle because angle alters the textwidth value.

\nextalt{This is an alt text for the following image $4$!}  
\includegraphics[width=\textwidth, angle=0]{smile1.jpg}  
\caption{A jpg}\label{jpg}  
\nextalt{This is an alt text for the following png image $4$!}  
\includegraphics[width=\textwidth, angle=0]{smile2.png}  
\caption{A png}\label{png}  
\nextalt{This is an alt text for the following pdf image $4$!}  
\includegraphics[width=\textwidth, angle=0]{smile3.pdf}  
\caption{A pdf}\label{pdf}  

This is an alt text for the following image $4$!

Figure 3: A jpg

This is an alt text for the following png image $4$!

Figure 4: A png

This is an alt text for the following pdf image $4$!

Figure 5: A pdf

7.3.1 EPS and psfrag

You may not include EPS format directly. If you have EPS format graphics and cannot convert these because you need to use psfrag for the text then the following is the quoted, recommended strategy from “Using Imported Graphics in LATEX  and pdfLateX” [4, p.49].

  1. For each graphic that uses psfrag, create a separate LATEX  file containing the psfrag commands and the \includegraphics command. You must use \pagestyle{empty} to prevent page numbers from being placed on the page.

    Assume these psfrag LATEX  files are named


  2. At the operating system command line, perform the following steps:
    latex GraphicFrag00.tex  
    dvips -E GraphicFrag00  
    epstool --copy --bbox GraphicFrag00.ps GraphicFrag00.eps  
    epstopdf GraphicFrag00.eps

    The first command creates GraphicFrag00.dvi. The second command creates GraphicFrag00.ps. The third command calculates the BoundingBox for GraphicFrag00.ps and inserts the BoundingBox and contents of GraphicFrag00.ps into GraphicFrag00.eps. The last command converts GraphicFrag00.eps into pdf format.

  3. Repeat step 2 for GraphicFrag01.tex, ...
  4. Use \includegraphics to include the resulting pdf files GraphicFrag00.pdf, GraphicFrag01.pdf, ... into the original LATEX  file.
  5. Process the LATEX  file with pdflatex.

In step 4 you should use the method given above for including PDFs. Please note that if you do this you will need to create large print versions of each PDF with the appropriate fontsize set using extsizes.

8 Basic bibliography

A basic bibliography can be referenced. BibTeX is untested.

\ifplastex %required  
\section*{References} %required  
\fi %required  
\bibitem{RNIB} RNIB, \emph{Clear Print}.  
accessibleinformation/text/pages/clear_print.aspx}, 2011  
\bibitem{Hildebrand} Hildebrand, A.J., \emph{Macros},  
tips-macros.html}, 2011  
\bibitem{KopkaDaly} Kopka, H. and Daly, P., \emph{A Guide to  
\LaTeX}. Pearson Education Ltd., 1999  
\bibitem{Reckdahl} Rechdahl, K., \emph{Using Imported Graphics in  
LaTeX and pdfLateX}, 2006  

All that is left is to reference an equation used a while ago (6.3.1) to convince the reader that references work across pages of transformed formats which break the document into parts.

Finally, I \clearpage prior to the references to flush the floats.


[1]   RNIB, Clear Print. http://www.rnib.org.uk/professionals/accessibleinformation/text/pages/clear_print.aspx, 2011

[2]   Hildebrand, A.J., Macros, http://www.math.uiuc.edu/~hildebr/tex/tips-macros.html, 2011

[3]   Kopka, H. and Daly, P., A Guide to LATEX. Pearson Education Ltd., 1999

[4]   Rechdahl, K., Using Imported Graphics in LATEX  and pdfLateX, 2006