Quick start for modern LaTeXing for an ACM conference.
The official template is distributed via CTAN as the acmart 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.
In case you need other configurations, please adapt paper-conference.tex
or run the latex template generator.
thesis-example.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.
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
.
In case something goes wrong, you can instruct the LaTeX compiler to stop at the first error:
lualatex paper
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 checking
Following features are enabled in this template:
- (Optional) Typesetting of listings using advanced highlighting powered by the minted package.
- 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. - 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.
- 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.
- 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
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 extensionsa re 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:
Update the following lines in the VSCode 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": "onSave", # automatically build 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.
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.}
- 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
).
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 .
- Initialize your git repository as usual
- Add this repository as upstream:
git remote add upstream https://github.com/latextemplates/{template}.git
- Merge the branch
upstream/main
into yourmain
branch:git merge upstream/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 following command:
latexindent -l -s -sl -w paper.tex
Execute following command:
latexindent -m -l -s -sl -w paper.tex
Attention! This is work in progress and does not always produce best results.
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).
- Other templates: https://latextemplates.github.io/