Как я повреждаю долгое уравнение по строкам?

Название «Позиция» не может быть доступно в то время, когда само тело класса анализируется. Я не знаю, как вы используете объявления типа, но PEP 484 Python - это то, что большинство режимов должно использовать, если использовать эти подсказки для печати, скажем, что вы можете просто поместить имя в виде строки в этот момент:

def __add__(self, other: 'Position') -> 'Position':
    return Position(self.x + other.x, self.y + other.y)

Проверить https://www.python.org/dev/peps/pep-0484/#forward-references - инструменты, соответствующие этому, будут знать, чтобы развернуть имя класса оттуда и (всегда важно иметь в виду, что сам язык Python ничего не делает из этих аннотаций - они обычно предназначены для анализа статического кода или могут иметь библиотеку / фреймворк для проверки типов во время выполнения - но вы должны явно установить это)

26
задан Will Robertson 17 October 2009 в 12:47
поделиться

4 ответа

Пакет breqn предназначен для автоматического разделения длинных уравнений. Он работает очень хорошо в большинстве ситуаций, но он не такой зрелый, как пакет amsmath. Вот как вы бы написали свое примерное уравнение:

\documentclass{article}
\usepackage{breqn}
\begin{document}
\begin{dmath}
f(n)-f(0) = A(n)-B(n)-C(n)-D(n)\cdot d-\left(A(0)-B(0)-C(0)-D(0)\cdot d\right)
          = A(n)-0-X-D(n)\cdot d-\left(0-0-0-0\right)
          = A(n)-X-D(n)\cdot d
\end{dmath}
\end{document}

Обратите внимание, что нет разметки для выравнивания или новых строк, но вывод выглядит практически так же, как если бы вы использовали align.

13
ответ дан Will Robertson 19 July 2019 в 15:17
поделиться

Я обычно предпочитаю справляться с этим с помощью пакета amsmath и структуры split . Там есть куча полезных структур для разделения уравнений по строкам, но обычно это самый простой в использовании.

Во многих установках TeX уже есть пакет,

10
ответ дан 28 November 2019 в 17:17
поделиться

Насколько я знаю, это невозможно. При работе внутри дисплея вы несете ответственность за перенос строки. Как сделать разрыв строки и как продолжить на следующей строке в случае скобок - сложный вопрос для людей (посмотрите, например, соответствующий раздел в Гретцере «Математика в LaTeX»), не говоря уже о компьютере.

Пример: когда вы разрываете первую строку после \ left (, вам нужен \ right. в конце и \ left. в начале следующей строки (иначе вы получите ошибку). Более того, вам нужно, чтобы начало следующей строки, чтобы она была правее скобки, созданной \ left (

0
ответ дан 28 November 2019 в 17:17
поделиться

Стандартный подход, который я использовал в прошлом, - это eqnarray . См., Например, эту страницу .

1
ответ дан 28 November 2019 в 17:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: