[Tex/LaTex] verbatim and CJK

cjkfontstypewriterverbatim

I'm not familiar with chinese characters and fonts. But I have to type some characters into a document. XeLaTeX may be an option, but I'm looking for a solution with pdflatex. Here is my MWE, which I created with the help of other questions and answers:

\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK*}{UTF8}{gbsn}
中華人民共和國

ABC-1234
\begin{verbatim}
中華人民共和國
ABC-1234
\end{verbatim}
\end{CJK*}
\end{document}

I have two questions:

  1. Is there a monospace font for chinese characters available for using in verbatim environments with same size than latin characters (I'm using MacTeX/TeXLive 2012)?
  2. Why are not all 7 chinese symbols in the resulted pdf?

result of pdflatex

Best Answer

output of MWE

  1. The ASCII characters ABC... are usually typeset as halfwidth characters while Chinese characters (汉字, ABC...) are typeset as fullwidth characters. See also Halfwidth and fullwidth forms.

    Hence, a solution is to convert the ASCII characters to fullwidth ones in Unicode. You might write your own converter or use a website like http://kiserai.net/hwfw.pl

  2. There are two writing systems for Chinese characters: the traditional and the simplified system. The characters and belong to the traditional characters, while the others can be used in both systems. Unfortunately, there is no one-to-one mapping between traditional characters and simplified ones. Several traditional characters can be mapped to one simplified one.

    Hence, when using a CJK environment you also need to decide which writing system, i.e., which font to use: gbsn and gkai are fonts with simplified characters, while bsmi and bkai are fonts with traditional characters. See also Problems of traditional and simplified Chinese characters and CJK environment and Chinese

Here is the code of the above picture:

\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{bsmi}
中華人民共和國

ABC-1234
\begin{verbatim}
中華人民共和國
ABC-123
4
\end{verbatim}
\end{CJK}
\end{document}