![ConTeXt: `t-vim` モジュールによる水平方向の配置](https://rvso.com/image/461880/ConTeXt%3A%20%60t-vim%60%20%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%AB%E3%82%88%E3%82%8B%E6%B0%B4%E5%B9%B3%E6%96%B9%E5%90%91%E3%81%AE%E9%85%8D%E7%BD%AE.png)
t-vim
モジュール コード ブロックを水平に揃えることは可能ですか?
私は\{start|stop}alignement
このように試しました
\usemodule[vim]
\definevimtyping[python][syntax=python]
\starttext
\startalignment[middle]
\startpython
print("Hello, world!")
\stoppython
\stopalignment
\stoptext
そしてalign=middle
\usemodule[vim]
\definevimtyping[python][syntax=python, align=middle]
\starttext
\startpython
print("Hello, world!")
\stoppython
\stoptext
両方の結果は次の出力のようになりました:
答え1
コード ブロックの中央揃えを解釈する方法は 2 つあります。
- 各行を中央揃えにする
- コードブロック全体を中央揃えにする
最初の方法はコードには意味がありません。そのため、 のコードにはt-vim
明示的な が含まれており\raggedright
、外側の配置設定がコードのタイプセットに影響を及ぼさないようになっています。
コード ブロック全体を中央揃えにしたい場合は、単に で囲んでフレームを\framed
中央に配置するだけです。
\usemodule[vim]
\defineframed[PYTHONframed][align=normal,frame=off]
\definevimtyping
[python]
[
syntax=python,
before={\blank\midaligned\bgroup\PYTHONframed\bgroup},
after={\egroup\egroup\blank},
]
\starttext
\starttext
\startpython
for x = 1 upto 10:
print("Hello, world!")
\stoppython
\stoptext
\stoptext
上記のコードには、コードをページ間で分割できなくなるという欠点があることに注意してください。ページ間で分割する wrap を使用することは可能ですが、より複雑になります。それが必要なユースケースはよくわかりませんが、もし必要な場合は、その方法を示すことができます。