« Installing Slackware on a Dell... | Home | Live video streaming with free... »

tikzpeopleで新しいキャラ

Wed 13 Dec 2017 by mskala Tags used: , , ,

これは TeX & LaTeX Advent Calendar 2017 の 13 日目の記事です。 昨日は tattsan さんでした。 明日は p_typo さんです。 外の年も記事を書きました。 2014 2015 2016

Nils Fleishhacker さんからのパケージ『tikzpeople』は、 人のノードを書きできます。 マイクロソフトビジオのようを持ちます。 たとえば暗号プロトコルので便利です。 だから Alice と Bob の名前あります。

Alice と Bob とサンタクロース

今日新しいキャラを上げましょう。 トトロとカッパと四人の JK です。

トトロとカッパと四人の JK

全 LaTeX パケージを作れば難しいです。 その上 tikzpeople は、 tikz のパケージもです。 だからこの記事ので全パケージを作らないでした。 多少のファイルと LaTeX 前書きで多少のラインを書きました。 ZIP ファイルのダウンロードで下さい。

初めに前書きを書きます。 tikzpeople と geometry のパケージを使います。

\documentclass{article}
 
\usepackage{tikzpeople}
\usepackage[margin=0.75in]{geometry}
 

LaTeX パケージで、専用のマクロの名前でいつも @ あります。 ドキュメントはそのマクロが出来ません。 だからドキュメントでパケージを広めたいなら、 @ の許しが必要です。

\makeatletter

かわいい JK は、しょっちゅう猫耳を持っています。 その上夏の制服と冬の制服あります。 オプションを作りましょう。

\newif\if@tikzpeople@neko\@tikzpeople@nekofalse
\pgfkeys{/tikz/neko/.is if=@tikzpeople@neko}
\newif\if@tikzpeople@winter\@tikzpeople@winterfalse
\pgfkeys{/tikz/winter/.is if=@tikzpeople@winter}
 

ZIP ファイルで新しいキャラは各自 .sty ファイルあります。 LaTeX 前書きで新しいファイルを持ち出します。

\tikzpeople@declareshape{hanako}
\tikzpeople@declareshape{itsumi}
\tikzpeople@declareshape{junko}
\tikzpeople@declareshape{kaori}
\tikzpeople@declareshape{kappa}
\tikzpeople@declareshape{totoro}
 

安全のために @ の許しを返します。 そのあとドキュメントを始めます。

\makeatother
 
\begin{document}

トトロとカッパはやさしいです。

\begin{tikzpicture}[minimum size=2.5cm]
  \fill[black!40!white] (-6,3) rectangle (3,-3);
  \node[totoro] at (-3,0) {};
  \node[kappa] at (0,0) {};
\end{tikzpicture}
 

JK なら、オプションあります。 四人(H, I, J, K)は各自髪の毛を持っています。 その上猫耳と服です。 tikzpeople から saturated 色のオプションです。

\begin{tikzpicture}[minimum size=2.5cm]
  \fill[black!40!white] (-3,-1) rectangle (12,-19);
  \node[hanako] at (0,-4) {};
  \node[itsumi,neko] at (3,-4) {};
  \node[junko] at (6,-4) {};
  \node[kaori,neko] at (9,-4) {};
  \node[hanako,neko,winter] at (0,-8) {};
  \node[itsumi,winter] at (3,-8) {};
  \node[junko,winter,neko] at (6,-8) {};
  \node[kaori,winter] at (9,-8) {};
  \node[hanako,saturated] at (0,-12) {};
  \node[itsumi,saturated,neko] at (3,-12) {};
  \node[junko,saturated] at (6,-12) {};
  \node[kaori,saturated,neko] at (9,-12) {};
  \node[hanako,neko,winter,saturated] at (0,-16) {};
  \node[itsumi,winter,saturated] at (3,-16) {};
  \node[junko,winter,saturated,neko] at (6,-16) {};
  \node[kaori,winter,saturated] at (9,-16) {};
\end{tikzpicture}
 

ドキュメントを仕上げます。

\end{document}

PDF のダウンロードが出来ます。 TeX と tikzpeople で新しいキャラを作ることは楽しんで下さい。

ツイッターマストドン で mattskala です。

0 comments



(optional field)
(optional field)
Answer "bonobo" here to fight spam. ここに「bonobo」を答えてください。SPAMを退治しましょう!
I reserve the right to delete or edit comments in any way and for any reason. New comments are held for a period of time before being shown to other users.