ConTeXt: horizontale Ausrichtung mit dem Modul „t-vim“

ConTeXt: horizontale Ausrichtung mit dem Modul „t-vim“

t-vimIst es möglich, Modulcodeblöcke horizontal auszurichten ?

Ich habe es mit \{start|stop}alignementso versucht

\usemodule[vim]
\definevimtyping[python][syntax=python]

\starttext
    \startalignment[middle]
        \startpython
            print("Hello, world!")
        \stoppython
    \stopalignment
\stoptext

und mitalign=middle

\usemodule[vim]
\definevimtyping[python][syntax=python, align=middle]

\starttext
    \startpython
        print("Hello, world!")
    \stoppython
\stoptext

Beide Ergebnisse sahen wie folgt aus:

Bildbeschreibung hier eingeben

Ich habe auch überprüftdie DokumentationUndder Quellcodeaber ich konnte nichts anderes finden. Habe ich etwas übersehen?

Antwort1

Es gibt zwei Möglichkeiten, die mittlere Ausrichtung für Codeblöcke zu interpretieren:

  1. Jede Zeile mittig ausrichten
  2. Den gesamten Codeblock mittig ausrichten

Das erste ergibt für Codes keinen Sinn. Aus diesem Grund t-vimenthält der Code in ein explizites \raggedright, sodass die äußeren Ausrichtungseinstellungen keinen Einfluss darauf haben, wie der Code gesetzt wird.

Wenn Sie den gesamten Codeblock mittig ausrichten möchten, können Sie ihn einfach in einen \framedRahmen einschließen und diesen zentrieren.

\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

Beachten Sie, dass der obige Code den Nachteil hat, dass der Code nicht mehr über mehrere Seiten verteilt werden kann. Es ist möglich, eine Umbruchfunktion zu haben, die über mehrere Seiten verteilt wird, aber das ist komplizierter. Ich verstehe keinen Anwendungsfall, in dem das nötig ist, aber wenn es einen gibt, kann ich zeigen, wie das geht.

verwandte Informationen