Skip to content

PDF Generation

Lambda Feedback uses a single source to render content both in the browser and by PDF. The browser view uses katex to render LaTeX, which limits the scope of LaTeX that can be used. katex doesn't use traditional LaTeX packages, but emulates many of the popular packages: Package Emulation

When a question is published by a teacher, a PDF copy is also generated. The PDF compilation process uses xelatex and the Latex Template is public. The template installs relevant packages, and a list of packages is compiled below. This list will be updated as we receive more requirements from users.

Supported packages when generating a PDF

Package Description
amsmath Provides essential mathematical features like aligned equations, matrices, and advanced math functions; fundamental for most LaTeX math.
amssymb Adds extra mathematical symbols beyond the base LaTeX set.
babel Enables multilingual support with proper hyphenation and typographical conventions; allows switching languages within a document.
biblatex Manages bibliographies with advanced features and customization; more flexible than traditional packages like natbib.
bidi Enables bidirectional text support for mixing LTR and RTL scripts like Arabic and Hebrew.
booktabs Provides commands for professional-looking tables with proper spacing and design; discourages vertical rules.
bracket Offers commands for properly sizing and aligning brackets in math environments.
cancel Draws slashes through math expressions to indicate cancellation; useful for derivations.
eurosym Adds the Euro (€) symbol with options for appearance to integrate with fonts.
fixltx2e Fixes bugs and improves LaTeX2e; useful for older distributions (deprecated in recent versions).
fancyvrb Enhances verbatim text with customization; useful for code listings with line numbers and styling.
fontenc Specifies font encoding; allows use of comprehensive encodings like T1 for accented characters.
fontspec Allows use of system fonts (OpenType, TrueType) with XeLaTeX/LuaLaTeX; offers advanced font selection.
geometry Simplifies setting page dimensions, margins, and layout parameters.
graphicx Includes and manipulates images in documents.
grffile Allows inclusion of graphics with filenames containing multiple dots or spaces.
hyperref Creates hyperlinks in documents; makes references, citations, and TOC entries clickable.
ifxetex Checks if document is compiled with XeTeX; useful for engine-specific configurations.
ifluatex Checks if document is compiled with LuaTeX; enables engine-specific configurations.
inputenc Specifies input encoding (e.g., UTF-8) for source files; allows direct typing of accented characters.
listings Includes and formats source code with syntax highlighting and customization.
longtable Creates tables that span multiple pages with automatic breaks and repeated headers.
lmodern Provides the Latin Modern font family; improved version of default fonts with more characters.
mathspec Uses OpenType fonts for math in XeLaTeX/LuaLaTeX; matches math fonts with text fonts.
microtype Improves typography with microtypographic extensions like character protrusion and font expansion.
natbib Advanced citation management; supports various styles and integrates with BibTeX.
parskip Adds vertical space between paragraphs and removes indentation.
pifont Provides access to Dingbat fonts for symbols like checkmarks and crosses.
polyglossia Multilingual support for XeLaTeX/LuaLaTeX; provides language-specific typographical rules.
setspace Adjusts line spacing (single, one-and-a-half, double) in documents.
ulem Adds advanced underlining and strikethrough styles; allows underlines to break at line ends.
upquote Ensures straight quotes in code listings; prevents conversion to curly quotes.
xcolor Adds color to text and math expressions.
xeCJK Typesets Chinese, Japanese, and Korean (CJK) characters in XeLaTeX; handles fonts, spacing, and line breaking.