Suggerimenti per giocare a golf in TikZ


13

TikZ è un pacchetto in lattice utilizzato per disegnare immagini precise nei documenti in lattice. Ha una specifica massiccia e un carico di funzioni che può essere utile per domande stile di .

Quali consigli hanno le persone per giocare a golf in TikZ? Come sempre, i suggerimenti devono essere specifici di TikZ (ad es. "Rimuovi commenti" non è una risposta) e attenersi a un singolo suggerimento per risposta.


Qualcuno gioca a golf a Tikz?
Pavel


4
@Serg Sul sito principale sono disponibili numerosi suggerimenti su contenuti simili. Questi sono generalmente considerati in tema.
Post Rock Garf Hunter,

2
Per coloro che sono interessati, c'è un manuale tikz / pgf (dove ho trovato le informazioni per le mie risposte). Versione 3.0.1a , Versione 2.10
0 "

1
@ShreevatsaR Penso che forse dovrebbe essere fatta una nuova domanda per TeX / LaTeX, tutti i suggerimenti qui sono attualmente specifici per Tikz e posso vedere qualche vantaggio nel tenerli separati.
Post Rock Garf Hunter,

Risposte:


5

Uso \def

\defè uno strumento incredibilmente potente quando si tratta di golf. \defti permette di assegnare qualcosa a una variabile.

Questo può essere usato semplicemente con il per salvare un numero che potresti usare un sacco di volte, ad esempio

\def\x{1456}

Definirà 1456come \xper un uso futuro molto simile al salvataggio di una variabile in un linguaggio di programmazione.

Tuttavia \defè molto più potente di quello, poiché \defnon definisce una variabile, definisce uno snippet di codice da sostituire nel programma ogni volta che viene chiamato.

Ad esempio, supponiamo che tu voglia disegnare alcuni rettangoli usando \draw che potresti scrivere il seguente codice:

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

Usando \defquesto potrebbe essere scritto come:

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

Questo è brillante dal punto di vista del golf, ma è anche molto utile per comprendere più a fondo questi importanti comandi ... sai quando ti chiedono "qual è la differenza tra \ def e \ newcommand" ...
MattAllegro,

5

Uso \documentclass[tikz]{standalone}

Per caso ho trovato quanto segue nel manuale del standalonepacchetto:

Per le immagini disegnate con TikZ tikzviene fornita un'opzione dedicata che carica il tikzpacchetto e configura l' tikzpictureambiente per creare una singola pagina ritagliata.

Quindi, invece di

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

si può scrivere

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

per salvare 5 byte.


Bella scoperta! Ogni byte che possiamo radere dalla piastra della caldaia è fantastico!
Post Rock Garf Hunter,

4

Utilizzare al \tikzposto tikzpicturedell'ambiente

Invece di creare un tikzpictureambiente (36 byte) è possibile utilizzare il \tikzcomando (7 byte)

Le opzioni globali possono essere impostate tra parentesi quadre utilizzando il comando tikz in quanto tale \tikz[options...]{...}. Se il codice tikz è lungo una riga, è possibile omettere le parentesi graffe salvando altri due byte.

Esempio:

Entrambi i seguenti programmi visualizzano l'immagine in basso

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

Esempio

Ringraziamo WheatWizard per aver immaginato l'uso multilinea di \tikz

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.