Подтвердить что ты не робот

Как сравнить PStricks и TikZ для удобства обучения и качества дизайна API?

Моя группа использует Literate Programming для большей части нашего исходного кода --- это означает, что внутренняя документация написана с использованием LaTeX. Мы использовали PStricks для фантастических технических диаграмм системы, но недавно рекомендовали использовать TikZ. Я собрал эту информацию:

  • TikZ/PGF является новым и поддерживается; PStricks долгое время занимался без сопровождения, но за последние пару лет получил некоторое обслуживание.
  • TikZ работает со многими задними концами, в том числе (для тех, кто заботится) pdftex. PStricks работает только с dvips.
  • PStricks более мощный и выразительный, чем TikZ. В тяжелой ситуации вы даже имеете полную мощность PostScript.
  • PStricks имеет значительную экологию дополнительных пакетов, которые были построены поверх нее; TikZ слишком нов, чтобы иметь много таких вещей.
  • TikZ утверждает, что он был разработан с учетом недостатков PStricks. Автор не указывает, какие недостатки.

Меня интересуют ответы на два вопроса. Если хотите, не стесняйтесь публиковать один ответ на вопрос:

  • Что такое кривая обучения как для двух инструментов? (Я считаю, что PStricks имеет крутую кривую обучения, а о TikZ я не проинформирован.)

  • Рассматриваются как API-интерфейсы программирования, является ли один из этих двух пакетов значительно лучше, чем другой? Если да, то какой лучший дизайн и почему? (Какие свойства у вас есть, чтобы вы считали это лучше?)

Чтобы сделать убедительный аргумент, почему один API лучше другого, вы можете прибегнуть к примерам.

4b9b3361

Ответ 1

Быстрый ответ: я предпочитаю TikZ для pstricks, потому что думаю TikZ

  • лучше разработан
  • легче узнать.
  • совместим с pdftex
  • дает вам больше мощности и абстракции (вам не нужно указывать столько кодов вручную)
  • позволяет создавать более красивую графику с одинаковыми усилиями.
  • его проще расширить с помощью TeX-программирования (он был разработан с нуля с учетом расширяемости).

Для пользователей pstricks я бы рекомендовал записывать все новые документы с помощью TikZ в будущем. Для пользователей METAPOST, если их графика не использует решение линейного уравнения, я бы рекомендовал TikZ. Если графика METAPOST нуждается в решении линейных уравнений, я бы предложил попробовать Asymptote.

pstricks действительно дает вам мощь PostScript, но это не PostScript, который делает ваше графическое оформление мощным, но это абстракция: использование автоматического позиционирования, автоматических вычислений пересечений и шаблонов стиля отображения. TikZ дает вам мощные абстракции, даже если вы не программист, или вы не хотите программировать на этот раз.

У меня нет опыта написания расширений TikZ, но из быстрого взгляда на исходный код TikZ кажется, что его легко понять и расширить, по сравнению с другими пакетами макросов TeX, с которыми я столкнулся.

Ответ 2

Как любимый пользователь TikZ, у меня были эти дебаты с профессором моего физического факультета, который любит pstricks, и я думаю, что мы пришли к выводу, как я уже говорил в других сообщениях. Отсутствуя несколько раз, когда погружаясь в сам PS, TikZ и pstricks очень сопоставимы по большинству способов. Расширяемость и совместимость TiKZ привлекательна, что позволяет нам согласиться с тем, что:

  • Мы считаем, что новые пользователи должны изучить TikZ.
  • Старые руки в pstricks, вероятно, не получат достаточного количества от коммутатора и, возможно, не стоит делать.

Надеюсь, это поможет!

Ответ 3

Я только использовал PSTricks, но я сделал все, что хотел. Tikz имеет великолепное руководство и явно очень мощное. Есть две вещи, которые я хотел бы извлечь из системы рисования, которую я не могу сделать с PSTricks: пернатые края (что может сделать Tikz), и я не могу вспомнить другую вещь. OP спрашивал о "легкости обучения": PSTricks, конечно, требует некоторых проб и ошибок, и я думаю, что некоторые дисциплины кодирования, которые я не очень хорошо. Но \rput - это очень важно, как я использую PSTricks. Я не могу представить, чтобы быть без него.

С другой стороны, "украшения" выглядят довольно аккуратно. Мне нравится пример "спасен от мусора" на стр. 210 (!) Руководства (560 pp.). Мне не нравится тот факт, что Tikz, кажется, использует совершенно другую нотацию - я не признаю LaTeX в нем, что делает его кажущимся чужим и странным. Однако руководство выглядит красиво. Эффекты прозрачности и эффекта "затухания" кажутся очень мощными.. можно ли это сделать в pstricks?.. но я сомневаюсь, что когда-нибудь буду использовать их. Tikz кажется немного больше о "рисовании" конца вещей. Как правило, я не рисую рисунки, я рисую цифры.

Можете ли вы сделать арифметику по координатам? Мне нужно начинать с нуля и учиться с нуля, чтобы использовать Tikz, что является жесткой продажей, если я даже не знаю, что бы я выбрал.

Ответ 4

Я разрабатываю приложение asp.net, работающее с дистрибутивом Miktex, установленным на сервере.

Приложение будет генерировать математические проблемы и создавать pdf файлы, которые будут загружены посетителем. Математические проблемы содержат некоторые jpeg-изображения и математические диаграммы.

Я был смущен, следует ли использовать PSTricks или Tikz. После бенчмаркинга приложения я должен использовать Tikz, потому что ему нужен только один шаг компиляции с использованием pdftex. Таким образом, Tikz выигрывает в этом сценарии.: D

Примечание. Я надеюсь, что мой ответ будет соответствовать вашему вопросу: D

Ответ 5

Я думаю, что pstricks превосходит. TikZ даже не имеет хорошего способа перевода координат, например команды rput/uput/Aput/Bput pstricks. Вы можете использовать xshift и yshift, но для них требуются единицы (!), Поэтому для масштабирования изображения потребуется вручную shaling каждый вызов xshift/yshift.