Как можно объединить заголовок и автора в PyLaTeX? - PullRequest
1 голос
/ 15 марта 2020

Я использую PyLaTeX в качестве средства для создания PDF-файлов (как часть flask веб-приложения), и я не могу получить название и автора, которые находятся на расстоянии, отличном от значения по умолчанию.

Мой код на данный момент выглядит следующим образом (это работает как средство свертывания раздела даты)

doc.preamble.append(Command('title', f"This is my personalized title with a {variable}"))
doc.preamble.append(Command('author', "This is the author"))
doc.preamble.append(Command('date', NoEscape(r'\vspace{-3ex}'))) #didn't want a date
doc.append(NoEscape(r'\maketitle'))

Попытка его с помощью vspace

проблема в том, что тот же \vspace{-3ex}, похоже, ничего не делает, если я помещаю его в команду автора (пробел между заголовком и автором остается прежним). Кроме того, размещение его внутри заголовка изменяет пробел над заголовком, а не ниже.

doc.preamble.append(Command('title', NoEscape(r'\vspace{4.0cm}' + f"Title with {variable}"))) #adds space on top
doc.preamble.append(Command('author', NoEscape(r'\vspace{-3.0cm}' + "Author"))) #this changes nothing

Попытка с заголовком

У меня есть также пытался использовать пакет titling LaTeX, но я не могу заставить его работать из PyLaTeX. Я думаю, что он импортирует его правильно, но тогда я не могу, например, изменить посттитл, как другие вещи:

doc.packages.append(Package(titling)) #this seems fine
doc.preamble.append(Command('posttitle','\vspace{-3.0cm}')) #things like this crash the compiler
...
doc.preamble.append(NoEscape(r'\posttittle{\vspace{-3.0cm}}')) #things like this don't work either

Хотя я не могу правильно использовать заголовки внутри PyLaTeX (я узнал больше всего это вчера, так хм ...).

1 Ответ

1 голос
/ 15 марта 2020

Хорошо, как указал @Patrick Artner, порядок имеет значение.

doc.preamble.append(Command('title', NoEscape(f"Title with {variable}" + r'\vspace{-1cm}')))

Из документов я понял, что \vspace влияет на строку, в которой он появился (независимо от того, где на строке он был размещен ). Кажется, что нет (наличие \vspace в начале изменяет высоту заголовка, но наличие его в конце меняет пространство между заголовком и автором).

...