码迷,mamicode.com
首页 > 其他好文 > 详细

LaTeX绘制UML图形宏包开发过程记录002

时间:2019-01-05 17:16:02      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:一个   报错   x11   names   名称   包含   code   基础上   不能   

自定义类

?
  LaTeX中自定义类与自定义宏包几乎是一样的,区别就是扩展名,类文件的扩展名是cls,宏包文件的扩展名是sty。在文件内容格式上也差不多,类文件中内容的样式举例如下:

\NeedsTeXFormat{LaTeX2e}%
\ProvidesClass{lua-general}[2019/01/01]% 
%
\LoadClass{book}% 载入book类
%
% 需求的宏包
\RequirePackage{geometry}% 用于页面设置
\RequirePackage{tikz}%   绘图包
\RequirePackage{xcolor}% 色彩包
...

  上面的区别就是\ProvidesClass命令,宏包中是\ProvidesPackage,但好像并没有区别,我两个都换着试过,都没问题。
?

宏包中加载库的问题

????????通常情况下,我们在使用\usepackage命令时,有时会用中括号把相关的一些库载入进来,例如:

\usepackage[dvipsnames, svgnames, x11names]{xcolor}% 色彩支持

????????这种方式在宏包与类的定义文件中就不能使用,会报错。例如我在自定义的宏包中使用命令\RequirePackage{xcolor}包含了xcolor宏包,这时在调用文件中使用扩展的色彩名称时会报错,即使在调用文件中加入\usepackage命令也不行。解决办法是在调用文件中把这些库加入进去,例如:

\documentclass[dvipsnames, svgnames, x11names]{lua-general}%

?

加载其他类的方法

????????上面的代码示例中已经有了,就是用命令:\LoadClass{}。注意LaTeX中是大小写敏感的。上面的例子可以视为是在标准类book的基础上扩展出来的类。此外,要注意的是每一份文件只能调用一个类,换句话说就是\documentclass命令只能用一次,不像宏包可以多项调用。所以才需要使用\LoadClass命令去载入其他类。
 
        真希望51CTO博客能够支持LaTeX。

LaTeX绘制UML图形宏包开发过程记录002

标签:一个   报错   x11   names   名称   包含   code   基础上   不能   

原文地址:http://blog.51cto.com/14013986/2339199

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!