Выравнивание текста по центру в PyX - PullRequest
0 голосов
/ 06 января 2019

Я использую PyX для создания прямоугольников и помещения некоторого (LaTex) текста в прямоугольник.

# python 3
from pyx import *
text.set(text.LatexRunner)
c = canvas.canvas()
c.stroke(path.rect(0, 0, 1, 1), [style.linewidth.Thick,
                                 color.rgb.red,
                                 deco.filled([color.rgb.green])])

c.text(0.25, 0.25, r"\LaTeX{}")

c.writePDFfile("text-centered") # creates a PDF file     

Приведенный выше фрагмент кода создает PDF:

Как видите, текст не выровнен. Можно попробовать вручную, пока он не будет (заметно) отцентрирован, но это проблематично по очевидным причинам.

Мой вопрос: можно ли автоматически выровнять текст по центру (по горизонтали и вертикали)?

1 Ответ

0 голосов
/ 07 января 2019

просто используйте

c.text(0.5, 0.5, r"\LaTeX{}", [text.halign.center, text.vshift.mathaxis])

см

для некоторой документации и примеров

...