我基本上是在问这问题,因为那里的答案不适用于--
线条的情况。
假设你有如下一行:
\draw (0,0) -- (3,3) node[sloped, midway,above]{Hey!};
那么,是否可以创建一种样式,使得下面的代码产生与上面相同的结果?
\draw[heyEnd](0,0) -- (3,3);
我怀疑这应该是非常有可能的,因为箭头会产生这种效果。
完整示例:
\documentclass[margin=10pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\tikzset{
heyEnd/.style={
every edge/.style={
edge node={node[sloped, midway,above]{Hey!}},
draw
}
}
}
%% Intended result:
% \draw (0,0) -- (3,3) node[sloped, midway,above]{Hey!};
%% This works:
% \draw[heyEnd](0,0) edge (3,3);
% This does not, but I want it to
\draw[heyEnd](0,0) -- (3,3);
\end{tikzpicture}
\end{document}
(可能)相关:
答案1
我现在不知道这是否是您要寻找的答案,但您当然可以使用--
装饰线条实现相同的效果。
\documentclass[margin=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}
\tikzset{
heyEnd/.style={
every edge/.style={
edge node={node[sloped, midway,above]{Hey!}},
draw
}
},
heyMark/.style={postaction={decorate,decoration={markings,
mark=at position 0.5 with {\node[midway,above,sloped]{Hey!}; }}}}
}
%% Intended result:
% \draw (0,0) -- (3,3) node[sloped, midway,above]{Hey!};
%% This works:
\draw[heyEnd](0,0) edge (3,3);
% This works now
\draw[heyMark](4,0) -- (7,3);
\end{tikzpicture}
\end{document}