Copybook for calligraphy

What is the best way to place each letter in a square as following:

I want to learn Chinese calligraphy and make copybooks for calligraphy by myself, any help or suggestion will be appreciated!

-
Depending on how serious you want this to get, I would discourage you from doing it this way. If you want to learn Chinese calligraphy, why not copy from so-called models, i.e. writings by acknowledged masters? There are many resources on-line (provided you have some knowledge of Chinese), such as 9610.com/index1.htm (Kaishu coursebook: 9610.com/xiezi/kaishu/01.htm, scroll down for image links) or shufazidian.com for individual characters by different calligraphers. You can also check youtube on how to find model books. Try out 欧阳询’s 楷书 (9610.com/oyx/07.htm). 加油！ –  brian-ammon Sep 4 '13 at 8:43

Here I use tikz to create an overlay which shades out the character to allow you to trace the strokes. I don't know Chinese, but I am familiar with Japanese so please pardon the use of Japanese language terms in this MWE. (Or edit my post to correct names to something more appropriate for Chinese.)

\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}

%% optional argument for frequency---default value is 4
%% character name
\newcommand{\drawKanji}[2][4]{\noindent%
\foreach  \x in {1,...,#1}
{%%
\begin{tikzpicture}
\node[anchor=south west,
inner sep=0
] (image) at (0,0) {\includegraphics[width=1in]{#2}};
\begin{scope}[x={(image.south east)},
y={(image.north west)}
]
\draw[black,
fill opacity=0.90,
fill=white
] (0,0) rectangle (1,1);
\end{scope}
\end{tikzpicture}}}

\begin{document}

\drawKanji{takai}

\end{document}


This produces:

If you're going to make a lot of these, the LaTeX document might possibly compile slowly or too slow for your taste. In that case, you might consider the following approach.

\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage{graphicx}
\usepackage{tikz}

\newsavebox{\currentkanji}
%% optional argument for frequency---default value is 4
%% character name
\newcommand{\drawKanji}[2][6]{\noindent%
\begin{lrbox}{\currentkanji}
\begin{tikzpicture}
\node[anchor=south west,
inner sep=0
] (image) at (0,0) {\includegraphics[width=1in]{#2}};
\begin{scope}[x={(image.south east)},
y={(image.north west)}
]
\draw[black,
fill opacity=0.90,
fill=white
] (0,0) rectangle (1,1);
\end{scope}
\end{tikzpicture}
\end{lrbox}
\foreach  \x in {1,...,#1} {\usebox{\currentkanji}}}

\begin{document}

\drawKanji{takai}

\end{document}


Basically, you import the image once and save it in a box and then reuse the box. This can save a bit on the time to compile since the image does not have to be repeatedly re-read.

If you add the following lines to the \drawKanji command, you can get the red lines as you have in your image:

      \draw [red,dashed] (image.south east) -- (image.north west);
\draw [red,dashed] (image.south west) -- (image.north east);
\draw [red]        (image.south)      -- (image.north);
\draw [red]        (image.east)       -- (image.west);


Resulting in:

-
This is an excellent answer. I specially like your style of typing out the \draw commands, as it greatly improves the readability of the code. –  Yiannis Lazarides Sep 6 '13 at 6:04
Dear A.Ellett, how to have access to images of characters? –  Eden Harder Sep 6 '13 at 23:58
@EdenHarder If you don't have images of the characters already, I'm not really sure what to recommend other than search the web for examples you're looking for. –  A.Ellett Sep 7 '13 at 0:33