Quick start for modern LaTeXing for an IEEE conference, based on the Manuscript Template for Conference Proceedings.
The official template is distributed via CTAN as the IEEEtran package, which is actively maintained. However, de-facto configurations (hyperref) and modern features of latex (microtype) are not configured. This template does it.
This template is for the conferences.
It is based on the bare_conf_compsoc.tex
distributed by IEEE.
In case you need other configurations, please adapt paper-conference.tex
or run the latex template generator.
paper.tex
is the main document- Use "lualatex + bibtex" in your TeX editor or
latexmk paper
/make
in the command line
latexmk is a very smart tool for latex compilation.
It executes the latex tools as often as needed to get the final PDF.
(More information about why latexmk
is great can be found at https://tex.stackexchange.com/a/249243/9075.)
To build the whole document, execute following command. Note that this requires a working perl installation.
latexmk paper
To enable latexmk, please move _latexmkrc
to latexmkrc
.
If you want automatic compilation use following command:
latexmk -pvc paper
This will also open a Sumatra PDF and only works with the supplied configuration.
This repository ships a .latexmkrc
which is read by latexmk.
In case there is a _latexmkrc
file, you need to rename it to .latexmkrc
.
It is configured for Windows and especially sets Sumatra PDF as default PDF viewer.
You can make this local configuration a global configuration, when you put it at the right place.
If you want to add more packages, configure it there. For instance, for support of makeglossaries see http://tex.stackexchange.com/questions/1226/how-to-make-latexmk-use-makeglossaries.
In case something goes wrong, you can instruct the LaTeX compiler to stop at the first error:
lualatex --synctex=1 --shell-escape paper
Run bibtex paper
to get the bibliography rendered (execute lualatex
afterwards).
On the command line, there are additional features:
latexmk -C
ormake clean
for cleaning upmake format
to reformat the.tex
files (one sentence per line and indent)make aspell
for interactive spell checkingmake stand
: Creates a new PDF with the current status of the thesis.make view
: Opens the configured viewermake mrproper
: Cleans up and removes also editor backup files.
Following features are enabled in this template:
- Provides a skeletal paper.tex file
- Shows how IEEE copyright notice can be added.
- (Optional) Typesetting of listings using advanced highlighting powered by the minted package.
minted
provides better output than listings, but requires pygments to be installed. - Generated PDF allows for copy and paste of text without getting words with ligatures such as "workflow" destroyed.
This is enabled by
glyphtounicode
, which encodes ligatures (such as fl) using unicode characters. - Ligatures are removed if they are typeset at the wrong place. This is enabled by the selnolig package.
- Support of hyperlinked references without extra color thanx to hyperref.
- Better breaking of long URLs.
- Support for
\powerset
command. - (Optional) Support todos as pdf annotations. This is enabled by the pdfcomment package.
- microtypographic extensions for a better look of the paper.
- Modern packages such as microtype, cleveref, csquotes, paralist, hyperref, hypcap, upquote, booktabs.
- (Optional) LaTeX compilation using the modern lualatex compiler. For older systems, pdflatex is still supported.
- latexmk for easy compilation of the LaTeX document.
- Ready-to-go configuration for latexindent.
- Proper hyphenation and microtype for English texts.
Following features were not activated for this template. You can run the latex template generator to enable the features.
Hints on writing an abstract and thesis by Dirk Fahland.
There is currently no official biblatex support. A first step towards that is done at the biblatex-ieee package.
- paper-conference.pdf - regular conference paper.
- paper-conference-minted.pdf - conference paper showing minted in action.
- Click on
Download ZIP
or here. - Extract
main.zip
in the folder where you want to write your paper. - Edit paper-conference.tex.
latexmk paper-conference
.
Some conferences distribute a IEEEtran.cls
V1.7a dated 2007 and a parameter compsocconf
.
The parameter compsocconf
was NEVER included in Michael Shell's IEEEtran.cls
file. It is unclear, who did this patch and why it is around in the wild.
The most recent version is V1.8b and automatically distributed over CTAN, because it is actively maintained by Michael Shell at http://www.michaelshell.org/tex/ieeetran/. A full changelog is available at http://mirror.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/changelog.txt.
2014/09/17 V1.8a (MDS) changes:
1) Extensive rework of the compsoc mode to comply with the latest standards
of the IEEE Computer Society.
The class parameter compsocconf
never existed officially.
One has to use conference, compsoc
, because the parameters are "orthogonal": Either "conference" or "journal", either "compsoc" or not.
With a modern IEEEtran.cls, you'll get
LaTeX Warning: Unused global option(s):
[compsocconf].
When using the 2007 version or the most recent version with (the unhandled) compsocconf
, you'll get paper-conference.pdf instead of paper-conference-compsoc.pdf
.
That differs significantly in the style used for section headings.
paper-conference-compsoc.pdf
was removed from the build since August 2021, because compsoc
option was not used by computer science conferences in 2021.
IEEE distributes their templates at https://www.ieee.org/conferences_events/conferences/publishing/templates.html.
With the update of July 2017, the archive https://www.ieee.org/documents/ieee-latex-conference-template.zip contains both bare_conf.tex
and bare_conf_compsoc.tex
.
Thus, the conference should state which option to use.
All in all, the distributions of IEEEtran from 2007 are roughly equivalent to \documentclass[conference]{IEEEtran}
(and version V1.8b), which does not comply with IEEE's rules for computer science conferences, because the compsoc
option is missing.
Hence, double check with your conference whether you have to use compsoc
or not.
Statement from IEEE:
Please note that, as stated on the webpage https://www.ieee.org/conferences_events/conferences/publishing/templates.html. "IEEE does not require a specific format for their conference articles". Thus, we dot not purport that the "compsoc" is a requirement for publishing conference papers with us.
- Windows: Recent MiKTeX. MiKTeX installation hints are given at http://latextemplates.github.io/scientific-thesis-template/#installation-hints-for-windows.
- Mac OS X: Recent TeX Live (e.g. through MacTeX) - Try
sudo tlmgr update --all
if you encounter issues with biblatex - Linux: Recent TeX Live distribution
- Grammar and spell checking is available at [TeXstudio].
Please download LanguageTool (Windows:
choco install languagetool
) and configure TeXstudio to use it. Note that it is enough to point tolanguagetool.jar
. If TeXstudio doesn't fit your need, check the list of all available LaTeX Editors. - Use JabRef to manage your bibliography (Windows:
choco install jabref
).
To have minted running properly, you have to do following steps on Windows:
- Install python:
choco install python
- that uses chocolatey to install Python - Install pygments:
pip instal pygments
- that uses the Pyhton package manager to install the pygments library - When latexing, use
-shell-escape
:pdflatex -shell-escape paper
. You can also just executelatexmk paper
.
Currently, following extensions are recommended:
- LaTeX Workshop to support LaTeX in VSCode and
- LaTeX Utilities to enhance LaTeX Workshop
- LTeX+ to have a nice spell checker that also identifies grammar issues
Then, change the setting of LaTeX Workshop to use biber:
Press Shift+Ctrl+P to open the command palette.
Then type "JSON" and select "Preferences: Open Settings (JSON)" to open settings.json
.
Update the following lines in VSCode's settings.json
to contain:
"latex-workshop.latex.recipes": [
{
"name": "lualatex ➞ bibtex ➞ lualatex × 2 🔃",
"tools": [
"lualatex",
"bibtex",
"lualatex",
"lualatex"
]
},
],
"latex-workshop.latex.tools": [
// ...
{
"name": "bibtex",
"command": "bibtex",
"args": [
"%DOCFILE%"
],
"env": {}
},
// ...
],
The following settings are additionally recommended:
{
"editor.wordWrap": "on", // enable soft line breaks
"latex-workshop.view.pdf.viewer": "tab", // display the generaded PDF in a separate tab
"latex-workshop.view.pdf.backgroundColor": "#cccccc", // use a darker background in de PDF viewer to lift of the pages from it
"latex-workshop.latex.autoBuild.run": "never", // never automatically build; alternative: "onSave" (on saving .tex files)
"editor.renderWhitespace": "all", // display all whitespaces
}
Alternatively, just copy and paste the contents of the vscode.settings.json file to your VSCode settings file.
You can manually trigger compilation by hitting the green button in the extension or using other methods provided by LaTeX Workshop.
Please remove the magic comments (% !TeX program ...
) at the top of the main-....tex
file.
Although LaTeX-Workshop supports magic comments, it currently does not work reliably.
Without the magic comments, compilation works.
LTeX+ is an offline grammar and spell checker with support for LaTeX and Markdown.
Add a magic comment to your files to tell LTeX+ which language to use:
% LTeX: language=de-DE
If you want to use different languages in the text, use the \foreignlanguage{language}{text}
command.
LTeX+ will detect these elements and automatically switch the spell checker's language.
For example:
\foreignlanguage{english}{Therefore, our proposed approach will change the world.}
The generated Dockerfile
is based on the Dockerfile by the Island of TeX.
docker run --rm -v "c:\users\example\latex-document:/workdir" ltg latexmk
Following one-time setup is required:
docker build -t ltg .
- figures Directory containing the figures. By using LuaLaTex/PDFLaTeX it is possible to use PDFs, JPGs, PNGs, ... We recommend to use PDFs to enable smooth scaling.
paper.tex
- The main.tex
file loading all LaTeX packages and their configurations.- Add text here
- Adjust title etc. here
- bibliography.bib - Bibliography. biblatex format. Manage it with JabRef.
- abbreviations.tex - Acronyms and abbreviations.
- commands.tex - Example LaTeX macros.
Following additional files are included, which do not need to be adapted:
- localSettings.yaml - Settings for latexindent
- Makefile - The Makefile. Builds on latexmk.
- Texlivefile - List of packages required for a minimal TeXLive installation.
The author of the class offers a large FAQ at http://www.michaelshell.org/tex/ieeetran/.
Please read on there.
The other possibility is to execute texdoc ieeetran
and read in the documentation.
For example, there is an explanation of how to typeset the affiliation information with four or more authors properly.
- Initialize your git repository as usual
- Add this repository as git remote:
git remote add template https://github.com/latextemplates/{template}.git
- Merge the branch
template/main
into yourmain
branch:git merge template/main
.
After that you can use and push the main
branch as usual.
Notes on syncing with the upstream repository are available from GitHub.
Q: I get the error ! pdfTeX error (font expansion): auto expansion is only possible with scalable fonts.
Install the cm-super
package using the MiKTeX package manager. Then, run initexmf --mkmaps
on the command line. (Long description: https://tex.stackexchange.com/a/324972/9075)
A: You have activated \MakeOuterQuote{"}
and used some special babel command to allow hyphenation at other places as a dash. One example is writing application"=specific
.
Now, you have to decide whether you want keep using plain quotes to enquote a word or use the special hyphenation command.
In other words: Do you want "quote"
and app\-lication\-specific
or \enquote{quote} and application"=specific
?
Note that this should not happen when the template is generated as the setting tweakouterquote
ensures that these two options are mutually exclusive.
The most simple solution to get more space is to exchange the font.
Execute latexindent -l -s -sl -w paper.tex
Alternatively, execute make format
.
See "How can I reformat my .tex
files?"
You can re-generate the template and choose minted
as listings environment.
Moreover, ensure that python and pygments are installed properly:
choco install python
pip install pygments
Use the authorarchive
package.
Yes. You can regenerate the template and choose "German" as language.
Install the package dehyph-exptl
.
You seem to use latexmk
locally.
Please move _latexmkrc
to latexmkrc
to get latexmk
working.
If you don't do this, latexmk
tries to execute latex
, which tries to produce a DVI file (and not a PDF file).
Error message:
luaotfload | db : Reload initiated (formats: otf,ttf,ttc); reason: Font "LatinModernMath-Regular" not found.
luaotfload | resolve : sequence of 3 lookups yielded nothing appropriate.
! Package fontspec Error: The font "LatinModernMath-Regular" cannot be found.
Install the package lm-math
manually.
Install the package tex-gyre
and tex-gyre-math
manually.
See https://tex.stackexchange.com/a/240850/9075: Install the packages newpx
and newtxsf
manually.
Follow the steps at https://tex.stackexchange.com/a/548335/9075
Try with following command
lualatex -shell-escape --extra-mem-top=10000000 --synctex=1 paper.tex
See https://tex.stackexchange.com/a/124206/9075 for details.
See installation hints of how to update them at different systems.
Use the MiKTeX console to refresh the package index. Then, automatic installation should work again.
Please ensure that your compilation command includes -shell-escape
.
E.g., lualatex -shell-escape -synctex=1 main-minted-german.tex
.
When compiling main-minted-german.tex
with TeXStudio, you will see a dialog warning about overriding the compilation command.
Just answer "(a) allow for this document" and it will work.
- Select the Excel chart you want to use.
- Print to PDF with the option "Print Selected Chart".
- Remove empty space of the created PDF page with
pdfcrop chart.pdf chart_cropped.pdf
(install via MikTeX first, if not available; check viapdfcrop --version
). - Use pdfscissors to crop the borders and title (maybe you have to allow https://sites.google.com in the Java security center in the control panel).
- Include the PDF in LaTeX via
\includegraphics{chart_cropped.pdf}
.
- Other templates: https://latextemplates.github.io/
- For German users, go to https://texfragen.de/.
- Frank Mittelbach with Ulrike Fischer: The LaTeX Companion is the ultimate guide for LaTeX: The authors went through all packages offered by CTAN, selected the most promising ones, described them, and provide minimal working example for each of it.
- Lutz Hering, Heike Hering: How to Write Technial Reports, Springer, 2010; also available in German Technische Berichte - verständlich gliedern, gut gestalten, überzeugend vortragen. - Highly recommended, because it guides through all aspects of a report (such as a Master Thesis).
- Marcus Deininger et al.: Studienarbeiten - Ein Leitfaden zur Erstellung, Durchführung und Präsentation wissenschaftlicher Abschlussarbeiten am Beispiel Informatik, vdf. - Recommended as guideline for planning and working on the whole thesis.
- Charles Lipson, Cite Right, Second Edition: A Quick Guide to Citation Styles--MLA, APA, Chicago, the Sciences, Professions, and More, Chicago Guides to Writing, Editing, and Publishing, 2011. - Recommended in case you are unsure about how to correctly cite something.
The license of this work is 0BSD which corresponds to "public domain". Any derived work can freely be relicensed and can omit original copyright and license information.