贴在盒子的右边框上

贴在盒子的右边框上

我对 \fbox 命令有疑问:我想将两个右箭头放在框上,以便这两个箭头从框的边框开始。我已经创建了框和两个箭头,但如果将它们合并在一起,框边框的末端和两个箭头的起点之间就会出现一个令人讨厌的空间,如果您编译此 MWE,就会看到这一点:

\documentclass[a4paper,10pt]{article}  \usepackage[english]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{amsmath}  \usepackage{amssymb} 

\begin{document}

\title{TEST 01} \maketitle

\newcommand*{\tto}{\!{\begin{array}{c}\rightarrow\\\rightarrow\end{array}}} 
\newcommand*{\block}[1]   {\fbox{\scriptsize ${\begin{array}{c}#1\end{array}}$}}


Hello $\block{test01 \\ test02}\tto$.

\end{document}

我怎样才能将两个箭头粘贴到 fbox 的右边框上?

答案1

这是一个tikz版本。该\Block宏接受三个选项,允许您自定义框的绘制/填充/位置、箭头的长度以及框中显示的文本。

在此处输入图片描述

代码:

\documentclass{article}  
\usepackage{tikz} 
\usetikzlibrary{calc}

\begin{document}

\newcommand*{\Block}[3][]{%
    % #1 = tikz options
    % #2 = length of arrows
    % #3 = node text
    \begin{tikzpicture}[overlay]
    \node [align=left, draw=black, right, anchor=south west, font=\scriptsize, #1] (B) {#3};
    \draw [-latex, thick] ($(B.south east)!0.25!(B.north east)$)-- ++(#2,0);
    \draw [-latex, thick] ($(B.south east)!0.75!(B.north east)$)-- ++(#2,0);
    \end{tikzpicture}
}%

Hello \Block[fill=cyan!20]{1.0cm}{test01 \\ test02}

\bigskip
Hello \Block[fill=green!20,draw=red,line width=1pt, anchor=west]{1.5cm}{test01 \\ test02}
\end{document}

答案2

这是由于数组左侧自动插入空格所致。您可以使用以下方法设置自己的空格@(请参阅不太简短的指南了解详情)。

\documentclass[a4paper,10pt]{article} 
\newcommand*{\tto}{\!{\begin{array}{@{\hspace{1pt}}c}\rightarrow\\\rightarrow\end{array}}} 
\newcommand*{\block}[1]   {\fbox{\scriptsize ${\begin{array}{c}#1\end{array}}$}}
\begin{document}
Hello $\block{test01 \\ test02}\tto$.
\end{document}

话虽如此,使用 tikz 可能会获得更好的结果。

相关内容