LaTex中文字體學習筆記

參考:LaTeX入門系列之字體族字體

  do not dive into designspa

  不停試驗代碼,研究了一天字體,感受仍是不得其門,卻是這句話點醒了我。code

  考慮到拓展性,本打算直接使用xeCJK宏包,因此ctex不少特性無法用有些惋惜。關於字體的完善,ctex調用xeCJK,xeCJK調用fontspec,實踐中也會常常直接調用fontspec進行設置。
  xeCJK宏包在中文排版上須要一些特殊設置進行縮進,導言區須要添加知足中行首行縮進的需求。blog

\usepackage{indentfirst}%設置縮進
\setlength{\parindent}{2em} %也可在正文中非全局設置

  1 粗體textbf與斜體textit僅對自己字體包含這兩項屬性的字體起做用,而中文字體僅有少數字體有加粗選項,例如宋體,xeCJK加粗仍爲宋體,可是textit已經設置爲楷體了;ctex宏包則將加粗設置爲黑體,textit一樣設置爲楷體。
  另外,ctex又在win下預配置了四種字體族:宋體,黑體,仿宋,楷體。ip

\documentclass{article}
\usepackage[heading=true]{ctex}%添加heading=true,使用中文版式
\begin{document}
我是宋體 Default,\textbf{我是黑體 Bold}\textit{我是楷體 Italian}
%多空一行
{\songti 我是宋體 Default},{\heiti 我是黑體 Bold},{\kaishu 我是楷體 Italian},{\fangsong 我是仿宋}
\end{document}

  如上述代碼,將這兩種實現方式放在一塊兒進行對比,顯示效果如圖
001yjf4pzy7uri0TWdleb
  此外,xeCJK有僞斜體與僞粗體開關,在調用時可指定打開。文檔

\usepackage[AutoFakeBold=true, AutoFakeSlant=true]{xeCJK}

  等效命令:bfseries,itshapeget

  2 另一種方式是使用 fontspec 宏包設置字體。若是在ctex宏包中也需使用自定義字體,可添加命令參數。it

\usepackage[UTF8, heading = true, fontset = none]{ctex}

\setmainfont{字體名} %設置默認字體,如需中文需使用支持中文的字體
\setCJKmainfont{字體名}%設置 CJK 默認字體
%從新定義新的字體族命令:
\newfontfamily<命令>[可選參數]{字體名}%ctex宏包中已定義相關字體
\newCJKfontfamily<命令>[可選參數]{字體名}

  形如 \newfontfamily\song{SimSun} %正文中可以使用\song指定字體入門

  可是在導言區引入定義會致使,xeCJK關於文檔結構各級標題的字體設置所有丟失-_-|||
  查閱xeCJK文檔可知,\newCJKfontfamily\setCJKfamilyfont\CJKfamily 的合併,然而在導言區使用\setCJKfamilyfont依然形成全局字體改變;又,如使用\newfontfamily,則正文中使用命令僅對英文起做用,中文字體不作改變。
  所以結合文獻以\newcommand從新定義命令,在正文局部須要改變時調用字體命令,且以{}限制範圍。class

\newcommand{\yahei}{\setCJKfamilyfont{yahei}{Microsoft YaHei} \CJKfamily{yahei}}

  若是使用ctex宏包,有些字體已經定義,就不須要重複定義了,也能夠直接在導言區使用newCJKfontfamily,搞不懂了。。。

  3 字號設置以及本地化
  參考 https://www.jianshu.com/p/b17...

\newcommand{\chuhao}{\fontsize{42pt}{\baselineskip}\selectfont}  %字號設置,不肯定xeCJK宏包定義

  另有命令 \fontspec{PMingLiU}\selectfont,還沒有搞懂。。。字體設置就告一段落吧

相關文章
相關標籤/搜索