![ConTeXt: `t-vim` 모듈을 사용한 수평 정렬](https://rvso.com/image/461880/ConTeXt%3A%20%60t-vim%60%20%EB%AA%A8%EB%93%88%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%9C%20%EC%88%98%ED%8F%89%20%EC%A0%95%EB%A0%AC.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
코드 블록의 중간 정렬을 해석하는 방법에는 두 가지가 있습니다.
- 각 줄을 가운데 정렬
- 전체 코드 블록을 중간 정렬
첫 번째는 코드에 적합하지 않습니다. 이러한 이유로 의 코드에는 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
위의 코드에는 코드가 더 이상 여러 페이지에 걸쳐 나누어질 수 없다는 단점이 있습니다. 여러 페이지에 걸쳐 분할되는 래핑이 가능하지만 더 복잡합니다. 나는 그것이 필요한 사용 사례를 잘 이해하지 못하지만, 있다면 그 방법을 보여줄 수 있습니다.