由于baselineskip
字体大小的参数最好是字体大小的 1.2 倍,因此我想定义一个宏,它只接受一个参数,并baselineskip
从字体大小推导出来。它应该是这样的。
\newcommand{\myfontsize}[1]{\fontsize{#1}{1.2*#1}\selectfont}
当然,代码无法编译,因为1.2*#1
。我搜索了几个小时,但找不到任何解决方案。由于像这样的代码1.2\baselineskip
是可能的,我希望这是一个简单的问题。
附录:我不太熟悉低级 LaTeX 命令。也许fp
会有calc
帮助,但我不知道怎么做。
更新2013/11/13:
\documentclass{minimal}
\newlength\x
\newcommand{\zihao}[1]{\setlength\x{#1}\fontsize{\x}{1.2\x}\selectfont}
\newcommand{\chuhao}{\zihao{42.2pt}}
\newcommand{\xiaochu}{\zihao{36.1pt}}
\newcommand{\yihao}{\zihao{26.1pt}}
\newcommand{\xiaoyi}{\zihao{24.1pt}}
\newcommand{\erhao}{\zihao{22.1pt}}
\newcommand{\xiaoer}{\zihao{18.1pt}}
\newcommand{\sanhao}{\zihao{16.1pt}}
\newcommand{\xiaosan}{\zihao{15.1pt}}
\newcommand{\sihao}{\zihao{14.1pt}}
\newcommand{\xiaosi}{\zihao{12.1pt}}
\newcommand{\wuhao}{\zihao{10.5pt}}
\newcommand{\xiaowu}{\zihao{9.0pt}}
\begin{document}
\noindent \chuhao ABCDEFG\\
\xiaochu ABCDEFG\\
\yihao ABCDEFG\\
\xiaoyi ABCDEFG\\
\erhao ABCDEFG\\
\xiaoer ABCDEFG\\
\sanhao ABCDEFG\\
\xiaosan ABCDEFG\\
\sihao ABCDEFG\\
\xiaosi ABCDEFG\\
\wuhao ABCDEFG\\
\xiaowu ABCDEFG\
\end{document}
更新 2013/11/13 将 \ 更改为 \par
答案1
您需要创建一个长度(此处为\myfntht
),以便轻松完成乘法。
我编辑了答案,允许使用可选参数作为宏的两个参数之间的乘数\fontsize
。请注意,虽然我使用乘数\baselineskip
在 MWE 中设置新字体大小,但最好使用另一种度量,因为\baselineskip
它本身在制作新字体大小时会发生变化,因此,使用它时,一些间距可能会复合(如复利)。
\documentclass{article}
\usepackage{lipsum}
\newlength\myfntht
\newcommand{\myfontsize}[2][1.2]{\setlength\myfntht{#2}%
\fontsize{\myfntht}{#1\myfntht}\selectfont}
\begin{document}
\lipsum[4]
\myfontsize{\baselineskip} \lipsum[4]
\myfontsize{2\baselineskip} \lipsum[4]
\end{document}