![用直线(而不是曲线)连接 A 和 B - MATHTIKZ](https://linux22.com/image/468925/%E7%94%A8%E7%9B%B4%E7%BA%BF%EF%BC%88%E8%80%8C%E4%B8%8D%E6%98%AF%E6%9B%B2%E7%BA%BF%EF%BC%89%E8%BF%9E%E6%8E%A5%20A%20%E5%92%8C%20B%20-%20MATHTIKZ.png)
当我将 A 链接到 B 时,我正在努力选择 tikz 中的选项以获得直线而不是曲线(见下图)。
以下是我的想法:
\documentclass{article}
\usepackage{pgf,tikz}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\mathtikzmark}[2]{\tikz[baseline={(#1.base)},remember picture] \node[inner sep=0pt] (#1) {#2};}
\usepackage{xparse}
\DeclareDocumentCommand{\link}{ O{shorten >=4pt,shorten <=4pt} O{} O{above} m m}{
\begin{tikzpicture}[remember picture, overlay, >=stealth, shift={(0,0)}]
\draw[#1,->] (#4) to node[#3] {#2} (#5) ;
\end{tikzpicture}%
}
%-----------------------------------------------------------------------------------------------
\begin{document}
\hspace*{40mm}f(x) = x + \mathtikzmark{B}{3}
\fcolorbox{red}{white}{\mathtikzmark{A}{Attention: blabla}}
\link[shorten >=1.mm,shorten <=1.mm,out=0,in=270,black]{A}{B}
\end{document}
我明白了:
我想要得到的是:
有人知道如何设置选项吗?
答案1
通常,为了画出这样的线,人们会使用(a) -| (b)
(见https://tex.stackexchange.com/a/401429/to
),但是当您在这样的宏中使用时,它将不起作用。
但是,你可以to
通过添加来修改绘制线条的方式
to path={(\tikztostart) -| (\tikztotarget)}
\link
到.ie的选项
\link[shorten >=1.mm,shorten <=1.mm,black, to path={(\tikztostart) -| (\tikztotarget)}]{A}{B}