iT邦幫忙

2

利用LaTex套件tikz繪製棋盤

LaTex語法中,有一個套件叫作tikz
可以用來繪製各種圖形,
這邊要示範的是如何用來畫棋盤

基本格式如下:

\documentclass[12pt]{article}
\usepackage{tikz}
\begin{document}
(裡面放你的正文)
\end{document}

用方格與圓畫棋盤棋子

範例:

\begin{tikzpicture}
\draw[step=1cm,blue,thick] (0,0) grid (5,5);
\draw (2,3) circle (.4cm); %指定圓的圓心座標與半徑
\fill[white] (2,3) circle (.4cm); %將棋子上色
\draw (0.5,0.5) circle (.4cm);
\fill[black] (0.5,0.5) circle (.4cm); %將棋子上色
\end{tikzpicture}

效果:
https://ithelp.ithome.com.tw/upload/images/20200707/20117114nOmiC9x7CC.png

用方格與圓畫棋盤棋子-簡潔的寫法

為了方便及增加可讀性,我們可以把常用指令用\newcommand包裝。
如在開頭宣告以下指令:

\newcommand{\blackstone}[2]{
\draw (#1+0.5,#2+0.5) circle (0.4cm);
\fill[black] (#1+0.5,#2+0.5) circle (0.4cm);
}
\newcommand{\whitestone}[2]{\draw (#1+0.5,#2+0.5) circle (0.4cm);
\fill[white] (#1+0.5,#2+0.5) circle (0.4cm);
}

然後在正文中使用自定義的指令:

\begin{tikzpicture}
\board{5}{5};
\whitestone{2}{3};
\blackstone{0}{0};
\end{tikzpicture}

效果:
https://ithelp.ithome.com.tw/upload/images/20200707/20117114qUenPWwIh9.png

給棋盤塗上陰影區域

可以先自定義指令\newcommand{\shadow}[2]{\fill[gray!50] (#1,#2) rectangle (#1+1,#2+1);}
再於正文中使用:

\begin{tikzpicture}
\shadow{0}{0};
\shadow{0}{1};
\shadow{1}{2};
\board{5}{5};
\end{tikzpicture}

效果:
https://ithelp.ithome.com.tw/upload/images/20200707/20117114wmB9nfqHGw.png

完整範例

以下是自己寫的latex檔,
Overleaf(線上Latex編譯器)上可執行

哦,對了,說明一下,
一般來說預設latex是不能打中文的,
\usepackage{CJKutf8}\begin{document}內部的\begin{CJK}{UTF8}{bsmi}
是用來設定讓latex的正文可以打中文字用的。

\documentclass[12pt]{article}
\usepackage{CJKutf8, tikz}

\newcommand{\board}[2]{\draw[step=1cm,black,thick] (0,0) grid (#1,#2);}
\newcommand{\shadow}[2]{\fill[gray!50] (#1,#2) rectangle (#1+1,#2+1);}%在座標(#1,#2)處塗上陰影區域,「(0,0) rectangle (1,1);」指定長方形的對角頂點座標
\newcommand{\blackstone}[2]{\draw (#1+0.5,#2+0.5) circle (0.4cm); \fill[black] (#1+0.5,#2+0.5) circle (0.4cm);}%在座標(#1,#2)處放置棋子
\newcommand{\whitestone}[2]{\draw (#1+0.5,#2+0.5) circle (0.4cm); \fill[white] (#1+0.5,#2+0.5) circle (0.4cm);}%在座標(#1,#2)處放置棋子

\begin{document}
\begin{CJK}{UTF8}{bsmi}
\begin{center}
\textsc{\LARGE LaTex畫棋盤}
\end{center}

\section{用方格與圓畫棋盤棋子}
我們用環境\verb|\begin{tikzpicture}|來畫棋盤和棋子。
\begin{verbatim}
\begin{tikzpicture}
\draw[step=1cm,blue,thick] (0,0) grid (5,5);
\draw (2,3) circle (.4cm); %指定圓的圓心座標與半徑
\fill[white] (2,3) circle (.4cm); %將棋子上色
\draw (0.5,0.5) circle (.4cm);
\fill[black] (0.5,0.5) circle (.4cm); %將棋子上色
\end{tikzpicture}
\end{verbatim}
\begin{tikzpicture}
\draw[step=1cm,blue,thick] (0,0) grid (5,5);
\draw (2,3) circle (.4cm);
\fill[white] (2,3) circle (.4cm);
\draw (0.5,0.5) circle (.4cm);
\fill[black] (0.5,0.5) circle (.4cm);
\end{tikzpicture}

\section{用方格與圓畫棋盤棋子-簡潔的寫法}
為了方便,我們可以把常用指令用\verb|\newcommand|包裝。如在開頭宣告以下指令:
\begin{verbatim}
\newcommand{\blackstone}[2]{
\draw (#1+0.5,#2+0.5) circle (0.4cm);
\fill[black] (#1+0.5,#2+0.5) circle (0.4cm);
}
\newcommand{\whitestone}[2]{\draw (#1+0.5,#2+0.5) circle (0.4cm);
\fill[white] (#1+0.5,#2+0.5) circle (0.4cm);
}
\end{verbatim}
然後在\verb|\begin{tikzpicture}|裡用自定義的指令,如下:

\begin{verbatim}
\board{5}{5};
\whitestone{2}{3};
\blackstone{0}{0};
\end{verbatim}

\begin{tikzpicture}
\board{5}{5};
\whitestone{2}{3};
\blackstone{0}{0};
\end{tikzpicture}

\section{將棋盤塗上陰影區域}
先定義指令\verb|\newcommand{\shadow}[2]{\fill[gray!50] (#1,#2) rectangle (#1+1,#2+1);}|。再使用以下指令:

\begin{verbatim}
\begin{tikzpicture}
\shadow{0}{0};
\shadow{0}{1};
\shadow{1}{2};
\board{5}{5};
\end{tikzpicture}
\end{verbatim}

\begin{tikzpicture}
\shadow{0}{0};
\shadow{0}{1};
\shadow{1}{2};
\board{5}{5};
\end{tikzpicture}

\end{CJK}
\end{document}

尚未有邦友留言

立即登入留言