ConTeXt: `t-vim` 모듈을 사용한 수평 정렬

ConTeXt: `t-vim` 모듈을 사용한 수평 정렬

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

코드 블록의 중간 정렬을 해석하는 방법에는 두 가지가 있습니다.

  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

위의 코드에는 코드가 더 이상 여러 페이지에 걸쳐 나누어질 수 없다는 단점이 있습니다. 여러 페이지에 걸쳐 분할되는 래핑이 가능하지만 더 복잡합니다. 나는 그것이 필요한 사용 사례를 잘 이해하지 못하지만, 있다면 그 방법을 보여줄 수 있습니다.

관련 정보