# Adjust \lxvchars etc. for \documentclass point size

Follow-up to query re: adjusting textheight in memoir

Apparently, memoir's \setlxvchars[\normalfont]\setxlvchars[\normalfont] commands standardize the result to 10pt, regardless of the point size specified in \documentclass. How can one adjust for this? Minimal example follows:

\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 and L65 only seem to change as the font is changed. I've tried unsuccessfully to adjust for the ratio \psize : 10. Shouldn't be that hard?

-

No explanation, but at least a workaround: Add \normalsize to the arguments of \setlxvchars and \setxlvchars. (Strange enough, \normalsize is only necessary if fontspec is loaded.)

\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}


Output for 10pt class option:

-
I think it's part of the way fontspec works, slightly different from the "traditional" way. If you try \showthe\font in the preamble (with fontspec), you'll get 10pt size no matter what size option you set. –  egreg Oct 8 '12 at 13:14
Thanks, folks! That helps! –  K.G. Feuerherm Oct 8 '12 at 14:52