首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用XeLatex和fontspec的自定义类中的Fontsize

使用XeLatex和fontspec的自定义类中的Fontsize
EN

Stack Overflow用户
提问于 2021-05-07 11:16:59
回答 1查看 619关注 0票数 1

我正在研究几个属于一起的胶乳模板(信件、文章、报告)。我已经实现了几乎所有的目标,除了一个目标,使用\documentclass[.pt]{}命令改变字体大小,无论我使用9pt还是12 9pt,文档看起来都是一样的。如何确保这对我的自定义类正确工作?

在使用fontspec包和XeLaTex命令安装字体(DejaVu系列)时,我使用DejaVu编译文档。类可以在家庭中的serif字体和sans-serif字体之间切换。

这里是我的最小工作示例:由letter.tex文件组成的

代码语言:javascript
复制
% !TeX encoding = UTF-8
% !TEX TS-program = xelatex

\documentclass[12pt, british]{letter-Bram}

% Sender information
\signature{Sender Full Name}
\address{Sender\\ Adress line 1\\ Adress line 2\\ Country}

\begin{document}
\begin{letter}{Recipient\\ Organization\\ Adress line 1\\ Adress line 2\\ Country}
    \opening{Dear Recipient,}
    This letter is send from the sender to the recipient, and styled in a sans-serif font. The class has the following class settings:
    \begin{description}
        \item[sans] To turn the document and math into a sans serif font.
        \item[lanuage] You can specify the language like normal. For example \enquote*{dutch}, \enquote*{british}, \enquote*{german}, defaults to \enquote*{american}. I recommend specifying a language as this does set quotation marks, date notations, hyphenation and others.
    \end{description}

    Here is an example equation:
    \begin{equation}
        a x^2 + b x + c = 0
    \end{equation}
    which can be solved with the standard $abc$ formula.

            
    \closing{Kind Regards,}
\end{letter}
\end{document}

这是letter-Bram.cls类文件。

代码语言:javascript
复制
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{letter-Bram}[2019/07/01 v1.1 letter-Bram]

%%%%%%%%%%%%%%%%%%%%%
% NEW CLASS OPTIONS %
%%%%%%%%%%%%%%%%%%%%%
\newif\if@sans
\DeclareOption{sans}{\@sanstrue}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}

\ProcessOptions\relax
\LoadClass{letter}

%%%%%%%%%%%%%%%%%
% LOAD PACKAGES %
%%%%%%%%%%%%%%%%%
\usepackage{babel}
\RequirePackage[fleqn]{amsmath} % needs before math font selection
\RequirePackage{csquotes} % proper quotation marks

%%%%%%%%%%%%%%
% LOAD FONTS %
%%%%%%%%%%%%%%
\RequirePackage{fontspec}
\setromanfont{DejaVu Serif}    % open serif font.
\setsansfont{DejaVu Sans}      % open sans font.
\setmonofont{DejaVu Sans Mono} % open mono font.
\if@sans
    \renewcommand{\familydefault}{\sfdefault}
    \RequirePackage{arevmath} % math font that is equal in style DejaVu Sans, but better a, nu, omega, l, x ect
    \SetSymbolFont{symbols}{bold}{OMS}{zavm}{m}{n} % surpress warning of bold math sybols
\else
    \usepackage{unicode-math}
    \setmathfont{DejaVu Math TeX Gyre} % math font equal in style and size to DejaVu Serif
    \SetSymbolFont{symbols}{bold}{OMS}{zavm}{m}{n}
\fi

我很确定我遗漏了一些很明显的东西,但找不到。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-07 11:54:42

两个问题:

  • 您的类正在加载letter类,但是将它的选项传递给article类。决定一下,您实际上想要的是

两个类中的哪一个

  • 9pt不是一个有效的选项,请尝试使用10pt12pt

代码语言:javascript
复制
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{letter-Bram}[2019/07/01 v1.1 letter-Bram]

%%%%%%%%%%%%%%%%%%%%%
% NEW CLASS OPTIONS %
%%%%%%%%%%%%%%%%%%%%%
\newif\if@sans
\DeclareOption{sans}{\@sanstrue}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{letter}}

\ProcessOptions\relax
\LoadClass{letter}

%%%%%%%%%%%%%%%%%
% LOAD PACKAGES %
%%%%%%%%%%%%%%%%%
\usepackage{babel}
\RequirePackage[fleqn]{amsmath} % needs before math font selection
\RequirePackage{csquotes} % proper quotation marks

%%%%%%%%%%%%%%
% LOAD FONTS %
%%%%%%%%%%%%%%
\RequirePackage{fontspec}
\setromanfont{DejaVu Serif}    % open serif font.
\setsansfont{DejaVu Sans}      % open sans font.
\setmonofont{DejaVu Sans Mono} % open mono font.
\if@sans
    \renewcommand{\familydefault}{\sfdefault}
    \RequirePackage{arevmath} % math font that is equal in style DejaVu Sans, but better a, nu, omega, l, x ect
    \SetSymbolFont{symbols}{bold}{OMS}{zavm}{m}{n} % surpress warning of bold math sybols
\else
    \usepackage{unicode-math}
%    \setmathfont{DejaVu Math TeX Gyre} % math font equal in style and size to DejaVu Serif
    \SetSymbolFont{symbols}{bold}{OMS}{zavm}{m}{n}
\fi
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67433986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档