字帖

字帖

将每个字母放置在正方形中的最佳方法是什么,如下所示:

在此处输入图片描述

我想学习中国书法并自学书法字帖,如能得到任何帮助或建议我将不胜感激!

答案1

我假设您已经可以访问可包含在 LaTeX 文档中的字符图像。

在这里,我使用tikz创建一个覆盖层,使字符变暗,以便您跟踪笔画。我不懂中文,但我熟悉日语,所以请原谅我在此 MWE 中使用日语术语。(或者编辑我的帖子,将名称更正为更适合中文的名称。)

\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}

得出的结果为:

在此处输入图片描述

如果您要进行大量此类操作,LaTeX 文档的编译速度可能会很慢,或者太慢,不符合您的口味。在这种情况下,您可以考虑以下方法。

\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}

基本上,您只需导入一次图像并将其保存在框中,然后重复使用该框。这可以节省一些编译时间,因为不必反复重新读取图像。

如果将以下几行添加到\drawKanji命令中,您就可以获得图像中的红线:

      \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);

导致:

在此处输入图片描述

相关内容