读懂LaTeX中cls文件

您所在的位置:网站首页 cls表示什么意思 读懂LaTeX中cls文件

读懂LaTeX中cls文件

2023-08-04 04:49| 来源: 网络整理| 查看: 265

\makeatletter & \makeatother 这两条命令括起来的内容中,@符号是一个普通的字符,不需要转义或者进行其他处理,就和a~z等其他字符一样。这是为了处理一些含有@符号的命令而设计的。

\@ifstar 这条命令是为了处理命令中含有*的命令而设计的。例如

\newcommand{\mycmd}{\@ifstar{\mycmd@star}{\mycmd@nostar}} \newcommand{\mycmd@nostar}[nostar-num-args]{nostar-body} \newcommand{\mycmd@star}[star-num-args]{star-body}

定义了\mycmd和\mycmd*两个命令,当使用\mycmd时,相当于调用了\mycmd@nostar命令,而使用\mycmd*时,相当于调用了\mycmd@star命令,当然,代码中的\mycmd、\mycmd@nostar、\mycmd@star等命令名称可以自己任意取,当似乎用@符号时,需要使用1中的两条命令包起来。

glossaries宏包使用 如果文档中有缩写表、符号表或者术语表的编写需要,可以使用nomencl、glossary、glossaries这三个宏包,其中前两个宏包比较简单,易于使用,但是功能也少,glossaries宏包功能丰富,使用起来也更复杂。

\documentclass{ctexbook} \usepackage{glossaries} % 引入glossaries宏包 \makeglossaries % 引入*.glo文件 \newglossaryentry{tm}{ % 新建缩写表项 name={Turing machine}, % 缩写的展开名,可以使用其他命令以设置格式,如加粗、斜体等 description={A model of a machine that computes. The model is simple but can compute anything any existing device can compute. It is the standard model used in Computer Science.}, } \begin{document} Everything begins with the definition of a \gls{tm}. ... \printglossaries % 缩写表将打印在这个位置 \end{document}

上面代码是使用glossaries宏包的一个最简单的例子。在TeXstudio中新建文件,粘贴进这些代码,保存为任意的.tex文件,分别按F5(编译)、F9(调用makeglossaries.exe)、F5(再次构建并预览)即可看到运行得到的pdf文件。我主要编写中文文档,构建使用的是XeLaTeX,需要在texstudio中Options->Build中将Default Compiler更改为XeLaTeX。运行中可能遇到没有perl解释器的问题,报错信息为makeglossaries.exe: The Perl interpreter could not be found.。需要搜索perl,去其官网下载perl解释器并安装。我下载的是ActivePerl-5.28.1.0000-MSWin32-x64-432e1938.msi文件,其他操作系统安装相应版本即可。此外,我测试了安装CTeX-2.9.2.164_Full.exe版本的ctex,当运行makeglossaries.exe时,会提示一大堆警告,大致是说makeglossaries使用了过时的perl语法,但是编译结果是正确的。如果对一大堆警告不爽,可以安装texlive2019.iso(win7 安装texlive2019.iso时可以解压后运行install-tl_windows.bat文件,但必须是管理员身份运行,否则安装会报错。),其对应的makeglossaries版本为4.41,本人测试,没有任何问题,完美输出。如下图:

\graphicx 图片处理功能需要的宏包,在texlive2019版本中,图片名中含有中文时导致不识别,报错信息为File `figures/inter中‘ not found. Font shape `TU/STXingkai(0)/bx/n undefined(Font)。实际上图片是存在的,字体也是存在的,将图片中的中文字符删掉重新编译就会正常输出,怀疑可能与编码有关系。另外使用CTeX-2.9.2.164_Full.exe安装的latex版本,图片中含有中文字符可以正常输出。CTeX是TeX的中文套装,包含了中文文档编写的工具及配置,对中文支持比较好,但网上搜索到的版本很老,估计很久没更新了。而texlive怎么配置使其正常支持中文文件名,目前没搜到好的解决方案,如果有人知道,求教。网络上有很多人说有图片但提示图片找不到,可以看看图片路径或名称中是否有中文。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3