簡體   English   中英

LaTeX 中的字體縮放、變量、計算

[英]Font scaling, variables, calculations in LaTeX

我目前正在寫簡歷,但空間不足。 我希望更改整個簡歷模板中的字體,但我想按比例進行。 例如,有些標題是 12pt,副標題是 11pt。 我希望能夠將它們更改為 0.9 * 12 pt、0.9 * 11 pt,也就是相應地縮放它們。 我想改變

\fontsize{12pt}{1em}

\fontsize{(0.9 * 12)pt}{1em}

, 其中 \fontsize 是來自 anyfontsize package 的命令。

但我最終得到了奇怪的結果和很多日志/錯誤。 有沒有辦法確保 '*' 會產生一個數字,就像在“常規”編程語言中一樣?

我嘗試過的其他事情包括:

\newcommand{\myfont}[2]{\fontsize{0.9*#1pt}{0.9*#2}em}
\myfont{12}{1}

但它並不像我期望的那樣工作。 我還嘗試添加括號 () 並創建一個新命令\newcommand{\mymultiply}[2]{#1*#2}

有沒有一種優雅而整潔的方法來做到這一點? LaTeX 中是否有“常規”方法進行實際計算,還是應該避免這種方法? 提前致謝

3種可能的方法:

  • 我會完全避免使用硬編碼的字體大小。 如果您改為使用\smaller\larger等字體命令,您可以簡單地使用10pt12pt等文檔類選項更改整體大小,並且文檔中的所有 fonts 都會縮放,包括部分等。

  • 如果您將基本字體大小存儲在一個長度中,您可以使用\dimexpr進行計算

  • 如果出於某種原因不想創建新長度,請使用 expl3 命令進行計算


\documentclass[
%10pt
12pt
]{article}  

\usepackage{anyfontsize}

\ExplSyntaxOn
  \cs_new_eq:NN \fpeval \fp_eval:n
\ExplSyntaxOff

\begin{document}  

\section{section}

section

\newlength{\foo}
\setlength{\foo}{12pt}
\fontsize{\dimexpr.9\foo\relax}{\dimexpr1.08\foo \relax}\selectfont

test

\fontsize{\dimexpr\fpeval{.9*12}pt\relax}{\dimexpr\fpeval{.9*1.2*12}pt\relax}\selectfont

test

\end{document}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM