How can I place vertical Chinese text for some of the text in a document?

  • I think the CJK package can do this, but with XeTeX one generally uses xeCJK.
  • I could not find these options in the documentation for the xeCJK or ctex packages.
  • 1
    You could try the sample code at this ctex discussion thread. In general, you'd likely have better luck at the CTEX discussion site with such in-depth CJK typesetting queries.
    – imnothere
    Commented Dec 17, 2011 at 7:39
  • See this thread in CTeX forum for datailed discussion. I'll provide an example here.
    – Leo Liu
    Commented Dec 17, 2011 at 8:15
  • @LeoLiu Now why didn't my search on ctex turn up that thread?! I remember it but couldn't get at it just now. -_-
    – imnothere
    Commented Dec 17, 2011 at 8:40
  • @LianTzeLim: I've no idea. Anyway, it's easy for me to find it out ^_^
    – Leo Liu
    Commented Dec 17, 2011 at 8:54
  • 1
    The link to the thread in the CTeX forum has changed, it now is bbs.ctex.org/forum.php?mod=viewthread&tid=45054 Commented Jan 23, 2016 at 14:11

1 Answer 1


I know only some discussion for Chinese. There are some discussions and tools for vertical Japanese, but I know little about it.

I'm sorry that vertical typesetting options are still not available in xeCJK. It is indeed in the TODO list, but not urgent at all.

For vertical typesetting, some techniques are needed:

  • Rotate the glyphs. It can be obtained by setting the font with special options.
  • Rotate the whole paragraph or whole page. Use \rotatebox from graphics bundle, or use special commands of XeTeX like pdflscape package do.
  • Use correct vertical punctuations. It is a special OpenType font feature.
  • Offset the glyphs a little. Like CJKvert package do. We can hack xeCJK to do this.
  • Some extra tools like gezhu package. (not shown in the example below)

A full example:


\usepackage{graphicx} % for \rotatebox


\newcommand*\CJKmove{\punctstyle{plain}% do not modify the spacing between punctuations




enter image description here

  • i could not get this to work with xetex 3.1415926-2.4-0.9998 (TeX Live 2012/Debian). i just copied and pasted what you have above. i made a paste here: pastebin.com/0gnnWmWz
    – magnetar
    Commented Jul 24, 2012 at 11:44
  • @magnetar: Just use xelatex instead of xetex command. It's trivial.
    – Leo Liu
    Commented Jul 24, 2012 at 14:21
  • @LeoLiu: This example works nicely here on TeXShop v. 2.47 on Mac OS 10.8, but I'm sorry to see that it doesn't work with the HAN NOM fonts; only with commercial Chinese fonts that I have, such as SimSun. Is there something I can do to make HAN NOM work, or is the problem irremediable at this point? Commented Oct 15, 2012 at 22:40
  • @brannerchinese: I've no good idea.
    – Leo Liu
    Commented Oct 16, 2012 at 4:49
  • 2
    @LeoLiu: In my case, it was necessary to add RawFeature={vertical;+vert}, that is, \setCJKfamilyfont{songvert}[RawFeature={vertical;+vert},Script=CJK,Language=Chinese,Vertical=RotatedGlyphs]{SimSun} in order to obtain correct vertical text in the minipage, by using the latest fontspec: fontspec.sty 2017/07/23 v2.6c. Was the fontspec changed? Commented Aug 2, 2017 at 6:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .