latex-authoring

$npx mdskill add Tibsfox/gsd-skill-creator/latex-authoring

Produces publication-ready LaTeX documents following arXiv and Overleaf best practices.

  • Solves formatting and submission compliance for academic papers.
  • Depends on LaTeX distributions, arXiv templates, and Overleaf patterns.
  • Uses semantic markup rules and arXiv best practices for document structure.
  • Delivers compilable LaTeX source with proper packages and cross-references.

SKILL.md

.github/skills/latex-authoringView on GitHub ↗
---
name: latex-authoring
description: LaTeX document authoring with arXiv submission best practices, Overleaf patterns, and academic publishing conventions.
activationKeywords:
  - latex
  - LaTeX
  - tex
  - arxiv
  - overleaf
  - bibtex
  - biblatex
  - pdflatex
  - xelatex
  - lualatex
  - document class
  - beamer
  - tikz
  - amsmath
type: skill
category: media
status: stable
origin: tibsfox
modified: false
first_seen: 2026-04-11
first_path: examples/skills/media/latex-authoring/SKILL.md
superseded_by: null
---
# LaTeX Authoring Skill

Expert-level LaTeX document authoring following arXiv submission best practices and Overleaf conventions. Produces accessible, semantic, publication-ready documents.

## Core Principle

> "Use macros according to their meaning, not because of the way they appear visually." — arXiv Best Practices

Semantic markup over visual formatting. Always.

## Document Structure

### Standard Article
```latex
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,amsthm}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage[numbers]{natbib}
\usepackage{booktabs}          % Professional tables
\usepackage{microtype}         % Typography improvements
\usepackage{cleveref}          % Smart cross-references

\title{Article Title}
\author{Author One\thanks{affiliation} \and Author Two\thanks{affiliation}}
\date{\today}

\begin{document}
\maketitle
\begin{abstract}
  Concise summary of the work.
\end{abstract}

\section{Introduction}
\section{Related Work}
\section{Method}
\section{Results}
\section{Discussion}
\section{Conclusion}

\bibliographystyle{plainnat}
\bibliography{references}
\end{document}
```

### Front Matter (arXiv requirement)
Always use semantic front matter commands:
```latex
\title{...}
\author{Author One \AND Author Two}
\begin{abstract} ... \end{abstract}
```
Never simulate titles with `\textbf{\Large Title}` — this breaks HTML conversion.

## Semantic Markup Rules

### DO (semantic)
```latex
\emph{key phrase}              % Emphasis with meaning
\textbf{important term}       % Bold with purpose
\section{Introduction}         % Structural heading
\begin{theorem} ... \end{theorem}  % Named environment
\label{eq:energy}             % Reference target
\cref{eq:energy}              % Smart cross-reference
```

### DON'T (visual-only)
```latex
{\it key phrase}               % Visual italic, no semantics
{\bf important}                % Visual bold, no semantics
{\Large\bfseries Introduction} % Fake heading, breaks structure
\vspace{1em}                   % Manual spacing hack
\\[1em]                        % Line break as spacing
```

## Mathematics

### Inline vs Display
```latex
% Inline math
The energy $E = mc^2$ is fundamental.

% Display (numbered)
\begin{equation}
  E = mc^2 \label{eq:energy}
\end{equation}

% Display (unnumbered)
\begin{equation*}
  F = ma
\end{equation*}

% Multi-line aligned
\begin{align}
  \nabla \cdot \mathbf{E} &= \frac{\rho}{\epsilon_0} \label{eq:gauss} \\
  \nabla \times \mathbf{B} &= \mu_0 \mathbf{J} + \mu_0 \epsilon_0 \frac{\partial \mathbf{E}}{\partial t}
\end{align}
```

### Common Math Patterns
```latex
% Matrices
\begin{pmatrix} a & b \\ c & d \end{pmatrix}

% Cases
f(x) = \begin{cases} 1 & \text{if } x > 0 \\ 0 & \text{otherwise} \end{cases}

% Operators
\DeclareMathOperator{\argmax}{arg\,max}
\DeclareMathOperator{\softmax}{softmax}

% Fractions (prefer \frac for display, \nicefrac for inline)
\frac{\partial L}{\partial \theta}

% Bold math vectors
\mathbf{x}, \boldsymbol{\theta}
```

## Tables

