
私は minted を使用して JavaScript コードの一部を強調表示します。
私が使う
\documentclass{article}
\usepackage{minted}
\begin{document}
\begin{minted}{js}
const mySchema = new Schema({
name: String,
is_true: Boolean,
age: Number,
object_ids: [ObjectId],
});
\end{minted}
\end{document}
生産する
問題は、String、Boolean、Number は強調表示されますが、ObjectId は強調表示されないことです。
Minted の JavaScript に ObjectId をキーワードとして追加するにはどうすればよいですか?
答え1
に関してminted
、答えは:pygmentizeのJavaScriptレキサーの拡張機能を書くか、レキサーのコピーを変更する必要があります。質問の回答を参照してください。Minted で認識されるカスタム C++ キーワードを追加するにはどうすればよいですか?詳細については。
を使用する必要がない場合はminted
、パッケージ を使用してくださいlistings
。以下はJavaScriptのハイライトを定義する例です(この答え質問に対してリストでサポートされている言語オプション独自のキーワードのクラスとその書式を簡単に定義できます。
\documentclass{article}
\usepackage{listings}
\usepackage{color}
\definecolor{lightgray}{rgb}{.9,.9,.9}
\definecolor{darkgray}{rgb}{.4,.4,.4}
\definecolor{purple}{rgb}{0.65, 0.12, 0.82}
\lstdefinelanguage{js}{
keywords={const, typeof, new, true, false, catch, function, return, null, catch, switch, var, if, in, while, do, else, case, break},
keywordstyle=\color{blue}\bfseries,
keywords=[2]{boolean, string, number, objectid},
keywordstyle=[2]\color{green}\bfseries,
identifierstyle=\color{black},
sensitive=false,
comment=[l]{//},
morecomment=[s]{/*}{*/},
commentstyle=\color{purple}\ttfamily,
stringstyle=\color{red}\ttfamily,
morestring=[b]',
morestring=[b]"
}
\lstset{
language=js,
extendedchars=true,
basicstyle=\footnotesize\ttfamily,
showstringspaces=false,
showspaces=false,
tabsize=2,
breaklines=true,
showtabs=false
}
\begin{document}
\begin{lstlisting}
const mySchema = new Schema({
name: String,
is_true: Boolean,
age: Number,
object_ids: [ObjectId],
});
\end{lstlisting}
\end{document}
答え2
ハイライトが必要なのは 1 つの単語だけであり、簡単な解決策が見つからなかった (また、ハイライト全体を書き直したくなかった) ため、次のような (恥ずかしい) 汚い回避策を思いつきました。
まず、ハイライト表示に必要な RGB カラーを特定します。カラー ピッカー (Web ブラウザーに組み込まれているものなど) を使用して取得するか、この値を基にしてファイル内の正確な RGB 値を検索します(プロジェクトをコンパイルすると、フォルダー<yourMintedStyle>.pygstlye
内で見つけることができます)。_minted
次に、LaTeX ドキュメントでこの色を定義し、Minted 環境でエスケープ文字を使用して目的の単語に色を付けます。以下は、trac
Golang のスタイルの最小限の例です。
\documentclass{article}
\usepackage{minted}
\usepackage{xcolor}
\begin{document}
\usemintedstyle{trac}
\definecolor{mblue}{rgb}{0.27,0.33,0.53}
\begin{minted}[escapeinside=||]{go}
type SomeType struct {
Foo uint64
Standard FooBar
Tweaked |\textcolor{mblue}{FooBar}|
}
\end{minted}
\end{document}