
С этим MWE:
\documentclass[11pt]{article}
\usepackage{tikz}
\usetikzlibrary{fit,calc}
\makeatletter
\tikzset{
% http://tex.stackexchange.com/questions/47704/how-to-establish-node-anchor
fitting node/.style={
inner sep=0pt,
fill=none,
draw=none,
reset transform,
fit={(\pgf@pathminx,\pgf@pathminy) (\pgf@pathmaxx,\pgf@pathmaxy)}
},
reset transform/.code={\pgftransformreset},
}
\makeatother
\begin{document}
\begin{tikzpicture}
% separately plot and box, else tikzedt don't show handles
\draw [black,thick] (1,3) rectangle (3.5,4)
node[fitting node] (mynode) {};
%/* % also make tikzedt ignore (do not parse) this, plot kills all handles
\draw let \p1=(mynode) in
[black, thick, domain=0:2.5,samples=50]
plot (\x,{0.5*exp(-\x)*sin(1000*\x)});
%*/
\end{tikzpicture}
\end{document}
... я понимаю это:
Я использую tikzedt
, и с таким синтаксисом он дает мне рычаги для перемещения узла прямоугольника; я хотел бы, чтобы часть графика была внутри него, чтобы она перемещалась вместе с узлом.
К сожалению, \draw
plot
сбои дают совершенно неверные результаты, если они возникают \x1
или \y1
возникают в результате let
операции (например, как в plot ({\x1+\x},{\y1+0.5*exp(-\x)*sin(1000*\x)});
).
Итак, как мне переместить \draw
plot
внутрь (mynode)
(то есть сделать его позиционирование относительно (mynode)
, а не явным)?
решение1
Ну, можно было бы просто использовать shift
, жаль, что я не вспомнил раньше:
\draw let \p1=(mynode.west) in
[black, thick, domain=0:2.5,samples=50,shift=(\p1)]
plot ({\x},{0.5*exp(-\x)*sin(1000*\x)});