### Professional Tables (booktabs)
```latex
\begin{table}[htbp]
  \centering
  \caption{Model comparison on benchmark tasks.}
  \label{tab:results}
  \begin{tabular}{lrrr}
    \toprule
    Model & Accuracy & F1 & Latency (ms) \\
    \midrule
    Baseline    & 0.842 & 0.831 & 12.3 \\
    Our Method  & \textbf{0.917} & \textbf{0.904} & 14.1 \\
    \bottomrule
  \end{tabular}
\end{table}
```

Never use `\hline` — always `\toprule`, `\midrule`, `\bottomrule` from booktabs.

## Figures

### With Alt Text (arXiv accessibility requirement)
```latex
\begin{figure}[htbp]
  \centering
  \includegraphics[width=0.8\textwidth, alt={Bar chart showing accuracy improvements from 84% baseline to 92% with our method across three benchmarks}]{figures/results.pdf}
  \caption{Accuracy comparison across benchmark tasks.}
  \label{fig:results}
\end{figure}
```

### Subfigures
```latex
\usepackage{subcaption}
\begin{figure}[htbp]
  \centering
  \begin{subfigure}[b]{0.48\textwidth}
    \includegraphics[width=\textwidth]{fig-a.pdf}
    \caption{Training loss}
    \label{fig:loss}
  \end{subfigure}
  \hfill
  \begin{subfigure}[b]{0.48\textwidth}
    \includegraphics[width=\textwidth]{fig-b.pdf}
    \caption{Validation accuracy}
    \label{fig:acc}
  \end{subfigure}
  \caption{Training dynamics over 100 epochs.}
\end{figure}
```

## Bibliography

### BibTeX Entry Types
```bibtex
@article{vaswani2017attention,
  title     = {Attention Is All You Need},
  author    = {Vaswani, Ashish and others},
  journal   = {NeurIPS},
  year      = {2017}
}

@inproceedings{devlin2019bert,
  title     = {{BERT}: Pre-training of Deep Bidirectional Transformers},
  author    = {Devlin, Jacob and Chang, Ming-Wei and Lee, Kenton and Toutanova, Kristina},
  booktitle = {NAACL-HLT},
  year      = {2019}
}

@misc{anthropic2026claude,
  title        = {Claude 4.6 Model Card},
  author       = {Anthropic},
  year         = {2026},
  howpublished = {\url{https://www.anthropic.com}},
  note         = {Accessed: 2026-04-08}
}
```

### Citation Commands
```latex
% natbib
\citet{vaswani2017attention}  → Vaswani et al. (2017)
\citep{vaswani2017attention}  → (Vaswani et al., 2017)
\citep[see][]{vaswani2017attention} → (see Vaswani et al., 2017)

% biblatex
\textcite{vaswani2017attention}
\parencite{vaswani2017attention}
```

## arXiv Submission Checklist

