Pandoc コード ブロックは Eisvogel と Markdown を使用して整列されません

Pandoc コード ブロックは Eisvogel と Markdown を使用して整列されません

やあ、また私だよ。もう眠れない何かを持って戻ってきました。

私は人気のアイスフォゲルマークダウンファイルをPDFにレンダリングするためのPandocテンプレート。これまでのところ、すべてうまく機能していますが、引用符がドキュメントの残りの部分と揃っていないことに気付きました。eisvogel.latexファイルですが、何が問題なのかわかりません。気が狂いそうです。何らかの理由で、これらのブロックは数ポイント幅が広すぎます... 下の画像を参照してください。ただし、これがトリガーになることに注意してください。

ここに画像の説明を入力してください

ズームすると、コード ブロックが他のコンテンツよりも数ポイント広くなっていることがはっきりとわかります (左と右が影響を受けます)。

左:

ここに画像の説明を入力してください

右:

ここに画像の説明を入力してください

あなたの助けを求めます!また眠れるようになるはずです。:(

答え1

デフォルトのHaskellスカイライティングライブラリをコードのハイライトに使用する場合、Pandocはコードリストを「Shaded」と呼ばれる環境にタイプセットします。これはsnugshade額入りパッケージ

この環境は、テキストの開始が通常の位置になるように定義されていますが、網掛けされた領域にはパディングがあり、通常のタイプセット領域の外側に拡張されます。

ただし、そのパッケージには、通常のタイプセット領域の外側ではなく内側に網掛け領域のパディングを保持する星付きバージョンも用意されているため、内部の実際のテキストは両側でわずかにインデントされます。

Shadedしたがって、代わりにこれを使用するように pandoc の環境を再定義することもできます。

\renewenvironment{Shaded}{\begin{snugshade*}}{\end{snugshade*}}

これを、マークダウン ドキュメント、yaml オプション、またはおそらく最も適切な方法として、pandoc のオプションを使用してプリアンブルに含めるファイルheader-includes:の末尾に配置することができます。./LaTeX/headers.tex-H

私はあなたのハイライト スタイルを持っていないのでmy.theme、またそれが基づいている kate テーマは白い背景を使用しているため、そのテストはできませんでしたが、テーマを使用した結果は次のとおりですbreezedark

snugshade を使用したコードブロック*

関連情報