在文档中插入自定义空格

在文档中插入自定义空格

我想在给定点插入自定义空间。但不确定如何在以下 MWE 中实现它(需要在 中运行XeLaTeX)。

\documentclass[pagesize=pdftex, fontsize=10]{scrbook}
\usepackage[paperwidth=11.2cm, paperheight=17.4cm, top=1.6cm,bottom=1cm, left=1cm, right=1cm]{geometry}
\usepackage{calc}

\begin{document}
\newlength\myspace
\setlength{\myspace}{\widthof{\normalsize{Help my of ek help myself.}}}
\showthe\myspace
\def\text{Text mooooved over here.}
\edef\abc{\text}
\abc
\end{document}

这是我试过的,但不起作用。由于实际上是在 . 文件中由 outside\abc定义的,因此我无法在 前面立即添加,因为这会破坏我相当复杂的文档的其余部分。edef.sty\hspace\abc

\documentclass[pagesize=pdftex, fontsize=10]{scrbook}
\usepackage[paperwidth=11.2cm, paperheight=17.4cm, top=1.6cm,bottom=1cm, left=1cm, right=1cm]{geometry}
\usepackage{calc}

\begin{document}
\newlength\myspace
\setlength{\myspace}{\widthof{\normalsize{Help my of ek help myself.}}}
\showthe\myspace
\def\text{Text mooooved over here.}
\edef\abc{\hspace{\myspace}\text}
\abc
\end{document}

答案1

您不应该\edef在乳胶文档中使用,它很可能会破坏其参数中的任何命令,使用\def或更好\newcommand

不起作用的原因\hspace是行首的空格被丢弃:使用\hspace*{\myspace}*保留空格。请注意,由于它是段落的开头,因此您还会获得段落缩进。

答案2

根据大卫卡莱尔的回答,这是最终的结果。

\documentclass[pagesize=pdftex, fontsize=10]{scrbook}
\usepackage[paperwidth=11.2cm, paperheight=17.4cm, top=1.6cm,bottom=1cm, left=1cm, right=1cm]{geometry}
\usepackage{calc}

\begin{document}
\newlength\myspace
\setlength{\myspace}{\widthof{\normalsize{Help my of ek help myself.}}}
\showthe\myspace
\def\text{Text mooooved over here.}
\newcommand{\abcd}{%
    \hspace*{\myspace}\text
}
\abcd
\end{document}

相关内容