var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); try { var pageTracker = _gat._getTracker("UA-2188084-5"); pageTracker._trackPageview(); } catch(err) {} window.google_analytics_uacct = "UA-2188084-5";
  • LaTeX中英文混排 - [LaTeX]

    2009-11-25

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/ctex-logs/53001840.html

    转自: http://latex.yo2.cn/articles/latex-chs-eng.html

    英文中换行的时候默认会加多一个空格, 而中文排版没有这个习惯, 如果使用

    \begin{CJK}{GBK}{song}

    内容 English 内容

    \end{CJK}

    排版中文时候每行都会有个多余的空格. 为了避免这个问题建议使用

    \begin{CJK*}{GBK}{song}

    \CJKtilde(LaTeX 学习博客 (http://latex.yo2.cn) , 白色印记.)

    内容~English~内容

    \end{CJK*}

    这时CJK* 环境默认会吃掉后面的未受保护的空格,  如果汉字后面需要空格, 这时就要用上符号~,  \CJKtilde重新定义了波浪符~的意义, 使得这个符号不再代表一个不可断行的空格,  而是一个可断行的弹性距离,  加在中文和英文之间调整它们的距离(一般是一个 CJK 字符的 1/4 大小的空格).  也就是说要得到美观的中英文混排,  须使用大量的~,  这可能减慢输入的速度, 但养成习惯就好.

    另外可以用 \standardtilde 可以让 ~ 恢复原来的定义,  不过一般而言没有必要这么做的.  你可以用 \nbs(non-breakabel space,LaTex 命令 \nonbreakspace 的缩写)来生成一个不可打断的空格.

    还可以使用下面的命令   进行CJK*于CJK环境的切换:

    \CJKspace      CJK*---->CJK
    \CJKnospace    CJK----->CJK*

    分享到:

    历史上的今天: