我可以在同一行上从一个单词画一个小箭头指向一个空格吗?

我可以在同一行上从一个单词画一个小箭头指向一个空格吗?

我想说明的是const下面一行中的 也可以向右移动一个单词。也许我可以给 const 加下划线,并画一条细线指向下一个缺口的弧形箭头

const int * val
-----___-^

TeX 源代码如下:

\begin{auflistung} % itemize
  \itm{} % item
  \mono{\fett{const int} * val}
%...
\end{auflistung}

其中auflistung作为 itemize 环境、itm作为项目、mono作为打字机类型以及fett作为粗体。

答案1

这可以很容易地使用pst-node- 节点连接扩展pstricks。下面是几个例子:

\documentclass{article}
\usepackage{pst-node}% http://ctan.org/pkg/pst-node
\begin{document}
\begin{itemize}
  \item \texttt{\textbf{\rnode{A}{const} int}\rnode{B}{\strut\ }* val}
    \ncbar[nodesep=2pt,linewidth=0.5pt,angle=90]{->}{A}{B}

  \item \texttt{\textbf{\rnode{C}{const} int}\rnode{D}{\phantom{c}}* val}
    \nccurve[nodesep=2pt,linewidth=0.5pt,angleA=60,angleB=120]{->}{C}{D}

  \item \texttt{\textbf{\rnode{E}{const} int}\rlap{\rnode{F}{\phantom{oo}}} * val}
    \ncarc[nodesep=2pt,linewidth=0.5pt,arcangle=45]{->}{E}{F}

  \item \texttt{\textbf{\rnode{G}{const} int}\rnode{H}{\phantom{t}}* val}
    \ncdiag[nodesep=2pt,linewidth=0.5pt,arm=.3,linearc=.2,angle=90]{->}{G}{H}

\end{itemize}
\end{document}

代码中使用的箭头

您的编译顺序是latex-> dvips(-> ps2pdf) 或xelatex。对上述代码的修改可能包括跨越代码下方(而不是上方)的箭头/弧线、颜色、线型和宽度更改等等。阅读pst-node文档或者pstricks文档(章节VII 节点和节点连接) 了解更多信息。

答案2

您可以为此使用 TikZ。

在文档开头的某个地方,问题

\tikzset{
    every picture/.style={
        remember picture,   % Make nodes available to all TikZ pictures
        inner xsep=0pt, % Remove horizontal padding
        inner ysep=1pt, % Set small vertical padding
        baseline,       % Align TikZ pictures at the baseline
        every node/.style={
            anchor=base % Align all nodes at the baseline
        }
    }
}

const然后,您可以用替换单词,并用替换和\tikz \node (a) {const};之间的空格,从而创建两个节点,然后可以使用 进行链接,得到int*\tikz \node (b) {\hphantom{ }};(a)(b)\tikz [overlay] \draw [red,->] (a.south) to [bend right=70] (b.south);

以下是完整文档:

\documentclass{article}
\usepackage{tikz}

\begin{document}

\tikzset{
    every picture/.style={
        remember picture,   % Make nodes available to all TikZ pictures
        inner xsep=0pt, % Remove horizontal padding
        inner ysep=1pt, % Set small vertical padding
        baseline,       % Align TikZ pictures at the baseline
        every node/.style={
            anchor=base % Align all nodes at the baseline
        }
    }
}


\begin{itemize} % itemize
  \item{} % item
  \texttt{\tikz \node [anchor=base]  (a) {const}; int\tikz \node  (b) {\hphantom{ }};* val}
    \tikz [overlay] \draw [red,->]  (a.south) to [bend right=70]  (b.south);
\end{itemize}

\end{document}

相关内容