IEEE论文LaTeX模板解析(三)| 类文件与用户文档之间传递信息

本文收录于专栏:IEEE论文LaTeX模板解析,本专栏将会围绕IEEE论文LaTeX模板解析持续更新。欢迎点赞收藏+关注!

1. 类文件与用户文档之间传递信息

IEEEtran 提供三类特殊命令,允许在类文件和用户文档之间传递信息:

  • CLASSINPUT 是一种输入,通过覆盖某些默认设置(在加载 IEEEtran 时)来定制 IEEEtran 的运行;
  • CLASSOPTION 是根据已选择的 IEEEtran 类选项进行有条件编译的输出;
  • CLASSINFO 是允许用户访问 IEEEtran 运行环境附加信息的输出。

下面进行具体解析:

1.1 CLASSINPUT

可用的 CLASSINPUT 包括
- \CLASSINPUTbaselinestretch:用于设置文档的行距;
- \CLASSINPUTinnersidemargin:用于设置内边(装订)边距;
- \CLASSINPUToutersidemargin:用于设置外边距;
- \CLASSINPUTtoptextmargin:用于设置顶边距;
- \CLASSINPUTbottomtextmargin:用于设置底边距。
当然,这些参数也可以通过传统的 LATEX 界面设置(\odd sidemargin\topmargin 等)。然而,使用 CLASSINPUT 方法的优势在于,它允许 IEEEtran 调整其他内部参数,并根据需要执行任何附加计算。例如,在 LATEX 中设置页边距时,需要仔细设置页边距、页边距和文本宽度,同时考虑到纸张大小以及是否使用双面打印。

要调用 CLASSINPUT,只需在加载 IEEEtran 之前定义相关的 CLASSINPUT 即可。例如下面的这段命令将生成侧边距为 17 毫米的文档——如果只指定了内侧/外侧(或顶部文本/底部文本)边距对中的一个,IEEEtran 将假定用户想要对称的侧边距(或顶部/底部),并将相关对的两个值都设置为用户指定的(单一)值。

\newcommand{\CLASSINPUTinnersidemargin}{17mm} 
\documentclass{IEEEtran}

IEEEtran 使用的 \headheight\headsep 固定值分别为 12pt0.25in。在加载 IEEEtran 后,可以在不改变页边距的情况下改变页眉的位置,只要保留 \topmargin\headheight\headsep。例如,可以使用以下方法将页眉上移 0.2 英寸

\addtolength{\headsep}{0.2in} 
\addtolength{\topmargin}{-0.2in}

同样,默认值为 0.4 英寸\footskip 也可以轻松更改,以改变页脚在底边距内的位置。

使用(\CLASSINPUTbaselinestretch)时,IEEEtran 将自动 “数字化”\textheight文本高度,以便页面上能容纳整数行(与草稿模式一样)。通过 CLASSINPUT 设置上边距或下边距时,不会进行数字化处理。请注意,使用 CLASSINPUT 控制可能导致文档不符合 IEEE 标准。CLASSINPUT的预期应用情况可能有:

  1. 对格式有特殊要求的会议或协会;
  2. 制作非标准页边距的副本,如装订供个人使用;
  3. 与 IEEE 无关的工作。

1.2 CLASSOPTION

CLASSOPTION 主要是根据正在使用的 IEEEtran 选项自动设置的 TeX \if 条件。例如下面这段构造可用于有条件地执行代码。请注意,如IEEE论文LaTeX模板解析(二)中2.2所述,draft 和 draftclsnofoot 选项意味着 draftcls。因此,大多数用户会希望测试 \ifCLASSOPTIONdraftcls 来检测草稿模式。

\ifCLASSOPTIONconference 
	\typeout{in conference mode} 
\else 
	\typeout{not in conference mode} 
\fi

对于文档的点尺寸选项,\CLASSOPTIONpt 被定义为一个宏,扩展为所选点值的数字部分(如 9/10/11/12pt)。对于纸张尺寸选项,\CLASSOPTIONpaper 将是一个包含纸张规格(如 letter、a4)的宏。要将这些作为条件使用,需要进行字符串宏比较:

\newcommand{\myninestring}{9}
\ifx\CLASSOPTIONpt\myninestring 
	\typeout{document is 9pt} 
\fi

用户应将 CLASSOPTIONs 视为 “只读”,不要试图手动更改它们的值,因为 IEEEtran 内部使用它们作为标志来确定哪些选项已被选中——更改这些标志可能会导致格式不正确。

1.3 CLASSINFO

可用的 CLASSINFO 包括 \ifCLASSINFOpdf 条件,其工作原理与 Heiko Oberdiek 的 ifpdf.sty 软件包类似,用于指示 PDF 输出(来自 pdfLaTeX)是否有效:

\ifCLASSINFOpdf 
	\typeout{PDF mode} 
\fi

IEEEtran.cls 还提供了:
- \CLASSINFOnormalsizebaselineskip: 正常大小字体的基线基线
- \CLASSINFOnormalsizeunitybaselineskip :统一基线提取下正常大小字体的基线基线。

最后,还有字符串宏(这些不是条件或长度) \CLASSINFOpaperwidth\CLASSINFOpaperheight,它们包含纸张尺寸的原始规格,包括单位(如 8.5 英寸22 毫米等)。与 CLASSOPTION 一样,用户不应试图更改 CLASSINFO。

  • 22
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值