我想在给定点插入自定义空间。但不确定如何在以下 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}