1. **Single directory** — all files in one flat directory (no subdirectories for figures)
2. **Main file** — must be compilable with `pdflatex main.tex` (or xelatex/lualatex)
3. **References** — include `.bbl` file (pre-compiled bibliography), not just `.bib`
4. **Figures** — PDF/PNG/JPG only. EPS accepted but PDF preferred. Include alt text.
5. **No absolute paths** — use `\includegraphics{figure1}` not `\includegraphics{/home/user/fig/figure1}`
6. **Package compatibility** — check [LaTeXML supported packages](https://corpora.mathweb.org/corpus/arxmliv/tex_to_html/info/loaded_file) for HTML conversion
7. **Compiler** — use most recent TeX Live. Set Overleaf to "stop on errors" mode.
8. **Font encoding** — use `\usepackage[T1]{fontenc}` for proper glyph support
9. **No custom styles** — avoid `\def` and `\newcommand` that redefine standard commands
10. **Comments** — remove `\usepackage{comment}` sections before submission

## Common Mistakes

| Mistake | Fix |
|---------|-----|
| `{\it text}` | `\emph{text}` or `\textit{text}` |
| `{\bf text}` | `\textbf{text}` |
| `$$display math$$` | `\[ display math \]` or `equation` env |
| `\hline` in tables | `\toprule`, `\midrule`, `\bottomrule` |
| Manual spacing `\\[1em]` | Proper environments and `\vspace` sparingly |
| `\begin{center}` for figures | `\centering` inside float |
| Missing `\label` after `\caption` | Always `\caption{...}\label{...}` in that order |
| `\cite` without natbib | Use `\citet`/`\citep` for author-year styles |
| Bitmap figures at low DPI | Vector PDF or 300+ DPI PNG |
| Hardcoded cross-references | Use `\ref`, `\cref`, or `\autoref` |

## Document Classes

| Class | Use Case |
|-------|----------|
| `article` | Journal papers, short reports |
| `report` | Longer documents with chapters |
| `book` | Books, theses |
| `beamer` | Presentations |
| `standalone` | Single figures/diagrams for inclusion |
| `memoir` | Flexible book/report class |
| `IEEEtran` | IEEE conference/journal papers |
| `acmart` | ACM publications |
| `revtex4-2` | APS/Physical Review journals |
| `aastex63` | AAS/Astrophysical Journal |
| `mnras` | Monthly Notices of the Royal Astronomical Society |

## Essential Packages

| Package | Purpose |
|---------|---------|
| `amsmath` | Math environments (align, equation, etc.) |
| `amssymb` | Additional math symbols |
| `amsthm` | Theorem environments |
| `graphicx` | Image inclusion with alt text |
| `hyperref` | Clickable cross-references and URLs |
| `cleveref` | Smart cross-references (`\cref`) |
| `booktabs` | Professional table rules |
| `natbib` | Author-year citations |
| `microtype` | Microtypographic improvements |
| `xcolor` | Color support |
| `tikz` | Programmatic diagrams |
| `algorithm2e` | Algorithm pseudocode |
| `listings` | Code listings |
| `minted` | Syntax-highlighted code (requires `-shell-escape`) |
| `siunitx` | SI units (`\SI{299792458}{\meter\per\second}`) |
| `subcaption` | Subfigures and subtables |

## Package Load Order

Load in this order to avoid conflicts:
```latex
\usepackage[utf8]{inputenc}    % 1. Input encoding
\usepackage[T1]{fontenc}       % 2. Font encoding
\usepackage{amsmath,amssymb}   % 3. Math
\usepackage{graphicx}          % 4. Graphics
\usepackage{xcolor}            % 5. Colors (before tikz)
\usepackage{tikz}              % 6. Diagrams
\usepackage{booktabs}          % 7. Tables
\usepackage{algorithm2e}       % 8. Algorithms
\usepackage{listings}          % 9. Code
\usepackage[numbers]{natbib}   % 10. Citations
\usepackage{hyperref}          % 11. Hyperlinks (LAST or near-last)
\usepackage{cleveref}          % 12. Smart refs (AFTER hyperref)
```

## ORCID Integration

ORCID (Open Researcher and Contributor ID) is the standard persistent identifier for researchers. Format: `0000-0002-1825-0097` (16 digits, hyphenated groups of 4).

### Including ORCID in LaTeX Documents
```latex
\usepackage{orcidlink}  % Provides \orcidlink command

% In author block
\author{
  Jane Researcher\orcidlink{0000-0002-1825-0097} \and
  John Scholar\orcidlink{0000-0001-5109-3700}
}
```

### Manual ORCID (without orcidlink package)
```latex
\usepackage{hyperref}
\newcommand{\orcid}[1]{\href{https://orcid.org/#1}{\includegraphics[height=1em]{orcid.png} #1}}

% Usage
\author{Jane Researcher\thanks{\orcid{0000-0002-1825-0097}}}
```

### ORCID in BibTeX
```bibtex
@article{researcher2026,
  author  = {Researcher, Jane},
  title   = {Important Discovery},
  journal = {Nature},
  year    = {2026},
  note    = {ORCID: 0000-0002-1825-0097}
}
```

### ORCID Record Data Types
ORCID tracks: works (papers, books, preprints), employment, education, funding, peer review, research resources, invited positions, distinctions, memberships, qualifications.

### ORCID API Integration
- **Public API**: Read-only access to public researcher data. No auth required.
- **Member API**: Read/write with OAuth 2.0 permission. Post works, affiliations, funding.
- **Sandbox**: `sandbox.orcid.org` for testing (use before production).
- **iD Format**: Always display as full URL: `https://orcid.org/0000-0002-1825-0097`
- **Schema**: v3.0 current. Supports DOI, arXiv ID, PubMed ID, ISBN cross-linking.

### Best Practices
- Always collect ORCID iD via authenticated OAuth (never manual entry — prevents typos)
- Display the green ORCID icon alongside the iD per brand guidelines
- Link ORCID to arXiv submissions (arXiv supports ORCID in author metadata)
- Include ORCID in all journal submissions, grant applications, and institutional profiles
- Use the ORCID sandbox (`sandbox.orcid.org`) for development/testing

## When This Skill Activates

- Writing LaTeX documents or templates
- Preparing arXiv submissions
- Formatting mathematical expressions
- Creating publication-ready tables and figures
- Managing bibliographies
- Troubleshooting LaTeX compilation errors
- Converting documents between formats
- Creating Beamer presentations
- Integrating ORCID identifiers into papers
- Academic publishing workflow questions

More from Tibsfox/gsd-skill-creator

SkillDescription
3d-interaction-designDesign heuristics for three-dimensional interaction — input modalities (6DoF controllers, gaze, gesture, voice), selection and manipulation techniques (ray-cast, virtual hand, go-go, world-in-miniature), navigation (teleport, continuous, redirected walking), and feedback loops (haptic, audio, visual). Covers Fitts' law in 3D, discoverability vs affordance, safe-zone design, and comfort/simulator sickness mitigation. Use when designing VR/AR interactions, immersive walkthroughs, or any input system where the user's body is the controller.
accessibility-patternsProvides web accessibility best practices for semantic HTML, ARIA, keyboard navigation, color contrast, and screen reader patterns. Use when building UI components, reviewing accessibility, or when user mentions 'a11y', 'accessibility', 'ARIA', 'screen reader', 'keyboard navigation', 'WCAG'.
active-listeningActive listening techniques for effective communication. Covers attending behaviors, paraphrasing, reflective listening, clarifying questions, empathic response, barriers to listening, listening in conflict, and cross-cultural listening. Use when building listening skills, improving understanding in conversation, mediating disputes, or analyzing communication breakdowns.
adversarial-pr-reviewAdversarial spec-compliance PR review — cross-references diffs against approved specs, verifies runtime claims against source, detects competing PRs, audits scope/convention compliance. Use before merging.
agile-methodsAgile and Lean software development methodologies for iterative, adaptive project execution. Covers Scrum (roles, ceremonies, artifacts), Kanban (WIP limits, flow metrics), XP (TDD, pair programming, CI), SAFe overview, Lean Software Development (Poppendieck's 7 principles), user stories (INVEST criteria), estimation via story points and velocity, and the Agile Manifesto's values and principles. Includes Cynefin framework for methodology selection and GSD's relationship to Agile as a structured Lean variant.
algebraic-reasoningSymbolic manipulation, equation solving, and algebraic structures for mathematical reasoning. Covers distributive law, factoring, completing the square, linear through polynomial equation solving, systems of equations (substitution, elimination, Gaussian elimination, matrix methods), algebraic structures (groups, rings, fields), modular arithmetic, polynomial theory, and inequalities. Use when solving equations, simplifying expressions, working with algebraic structures, or performing symbolic manipulation.
algorithmic-awarenessUnderstanding how algorithmic systems shape what users see, know, and do -- from recommendation feeds to search ranking to credit scoring to hiring software. Covers the mechanics of recommendation systems, algorithmic bias and its sources, personalization's effects on information diets, opacity and accountability, AI limitations (hallucination, confident wrongness), and the human-in-the-loop question. Use when a learner needs to think critically about why particular content reached them.
algorithms-data-structuresAlgorithms and data structures from first principles through advanced analysis. Covers sorting (bubble, insertion, selection, merge, quick, heap, radix), searching (linear, binary, BFS, DFS, Dijkstra, A*), fundamental data structures (arrays, linked lists, stacks, queues, hash tables, trees, heaps, graphs, tries), complexity analysis (Big-O, Big-Omega, Big-Theta, amortized), recurrence relations, and algorithm design paradigms (divide-and-conquer, greedy, dynamic programming, backtracking). Use when analyzing, selecting, implementing, or comparing algorithms and data structures.
aminet-browserAminet search and browse: full-text search, category tree navigation, architecture filtering, package detail, and curated collections. Use when searching, browsing, or managing package collections.
aminet-emulatorFS-UAE emulator configuration and launch: hardware profiles, ROM management, WHDLoad integration, config generation, and state snapshots. Use when configuring emulation, managing ROMs, or launching Amiga software.