トップページ | 全エントリー一覧 | RSS購読

アーカイブ

豊聡耳 神子

加護()

(自動α) 〔このブログ〕は〔Google Analytics及びfc2アクセス解析〕を用いて〔あなた〕のアクセスを解析している。
(自動α) 〔あなたのIPアドレスなど〕一部情報は〔Googleまたはfc2〕に送付される可能性がある。
(自動β) 〔このブログ〕は〔Cookie〕を利用している。〔このブログ〕を利用することで、〔あなた〕はCookieの利用に同意したとみなされる。
(自動β) 〔このブログ〕は表示するフォントに〔にしき的フォント〕を利用している。

Twitter

アクセスランキング

[ジャンルランキング]
サブカル
251位
アクセスランキングを見る>>

[サブジャンルランキング]
その他
63位
アクセスランキングを見る>>

最新トラックバック

Powered By FC2ブログ

今すぐブログを作ろう!

Powered By FC2ブログ

[TikZ] TikZ でテキスト装飾

この記事は TeX & LaTeX Advent Calendar 2021 の 3 日目の記事です。 2 日目は h20y6m さんの 独自TeX Liveリポジトリを作ってみる話 でした。 4 日目は ??? さんの ????? です(すなわちまだ空き枠です。レッツ登録)。

なお、この記事を作成するのにあたって、CSS を編集しました。 過去記事のスタイルが壊れてたら教えて下さい……。

導入

LaTeX で文章を作成するにあたって、㊝のようなものを本文中に出力するために、文字(または図形) を重ねて出力したいという要望が出てくるのは自然だといえます。これを TikZ で実現します。

実現方法

そのための方法のヒントは、ZR さんの TikZ で“インラインな”図を描く に示されています。 ここでは、その記事の内容を参考にしながら、◇に「3」を重ねたものを出力するのを試みてみます。

まず、愚直に TikZ で「◇」と「3」を重ねます。

1. AB \tikz{\draw node(C){\large ◇}node(T){3};} DE

各ノードの初期位置は (0,0) なので、ここでは C も T も (0,0) の位置にあることに注意してください。 (別に両方 T で揃えてもいいのですが、今後のことを考えて、ノードの名前を変えておきます)

これでは、「◇」の下端にノードのパディングを加えたものが本文のベースラインに合わせられ、 本文から浮いて見えます。

次に、 ベースラインを周りとあわせます。今回は、「3」のベースラインを周りと合わせるとして、 (T.baseline) で「3」のベースラインの y 座標を取得し、baseline パラメタで外側のベースラインと合わせます。

2. AB \tikz[baseline=(T.base)]{\draw node(C){\large ◇}node(T){3};} DE

マージンやパディングを消しておきます。

3. AB \tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt](C){\large ◇}node(T){3};} DE

ということでできました。

◇でなくとも、いろいろなものに応用することができます。

AB
\tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt](C){\large △}node(T){3};}
\tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt](C){\large ◇}node(T){3};}
\tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt](C){\large ■}node(T)[color=white]{3};}
DE\\

ドミニオンの コインのやつ も再現できます。

\usepackage{graphicx,tikz,xparse,newpxtext}
\NewDocumentCommand\Coin{m s t+}{%
	\tikz[baseline=(T.base)]{
		\draw
		node[inner sep=0pt,outer sep=0pt,](C){\includegraphics[height=1.1\zh]{Coin.png}}
		node(T){\vphantom{1}#1\textsuperscript{\IfBooleanT{#2}{*}\IfBooleanT{#3}{+}}};
	}%
}
\Coin{1}, \Coin{2}, \Coin{0}*, \Coin{4}+,
hogehoge fugafuga \Coin{a}, \Coin{b}, \Coin{c}.

パラメタを微調整することもできます。

1.
AB
\tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt,](C){\large ◇}node(T){a};}
\tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt,](C){\large ◇}node(T){g};}
\tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt,](C){\large ◇}node(T){h};}
DE\\
{\scriptsize\verb|\tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt,](C){\large ◇}node(T){X};}|}

