Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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

enter image description here

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

share|improve this question
1  
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
add comment

1 Answer

up vote 3 down vote accepted

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:

enter image description here

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:

enter image description here

share|improve this answer
1  
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
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.