1

ラテックスから lstlisting パッケージの数字を色付けできるかどうか知りたいです。たとえば、0x0F (16 進数) と 0b00001111 (ビン) であっても、すべての数値を赤くしたい:

void SetaPWM2(unsigned char porcento)
{
  //100 * 256 = 25.600
  unsigned int val = porcento * PR2;
  val /= 25;
  //garante que tem apenas 10 bits
  val &= 0x03ff;
  //os 8 primeiros bits são colocados no CCPR1L
  CCPR2L = val >> 2;
  //os últimos dois são colocados na posição 5 e 4 do CCP1CON
  CCP2CON |= (val & 0b00001111) << 4;
}

方法がない場合、それを行うことができる他のパッケージはありますか?

PS: 私は C 言語で作業しています。ありがとう

4

1 に答える 1

2

Mintedは Python ライブラリ (Pygments) を使用しており、リストのようなキーワードだけでなくコードを理解できるため、LaTeX のあらゆる種類の強調表示を行うことができます。

少なくとも 16 進数は直接サポートされていますが、Pygments のデモでは 2 進数で失敗するため、ハイライター コード (16 進数を解析するものと同様の正規表現) にオンラインで追加するだけで問題ないでしょう。

編集:

60pygments\lexers\compiled.py行目は次のとおりです。

(r'0x[0-9a-fA-F]+[Ll]?', Number.Hex),

これは C の 16 進数を解析します。その下に次のようなものを追加できます(r'0b[0-1]+[Ll]?', Number.Hex),(Number.Hex を使用すると、おそらく Number.Bin を tokes.py などに追加する必要があるため)。

于 2010-07-27T06:42:24.480 に答える