\hbox \hss \hskip 命令是什么?

\hbox \hss \hskip 命令是什么?

我在 TeX 文档中发现了以下命令:

$$ u_n \hbox to 0pt{\hskip 3mm$/$\hss} \longrightarrow 0 $$

我不明白它们到底起什么作用以及如何使用它们(我所能理解的是,它允许将一些文本放在其他文本之上)。

\hbox to 0pt{\hskip 3mm$/$\hss}有某种关联吗?\hbox to 0pt到底有什么用处 (它有什么用途) 以及 是什么? 它们是LaTeX 默认安装的{\hskip 3mm$/$\hss}某种命令列表的一部分吗?\hsomething

答案1

\hbox to <len>{<stuff>}在宽度为 的水平线<stuff>内设置。如果是(或小于 的宽度),内容将开始与周围元素重叠。(水平线拉伸/收缩)可用于更改水平框内的对齐方式。hbox<len><len>0pt<stuff>\hsshss

TeX 引入了一些、和\hbox to 0pt{<stuff with \hss>}形式的简写,而在 LaTeX 中您可以使用更熟悉的:\clap\llap\rlap\makebox[0pt][<align>]{<stuff>}

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath,array}

\begin{document}

\begin{tabular}{ l @{\qquad} >{$\lvert$}c<{$\rvert$} }
  \verb|\hbox to 0pt{abc}|          & \hbox to 0pt{abc}          \\ % right overlap
  \verb|\hbox to 0pt{\hss abc\hss}| & \hbox to 0pt{\hss abc\hss} \\ % center overlap
  \verb|\hbox to 0pt{abc\hss}|      & \hbox to 0pt{abc\hss}      \\ % right overlap
  \verb|\hbox to 0pt{\hss abc}|     & \hbox to 0pt{\hss abc}     \\ % left overlap
  \verb|\clap{abc}|                 & \clap{abc}                 \\ % center overlap
  \verb|\llap{abc}|                 & \llap{abc}                 \\ % left overlap
  \verb|\rlap{abc}|                 & \rlap{abc}                 \\ % right overlap
  \verb|\makebox[0pt]{abc}|         & \makebox[0pt]{abc}         \\ % center overlap
  \verb|\makebox[0pt][c]{abc}|      & \makebox[0pt][c]{abc}      \\ % center overlap (equivalent to \makebox[0pt]{abc})
  \verb|\makebox[0pt][l]{abc}|      & \makebox[0pt][l]{abc}      \\ % right overlap
  \verb|\makebox[0pt][r]{abc}|      & \makebox[0pt][r]{abc}         % left overlap
\end{tabular}

\end{document}

从技术上讲,\hss定义为“相当于 \hskip 0cm plus 1fil minus 1fil”的“水平跳跃”,其“吸收参数的任何正或负宽度”。 (取自TeX 按主题分类)。

答案2

只是出于学术兴趣。

\hbox to 0pt{...}

创建一个宽度为零的盒子。但是,这会产生一个溢出的盒子,除非盒子内部有无限收缩的粘连,该 hack 的作者将其提供为\hss,这相当于

\hskip 0pt plus 1fil minus 1fil

因此具有足够的收缩性,框中的文本将贴在右侧。文本是向右移动 3 毫米的斜线。

输出似乎正确,但这只是偶然的,如果在内联数学中使用,斜线的位置可能会偏离。

一个稍微好一点的代码可以产生一个看似正确的符号,并且不会受到上述问题的影响,那就是

$$ u_n \mathrel{\hbox to 0pt{\hskip 2mm$/$\hss}}\longrightarrow 0 $$

(当然,假设是纯 TeX)。

在 LaTeX 中你可以做得更好。

\documentclass{article}
\usepackage{amsmath}
\usepackage{centernot}

\begin{document}

\[
u_n \centernot\longrightarrow 0
\]

\end{document}

在此处输入图片描述

相关内容