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!
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!
I'll assume that you already have access to images of characters that you can include in your LaTeX document.
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:

\draw commands, as it greatly improves the readability of the code.
– yannisl
Sep 06 '13 at 06:04