\settolength 问题

\settolength 问题

我希望水平长度与“physique”这个词的长度相同。

这是我尝试过的:

\documentclass{article}

\usepackage[latin1]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage[francais]{babel}

\newlength{\longueurperso}
\setlength{\longueurperso}{30pt}

\newlength{\motphysique}
\settolength{\motphysique}{physique}

\begin{document}
Bonjour! 

Voici un espace horizontal de \hspace{\longueurperso} 30 points. 

La \hspace{\motphysique} est une science pure.
\end{document}

当我编译时,我得到的结果如下:

在此处输入图片描述

怎么了?我试着把这些台词

\newlength{\motphysique}
\settolength{\motphysique}{physique}

之后,\begin{document}它的效果并没有改善。

答案1

\setlength需要明确指定长度,如30pt。您有两个选择。首先使用\settowidthYiannis Lazarides 提到的方法:\settowidth{\motphysique}{physique}。其次,如果您想继续使用\setlength,请加载calc包并定义\setlength{\motphysique}{\widthof{physique}}

\documentclass{article}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\usepackage{calc}    %% provides \widthof
\newlength{\longueurperso}
\setlength{\longueurperso}{30pt}

\newlength{\motphysique}
%\settowidth{\motphysique}{physique}
\setlength{\motphysique}{\widthof{physique}}

\begin{document}
Bonjour!

Voici un espace horizontal de \hspace{\longueurperso} 30 points.

La \hspace{\motphysique} est une science pure.
\end{document}

在此处输入图片描述

相关内容