2.
AB
\tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt,](C){\large ◇}node(T){\vphantom{gh}a};}
\tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt,](C){\large ◇}node(T){\vphantom{gh}g};}
\tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt,](C){\large ◇}node(T){\vphantom{gh}h};}
DE\\
{\scriptsize\verb|\tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt,](C){\large ◇}node(T){vphantom{gh}X};}|}

3.
AB
\tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt,](C){\large ◇}node[anchor=base](T){a};}
\tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt,](C){\large ◇}node[anchor=base](T){g};}
\tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt,](C){\large ◇}node[anchor=base](T){h};}
DE\\
{\scriptsize\verb|\tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt,](C){\large ◇}node[anchor=base](T){X};}|}

4.
AB
\tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt,anchor=base](C){\large ◇}node[anchor=base](T){a};}
\tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt,anchor=base](C){\large ◇}node[anchor=base](T){g};}
\tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt,anchor=base](C){\large ◇}node[anchor=base](T){h};}
DE\\
{\scriptsize\verb|\tikz[baseline=(T.base)]{\draw node[inner sep=0pt,outer sep=0pt,anchor=base](C){\large ◇}node[anchor=base](T){X};}|}

5.
AB
\tikz[baseline=(C.base)]{\draw node[inner sep=0pt,outer sep=0pt,](C){\large ◇}node(T){a};}
\tikz[baseline=(C.base)]{\draw node[inner sep=0pt,outer sep=0pt,](C){\large ◇}node(T){g};}
\tikz[baseline=(C.base)]{\draw node[inner sep=0pt,outer sep=0pt,](C){\large ◇}node(T){h};}
DE\\
{\scriptsize\verb|\tikz[baseline=(C.base)]{\draw node[inner sep=0pt,outer sep=0pt,](C){\large ◇}node(T){X};}|}

トラックバック
トラックバック送信先 :
コメント

プロフィール

さーくる⑨

Author:さーくる⑨

Please email us to
circle9.mail☯gmail.com
お題箱

さーくる⑨のメンバーは、

原メンバー

  • Carele Smith(代表)
  • kalna
  • Water Fall
  • Ocean@海P
  • NEO

準メンバー

  • ふにょ(イラストレーター)
  • ほたて(イラストレーター)
  • (雑用)

VISION は亡くなったんだ……!!

公式のデータベースのアーカイブとか、それと同等なものとか、 富山大会に関することとかです。

M.I.W. 公式だったもの:
頼子ドットインフォ:
さーくる⑨独自:
その他:
参加者心得は、参加者の方は必ず目を通して下さい。

検索フォーム

広告

リンク

管理画面


当ブログはリンクフリーです。これをクリックすれば、FC2 ブログの人はこのブログをリンクに追加できます。

相互リンクも募集してます。Twitter か何かで声かけてください。

East Opera 2019

http://www.circle9.work/e-banner.png

上はこのページのバナー(2019年版)です。直リンクでバナー貼ってくれると、年代わりに更新されるはずだよ! サイト名は" East Opera 20XX"でもok。 XXの部分は毎年変わります。


リンク集

以下さーくる⑨が運営/管理するサイト

以下VISION関連

以下東方関連

以下カードゲーム(トランプ)関連

その他

  • さんろ研究室
  • メールフォーム

    さーくる⑨ (circle9.mail☯gmail.com)

    名前:
    メール:
    件名:
    本文:

    乱数カード考察:課題

    VISIONのカードをランダムに選んで、それを考察しよう。忘れられたカードを再発掘しよう。新しい価値を見つけよう。
    現在の課題は
    • No.549 呪海に眠る記憶
    • No.640 地霊殿
    • No.973 萎縮
    • No.1518 八雲 藍
    エントリーはこちら
    古い記事には、最新のエラッタやテキスト修正、または最新の環境が反映されてませんので、ご注意ください。

    ブログ更新する人へ: テンプレートは下書き保存してあるので、記事の管理よりそこから記事を書いてください。その際、公開設定は「公開」保存日時は「保存した日時」にしてください。

    ブロとも申請フォーム

    ブロとも一覧