Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Shiki LaTeX

A Shiki renderer for LaTeX. Compatible with minted, replacing Pygments.

Source Package Continuous Integration

Comparison

Shiki Pygments
Shiki Pygments

Installation

Install Node.js and run:

$ npm install shiki-latex

Using with minted

\usepackage{minted}
\renewcommand{\MintedPygmentize}{node_modules/.bin/shiki-minted}

Themes

Choose a theme with the \usemintedstyle{} command.

You may refer to a built-in Shiki theme by name, for example:

\usemintedstyle{nord}

You may refer to a theme file that you download and put next to your LaTeX source (don’t put it under a folder because minted doesn’t support it); for example, to use the SynthWave '84 theme, download synthwave-color-theme.json and add the following to your LaTeX source:

\usemintedstyle{synthwave-color-theme.json}

Note: Some themes may not look as good on a PDF as they do on a webpage. It’s part of the game: LaTeX renders things differently from a browser. It’s a hit-and-miss situation.

Using Programmatically

import { getHighlighter } from "shiki";
import { renderToLaTeX } from "shiki-latex";

(async () => {
  const highlighter = await getHighlighter({ theme: "light_plus" });
  const lines = highlighter.codeToThemedTokens(
    `const name = "Leandro Facchinetti";`,
    "ts"
  );
  console.log(renderToLaTeX(lines));
})();

The package comes with type definitions for TypeScript.

Options

The renderToLaTeX() function accepts a second argument with options that control the rendering, for example:

renderToLaTeX(lines, { defaultColor: "#FF0000" });

The available options are the following:

defaultColor: string (default #000000): The color to use when the theme doesn’t specify a color for a part of the highlighted program.

mathescape: boolean (default false): Enable LaTeX math mode escape ($___$) in comments.

About

A Shiki renderer for LaTeX. Compatible with minted, replacing Pygments

Resources

License

Packages

No packages published
You can’t perform that action at this time.