为什么在 TikZ 中使用带有节点会导致标签尺寸严重错误?

为什么在 TikZ 中使用带有节点会导致标签尺寸严重错误?

尽管我很喜欢 TikZ,但它在不同的电脑上产生一致的输出的问题让我很困扰。目前,我遇到了麻烦,因为当我使用 to 命令和 draw 命令中的节点时,字体大小都是错误的,而且节点经常会放错标签。这似乎是我当前电脑的一个怪癖,我在另一台电脑上编写的一些代码现在无法正确编译(顺便说一句,我刚刚检查过;这在我的旧笔记本电脑上编译得很好)。例如,代码

\[
\epsilon=\tikz[baseline,very thick,scale=2.5]{ 
\draw[<-] (.2,.1) to[out=-120,in=-60] (-.2,.1)  
node[at end,above left,scale=.8]{$i$}
node[at start,above right,scale=.8]{$i$};
\node[scale=.8] at (0,.3){$\lambda$}; 
\node[scale=.8] at (0,-.2){$\lambda+\alpha_i$};}\qquad \qquad
\epsilon'=\tikz[baseline,very thick,scale=2.5]{
\draw[->] (.2,.1)to[out=-120,in=-60] (-.2,.1) 
node[at end,above left,scale=.8]{$i$} 
node[at start,above right,scale=.8]{$i$};
\node[scale=.8] at(0,.3){$\lambda$}; 
\node[scale=.8] at (0,-.2){$\lambda-\alpha_i$};}
\]

生产

在此处输入图片描述

为什么 i 这么大?我能做些什么来解决这个问题吗?

作为参考,如果我使节点独立并将代码更改为

\[
\epsilon=\tikz[baseline,very thick,scale=2.5]{\draw[<-] (.2,.1)
  to[out=-120,in=-60] (-.2,.1);  \node at (.2,.2) [scale=.8]{$i$};
  \node at (-.2,.2)[scale=.8]{$i$};\node[scale=.8] at
  (0,.3){$\lambda$}; \node[scale=.8] at (0,-.2){$\lambda+\alpha_i$};}\qquad \qquad
\epsilon'=\tikz[baseline,very thick,scale=2.5]{\draw[->] (.2,.1)
  to[out=-120,in=-60] (-.2,.1); \node at (.2,.2) [scale=.8]{$i$};
  \node at (-.2,.2)[scale=.8]{$i$};\node[scale=.8] at
  (0,.3){$\lambda$}; \node[scale=.8] at (0,-.2){$\lambda-\alpha_i$};}
\]

我基本上得到了我想要的结果。

在此处输入图片描述

答案1

我认为好的语法就像\draw (a) to node {} (b);pgfmanual 的例子一样:

\begin{tikzpicture}
  \draw (0,0) .. controls (6,1) and (9,1) ..
    node[near start,sloped,above] {near start}
    node {midway}
    node[very near end,sloped,below] {very near end} (12,0);
\end{tikzpicture}

就你的情况而言:

\documentclass{article}
\usepackage{tikz}

\begin{document} 

 $\epsilon$=
\tikz [baseline,
       very thick,
       scale=2.5]{%                   
\draw[<-] (.2,.1) to [out=-120,in=-60]  
      node [at end,above left]     {$i$}
      node [at start,above right]  {$i$}
      (-.2,.1)   ;
\node at (0,.3){$\lambda$}; 
\node at (0,-.2){$\lambda+\alpha_i$};  
} 
\end{document} 

在此处输入图片描述

备注:我不明白scale=.8节点的选项!也许您想减小文本的大小?但在这种情况下,我认为您也减小了节点的大小。我认为最好避免这种情况并使用类似的东西font=\scriptsize

相关内容