VScode住人の探検記

Visual Studio Codeでなんでもこなすのがポリシー。LaTeX(2020/7/19~), C(2021/1/25~), C#(2/4~), HTML&CSS(2/14~), Python(2/16~), JavaScript(2/28~), jQuery(3/18~), Sass(Scss)(3/20~),シェルスクリプト(3/21~), jCanvas(5/21~), WordPress(5/23~), PHP(5/31~)

LaTeXで使える付箋風の枠【tcolorboxの可能性】

tcolorboxのマニュアルの8.3節にある作例にちょっとだけ手を加えたら、思いがけず可愛らしい付箋のような枠が生まれたので記録しておく。

コード全文

\usepackage[dvipdfmx]{graphicx,color}%オプションは一例
\usepackage{xcolor}

\usepackage{tikz}
\usetikzlibrary{calc}%座標を使って図形を描くために必要

\usepackage{xparse}%オプション(省略可能引数)をもつコマンド作成

\usepackage{tcolorbox}
\tcbuselibrary{listings,breakable,xparse,skins,hooks}
 %listings…私の環境ではbreakableを使う際に必要
 %breakable…ページまたぎ可能な枠を作成できる
 %xparse…オプションをもつ枠を作成できる
 %skins…TikZで枠のデザインを描き足せる
 %hooks…多種多様な機能が含まれるため、とりあえず読み込んでおくと安全
 %           たとえばunderlay unbrokenに必要
 
%付箋環境~水色バージョン~の定義
\DeclareTColorBox{fusenmz}{m O{} }%
{enhanced,
 colframe=white,
 colback=yellow!10!white,
 coltitle=cyan!40!black, 
 fonttitle=\bfseries,breakable,
 underlay unbroken={\begin{tcbclipinterior}
                             \shade[inner color=cyan!80!yellow,outer color=yellow!10!white] (interior.north east) circle (2cm);
                             \draw[help lines,step=5mm,yellow!80!black,shift={(interior.north west)}] (interior.south west) grid (interior.north east);
                           \end{tcbclipinterior}}, 
 underlay first={\begin{tcbclipinterior}
                       \shade[inner color=cyan!80!yellow,outer color=yellow!10!white] (interior.north west) circle (2.5cm);
                       \draw[help lines,step=5mm,yellow!80!black,shift={(interior.north west)}] (interior.south west) grid (interior.north east);
                    \end{tcbclipinterior}}, 
 underlay last={\begin{tcbclipinterior}
                       \draw[help lines,step=5mm,yellow!80!black,shift={(interior.north west)}] (interior.south west) grid (interior.north east);
                    \end{tcbclipinterior}}, 
 title={#1},
 attach title to upper=\quad, #2
}

%付箋環境~桃色バージョン~の定義
\DeclareTColorBox{fusenmm}{m O{} }%
{enhanced,
 colframe=white,
 colback=yellow!10!white,
 coltitle=magenta!40!black, 
 fonttitle=\bfseries,
 breakable,
 underlay unbroken={\begin{tcbclipinterior}
                             \shade[inner color=magenta!80!yellow,outer color=yellow!10!white] (interior.north east) circle (2cm);
                             \draw[help lines,step=5mm,yellow!80!black,shift={(interior.north west)}] (interior.south west) grid (interior.north east);
                          \end{tcbclipinterior}}, 
 underlay first={\begin{tcbclipinterior}
                       \shade[inner color=magenta!80!yellow,outer color=yellow!10!white] (interior.north west) circle (2.5cm);
                       \draw[help lines,step=5mm,yellow!80!black,shift={(interior.north west)}] (interior.south west) grid (interior.north east);
                    \end{tcbclipinterior}}, 
 underlay last={\begin{tcbclipinterior}
                       \draw[help lines,step=5mm,yellow!80!black,shift={(interior.north west)}] (interior.south west) grid (interior.north east);
                    \end{tcbclipinterior}}, 
 title={#1},
 attach title to upper=\quad, 
 #2
}

使用法

%fusenmzの場合も同様
\begin{fusenmm}{タイトル}[さらなるtcolorboxのオプション]
テキスト
\end{fusenmm}

使用例ギャラリー

%プリアンブルに追加
\usepackage[math]{anttor}%オシャレな数式・英文フォント
\usepackage{enumerate}

%この下は\begin{document}以降

\begin{fusenmm}{My Title}
\begin{enumerate}[(1)]
\item A,A,B,C,Dを1列に並べる並べ方は何通りあるか。
\item A,A,B,B,C,Dを1列に並べる並べ方は何通りあるか。
\end{enumerate}
\end{fusenmm}

\begin{fusenmz}{My Title}
\begin{enumerate}[(1)]
\item A,A,B,C,Dを1列に並べる並べ方は何通りあるか。
\item A,A,B,B,C,Dを1列に並べる並べ方は何通りあるか。
\end{enumerate}
\end{fusenmz}

f:id:nix_campane:20210110144154j:plain

前回紹介したリングノート枠の中で使えば、付箋ノート風になってますます可愛いのでは…?

なお、付箋らしさは損なわれるが、一応ページまたぎも可能である。