如何绘制轮廓积分?

如何绘制轮廓积分?

我想知道如何在乳胶中绘制这幅图,以及需要哪些软件包?enter image description here

感谢您的时间。

答案1

它并不完美但它应该可以工作!

\documentclass[tikz, border=5pt]{standalone}


\usetikzlibrary{positioning,arrows}
\usetikzlibrary{decorations.markings}
\usetikzlibrary{calc}

\begin{document}

\def\varl{5}

\begin{tikzpicture}[
      edgearrow/.style={draw=black,
                     postaction={decorate},
                     decoration={markings,mark=at position #1 with {
                         \arrow[black,scale=.6]{triangle 45}}}},
      edgearrow/.default=.55,
      line width = .5,
      every node/.style={scale=0.6},
      scale=.5]

%% Axis
\draw[edgearrow=.9] (0,0) -- (8,0);
\draw[edgearrow=.9] (0,0) -- (0,5);

%% Dashed square
\draw[dashed] (0,0)
-- ($\varl*(60:1)$) node[anchor=south]{$\ell\tau$}
-- ($(\varl,0)+\varl*(60:1)$) node[anchor=south]{$\ell\tau+\ell$}
-- (\varl,0) node[anchor=north]{$\ell$};

%% Graduation
\foreach \x in {0,1,2}{
  \draw (\x,.2) -- (\x,0) node[anchor=north]{$\x$};
}

%% Bullets
\fill (60:1) circle (.08) node[right=.1]{$\tau$};
\fill ($2*(60:1)$) circle (.08) node[right=.1]{$2\tau$};

%% Plain square
\begin{scope}[shift={(-1,-.6)}]
  \draw[edgearrow=.8] (0,0)
                   -- node[below=.05,pos=.8]{$\sigma^*$} (\varl,0);
  \draw[edgearrow=.8] (\varl,0)
                   -- node[left=.1,pos=.8]{$g$} ($(\varl,0)+\varl*(60:1)$);
  \draw[edgearrow] ($(\varl,0)+\varl*(60:1)$)
                   -- node[below=.05]{$\sigma^*$} ($\varl*(60:1)$);
  \draw[edgearrow=.3] ($\varl*(60:1)$)
                   -- node[left=.05,pos=.2]{$g^*$} (0,0);
\end{scope}     


\end{tikzpicture}

\end{document}

这使

enter image description here

顺便说一句,我不确定特克斯就是你可以请别人为你绘图的地方……

相关内容