« The Genie speaks | Home | Apache, PHP-FPM, chroot jails,... »

pgfornamentとTsukurimashouでディングバットを書いて

Fri 13 Dec 2019 by mskala Tags used: , , ,

古風な活字とき、ページがよく飾られました。 いろいろのディングバットありました。 LaTeXでその活字をしましょう。

これは「TeX and LaTeX Advent Calendar 2019」の13日目の記事です。 12日目はMahito TANNOさんです。 14日目はhak7a3さんです。 外の年も記事を書きました。 2014 2015 2016 2017 2018

「dingbat」や「printer's ornament」はたくさんな用あります。 章あと、間合いを見せできます。

ページの角に装飾置いて、ボーダーを作りできます。 ビュレットリストでいいです。

この記事での例文にLuaLaTeXとXeLaTeXが使いました。

pgfornamentの序文

pgfornamentはLaTeXの一つディングバットのパケージです。 Alain Matthesさんが著者です。 パケージの名前からこれがpgfとTikZと一緒によく使います。

パケージはTeXLiveの中でついてます。 その以外CTANからダウンロードができます。 pgfornamentを使えば例の\usepackageが必要です。

\usepackage{pgfornament}

たった一つのディングバットを簡単に活字しれば、\pgfornamentに番号を入れて。 その番号のリストは、パケージのマニュアルであります。

\pgfornament{11}\quad
\pgfornament{25}\quad
\pgfornament{123}

オプション

「scale」のオプションは、ディングバットの大きさを選びます。

\pgfornament[scale=0.5]{9}\quad
\pgfornament{9}\quad
\pgfornament[scale=2]{9}

「width」のオプションは、特定の幅ができます。 この場合で高さがオートマチックです。 同じく「height」のオプションあります。 幅がオートマチックです。

\pgfornament[width=1in]{6}

\raisebox的な上下のオプションは「ydelta」です。 でも上げれば負の数が必要です。

\pgfornament[ydelta=-12pt]{23}\quad
\pgfornament[ydelta=0]{23}\quad
\pgfornament[ydelta=12pt]{23}

pgfとTikZから例の「color」と「opacity」あります。

\pgfornament[color=red]{2}
\hspace{-3cm}
\pgfornament[opacity=0.3,color=blue]{2}

pgfornamentマクロは、「symmetry」オプションあります。 でもこの名前は難しいと思います。 パケージがフランス国からで、 もしかしたらオプションの名前はフランス語から訳されました。 英語でsymmetryの意味は対称です。 たとえば鏡の対称を持つ物は、反映と本物が同じです。 pgfornamentの「symmetry」オプションは、反映のためにあります。 実は対称のディングバットに「symmetry」オプションを使えば何もないしません。 そうから他の名前はいいと思います。

やっぱり「symmetry=h」は横線の反映をします。

\pgfornament{111}\quad
\pgfornament[symmetry=h]{111}

「symmetry=v」は縦線の反映をします。

\pgfornament{111}\quad
\pgfornament[symmetry=v]{111}

「symmetry=c」は軸の反映をします。 それは横線も縦線もの反映です。

\pgfornament{111}\quad
\pgfornament[symmetry=c]{111}

毎ページのディングバット

もしかしたら毎ページでディングバットが欲しいです。 たとえば角に入れたいです。

いろいろなできものあります。 TikZを使えば便利でも、マニュアルでの例が不全です。 TikZの「remember picture」と「overlay」使うなら、「eso-pic」のパケージできません。 「everypage」のパケージがいいです。

\usepackage{everypage}
 
\newcommand{\prettycorners}{%
\begin{tikzpicture}[remember picture,overlay]
  \node[anchor=north west] at (current page.north west){%
    \pgfornament{131}};
  \node[anchor=north east] at (current page.north east){%
    \pgfornament[symmetry=v]{131}};
  \node[anchor=south west] at (current page.south west){%
    \pgfornament[symmetry=h]{131}};
  \node[anchor=south east] at (current page.south east){%
    \pgfornament[symmetry=c]{131}};
\end{tikzpicture}
}
 
\AddEverypageHook{\prettycorners}

TikZでディングバットライン

TikZのラインは、pgfornamentのディングバットが使いできます。 「to」に「ornament」のオプションが上げられました。 例文でノードの中もディングバットを使いでいます。

\begin{tikzpicture}
  \path (0,0) to[ornament=83] (10,0);
  \path (0,0) to[ornament=83] (0,8);
 
  \node (taishou) at (2,1)
    {\pgfornament[scale=0.7]{117}};
  \node (shouwa) at (4,1.5)
    {\pgfornament[scale=0.7]{117}};
  \node (heisei) at (6,2.5)
    {\pgfornament[scale=0.7]{117}};
  \node (reiwa) at (8,5.5)
    {\pgfornament[scale=0.7]{117}};
 
  \path (taishou)
    to[ornament=81] (shouwa)
    to[ornament=81] (heisei)
    to[ornament=81] (reiwa);
 
  \node at (5,-1) {\large 年号};
  \node at (2,-0.5) {大正};
  \node at (4,-0.5) {昭和};
  \node at (6,-0.5) {平成};
  \node at (8,-0.5) {令和};
  \node[rotate=90] at (-0.5,4)
    {\large \TeX{}のオタクの国勢};
\end{tikzpicture}

『作りましょう』のディングバット

作りましょうプロジェクトのフォントもディングバットを上げます。 Unicode私用面でその字あります。 ビュレットリストで使いましょう。

\renewcommand{\labelitemi}{%
  {\fontspec{TsukurimashouKaku}\char"F1733}}
 
\begin{itemize}
  \item ぜったい君を手放さない
  \item ぜったい君を下ろさない
  \item ぜったい走り回らない
\end{itemize}

フォントで八字の巴と「仇十一」のロゴあります。

{\fontspec{TsukurimashouKaku}\LARGE
\char"F1731\quad
\char"F1732\quad
\char"F1733\quad
\char"F1734\quad
\char"F1735\quad
\char"F1736\quad
\char"F1737\quad
\char"F1738\quad
\char"F1713

TeXで面白いディングバットを書きましょう!

Share on: Facebook Facebook Twitter Twitter Reddit Reddit LinkedIn LinkedIn

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.