利用可能なフォーマッタ¶
このページでは、すべての組み込みフォーマッタをリストしています。
共通オプション¶
すべてのフォーマッタはこれらのオプションをサポートしています。
- encoding
指定されている場合、エンコーディング名(例:
"utf-8"
)でなければなりません。これは、トークン文字列(Unicode文字列)を出力におけるバイト文字列に変換するために使用されます(デフォルト:None
)。また、fullオプションが指定されている場合(例:HTMLではmeta content-type
ディレクティブ、LaTeXではinputencパッケージの呼び出し)、ドキュメント形式に適したエンコーディング宣言にも書き込まれます。これが
""
またはNone
の場合、Unicode文字列が出力ファイルに書き込まれますが、ほとんどのファイル様オブジェクトはこれをサポートしていません。pygments.highlight()は、outfile引数が指定されておらず、encodingがNone
に設定されているフォーマッタが使用されている場合、Unicode文字列を返します。これは、write()にUnicode引数をサポートするStringIO.StringIOオブジェクトを使用するためです。通常のファイルオブジェクトでは動作しません。バージョン0.6で追加。
- outencoding
コマンドラインからPygmentsを使用する場合、指定されたencodingオプションは、レクサーとフォーマッタに渡されます。これは、入力エンコーディングを
"guess"
に設定する場合など、望ましくない場合があります。そのため、outencodingが導入され、指定されている場合、フォーマッタのencodingを上書きします。バージョン0.7で追加。
フォーマッタクラス¶
これらのクラスはすべて、pygments.formatters
からインポートできます。
- class BBCodeFormatter¶
- 省略名:
bbcode, bb
- ファイル名:
なし
BBコードを使用してトークンをフォーマットします。これらのフォーマットコードは多くの掲示板で使用されているため、投稿する前にpygmentsでソースコードを強調表示できます。
このフォーマッタは、背景色と境界線のサポートがありません。一般的なBBコードタグがないためです。
一部の掲示板システム(例:phpBB)は、[code]タグ内の色をサポートしていないため、そのタグとともに強調表示を使用できません。[code]タグ内のテキストは通常、等幅フォント(このフォーマッタは
monofont
オプションで対応できます)で表示され、インデントに必要なスペースは削除されません。受け入れられる追加オプション
- style
使用するスタイル。文字列またはStyleサブクラスにすることができます(デフォルト:
'default'
)。- codetag
trueに設定すると、出力が
[code]
タグで囲まれます(デフォルト:false
)- monofont
trueに設定すると、等幅フォントでコードを表示するためのタグが追加されます(デフォルト:
false
)。
- class BmpImageFormatter¶
- 省略名:
bmp, bitmap
- ファイル名:
*.bmp
ソースコードからビットマップ画像を作成します。Python Imaging Libraryを使用して、ソースコードからピクスマップを生成します。
バージョン1.0で追加。
- class GifImageFormatter¶
- 省略名:
gif
- ファイル名:
*.gif
ソースコードからGIF画像を作成します。Python Imaging Libraryを使用して、ソースコードからピクスマップを生成します。
バージョン1.0で追加。
- class GroffFormatter¶
- 省略名:
groff, troff, roff
- ファイル名:
なし
groffエスケープを使用してトークンをフォーマットし、色とフォントスタイルを変更します。
バージョン2.11で追加。
受け入れられる追加オプション
- style
使用するスタイル。文字列またはStyleサブクラスにすることができます(デフォルト:
'default'
)。- monospaced
trueに設定すると、等幅フォントが使用されます(デフォルト:
true
)。- linenos
trueに設定すると、行番号が出力されます(デフォルト:
false
)。- wrap
行を指定された文字数に折り返します。0に設定すると無効になります(デフォルト:
0
)。
- class HtmlFormatter¶
- 省略名:
html
- ファイル名:
*.html, *.htm
トークンをHTML 4の
<span>
タグとしてフォーマットします。デフォルトでは、コンテンツは<pre>
タグで囲まれ、さらに<div>
タグで囲まれます(ただし、nowrapオプションを参照)。<div>
のCSSクラスは、cssclassオプションで設定できます。linenosオプションが
"table"
に設定されている場合、<pre>
はさらに<table>
で囲まれます。このテーブルは1行2列で、1列に行番号、もう1列にコードが含まれます。例:<div class="highlight" > <table><tr> <td class="linenos" title="click to toggle" onclick="with (this.firstChild.style) { display = (display == '') ? 'none' : '' }"> <pre>1 2</pre> </td> <td class="code"> <pre><span class="Ke">def </span><span class="NaFu">foo</span>(bar): <span class="Ke">pass</span> </pre> </td> </tr></table></div>
(可読性を高めるために空白を追加しました)。
hl_linesオプションを使用して、強調表示する行のリストを指定できます(Pygments 0.11以降)。
fullオプションを使用すると、
<style>
タグ内のスタイル定義を含む、完全なHTML 4ドキュメントが出力されます。または、cssfileオプションが指定されている場合は、別々のファイルに出力されます。tagsfileがctagsインデックスファイルのパスに設定されている場合、名前からその定義へのハイパーリンクを生成するために使用されます。この機能を使用するには、lineanchorsを有効にし、-nオプションを付けてctagsを実行する必要があります。この機能を使用するには、PyPIのpython-ctagsモジュールをインストールする必要があります。インストールされていない場合は、RuntimeErrorが発生します。
HtmlFormatterのget_style_defs(arg=’’)メソッドは、フォーマッタで使用されるCSSクラスのCSSルールを含む文字列を返します。引数argを使用して、クラスの前に追加される追加のCSSセレクタを指定できます。fmter.get_style_defs(‘td .code’)を呼び出すと、次のCSSクラスが生成されます。
td .code .kw { font-weight: bold; color: #00FF00 } td .code .cm { color: #999999 } ...
Pygments 0.6以降を使用している場合は、トークンの複数のプレフィックスを要求するために、get_style_defs()メソッドにリストまたはタプルを渡すこともできます。
formatter.get_style_defs(['div.syntax pre', 'pre.syntax'])
出力は次のようになります。
div.syntax pre .kw, pre.syntax .kw { font-weight: bold; color: #00FF00 } div.syntax pre .cm, pre.syntax .cm { color: #999999 } ...
受け入れられる追加オプション
- nowrap
True
に設定すると、トークンの周囲に<pre>
タグと<div>
タグを追加しません。これにより、他のほとんどのオプションが無効になります(デフォルト:False
)。- full
フォーマッタに「完全な」ドキュメント、つまり完全なスタンドアロンのドキュメントを出力するように指示します(デフォルト:
False
)。- title
fullがtrueの場合、ドキュメントのキャプションとして使用するタイトル(デフォルト:
''
)。- style
使用するスタイル。文字列またはStyleサブクラスにすることができます(デフォルト:
'default'
)。cssfileとnoclobber_cssfileオプションが指定されており、cssfileで指定されたファイルが存在する場合、このオプションは効果がありません。- noclasses
trueに設定すると、トークンの
<span>
タグ(行番号要素も同様)はCSSクラスではなく、インラインスタイルを使用します。出力サイズが大幅に増加するため、大規模なコードには推奨されません(デフォルト:False
)。- classprefix
トークンタイプは比較的短いクラス名を使用しているため、独自のクラス名と競合する可能性があります。この場合、classprefixオプションを使用して、Pygmentsによって生成されたすべてのトークンタイプのCSSクラス名にプリフィックスとして付ける文字列を指定できます。このオプションはget_style_defs()の出力にも影響することに注意してください。
- cssclass
ラッピング
<div>
タグのCSSクラス(デフォルト:'highlight'
)。このオプションを設定すると、get_style_defs()のデフォルトセレクタは、このクラスになります。バージョン0.9で追加:
'table'
行番号を選択した場合、ラッピングテーブルには、この文字列と'table'
を組み合わせたCSSクラスが使用されます。デフォルトは'highlighttable'
です。- cssstyles
ラッピング
<div>
タグのインラインCSSスタイル(デフォルト:''
)。- prestyles
<pre>
タグのインラインCSSスタイル(デフォルト:''
)。バージョン0.11で追加。
- cssfile
fullオプションがtrueであり、このオプションが指定されている場合、外部ファイルの名前でなければなりません。ファイル名が絶対パスを含んでいない場合、ファイルのパスは、後者が検出可能な場合、メイン出力ファイルのパスを基準とした相対パスと見なされます。スタイルシートは、HTMLファイルではなく、このファイルに書き込まれます。
バージョン0.6で追加。
- noclobber_cssfile
cssfile
が指定され、かつ指定されたファイルが存在する場合は、CSSファイルは上書きされません。これにより、ユーザー指定のCSSファイルとfull
オプションを組み合わせて使用できます。デフォルトはFalse
です。バージョン1.1で追加されました。
- linenos
'table'
に設定すると、行番号は2つのセルを持つ表として出力されます。1つのセルに行番号が、もう1つのセルにコード全体が含まれます。これはコピーアンドペーストに便利ですが、一部のブラウザやフォントでは配置の問題が発生する可能性があります。'inline'
に設定すると、行番号はコードを含む<pre>
タグに統合されます(この設定は_Pygments 0.8の新機能_です)。Pygments 0.7以前との互換性のために、
'inline'
以外のすべての真の値は'table'
と同じ意味を持ちます(特に、True
も同様です)。デフォルト値は
False
であり、行番号はまったく表示されません。注記: デフォルトの(「table」)行番号メカニズムでは、Internet Explorerでは、囲んでいる
<pre>
タグに明示的なline-height
CSSプロパティを指定しない限り、行番号とコードの行高が異なる場合があります(line-height: 125%
でデフォルトの行間隔が得られます)。- hl_lines
強調表示する行のリストを指定します。行番号は常に入力(つまり、最初の行は行1)を基準とし、
linenostart
とは独立しています。バージョン0.11で追加。
- linenostart
最初の行の行番号(デフォルト:
1
)。- linenostep
n > 1の数字に設定すると、n番目の行番号のみが出力されます。
- linenospecial
n > 0の数字に設定すると、n番目の行番号ごとにCSSクラス
"special"
が付けられます(デフォルト:0
)。- nobackground
True
に設定すると、フォーマッタはラッピング要素の背景色を出力しません(ラッピング要素がない場合[例:get_syntax_defs
メソッドに引数が指定されていない場合]、これは自動的にFalse
になります)(デフォルト:False
)。バージョン0.6で追加。
- lineseparator
この文字列は、コードの行間に出力されます。デフォルトは
"\n"
であり、<pre>
タグ内で改行するには十分ですが、たとえば"<br>"
に設定してHTML改行を取得することもできます。バージョン0.7で追加。
- lineanchors
空でない文字列(例:
foo
)に設定すると、フォーマッタは各出力行をfoo-linenumber
のid
(とname
)を持つアンカータグでラップします。これにより、特定の行へのリンクを容易に作成できます。バージョン0.9で追加されました。
- linespans
空でない文字列(例:
foo
)に設定すると、フォーマッタは各出力行をfoo-linenumber
のid
を持つspanタグでラップします。これにより、javascript経由で容易に行にアクセスできます。バージョン1.6で追加されました。
- anchorlinenos
True
に設定すると、行番号を<a>タグでラップします。linenos
とlineanchors
と組み合わせて使用します。- tagsfile
ctagsファイルのパスに設定すると、定義にリンクするアンカータグで名前をラップします。
lineanchors
を使用する必要があり、tagsファイルは行番号を指定する必要があります(ctagsの-n
オプションを参照)。tagsファイルはUTF-8でエンコードされていると仮定されます。バージョン1.6で追加されました。
- tagurlformat
ctags定義へのリンクを生成するために使用される文字列フォーマットパターンです。使用可能な変数は
%(path)s
、%(fname)s
、%(fext)s
です。デフォルトは空文字列であり、#prefix-number
リンクになります。バージョン1.6で追加されました。
- filename
<pre>
ブロック(たとえば、ソースコードを表示する場合)をレンダリングするときにファイル名を作成するために使用される文字列です。linenos
が'table'
に設定されている場合、ファイル名は、両方の列にまたがる単一の<th>
を含む最初の行にレンダリングされます。バージョン2.1で追加されました。
- wrapcode
HTML5仕様で推奨されているように、
<code>
を使用して<pre>
ブロック内のコードをラップします。バージョン2.4で追加されました。
- debug_token_types
トークンの名前を示すすべてのトークン
<span>
タグにtitle
属性を追加します。バージョン2.10で追加されました。
HTMLフォーマッタのサブクラス化
バージョン0.7で追加。
HTMLフォーマッタは、容易にサブクラス化して出力HTMLコードをカスタマイズできるように構築されています。
format()
メソッドはself._format_lines()
を呼び出し、(1, line)
のタプルを生成するジェネレータを返します。ここで、1
はline
がフォーマットされたソースコードの行であることを示します。nowrap
オプションが設定されている場合、ジェネレータは反復処理され、結果のHTMLが出力されます。それ以外の場合は、
format()
はself.wrap()
を呼び出し、ジェネレータを他のジェネレータでラップします。これらは、後者によって生成された行を変更してから(1, line)
で再び生成したり、(0, html)
で行の前後に出力する他のHTMLコードを生成することで、生成されたHTMLコードを追加する可能性があります。ソース行とその他のコードの区別により、ジェネレータを複数回ラップできます。デフォルトの
wrap()
実装では、<div>
タグと<pre>
タグが追加されます。カスタムの
HtmlFormatter
サブクラスは次のようになります。class CodeHtmlFormatter(HtmlFormatter): def wrap(self, source, *, include_div): return self._wrap_code(source) def _wrap_code(self, source): yield 0, '<code>' for i, t in source: if i == 1: # it's a line of formatted code t += '<br>' yield i, t yield 0, '</code>'
これにより、フォーマットされた行が
<code>
タグでラップされ、ソース行が<br>
タグを使用して区切られます。wrap()
を呼び出した後、format()
メソッドは、それぞれのオプションが設定されている場合、「行番号」や「全文書」のラッパーも追加します。その後、ラップされたジェネレータによって生成されたすべてのHTMLが出力されます。
- class IRCFormatter¶
- 省略名:
irc, IRC
- ファイル名:
なし
トークンをIRCカラーシーケンスでフォーマットします。
共通のスタイルはサポートされていないため、
get_style_defs()
メソッドは特別な処理を行いません。受け入れられるオプション
- bg
ターミナルの背景に応じて
"light"
または"dark"
に設定します(デフォルト:"light"
)。- colorscheme
トークンタイプを(lightbg、darkbg)カラー名または
None
にマッピングする辞書(デフォルト:None
= 組み込みのカラースキームを使用)。- linenos
True
に設定すると、出力にも行番号が含まれます(デフォルト:False
= 行番号なし)。
- class ImageFormatter¶
- 省略名:
img, IMG, png
- ファイル名:
*.png
ソースコードからPNG画像を作成します。Python Imaging Libraryを使用して、ソースコードからピクスマップを生成します。
バージョン0.10で追加されました。
受け入れられる追加オプション
- image_format
PILで認識される出力画像形式。これらには以下が含まれます。
「PNG」(デフォルト)
「JPEG」
「BMP」
「GIF」
- line_pad
各テキスト行間の余分なスペース(ピクセル単位)。
デフォルト:2
- font_name
太字やイタリック体などの他のフォントを生成するためのベースフォントとして使用するフォント名。これは、まともに見えるように、モノスペースフォントである必要があります。ファイル名またはファイルのようなオブジェクトが指定されている場合、ユーザーは異なるスタイルのフォントを提供する必要があります。
- デフォルト:Windowsでは「Courier New」、Mac OSでは「Menlo」、
*nixでは「DejaVu Sans Mono」
- font_size
使用するポイント単位のフォントサイズ。
デフォルト:14
- image_pad
結果の画像の各エッジで使用されるパディング(ピクセル単位)。
デフォルト:10
- line_numbers
行番号を表示するかどうか:True/False
デフォルト:True
- line_number_start
最初の行の行番号。
デフォルト:1
- line_number_step
行番号を出力するときに使用されるステップ。
デフォルト:1
- line_number_bg
行番号バーの背景色(「#123456」形式)、またはスタイルの背景色を使用するにはNone。
デフォルト:「#eed」
- line_number_fg
行番号のテキストの色(「#123456」のような形式)。
デフォルト:「#886」
- line_number_chars
行番号マージンで許可される行番号の列数。
デフォルト:2
- line_number_bold
行番号を太字にするかどうか:True/False
デフォルト:False
- line_number_italic
行番号をイタリック体にするかどうか:True/False
デフォルト:False
- line_number_separator
行番号領域とソースコード領域の間に線を引くかどうか:True/False
デフォルト:True
- line_number_pad
行番号マージンとソースコード領域の間の水平方向のパディング(ピクセル単位)。
デフォルト:6
- hl_lines
強調表示する行のリストを指定します。
バージョン1.2で追加されました。
デフォルト:空のリスト
- hl_color
行の強調表示の色を指定します。
バージョン1.2で追加されました。
デフォルト:選択したスタイルの強調表示の色
- class JpgImageFormatter¶
- 省略名:
jpg, jpeg
- ファイル名:
*.jpg
ソースコードからJPEG画像を作成します。Python Imaging Libraryを使用して、ソースコードからピクスマップを生成します。
バージョン1.0で追加。
- class LatexFormatter¶
- 省略名:
latex, tex
- ファイル名:
*.tex
トークンをLaTeXコードとしてフォーマットします。これには、
fancyvrb
とcolor
の標準パッケージが必要です。full
オプションがない場合、コードは次のように1つのVerbatim
環境としてフォーマットされます。\begin{Verbatim}[commandchars=\\\{\}] \PY{k}{def }\PY{n+nf}{foo}(\PY{n}{bar}): \PY{k}{pass} \end{Verbatim}
nowrap
オプションを使用して、ラッピングを無効にできます。ここで使用される特別なコマンド(
\PY
)と、それが必要とする他のすべてのマクロは、get_style_defs
メソッドによって出力されます。full
オプションを使用すると、プリアンブルのコマンド定義を含む完全なLaTeXドキュメントが出力されます。LatexFormatter
のget_style_defs()
メソッドは、Verbatim
環境内で必要なマクロを定義する\def
コマンドを含む文字列を返します。受け入れられる追加オプション
- nowrap
True
に設定した場合、トークンを全く折り返しません。\begin{Verbatim}
環境内でも折り返しません。これにより、他のほとんどのオプションが無効になります(デフォルト:False
)。- style
使用するスタイル。文字列またはStyleサブクラスにすることができます(デフォルト:
'default'
)。- full
フォーマッタに「完全な」ドキュメント、つまり完全なスタンドアロンのドキュメントを出力するように指示します(デフォルト:
False
)。- title
fullがtrueの場合、ドキュメントのキャプションとして使用するタイトル(デフォルト:
''
)。- docclass
full
オプションが有効な場合、使用する文書クラスです(デフォルト:'article'
)。- preamble
full
オプションが有効な場合、さらにプリアンブルコマンド(例:\usepackage
)を指定できます(デフォルト:''
)。- linenos
True
に設定した場合、行番号を出力します(デフォルト:False
)。- linenostart
最初の行の行番号(デフォルト:
1
)。- linenostep
n > 1の数字に設定すると、n番目の行番号のみが出力されます。
- verboptions
Verbatim環境に渡される追加オプションです(可能な値については、fancyvrbのドキュメントを参照してください)(デフォルト:
''
)。- commandprefix
カラー出力を作成するために使用されるLaTeXコマンドは、このプレフィックスといくつかの文字を使用して構成されます(デフォルト:
'PY'
)。バージョン0.7で追加。
バージョン 0.10 で変更: デフォルトは
'C'
から'PY'
に変更されました。- texcomments
True
に設定した場合、LaTeXのコメント行を有効にします。つまり、コメントトークン内のLaTeXマークアップはエスケープされず、LaTeXでレンダリングされます(デフォルト:False
)。バージョン1.2で追加されました。
- mathescape
True
に設定した場合、コメント内でのLaTeX数式モードのエスケープを有効にします。つまり、コメント内の'$...$'
は数式モードをトリガーします(デフォルト:False
)。バージョン1.2で追加されました。
- escapeinside
長さが2の文字列に設定した場合、LaTeXへのエスケープを有効にします。これらの2つの文字で区切られたテキストはLaTeXコードとして読み取られ、それに応じて組版されます。文字列リテラル内では効果がありません。
texcomments
またはmathescape
が設定されている場合、コメント内では効果がありません。(デフォルト:''
)。バージョン2.0で追加されました。
- envname
Verbatimに代わる代替環境名を指定できます。代替環境もVerbatimのオプション構文をサポートする必要があります。(デフォルト:
'Verbatim'
)。バージョン2.0で追加されました。
- class NullFormatter¶
- 省略名:
text, null
- ファイル名:
*.txt
テキストをフォーマットせずに変更せずにそのまま出力します。
- class PangoMarkupFormatter¶
- 省略名:
pango, pangomarkup
- ファイル名:
なし
トークンをPango Markupコードとしてフォーマットします。その後、SVGにレンダリングできます。
バージョン2.9で追加されました。
- class RawTokenFormatter¶
- 省略名:
raw, tokens
- ファイル名:
*.raw
トークンをトークンストリームを保存するための生の表現としてフォーマットします。
フォーマットは
tokentype<TAB>repr(tokenstring)\n
です。出力は後で、lexer listで説明されているRawTokenLexer
を使用してトークンストリームに変換できます。2つのオプションのみが受け入れられます
- compress
'gz'
または'bz2'
に設定した場合、エンコード後に指定された圧縮アルゴリズムで出力を圧縮します(デフォルト:''
)。- error_color
カラー名に設定した場合、そのカラーを使用してエラートークンを強調表示します。設定されているが値がない場合は、デフォルトで
'red'
になります。バージョン0.11で追加。
- class RtfFormatter¶
- 省略名:
rtf
- ファイル名:
*.rtf
トークンをRTFマークアップとしてフォーマットします。このフォーマッタは、カラー情報などの有用な情報を備えた完全なRTFドキュメントを自動的に出力します。Microsoft(R) Word(R)ドキュメントへのコピーと貼り付けに最適です。
encoding
およびoutencoding
オプションは無視されることに注意してください。RTFフォーマットは本来ASCIIですが、エスケープシーケンスのおかげでUnicode文字を正しく処理します。バージョン0.6で追加。
受け入れられる追加オプション
- style
使用するスタイル。文字列またはStyleサブクラスにすることができます(デフォルト:
'default'
)。- fontface
使用するフォントファミリーです(例:
Bitstream Vera Sans
)。固定幅であると想定される一般的なフォントがデフォルトです。- fontsize
使用するフォントのサイズです。サイズはポイントの半分で指定します。デフォルトは24ポイントの半分で、サイズ12のフォントになります。
バージョン2.0で追加されました。
- linenos
行番号をオンにします(デフォルト:
False
)。バージョン2.18で追加されました。
- lineno_fontsize
行番号のフォントサイズです。サイズはポイントの半分で指定します(デフォルト:
fontsize
)。バージョン2.18で追加されました。
- lineno_padding
(インライン)行番号とソースコードの間のスペース数です(デフォルト:
2
)。バージョン2.18で追加されました。
- linenostart
最初の行の行番号(デフォルト:
1
)。バージョン2.18で追加されました。
- linenostep
n > 1の数字に設定すると、n番目の行番号のみが出力されます。
バージョン2.18で追加されました。
- lineno_color
行番号の色を16進数のトリプレット(例:
'5e5e5e'
)で指定します。スタイルの行番号の色が16進数のトリプレットの場合はそれに従い、そうでない場合はANSIの明るい黒になります。バージョン2.18で追加されました。
- hl_lines
強調表示する行のリストを、スペースで区切られた行番号で指定します(例:
'3 7 8'
)。行番号は、hl_linenostart
が設定されていない限り、入力(つまり、最初の行は1行目)を基準とします。バージョン2.18で追加されました。
- hl_color
hl_lines
で指定された行を強調表示するための色を、16進数のトリプレットで指定します(デフォルト:スタイルのhighlight_color
)。バージョン2.18で追加されました。
- hl_linenostart
True
に設定した場合、hl_lines
の行番号はlinenostart
を基準に指定されます(デフォルトFalse
)。バージョン2.18で追加されました。
- class SvgFormatter¶
- 省略名:
svg
- ファイル名:
*.svg
トークンをSVGグラフィックファイルとしてフォーマットします。このフォーマッタはまだ実験段階です。コードの各行は、個々のトークンのスタイルを含む
<tspan>
要素を含む、明示的なx
およびy
座標を持つ<text>
要素です。デフォルトでは、このフォーマッタは、DOCTYPE宣言と
<svg>
ルート要素を含む完全なSVGドキュメントを出力します。バージョン0.9で追加されました。
受け入れられる追加オプション
- nowrap
SVGの
<text>
要素を<svg><g>
要素でラップせず、XML宣言とDOCTYPEを追加しません。Trueの場合、fontfamily
とfontsize
オプションは無視されます。デフォルトはFalse
です。- fontfamily
ラッピング
<g>
要素のfont-family
属性に与える値です。デフォルトは"monospace"
です。- fontsize
ラッピング
<g>
要素のfont-size
属性に与える値です。デフォルトは"14px"
です。- linenos
True
の場合、行番号を追加します(デフォルト:False
)。- linenostart
最初の行の行番号(デフォルト:
1
)。- linenostep
n > 1の数字に設定すると、n番目の行番号のみが出力されます。
- linenowidth
行番号に割り当てられる最大幅です(デフォルト:
3*ystep
、最大4桁の行番号に十分です。長いコードブロックの場合は幅を増やしてください)。- xoffset
X方向の開始オフセットです。デフォルトは
0
です。- yoffset
Y方向の開始オフセットです。フォントサイズがピクセルで指定されている場合はフォントサイズ、そうでない場合は
20
になります。(テキスト座標はテキストのベースラインではなく上端を参照するため、これは必要です)。- ystep
後続の各行のY座標に追加するオフセットです。これは、テキストサイズプラス5程度にする必要があります。テキストサイズがピクセルで指定されている場合はその値、そうでない場合は
25
になります。- spacehack
ソース内のスペースを
 
(改行しないスペース)に変換します。SVGはタグ内の空白の処理方法を制御するためにxml:space
属性を提供しますが、理論的にはpreserve
値を使用してすべての空白をそのまま維持できます。しかし、現在の多くのSVGビューアはこれらの規則に従わないため、このオプションは回避策として提供され、デフォルトはTrue
です。
- class Terminal256Formatter¶
- 省略名:
terminal256, console256, 256
- ファイル名:
なし
256色のターミナルまたはコンソールでの出力のために、ANSIカラーシーケンスを使用してトークンをフォーマットします。
TerminalFormatter
と同様に、カラーシーケンスは改行で終了するため、出力をページングできます。このフォーマッタは、
style
オプションで定義されたスタイルから色を取得し、最も近いANSI 256色のエスケープシーケンスに変換します。スタイルの太字と下線属性は保持され(表示されます)。バージョン0.9で追加されました。
バージョン 2.2 で変更:
#ansi*
の形式で前景の色を定義するスタイルを使用する場合、Terminal256Formatter はこれらを拡張されていない前景の色にマッピングします。詳細は ターミナルスタイル を参照してください。バージョン 2.4 で変更: ANSIカラー名は、より理解しやすく、他のプロジェクトやターミナルのカラー名と整合するように更新されました。詳細は この表 を参照してください。
受け入れられるオプション
- style
使用するスタイル。文字列またはStyleサブクラスにすることができます(デフォルト:
'default'
)。- linenos
ターミナル出力にも行番号を表示するには
True
に設定します(デフォルト:False
= 行番号なし)。
- class TerminalFormatter¶
- 省略名:
ターミナル、コンソール
- ファイル名:
なし
テキストコンソールでの出力のために、ANSIカラーシーケンスでトークンをフォーマットします。カラーシーケンスは改行で終了するため、出力のページングが正しく機能します。
共通のスタイルはサポートされていないため、
get_style_defs()
メソッドは特別な処理を行いません。受け入れられるオプション
- bg
ターミナルの背景に応じて
"light"
または"dark"
に設定します(デフォルト:"light"
)。- colorscheme
トークンタイプを(lightbg、darkbg)カラー名または
None
にマッピングする辞書(デフォルト:None
= 組み込みのカラースキームを使用)。- linenos
ターミナル出力にも行番号を表示するには
True
に設定します(デフォルト:False
= 行番号なし)。
- class TerminalTrueColorFormatter¶
- 省略名:
ターミナル16m、コンソール16m、16m
- ファイル名:
なし
トゥルーカラーターミナルまたはコンソールでの出力のために、ANSIカラーシーケンスでトークンをフォーマットします。TerminalFormatter と同様に、カラーシーケンスは改行で終了するため、出力のページングが正しく機能します。
バージョン2.1で追加されました。
受け入れられるオプション
- style
使用するスタイル。文字列またはStyleサブクラスにすることができます(デフォルト:
'default'
)。
- class TestcaseFormatter¶
- 省略名:
テストケース
- ファイル名:
なし
新しいテストケースに適した形式でトークンをフォーマットします。
バージョン2.0で追加されました。