TikZでのゴルフのヒント


13

TikZは、Latexドキュメントに正確な画像を描画するために使用されるLatexパッケージです。それは、大規模な仕様と、スタイルの質問に役立つかもしれない機能のボートロードを持っています。

TikZでゴルフをするためのヒントは何ですか?いつものように、ヒントはTikZに固有のものでなければならず(たとえば、「コメントの削除」は答えではありません)、回答ごとに1つのヒントに固執する必要があります。


Tikzでゴルフをする人はいますか?
パベル


4
@Sergメインサイトには、同様のコンテンツに関する多くのヒントの質問があります。これらは一般的にトピックと見なされます。
ポストロックガーフハンター

2
興味のある人のために、tikz / pgfマニュアルがあります(答えの情報を見つけた場所です)。 バージョン3.0.1aバージョン2.10
0

1
@ShreevatsaR TeX / LaTeXについては、おそらく新しい質問をすべきだと思います。ここでのすべてのヒントは、現在Tikzに固有のものです。
ポストロックガーフハンター

回答:


5

使用する \documentclass[tikz]{standalone}

偶然、私はパッケージのマニュアルで以下を見つけましたstandalone

TikZで描かれた写真にtikzは、tikzパッケージをロードし、tikzpicture環境を設定して単一のトリミングされたページを作成する専用オプションが提供されます。

したがって、代わりに

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

書ける

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

5バイト節約します。


素敵な発見!ボイラープレートから削り取ることができるすべてのバイトは素晴らしいです!
ポストロックガーフハンター

4

使用する \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);

4

環境の\tikz代わりに使用するtikzpicture

tikzpicture環境(36バイト)を作成する代わりに、\tikzコマンド(7バイト)を使用できます

グローバルオプションは、tikzコマンド自体を使用して角括弧で設定できます\tikz[options...]{...}。tikzコードが1行の長さの場合、中括弧を省略して追加の2バイトを節約できます。

例:

次の両方のプログラムは、下部に画像を出力します

\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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.