开发者

How can I get accents (as tone marks) over Chinese characters in LaTeX?

Tone marks above Chinese characters in latex / Combining Accents in unicode

My aim is to put tone marks above Chinese characters in latex, and google seems to not be letting on to the answer.

Is it possible to use combining accents with chinese characters or can they only be combined with certain characters?

I have tried \v{好}, but this puts the carron accent (3rd tone) in the space left of the character rather than above it. The standard unicode symbols for the tones are 02C9, 02CA, 02C7, 02CB and 02D9, but think that these are the same as using \v , with combining ect.

Having now played with a hexeditor and firefox to display them it would appear not, as 61CC88 produces an 'a' with an umlout with 61 being the 'a', however E4BDA0CC88 does not produce a 你 with an umlout, only 你. Is there a non combining version of the accents? or chopping of the space below to move the character down?

Alternative methods开发者_开发问答

I have also found that $\stackrel{\vee}{\textrm{你}}$ (from previous stackoverflow questions) works well but cannot find equivelent symbols for the other tones, despite having scoured unicode.org . I have tried --, \diagup and \diagdown from the maths symbols, but they look really out of place, as do -, /, \ and /. Are there other symbols that would be suitable?

Alternative Characters Do people know characters that look like -,/,\ and v, but as if they were from one set?

Any suggestions at all would be good?

Thank-you.

The purpose of this is to have them automatically generated to help people learning chinese. I've written the software for that in c# using mono for portability, so just need to output it in a nice format and thought LaTeX would be easiest?

P.S. To use Chinese characters in Latex

\documentclass[12p]{article}
\usepackage{CJKutf8}

\begin{document}
\begin{CJK*}{UTF8}{gbsn}
你
\end{CJK*}
\end{document}


Finally Problem Solved :D

$\stackrel{\textrm{\raisebox{-0.5em}[0.25em][-0em]{\={}}}}{\textrm{你}}$
$\stackrel{\textrm{\raisebox{-0.5em}[0.25em][-0em]{\'{}}}}{\textrm{你}}$
$\stackrel{\textrm{\raisebox{-0.5em}[0.25em][-0em]{\v{}}}}{\textrm{你}}$
$\stackrel{\textrm{\raisebox{-0.5em}[0.25em][-0em]{\`{}}}}{\textrm{你}}$
$\stackrel{\textrm{\raisebox{-0.5em}[0.25em][-0em]{\.{}}}}{\textrm{你}}$

though the unicode accents inplace of the LaTeX ones for lines 2,4 an 5 don't work.

This should be a generalised method for placing combining accents that should be above on any character.

Edit

or in a more useful form

\newcommand{\1}{\={}}
\newcommand{\2}{\'{}}
\newcommand{\3}{\v{}}
\newcommand{\4}{\`{}}
\newcommand{\5}{\.{}}
\newcommand{\ac}[2]{$\stackrel{\textrm{\raisebox{-0.5em}[0.25em][-0em]{#1}}}{\textrm{\raisebox{0em}[0.75em][0.75em]{#2}}}$\hspace{0em}}

such that \ac{\3}{你}\ac{\5}{们} can be used instead


Not needing to write Chinese I cannot vouch for this, but XeTeX is purported to work well in the areas of Unicode and extended fonts etc. Perhaps that will help.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