Я пытаюсь создать следующий (тип) код с PyLatex:
{
\centering
\includegraphics{image.png}
\includegraphics{image.png}
}
Я не могу сгруппировать команду \centering
с фигурными скобками вокруг \includegraphics
;если я определяю новую среду, я всегда получаю \begin
и \end
, которые добавляют интервалы.
Итак, вы знаете, как можно добавить фигурные скобки с помощью команды \centering
вокруг фрагмента кода, подобного \includegrahics
?
Для меня наиболее элегантным решением было бычто-то вроде:
with doc.centering():
doc.append('Some text.')
append(StandAloneGraphic(image))
append(StandAloneGraphic(image2))
Как я могу определить такое '' 'с помощью команды doc.centering ()' ''?Конечно, я могу каждый раз жестко кодировать это, но я хочу, чтобы мой код был читабельным, поэтому было бы неплохо, если бы я мог написать хорошую функцию для этой проблемы.https://tex.stackexchange.com/questions/490429/pylatex-how-to-apply-centering-x-around-graphic/490442), но там я получил совет опубликовать здесь, потому что это больше проблема программирования на Python, чем проблема PyLatex.
Обновление: я хотел бы поместить код ниже в хороший with.group():
выражение:
import pylatex as pl
doc = pl.Document()
doc.preamble.append(pl.Package('showframe'))
doc.append(pl.NoEscape('{'))
doc.append(pl.Command('centering'))
doc.append(pl.StandAloneGraphic('example-image',image_options='width=5cm'))
doc.append(pl.Command('par'))
doc.append(pl.NoEscape('}'))
doc.generate_tex('pylatexdemo')
Этот фрагмент кода создает правильный вывод, но не очень удобочитаемый. Я мог бы представить такое решение (но я не знаю, как его запрограммировать), определениеgroup
-функция неверна. Мой вопрос: как реализовать такую group
-функцию?
import pylatex as pl
doc = pl.Document()
doc.preamble.append(pl.Package('showframe'))
def group(content):
doc.append(pl.NoEscape('{'))
doc.append(content)
doc.append(pl.Command('par'))
doc.append(pl.NoEscape('}'))
with doc.group():
doc.append(pl.Command('centering'))
doc.append(pl.StandAloneGraphic('example-image',image_options='width=5cm'))
doc.generate_tex('pylatexdemo')