Поради щодо гольфу в TikZ


13

TikZ - це латексний пакет, який використовується для малювання точних зображень у документах Latex. Він має величезну специфікацію та набір функцій, які можуть бути корисні для запитань у стилі .

Які поради мають люди з гольфу в TikZ? Як завжди, поради повинні бути характерними лише для TikZ (наприклад, "Видалити коментарі" - це не відповідь) та дотримуватися однієї підказки на кожну відповідь.


Хто-небудь займає гольф у Тікз?
Павло


4
@Serg На основному веб-сайті є багато порад щодо питань подібного вмісту. Зазвичай вони вважаються тематичними.
Ad Hoc Hunter Hunter

2
Для тих, хто цікавиться, є посібник з tikz / pgf (там, де я знайшов інформацію для своїх відповідей). Версія 3.0.1a , версія 2.10
0

1
@ShreevatsaR Я думаю, що можливо, варто поставити нове запитання щодо TeX / LaTeX, всі поради, які зараз тут характерні лише для Tikz, і я можу побачити певну користь у тому, щоб тримати їх окремо.
Ad Hoc Hunter Hunter

Відповіді:


5

Використовуйте \def

\defце неймовірно потужний інструмент, коли справа стосується гольфу. \defдозволяє призначити щось змінній.

Це можна використовувати просто, щоб зберегти номер, який ви можете використовувати, наприклад, купу разів

\def\x{1456}

Буде визначено, 1456як \xдля майбутнього використання так само, як збереження змінної може бути в мові програмування.

Однак \defце набагато потужніше, тому \defщо не визначає змінну, вона визначає фрагмент коду, який підлягає заміні в програмі щоразу, коли він викликається.

Наприклад, скажіть, що ви хочете намалювати кілька прямокутників, використовуючи, \draw ви можете написати наступний код:

\draw(0,0)rectangle(3,4)rectangle(8,0);\draw(2,2)rectangle(3,3);

Використовуючи \defце, можна записати як:

\def\x{)rectangle(}\draw(0,0\x3,4\x8,0);\draw(2,2\x3,3);

Це блискуче з точки зору гольфу, але також дуже корисно для глибшого розуміння цих важливих команд ... ви знаєте, коли вони запитують у вас "яка різниця між \ def та \ newcommand" ...
MattAllegro

5

Використовуйте \documentclass[tikz]{standalone}

Випадково я знайшов наступне в керівництві по standaloneупаковці:

Для зображень, намальованих TikZ, надається спеціальна tikzопція, яка завантажує tikzпакет, а також налаштовує tikzpictureсередовище для створення єдиної обрізаної сторінки.

Таким чином, замість

\documentclass{standalone}\input tikz\begin{document} ...

можна писати

\documentclass[tikz]{standalone}\begin{document} ...

зберегти 5 байт.


Приємна знахідка! Кожен байт, який ми можемо збрити з плити котла, чудовий!
Ad Hoc Hunter Hunter

4

Використовуйте \tikzзамість tikzpictureнавколишнього середовища

Замість створення tikzpictureсередовища (36 байт) ви можете використовувати \tikzкоманду (7 байт)

Глобальні параметри можна встановити у квадратних дужках, використовуючи команду tikz як таку \tikz[options...]{...}. Якщо код tikz є одним рядком, фігурні дужки можна опустити, зберігаючи додаткові два байти.

Приклад:

Обидві наступні програми виводять зображення внизу

\documentclass{standalone}\input tikz\begin{document}\tikz{\draw[thick,rounded corners=8pt](0,0)--(0,2)--(1,3.25)--(2,2)--(2,0)--(0,2)--(2,2)--(0,0)--(2,0);\draw(-1.5,0)--(0,1.5);}\end{document}

\documentclass{standalone}\input tikz\begin{document}\begin{tikzpicture}\draw[thick,rounded corners=8pt](0,0)--(0,2)--(1,3.25)--(2,2)--(2,0)--(0,2)--(2,2)--(0,0)--(2,0);\draw(-1.5,0)--(0,1.5);\end{tikzpicture}\end{document}

Приклад

Кредит WheatWizard за визначення багатокористувацького використання \tikz

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.