这个问题与如何为字体大小创建新命令?。我想更改包内的字体大小\ul
。soul
例如:
\newcommand{\mycfs}[1]{\fontsize{#1pt}{1.2#1pt}\selectfont}
\soulregister{\mycfs}{1}
\ul{{\mycfs{6} Size 6 font} Normal size font}
出现此错误信息:! Package soul Error: Reconstruction failed.
如何修复此问题?
答案1
我将改变 \mycfs 的定义,以使其不再具有参数:
\documentclass{book}
\usepackage{soul}
\newcommand\mycfs{\fontsize{\mysize}{\the\dimexpr \mysize*1.2\relax}\selectfont}
\newcommand\mysetsize[1]{\edef\mysize{#1pt}}
\soulregister{\mycfs}{0}
\begin{document}
\mysetsize{6}
\ul{\mycfs Size 6 font} Normal size font
\end{document}
答案2
\mbox
已经可以帮你修复了:
\documentclass{book}
\usepackage{soul}
\newlength{\mysize}
\newcommand{\mycfs}[1]{\setlength{\mysize}{#1pt}%
\fontsize{\mysize}{1.2\mysize}\selectfont}
\begin{document}
text
\ul{\mbox{\mycfs{6}Size 6 font} Normal size font}
text
\end{document}
输出: