尽管我很喜欢 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
。