| name | latex-manual |
| description | Comprehensive LaTeX reference with commands, templates, and troubleshooting for document typesetting |
| version | 1.1.0 |
LaTeX Skill
Comprehensive assistance with LaTeX document preparation, typesetting, and formatting. This skill provides quick references, templates, and troubleshooting for academic papers, presentations, reports, and technical documents.
When to Use This Skill
This skill should be triggered when:
- Writing LaTeX documents (papers, theses, reports)
- Creating mathematical equations and formulas
- Formatting scientific or academic documents
- Making presentations with Beamer
- Debugging LaTeX compilation errors
- Creating tables, figures, or bibliographies
- Asking about LaTeX commands or syntax
- Converting documents to LaTeX format
- Setting up document structure or layout
- Troubleshooting LaTeX warnings or errors
Quick Reference
Essential Document Structure
\documentclass{article} % or book, report, beamer
\usepackage{graphicx} % For images
\usepackage{amsmath} % For math
\usepackage{hyperref} % For hyperlinks
\title{Document Title}
\author{Author Name}
\date{\today}
\begin{document}
\maketitle
\section{Introduction}
Your content here.
\subsection{Background}
More content.
\section{Conclusion}
Final thoughts.
\end{document}
Common Commands
Text Formatting:
\textbf{bold text}- Bold\textit{italic text}- Italic\underline{underlined}- Underline\texttt{monospace}- Typewriter font\emph{emphasized}- Emphasis (usually italic)
Document Structure:
\section{Title}- Section heading\subsection{Title}- Subsection\subsubsection{Title}- Sub-subsection\paragraph{Title}- Paragraph heading\label{sec:intro}- Label for cross-reference\ref{sec:intro}- Reference to label
Lists:
% Bulleted list
\begin{itemize}
\item First item
\item Second item
\end{itemize}
% Numbered list
\begin{enumerate}
\item First item
\item Second item
\end{enumerate}
% Description list
\begin{description}
\item[Term] Definition
\item[Another] Explanation
\end{description}
Math Mode:
- Inline:
$x^2 + y^2 = z^2$ - Display:
$$E = mc^2$$ - Numbered equation:
\begin{equation}
\int_0^1 f(x)dx = F(1) - F(0)
\label{eq:ftc}
\end{equation}
Tables:
\begin{table}[h]
\centering
\begin{tabular}{|c|c|c|}
\hline
Header 1 & Header 2 & Header 3 \\
\hline
Data 1 & Data 2 & Data 3 \\
Data 4 & Data 5 & Data 6 \\
\hline
\end{tabular}
\caption{Table caption}
\label{tab:example}
\end{table}
Figures:
\begin{figure}[h]
\centering
\includegraphics[width=0.8\textwidth]{image.pdf}
\caption{Figure caption}
\label{fig:example}
\end{figure}
Cross-References:
See Section~\ref{sec:intro}- Reference sectionAs shown in Figure~\ref{fig:example}- Reference figureEquation~\eqref{eq:ftc}- Reference equation (with parentheses)
Citations:
% In preamble
\usepackage{natbib}
\bibliographystyle{plain}
% In text
According to~\cite{author2024}...
Multiple citations~\cite{author2024,smith2023}...
% At end of document
\bibliography{references} % references.bib file
Common Packages
Essential:
amsmath- Advanced mathematicsgraphicx- Include graphicshyperref- Clickable links and URLsgeometry- Page layoutfancyhdr- Custom headers/footers
Text and Fonts:
fontenc- Font encodinginputenc- Input encoding (UTF-8)babel- Language supportmicrotype- Typography improvements
Tables and Lists:
booktabs- Professional tableslongtable- Multi-page tablesenumitem- Customizable lists
Graphics:
tikz- Programmatic graphicspgfplots- Data plotssubfig- Subfigures
Bibliography:
natbib- Citations and bibliographybiblatex- Modern bibliography system
Code Listings:
listings- Source code formattingminted- Syntax highlighting (requires Python)
Advanced Graphics and Diagrams:
tikz- Create diagrams, flowcharts, and complex graphics programmaticallypgfplots- Publication-quality data plots and chartscircuitikz- Circuit diagramschemfig- Chemical structure diagrams
Algorithms and Pseudocode:
algorithm2e- Algorithm formattingalgorithmic- Pseudocodealgorithmicx- Enhanced pseudocode
Advanced Math:
mathtools- Extensions to amsmathphysics- Physics notation shortcutssiunitx- SI unit formatting
Advanced Patterns
TikZ Diagrams
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning}
\begin{tikzpicture}[node distance=2cm]
% Define nodes
\node (start) [circle, draw] {Start};
\node (process) [rectangle, draw, right of=start] {Process};
\node (end) [circle, draw, right of=process] {End};
% Draw arrows
\draw [->] (start) -- (process);
\draw [->] (process) -- (end);
\end{tikzpicture}
Data Plots with PGFPlots
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{tikzpicture}
\begin{axis}[
xlabel=$x$,
ylabel=$f(x)$,
legend pos=north west
]
\addplot[blue, thick] {x^2};
\addplot[red, dashed] {2*x};
\legend{$x^2$, $2x$}
\end{axis}
\end{tikzpicture}
Algorithm Formatting
\usepackage{algorithm2e}
\begin{algorithm}[H]
\SetAlgoLined
\KwData{Input data}
\KwResult{Output result}
initialization\;
\While{condition}{
process data\;
\If{condition}{
do something\;
}
}
\caption{Algorithm Description}
\end{algorithm}
Beamer Presentations
\documentclass{beamer}
\usetheme{Madrid} % or Berlin, Copenhagen, etc.
\usecolortheme{beaver}
\title{Presentation Title}
\author{Your Name}
\date{\today}
\begin{document}
\frame{\titlepage}
\begin{frame}{Outline}
\tableofcontents
\end{frame}
\section{Introduction}
\begin{frame}{Introduction}
\begin{itemize}
\item<1-> First point (appears first)
\item<2-> Second point (appears second)
\item<3-> Third point (appears third)
\end{itemize}
\end{frame}
\begin{frame}[fragile]{Code Example}
\begin{lstlisting}[language=Python]
def hello_world():
print("Hello, World!")
\end{lstlisting}
\end{frame}
\end{document}
SI Units with siunitx
\usepackage{siunitx}
% Numbers with units
\SI{3.14e8}{\meter\per\second} % 3.14×10⁸ m/s
\SI{25}{\celsius} % 25 °C
\SI{9.81}{\meter\per\second\squared}
% Tables with aligned decimals
\begin{tabular}{S[table-format=2.3]}
\toprule
{Value} \\
\midrule
1.234 \\
12.567 \\
0.001 \\
\bottomrule
\end{tabular}
Subfigures
\usepackage{subcaption}
\begin{figure}[htbp]
\centering
\begin{subfigure}[b]{0.45\textwidth}
\includegraphics[width=\textwidth]{image1.pdf}
\caption{First subfigure}
\label{fig:sub1}
\end{subfigure}
\hfill
\begin{subfigure}[b]{0.45\textwidth}
\includegraphics[width=\textwidth]{image2.pdf}
\caption{Second subfigure}
\label{fig:sub2}
\end{subfigure}
\caption{Overall caption}
\label{fig:main}
\end{figure}
Performance Tips for Large Documents
Speed Up Compilation
- Use
\includeonly{chapter1}to compile only specific chapters - Draft mode:
\documentclass[draft]{article}(skips images) - Use
latexmkfor smart recompilation - Split large documents with
\include{chapter1}
Memory Management
- For large bibliographies: use
biblatexwith backend=biber - Reduce figure resolution in draft mode
- Use
\inputfor smaller files,\includefor chapters - Clear auxiliary files regularly
Package Load Order
Critical order to avoid conflicts:
\usepackage[utf8]{inputenc} % First
\usepackage[T1]{fontenc} % Second
\usepackage{babel} % Third
\usepackage{amsmath} % Before hyperref
\usepackage{graphicx} % Before hyperref
\usepackage{cleveref} % After hyperref
\usepackage{hyperref} % Near end
\usepackage{bookmark} % After hyperref
Reference Files
This skill includes comprehensive documentation in references/:
- quick-start.md - Getting started with LaTeX
- mathematics.md - Math mode, equations, symbols
- formatting.md - Text formatting, fonts, spacing
- tables-graphics.md - Tables, figures, images
- bibliography.md - Citations and bibliography management
- troubleshooting.md - Common errors and solutions
Templates
Ready-to-use templates in assets/:
- article-template.tex - Basic article/paper
- report-template.tex - Report with chapters
- beamer-template.tex - Presentation slides
- letter-template.tex - Formal letter
- ieee-paper-template.tex - IEEE conference paper format
Scripts
Helper scripts in scripts/:
- compile.sh - Compile LaTeX document
- clean.sh - Remove auxiliary files
- bibtex.sh - Run complete BibTeX workflow
Common Patterns
Two-Column Layout
\documentclass[twocolumn]{article}
% or
\usepackage{multicol}
\begin{multicols}{2}
Content in two columns
\end{multicols}
Custom Page Margins
\usepackage{geometry}
\geometry{
a4paper,
left=1in,
right=1in,
top=1in,
bottom=1in
}
Custom Headers and Footers
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead[L]{Left Header}
\fancyhead[C]{Center Header}
\fancyhead[R]{Right Header}
\fancyfoot[C]{\thepage}
Including Code
\usepackage{listings}
\lstset{
language=Python,
basicstyle=\ttfamily,
numbers=left,
frame=single
}
\begin{lstlisting}
def hello():
print("Hello, World!")
\end{lstlisting}
Multiple Authors
\author{
First Author\thanks{University A} \and
Second Author\thanks{University B} \and
Third Author\thanks{University C}
}
Compilation Workflow
Standard:
pdflatex document.tex
pdflatex document.tex # Run twice for references
With Bibliography:
pdflatex document.tex
bibtex document
pdflatex document.tex
pdflatex document.tex
Modern (latexmk):
latexmk -pdf document.tex # Handles all compilation steps
Troubleshooting Quick Tips
Undefined control sequence:
- Missing package (add
\usepackage{...}) - Typo in command name
- Missing math mode delimiter
- Command from newer package version
Missing $ inserted:
- Math symbols used outside math mode
- Add
$...$or\(...\)around math - Underscore
_or caret^outside math mode
File not found:
- Check file path and extension
- Use relative paths or place in same directory
- For images, ensure file extension is specified
- Check for spaces in filenames (use
grffilepackage)
Overfull \hbox:
- Line too wide to fit
- Add
\sloppyor break long URLs with\url{} - Use
\linebreakor rephrase text - For tables: reduce font size or use
\resizebox
Undefined references:
- Run LaTeX twice (first pass creates labels, second resolves)
- Check label names match
\ref{...}commands - Ensure
\label{}appears after\caption{}
Package clash / Option clash:
- Packages loaded multiple times with different options
- Load package once with all options:
\usepackage[opt1,opt2]{pkg} - Some packages must load in specific order (see Package Load Order)
! LaTeX Error: Environment ... undefined:
- Missing package that defines the environment
- Typo in environment name
- Package not installed (install from CTAN)
Dimension too large:
- TikZ/PGF coordinates too large
- Use smaller units or scale down
- Increase TeX's dimension limit (rare)
! Missing number, treated as zero:
- Usually in tabular/array environments
- Check for missing
&or\\ - Verify column specifications match content
! Paragraph ended before ... was complete:
- Missing closing brace
} - Command argument spans multiple paragraphs (add
\long) - Check for balanced delimiters
Best Practices
Document Organization
- Always compile twice after adding labels/references
- Use meaningful labels:
\label{sec:intro}not\label{s1} - Keep figures in subfolder:
figures/image.pdf - Use vector graphics (PDF, EPS) when possible
- Separate bibliography into
.bibfile - Split large documents: Use
\include{chapter1}for chapters
Code Quality
- Version control your
.texfiles (Git recommended) - Comment your code:
% This explains the code - Use packages sparingly: Only include what you need
- Consistent formatting: Choose one citation style
- Test compilation early and often
- UTF-8 encoding: Always use
\usepackage[utf8]{inputenc}
Modern LaTeX Recommendations
- Use
clevereffor smart references:\cref{fig:plot}→ "Figure 3" - Use
booktabsfor professional tables (no vertical lines) - Use
biblatexinstead ofnatbibfor new projects - Use
microtypefor subtle typography improvements - Use
\autorefor\crefinstead of manual "Figure~\ref{}" - Load
hyperrefnear the end of preamble (exceptcleveref,bookmark)
Performance and Efficiency
- Use
latexmkfor automated compilation - Enable draft mode during editing:
\documentclass[draft]{article} - Use
\includeonly{}to compile only changed chapters - Clean auxiliary files regularly to prevent stale references
Resources
Online Documentation
- LaTeX Wikibook: https://en.wikibooks.org/wiki/LaTeX
- Overleaf Learn: https://www.overleaf.com/learn
- CTAN (packages): https://ctan.org
- TeX Stack Exchange: https://tex.stackexchange.com
Reference Files
See references/ directory for detailed guides on:
- Quick start and basics
- Mathematical typesetting
- Text formatting and fonts
- Tables and graphics
- Bibliography management
- Troubleshooting common errors
Templates
See assets/ directory for ready-to-use templates:
- Academic papers
- Technical reports
- Presentations
- Letters
- Conference papers
Version History
1.1.0 (2026-01-01): Enhanced with advanced LaTeX patterns
- Added TikZ diagram examples
- Added PGFPlots for data visualization
- Added algorithm formatting examples
- Added Beamer presentation patterns
- Added siunitx for SI units
- Added subfigure examples
- Enhanced troubleshooting (10 new error scenarios)
- Added performance tips for large documents
- Added package load order guidelines
- Expanded best practices (22 items, organized by category)
- Added advanced packages section (graphics, algorithms, math)
1.0.0 (2025-12-31): Initial manual creation
- Comprehensive command reference
- 5 document templates
- Troubleshooting guide
- Compilation scripts
Contributing
To enhance this skill:
- Add new templates to
assets/ - Expand reference guides in
references/ - Update SKILL.md quick reference
- Add helper scripts to
scripts/ - Document common patterns and solutions
Created: Manually curated LaTeX skill Status: Production Ready Version: 1.1.0 Last Updated: 2026-01-01 Enhancement: Manual enhancement with advanced patterns and examples