水平相当于 \raisebox?

水平相当于 \raisebox?

是否有水平等效项\raisebox?我想水平移动一些内容,而不改变周围内容的布局。

编辑:

我感到很抱歉,因为我的问题不够精确。如果您正在寻找真正的水平模拟\raisebox(水平移动内容而不是垂直移动内容,以垂直模式而不是 LR 模式运行),那么 David Carlisle 的答案是最好的。但是,我真正想要的是可以在 LR 模式下工作的东西。

答案1

这是一个按以下方式\shifttext{<len>}{<stuff>}移动的宏(左边为负,右边为正):<stuff><len>

在此处输入图片描述

\documentclass{article}
\makeatletter
\newcommand*{\shifttext}[2]{%
  \settowidth{\@tempdima}{#2}%
  \makebox[\@tempdima]{\hspace*{#1}#2}%
}
\makeatother
\setlength{\parindent}{0pt}% Just for this example
\begin{document}
Here is some text. \par
Here is \shifttext{20pt}{some} text. \par
Here is \shifttext{-20pt}{some} text. \par
\end{document}

请注意,在当前形式下,移位内容不应包含任何\label或反内容。但是,如果需要,可以通过先将内容装箱来修复此问题。

答案2

如果你处于垂直环境中,你可以使用原始moveright

\moveright  2in  \hbox{.....}

答案3

我的adjustbox包提供了,它是和\lapbox[<width>]{<amount>}{<content>}的泛化,但也可以用作 的水平等价物。可以是正数或负数,分别将内容向右或向左移动。原始宽度可以作为 来访问。官方宽度可以手动设置,否则会减少搭接量。\rlap{<content>}\llap{<content>}\raisebox<amount>\width

与往常一样,在这种情况下也有一个与\adjustbox{<key=value>}{<content>}called等效的键。lap

手册摘录adjustbox如下\lapbox

此宏是 LaTeX 核心宏和的概括\rlap{<content>}\llap{<content>}它将文本向右或向左重叠而不占用任何官方空间。此\lapbox宏可用于仅将内容部分向右(正量)或向左(负量)重叠。与此包中的所有宏一样,原始宽度可以使用引用\width。框的结果官方宽度通常是原始宽度减去绝对重叠量。但是,也可以使用选项参数明确设置。也可以使用绝对值大于原始宽度的重叠量。在这种情况下,结果官方宽度默认为零,内容将用所需的空白填充。请注意,重叠量始终表示正量时官方框右侧与实际内容右侧之间的距离,或负值时官方框左侧与实际内容左侧之间的距离。

请参阅手册中的图形示例。

例子:

如果要将某些内容向右移动 1em 而不改变其官方宽度,请使用:

\usepackage{adjustbox}
% ...
\lapbox[\width]{1em}{Some text}
% or
\adjustbox{lap={\width}{1em}}{Some text}

\adjustbox版本还可以与其他键组合使用,例如raise,相当于\raisebox

答案4

我想出了另一个简单的替代方法,它由两个框组成,一个左对齐,另一个右对齐。

\newcommand{\shiftleft}[2]{\makebox[0pt][r]{\makebox[#1][l]{#2}}}
\newcommand{\shiftright}[2]{\makebox[#1][r]{\makebox[0pt][l]{#2}}}

例子:

\shiftright{20pt}{text}

将“文本”向右移动。

相关内容