调整 \lxvchars 等以适应 \documentclass 点大小

调整 \lxvchars 等以适应 \documentclass 点大小

后续行动查询回复:调整回忆录中的文本高度

\setlxvchars[\normalfont]\setxlvchars[\normalfont]显然,无论 中指定的点大小如何,memoir 的命令都会将结果标准化为 10pt \documentclass。如何调整呢?最小示例如下:

\documentclass[10pt]{memoir}

\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Linux Libertine}

\usepackage{calc}
\makeatletter
\newcommand{\psize}{\f@size}
\makeatother
\setlxvchars[\normalfont]
\setxlvchars[\normalfont]
\begin{document}
Point size = \psize\par
L45 = \the\xlvchars\par
L65 = \the\lxvchars
\end{document}

L45 和 L65 似乎只会随着字体的改变而改变。我尝试调整比例\psize:10,但没有成功。应该不会那么难吧?

答案1

没有解释,但至少有一个解决方法:添加到和\normalsize的参数中。(奇怪的是,只有在加载时才是必要的。)\setlxvchars\setxlvchars\normalsizefontspec

\documentclass[11pt]{memoir}

\usepackage{fontspec}

\makeatletter
\newcommand{\psize}{\f@size}
\makeatother

\setlxvchars[\normalfont\normalsize]
\setxlvchars[\normalfont\normalsize]

\begin{document}

Point size = \psize\par
L45 = \the\xlvchars\par
L65 = \the\lxvchars

\end{document}

在此处输入图片描述

10pt类选项的输出:

在此处输入图片描述

相关内容