作者sppmg (sppmg)
看板LaTeX
标题[问题] xeCJK 由已使用字体建立新字族
时间Thu Dec 8 13:30:20 2016
我想要建立一个直书用的字族:
\newCJKfontfamily{\vCJKFamily}
[Vertical=RotatedGlyphs]
{AR PL UKai TW}
而之前已将sans 设给楷体了:
\setCJKsansfont{AR PL UKai TW}
请问要如何利用变数设定相同字型但不同参数的新字族呢?
(就是说使用者只要指定一次setCJKsans ,後面newCJK就不用再输入一次了)
我的想法有两个:
1. 找到 xeCJK 中储存字型的变数,放到 \newCJK 里面
不过没看到文件说明。
2. xecjk.sty 中有 \xeCJK_copy_family:nn 可能可以拿来用?
不过好像只能 copy ,就是说我要先copy 再增加属性(可能还要先切换?)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.32.188.151
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/LaTeX/M.1481175024.A.35D.html
1F:→ Ice9: 题外话:sans 不是无衬吗?设给标楷不是很奇怪吗? 12/10 00:44
因为 LaTeX 已经有 rmfamily/sffamily 了,中文常用的则是明体、楷体
并且明体因为是内文主要字体,通常设为 (CJK) main font 。
(xeCJK 中也会设给 \CJKrmdefault ,也就是当成是 CJK 版的 rmfamily)
所以剩下的 (CJK) sans font 不用白不用,乾脆设成楷体罗!
我认为这样比起另外弄一个 \kai 指令来切换显得方便些。
而且在我的规划中(论文样板),楷体用於章节标题。同样也见过有文章推荐
英文章节标题采用 sans 让读者有个暂停的感觉。中英都用 sans 的话
编辑者写起来比较一致,都用 \sffamily 即可 。
2F:→ andrew43: 不明白问题什麽。 12/10 03:28
我详细讲一下状况好了
我的「论文样板」因为做到书脊,须要直书中文。
所以我想建立一个指令 \vCJK{垂直中文} 里面的写的就会输出垂直中文。
由於垂直中文须要在指定字族时加上 [Vertical=RotatedGlyphs]
这个选项,为了不影响到文内的字族,所以我建立一个专供直书的新字族
\newCJKfontfamily{\vCJKFamily}
[Vertical=RotatedGlyphs]
{AR PL UKai TW}
不过我不想把字型参数设死,希望可以依照 \setCJKsansfont
的值改变。所以希望能找出 xeCJK 储存的变数,直接依之前 sans 储存的
字型名称建立新字族。或是可以从 sffamily 利用 copy family 复制成一个
新的,然後再新增属性。
----- 以下为目前心得 -----
昨天我试了 copy family 指令,无法使用,可能因为能见度不同吧?
储存名称方面,只找到 \CJK@family 会储存「当前」字族的字体名称,
(其他手册里写的如 \CJKrmdefault 都是存字族名)
并且是「ARPLUKaiTW(0)」的形式,无法用於 \newCJKfontfamily。
目前我打算自己新增一个变数来存 sans 字体名。
不知各位有没有更好办法?谢谢罗!
※ 编辑: sppmg (27.241.25.75), 12/10/2016 15:51:07
3F:→ andrew43: 我觉得不行。 12/13 01:08