The Bibliography Latex Package Siunitx

This is an incomplete list of useful packages that can be used for a wide range of different kind of documents. Each package has a short description next to it and, when available, there is a link to a section describing such package in detail. All of them (unless stated) should be included in your LaTeX distribution as package_name.sty. For more information, refer to the documentation of the single packages, as described in Installing Extra Packages.

The list is in alphabetical order.

amsmathIt contains the advanced math extensions for LaTeX. The complete documentation should be in your LaTeX distribution; the file is called amsdoc, and can be dvi or pdf. For more information, see the chapter about Mathematics. Successed by package described below.
amssymbIt adds new symbols in to be used in math mode.
amsthmIt introduces the proof environment and the command. For more information see the Theorems section.
arrayIt extends the possibility of LaTeX to handle tables, fixing some bugs and adding new features. Using it, you can create very complicated and customized tables. For more information, see the Tables section.
babelIt provides the internationalization of LaTeX. It has to be loaded in any document, and you have to give as an option the main language you are going to use in the document. For more information see the Internationalization section.
biblatexAdvanced bibliography handling. It is the package to use for writing a thesis.
bmAllows use of bold greek letters in math mode using the command. This supersedes the amsbsy package.
booktabsprovides ex­tra com­mands as well as be­hind-the-scenes op­ti­mi­sa­tion for producing tables. Guide­lines are given as to what con­sti­tutes a good ta­ble in the package documentation.
boxedminipageIt introduces the boxedminipage environment, that works exactly like minipage but adds a frame around it.
captionAllows customization of appearance and placement of captions for figures, tables, etc.
cancelProvides commands for striking out mathematical expressions. The syntax is


chemmacrosPart of a bundle to typeset chemistry easily and consistent.
changepageTo easily change the margins of pages. The syntax is

All the arguments can be both positive and negative numbers; they will be added (keeping the sign) to the relative variable.

cleverefEn­hances LaTeX's cross-ref­er­enc­ing fea­tures, al­low­ing the for­mat of ref­er­ences to be de­ter­mined au­to­mat­i­cally ac­cord­ing to

the type of ref­er­ence.

dcolumnThe package defines a new "D" column format in tab­u­lar en­vi­ron­ments for aligning the numbers in columns on the decimal point.
enumitemAdds support for arbitrarily-deep nested lists (useful for outlines). See List Structures.
epstopdfProvides and option to convert EPS images to PDF and include them with .
esintAdds additional integral symbols, for integrals over squares, clockwise integrals over sets, etc.
eucalOther mathematical symbols.
fancyhdrTo change header and footer of any page of the document. It is described in the Page Layout section.
floatIm­proves the in­ter­face for defin­ing float­ing ob­jects such as fig­ures and ta­bles, introduces new floating objects types (boxed, ruled, plaintop) and provides an ability to define custom ones.
fontencTo choose the font encoding of the output text. You might need it if you are writing documents in a language other than English. Check in the Fonts section.
gensymbPro­vides generic com­mands , , , and which work both in text and maths mode.
geometryFor easy management of document margins and the document page size. See Page Layout.
glossariesFor creation of glossaries and list of acronyms. For more information, see the relevant chapter.
graphicxAllows you to insert graphic files within a document.
grffileImproves the file name pro­cess­ing of graphic/graphicx pack­ages to sup­port a larger range of file names (spaces, multiple dots, etc.).
hyperrefIt gives LaTeX the possibility to manage links within the document or to any URL when you compile in PDF. For more information, see the relevant section.
indentfirstOnce loaded, the beginning of any chapter/section is indented by the usual paragraph indentation.
inputencTo choose the encoding of the input text. You might need it if you are writing documents in a language other than English. Check in the Special Characters section.
latexsymOther mathematical symbols.
listingsTo insert programming code within the document. Many languages are supported and the output can be customized. For more information, see the Source Code Listings.
longtableAl­lows you to write ta­bles that con­tinue to the next page. You can also define a header and a footer which will be shown on every page the table occupies, for example cont. from last page.
mathptmxSets the default font of the entire document (including math formulae) to Times New Roman, which is a more familiar font, and useful in saving space when fighting against page limits.
mathrsfsOther mathematical symbols.
mathtoolsSuccessor of , some additional functionality, some bugs fixed.
mhchemallows you to easily type chemical species and equations. It automatically formats chemical species so you don't have to use subscript commands. It also Allows you to draw chemical formulas.
microtypeIt provides an improvement to LaTeX's default ty­po­graphic ex­ten­sions, improvements in such areas as char­ac­ter pro­tru­sion and font ex­pan­sion, in­ter­word spac­ing and ad­di­tional kern­ing, and hy­phen­at­able letter-spacing
multicolprovides the mul­ti­cols environment which typesets text into multiple columns.
natbibGives additional citation options and styles. Often used for journal submission.
pdfpagesThis package simplifies the insertion of external multi-page PDF or PS documents.
rotatingIt lets you rotate any kind of object. It is particularly useful for rotating tables. For more information, see the relevant section.
setspaceLets you change line spacing, e.g. provides the command for making double spaced documents. For more information, see the relevant section.
showkeysA useful package related to referencing. If you wish to reference an image or formula, you have to give it a name using and then you can recall it using . When you compile the document these will be replaced only with numbers, and you can't know which label you had used unless you take a look at the source. If you have loaded the showkeys package, you will see the label just next or above the relevant number in the compiled version. An example of a reference to a section is . This way you can easily keep track of the labels you add or use, simply looking at the preview (both dvi or pdf). Just before the final version, remove it.
showidxIt prints out all index entries in the left margin of the text. This is quite useful for proofreading a document and verifying the index. For more information, see the Indexing section.
subfilesThe "root" and "child" document can be compiled at the same time without making changes to the "child" document. For more information, see the Modular Documents section.
subcaptionIt allows to define multiple floats (figures, tables) within one environment giving individual captions and labels in the form 1a, 1b.
syntonlyIf you add the following code in your preamble:

LaTeX skims through your document only checking for proper syntax and usage of the commands, but doesn’t produce any (DVI or PDF) output. As LaTeX runs faster in this mode you may save yourself valuable time. If you want to get the output, you can simply comment out the second line.

textcompProvides extra symbols, e.g. arrows like , various currencies (,...), things like and many others.
theoremYou can change the style of newly defined theorems. For more information see the Theorems section.
todonotesLets you insert notes of stuff to do with the syntax .
siunitxHelps you typeset of SI-units correctly. For example . Automatically handles the correct spacing between the number and the unit. Note that even non-SI-units are set, like dB, rad, ...
ulemIt allows to underline text (either with straight or wavy line). Few examples of usage are added to the Fonts chapter.
urlIt defines the command. URLs often contain special character such as '_' and '&', in order to write them you should escape them inserting a backslash, but if you write them as an argument of , you don't need to escape any special character and it will take care of proper formatting for you. If you are using hyperref, you don't need to load url because it already provides the command.
verbatimIt improves the verbatim environment, fixing some bugs. Moreover, it provides the comment environment, that lets you add multiple-line comments or easily comment out big parts of the code.
xcolorIt adds support for colored text. For more information, see the relevant section.
xypicIt is used to create trees, graphs, (commutative) diagrams, and similar things. See Xy-pic.

This error appears when you have written something inside a count, dimension or skip entry which isn't a number. If you do this, you will generate the error message below:

[edit]Common Causes

Forgetting to include a number where a number is required:

The most basic way this error can be generated is if you have forgotten to include a number in a command where a number is required. An example of this is shown below.

Here the command expects a number as its argument, telling it how much vertical space to leave between the text. As there is no number present, an error appears. The correct way to write this

We want to insert some vertical space between here   \vspace{6em}   and here.

There are many commands like which require numbers as their argument. The most common of these are

  • Spacing commands such as:
  • Scaling commands, such as . This will scale your image to be times its actual size. The other options available here which require numbers are:
    • .
  • The command, where the argument states how many lines you want to be skipped.
  • Counters commands such:
  • Length setting commands such as . This will change the value of a particular length such as to the value (e.g. ).
  • Table option commands such as .

Having a linebreak \\ followed by square brackets:

If a linebreak command is ever followed by square brackets , it will be taken as an optional argument, and thus a number will be expected inside the square brackets. This is even true if there is whitespace and newlines between the and commands. This problem often appears in tables, as shown below: This will generate an error, as on the third line, we have a linebreak followed by squared brackets. LaTeX expects a number inside the square brackets, but instead finds . The correct way to write the above table is to include the square brackets inside curly braces as shown below:

Using the subfigure package:

The package is long outdated, and will generate a 'Missing number' error when there is no error present. An example of this is shown below:

This will generate an error, as the subfigure package does not recognise as a number, when it is in fact a number (equivalent to the constant width of the total text block on a page). The way to resolve this is to use the more updated package, which has replaced . Writing the same code as above with in the preamble instead of will give the desired result without any error.

main.tex, line 5

Missing number, treated as zero.

l<to be read again> t l.8 \vspace{this should be a number} A number should have been here; I inserted `0'. (If you can't figure out why I needed to see a number, look up `weird error' in the index to The TeXbook.)

We want to insert some vertical space between here   \vspace{this should be a number}   and here.
\begin{tabular}{c|c}[x]& 2\\[x]^2 & 4 \end{tabular}
\begin{tabular}{c|c}[x]& 2\\{[x]}^2 & 4 \end{tabular}
% In your preamble\usepackage{subfigure}   % In the body of your document\begin{figure}\centering\begin{subfigure}[b]{0.3\textwidth}\includegraphics[scale=0.2]{image}\caption{A gull}\label{fig:gull}\end{subfigure}%\end{figure}

0 thoughts on “The Bibliography Latex Package Siunitx”


Leave a Comment

Your email address will not be published. Required fields are marked *