Wskazówki do gry w golfa w TikZ

13

TikZ to pakiet Latex używany do rysowania precyzyjnych obrazów w dokumentach Latex. Ma ogromną specyfikację i mnóstwo funkcji, które mogą być przydatne w przypadku pytań w stylu .

Jakie są wskazówki dla golfistów w TikZ? Jak zawsze, wskazówki powinny być specyficzne dla TikZ (np. „Usuń komentarze” nie jest odpowiedzią) i trzymać się jednej wskazówki na odpowiedź.

Ad Hoc Garf Hunter
źródło
Czy ktoś gra w golfa w Tikz?
Pavel
@Pavel robię.
Ad Hoc Garf Hunter
4
@Serg Na stronie głównej znajduje się sporo wskazówek dotyczących podobnych treści. Są one ogólnie uważane za tematyczne.
Ad Hoc Garf Hunter,
2
Dla zainteresowanych jest podręcznik tikz / pgf (w którym znalazłem informacje o moich odpowiedziach). Wersja 3.0.1a , wersja 2.10
0
1
@ShreevatsaR Myślę, że być może należy postawić nowe pytanie dla TeX / LaTeX, wszystkie wskazówki tutaj są obecnie specyficzne dla Tikz i widzę pewną korzyść z ich oddzielenia.
Ad Hoc Garf Hunter

Odpowiedzi:

5

Posługiwać się \def

\defjest niezwykle potężnym narzędziem, jeśli chodzi o golfa. \defpozwala przypisać coś do zmiennej.

Można tego użyć po prostu, aby zapisać liczbę, na przykład kilka razy

\def\x{1456}

Zdefiniuje 1456jako \xdo wykorzystania w przyszłości, podobnie jak zapisywanie zmiennej w języku programowania.

\defJest jednak o wiele potężniejszy, ponieważ \defnie definiuje zmiennej, definiuje fragment kodu, który ma być podstawiony do programu za każdym razem, gdy jest wywoływany.

Na przykład powiedz, że chcesz narysować niektóre prostokąty, za pomocą \draw którego możesz napisać następujący kod:

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

Za pomocą \deftego można zapisać jako:

\def\x{)rectangle(}\draw(0,0\x3,4\x8,0);\draw(2,2\x3,3);
Ad Hoc Garf Hunter
źródło
Jest to genialne z punktu widzenia golfa, ale również bardzo przydatne do głębszego zrozumienia tych ważnych poleceń ... wiesz, kiedy pytają cię "jaka jest różnica między \ def a \ newcommand" ...
MattAllegro
5

Posługiwać się \documentclass[tikz]{standalone}

Przez przypadek znalazłem następującą informację w instrukcji na standaloneopakowaniu:

Dla zdjęć rysowanych za pomocą TikZ tikzdostępna jest dedykowana opcja, która ładuje tikzpakiet, a także konfiguruje tikzpictureśrodowisko, aby utworzyć pojedynczą przyciętą stronę.

Dlatego zamiast

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

można pisać

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

aby zapisać 5 bajtów.

Laikoni
źródło
Niezłe znalezisko! Każdy bajt, który możemy ogolić z płyty kotła, jest świetny!
Ad Hoc Garf Hunter
4

Użyj \tikzzamiast tikzpictureśrodowiska

Zamiast tworzyć tikzpictureśrodowisko (36 bajtów) możesz użyć \tikzpolecenia (7 bajtów)

Opcje globalne można ustawić w nawiasach kwadratowych za pomocą polecenia tikz jako takiego \tikz[options...]{...}. Jeśli kod tikz ma długość jednej linii, nawiasy klamrowe można pominąć, zapisując dodatkowe dwa bajty.

Przykład:

Oba poniższe programy wyświetlają obraz na dole

\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}

Przykład

Podziękowania dla WheatWizard za ustalenie wieloliniowego zastosowania \tikz

0 '
źródło