改变灵魂下划线内的字体大小

改变灵魂下划线内的字体大小

这个问题与如何为字体大小创建新命令?。我想更改包内的字体大小\ulsoul例如:

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

输出:

替代文本

相关内容