IEEEtaes.cls解析
前面遇到Latex使用了期刊templates但是字体样式不对的问题:
Latex使用了期刊templates但是字体样式不对-CSDN博客
试了各种方法都没得用。
我想在这篇文章深入分析IEEEtaes.cls文件,看看这个文件是在哪规范的期刊文章标题、摘要等字体样式,又是为何在我的编译环境下不起作用。
首先说说cls文件是啥:
.cls
文件是 LaTeX 文档类文件(Class file)。它定义了 LaTeX 文档的结构、排版规则、格式和样式。每个 LaTeX 文档都必须指定一个文档类来确定文档的布局和格式。
先看看前面注释内容讲的啥。
一、注释内容
原文:
%% =====================================================================
%% IEEEtaes.cls 2022/02/15 version V1.1
%%
%% IEEE Transactions on Aerospace and Electronic Systems document class file for LaTeX2e
%%
%% Copyright (C) IEEE Transactions on Aerospace and Electronic Systems
%% for LaTeX version 1.0, by Aptara, India
%%
%% IEEEtaes.cls is based on IEEEtran.cls version V1.7a.
%%
%% IEEEtaes.cls is created to match the design layout of
%% IEEE TAES
%%
%% =====================================================================
%% IEEEtran.cls 2007/03/05 version V1.7a
%%
%%
%% This is the official IEEE LaTeX class for authors of the Institute of
%% Electrical and Electronics Engineers (IEEE) Transactions journals and
%% conferences.
%%
%% Support sites:
%% http://www.michaelshell.org/tex/ieeetran/
%% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/
%% and
%% http://www.ieee.org/
%%
%% Based on the original 1993 IEEEtran.cls, but with many bug fixes
%% and enhancements (from both JVH and MDS) over the 1996/7 version.
%%
%%
%% Contributors:
%% Gerry Murray (1993), Silvano Balemi (1993),
%% Jon Dixon (1996), Peter N"uchter (1996),
%% Juergen von Hagen (2000), and Michael Shell (2001-2007)
%%
%%
%% Copyright (c) 1993-2000 by Gerry Murray, Silvano Balemi,
%% Jon Dixon, Peter N"uchter,
%% Juergen von Hagen
%% and
%% Copyright (c) 2001-2007 by Michael Shell
%%
%% Current maintainer (V1.3 to V1.7): Michael Shell
%% See:
%% http://www.michaelshell.org/
%% for current contact information.
%%
%% Special thanks to Peter Wilson (CUA) and Donald Arseneau
%% for allowing the inclusion of the \@ifmtarg command
%% from their ifmtarg LaTeX package.
%%
%%*************************************************************************
%% Legal Notice:
%% This code is offered as-is without any warranty either expressed or
%% implied; without even the implied warranty of MERCHANTABILITY or
%% FITNESS FOR A PARTICULAR PURPOSE!
%% User assumes all risk.
%% In no event shall IEEE or any contributor to this code be liable for
%% any damages or losses, including, but not limited to, incidental,
%% consequential, or any other damages, resulting from the use or misuse
%% of any information contained here.
%%
%% All comments are the opinions of their respective authors and are not
%% necessarily endorsed by the IEEE.
%%
%% This work is distributed under the LaTeX Project Public License (LPPL)
%% ( http://www.latex-project.org/ ) version 1.3, and may be freely used,
%% distributed and modified. A copy of the LPPL, version 1.3, is included
%% in the base LaTeX documentation of all distributions of LaTeX released
%% 2003/12/01 or later.
%% Retain all contribution notices and credits.
%% ** Modified files should be clearly indicated as such, including **
%% ** renaming them and changing author support contact information. **
%%
%% File list of work: IEEEtran.cls, IEEEtran_HOWTO.pdf, bare_adv.tex,
%% bare_conf.tex, bare_jrnl.tex, bare_jrnl_compsoc.tex
%%
%% Major changes to the user interface should be indicated by an
%% increase in the version numbers. If a version is a beta, it will
%% be indicated with a BETA suffix, i.e., 1.4 BETA.
%% Small changes can be indicated by appending letters to the version
%% such as "IEEEtran_v14a.cls".
%% In all cases, \Providesclass, any \typeout messages to the user,
%% \IEEEtransversionmajor and \IEEEtransversionminor must reflect the
%% correct version information.
%% The changes should also be documented via source comments.
%%*************************************************************************
%%
%
% Available class options
% e.g., \documentclass[10pt,conference]{IEEEtran}
%
% *** choose only one from each category ***
%
% 9pt, 10pt, 11pt, 12pt
% Sets normal font size. The default is 10pt.
%
% conference, journal, technote, peerreview, peerreviewca
% determines format mode - conference papers, journal papers,
% correspondence papers (technotes), or peer review papers. The user
% should also select 9pt when using technote. peerreview is like
% journal mode, but provides for a single-column "cover" title page for
% anonymous peer review. The paper title (without the author names) is
% repeated at the top of the page after the cover page. For peer review
% papers, the \IEEEpeerreviewmaketitle command must be executed (will
% automatically be ignored for non-peerreview modes) at the place the
% cover page is to end, usually just after the abstract (keywords are
% not normally used with peer review papers). peerreviewca is like
% peerreview, but allows the author names to be entered and formatted
% as with conference mode so that author affiliation and contact
% information can be easily seen on the cover page.
% The default is journal.
%
% draft, draftcls, draftclsnofoot, final
% determines if paper is formatted as a widely spaced draft (for
% handwritten editor comments) or as a properly typeset final version.
% draftcls restricts draft mode to the class file while all other LaTeX
% packages (i.e., \usepackage{graphicx}) will behave as final - allows
% for a draft paper with visible figures, etc. draftclsnofoot is like
% draftcls, but does not display the date and the word "DRAFT" at the foot
% of the pages. If using one of the draft modes, the user will probably
% also want to select onecolumn.
% The default is final.
%
% letterpaper, a4paper
% determines paper size: 8.5in X 11in or 210mm X 297mm. CHANGING THE PAPER
% SIZE WILL NOT ALTER THE TYPESETTING OF THE DOCUMENT - ONLY THE MARGINS
% WILL BE AFFECTED. In particular, documents using the a4paper option will
% have reduced side margins (A4 is narrower than US letter) and a longer
% bottom margin (A4 is longer than US letter). For both cases, the top
% margins will be the same and the text will be horizontally centered.
% For final submission to IEEE, authors should use US letter (8.5 X 11in)
% paper. Note that authors should ensure that all post-processing
% (ps, pdf, etc.) uses the same paper specificiation as the .tex document.
% Problems here are by far the number one reason for incorrect margins.
% IEEEtran will automatically set the default paper size under pdflatex
% (without requiring a change to pdftex.cfg), so this issue is more
% important to dvips users. Fix config.ps, config.pdf, or ~/.dvipsrc for
% dvips, or use the dvips -t papersize option instead as needed. See the
% testflow documentation
% http://www.ctan.org/tex-archive/macros/latex/contrib/IEEEtran/testflow
% for more details on dvips paper size configuration.
% The default is letterpaper.
%
% oneside, twoside
% determines if layout follows single sided or two sided (duplex)
% printing. The only notable change is with the headings at the top of
% the pages.
% The default is oneside.
%
% onecolumn, twocolumn
% determines if text is organized into one or two columns per page. One
% column mode is usually used only with draft papers.
% The default is twocolumn.
%
% compsoc
% Use the format of the IEEE Computer Society.
%
% romanappendices
% Use the "Appendix I" convention when numbering appendices. IEEEtran.cls
% now defaults to Alpha "Appendix A" convention - the opposite of what
% v1.6b and earlier did.
%
% captionsoff
% disables the display of the figure/table captions. Some IEEE journals
% request that captions be removed and figures/tables be put on pages
% of their own at the end of an initial paper submission. The endfloat
% package can be used with this class option to achieve this format.
%
% nofonttune
% turns off tuning of the font interword spacing. Maybe useful to those
% not using the standard Times fonts or for those who have already "tuned"
% their fonts.
% The default is to enable IEEEtran to tune font parameters.
%
%
%----------
% Available CLASSINPUTs provided (all are macros unless otherwise noted):
% \CLASSINPUTbaselinestretch
% \CLASSINPUTinnersidemargin
% \CLASSINPUToutersidemargin
% \CLASSINPUTtoptextmargin
% \CLASSINPUTbottomtextmargin
%
% Available CLASSINFOs provided:
% \ifCLASSINFOpdf (TeX if conditional)
% \CLASSINFOpaperwidth (macro)
% \CLASSINFOpaperheight (macro)
% \CLASSINFOnormalsizebaselineskip (length)
% \CLASSINFOnormalsizeunitybaselineskip (length)
%
% Available CLASSOPTIONs provided:
% all class option flags (TeX if conditionals) unless otherwise noted,
% e.g., \ifCLASSOPTIONcaptionsoff
% point size options provided as a single macro:
% \CLASSOPTIONpt
% which will be defined as 9, 10, 11, or 12 depending on the document's
% normalsize point size.
% also, class option peerreviewca implies the use of class option peerreview
% and classoption draft implies the use of class option draftcls
翻译:
二、结尾内容
后面这些绿色的内容:
主要是在讲排版:
三、中间内容
中间红色内容是占整个IEEEtaes.cls文件篇幅最多的部分。整个cls文件有5000行内容:
我注意到其中三句话和字体样式设置有关:
\renewcommand{\sfdefault}{phv} % 无衬线字体设置为 Helvetica
\renewcommand{\rmdefault}{ptm} % 正文字体设置为 Times Roman
\renewcommand{\ttdefault}{pcr} % 等宽字体设置为 Courier
Helvetica字体的特点就是横平竖直,特板正
Courier字体的特点就是出角。
TAES期刊发表论文的字体样式:
特点是左右粗细不等:
粗细渐变明显:
各种查找比对,很像Optima字体:
Optima 字体 是由著名字体设计师 Hermann Zapf 创造的,首次发布于 1958 年。