Как указать отрицательное значение аргумента в PyLatex?

Как задать отрицательный отступ \vspace{-1em} с использованием PyLatex? Я пробовал использовать команду doc.append(VerticalSpace("-1em")), но она приводит к созданию \vspace*{{-}1em} в Tex файле. Я также пытался передавать команду непосредственно в doc.append(...), а также определить код символа utf для отрицательного знака, но безуспешно. Мне не удалось найти много информации об этом в документации. Может быть, кто-то сталкивался с подобной проблемой? Буду благодарен за помощь.
  • 6 октября 2023 г. 0:37
Ответы на вопрос 2
В PyLatex есть класс `VerticalSpace` для создания вертикального пространства, но он не поддерживает отрицательные значения по умолчанию. Однако вы можете создать свой собственный класс, который будет принимать отрицательные значения аргументов. 

Вот пример реализации такого класса:

```python
from pylatex import LatexObject, Command

class NegativeVerticalSpace(LatexObject):
    def __init__(self, space):
        self.space = space

    def dumps(self):
        return Command('vspace*', arguments=self.space).dumps()
```

Теперь вы можете использовать этот класс для создания отрицательного отступа:

```python
doc.append(NegativeVerticalSpace("-1em"))
```

Это создаст `\vspace*{-1em}` в вашем Tex файле. 

Надеюсь, это помогло! Дайте мне знать, если у вас возникнут другие вопросы.
Используйте команду NoEscape вместо VerticalSpace("-1em"), например, NoEscape("vspace=-1em"). Есть похожая проблема на GitHub.
Похожие вопросы