是否有一个包已经可以做这样的事情?
在这给出了围绕公式的主题,但我不明白修改“圆圈”以让箭头从某处向外指向的语法。
最终目标就是拥有这样的东西。
我尝试使用链接主题中给出的示例作为基础
\documentclass{article}
\usepackage{tikz}
\makeatletter
\newcommand*{\encircled}[1]{\relax\ifmmode\mathpalette\@encircled@math{#1}\else\@encircled{#1}\fi}
\newcommand*{\@encircled@math}[2]{\@encircled{$\m@th#1#2$}}
\newcommand*{\@encircled}[1]{%
\tikz[baseline,anchor=base]{\node[draw,circle,outer sep=0pt,inner sep=.2ex] {#1};}}
\makeatother
\begin{document} not important at the moment
\end{document}
有很多修饰与保持正确格式或类似的东西有关。问题的核心是修改\node[...]
导致圆圈中有一个箭头指向外部的部分,但我觉得这是死路一条。
答案1
最好的方法取决于你的草图是否是作为单个图像(在这种情况下使用单个tikzpicture
环境)或者项目是否与页面上的文本混合出现(在这种情况下使用\tikznode
来自此帖子的命令。以下是两种情况的示例。请注意,您必须对第二个示例运行两次 LaTeX。
一张图片中的一切:元素之间的相对位置可以明确指定。
\documentclass[border=1pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node[circle,draw](fx){$f(x)$};
\node(a)[below right=of fx]{$a$};
\draw[->] (fx) -- (a);
\end{tikzpicture}
\end{document}
作为文本一部分的图形元素:元素的位置由定位元素的排版引擎隐式定义。有关使用的示例,\tikznode
请参见分解数字 简单加法,如何在方程和矩阵中添加箭头?或者如何将 tikzpicture 中的箭头指向 LaTex 中的方程式?。
\documentclass{article}
\usepackage{tikz}
\newcommand\tikznode[3][]%
{\tikz[remember picture,baseline=(#2.base)]
\node[minimum size=0pt,inner sep=0pt,#1](#2){#3};%
}
\begin{document}
\[ \frac{g(x)}{\tikznode[circle,draw]{fx}{$f(x)$}}
=\frac{g(x)}{\tikznode{a}{$a$}}
\]
\begin{tikzpicture}[remember picture,overlay]
\draw[->] (fx) edge[bend right] (a);
\end{tikzpicture}
\end{document}
答案2
也许是这样的?
\documentclass{article}
\usepackage{tikz,blindtext}
\newcommand{\mycircle}[2]{\begin{tikzpicture}[remember picture]
\node[draw,circle] (#2) {$#1$};
\draw[->] (#2) --+ (1,-1) node[below right] {$#2$};
\end{tikzpicture}
}
\begin{document}
\blindtext\par
\mycircle{f(x)}{a}\par
\blindtext
\end{document}
输出如下:
编辑:分母不重叠:
梅威瑟:
\documentclass{article}
\usepackage{tikz,blindtext}
\newcommand{\mycircle}[2]{\begin{tikzpicture}[remember picture]
\node[draw,circle] (#2) {$#1$};
\draw[->] (#2.south east) --+ (1,-1) node[below right] {$#2$};
\end{tikzpicture}
}
\begin{document}
\blindtext\par
\mycircle{f(x)}{a}\par
\[
\frac{f(x)}{\mycircle{g(x)}{a}}
\]
\blindtext\par
\end{document}
输出:
答案3
\documentclass{article} \usepackage{tikz} \newcommand\tikznode[3][]% {\tikz[记住图片,baseline=(#2.base)] \nodeminimum size=0pt,inner sep=0pt,#1{#3};% } \begin{document} [ \frac{g(x)}{\tikznode[circle,draw]{fx}{$f(x)$}} =\frac{g(x)}{\tikznode{a}{$a$}} ] \begin{tikzpicture}[记住图片,覆盖] \draw[->] (fx) edge[向右弯曲] (a); \end{tikzpicture} \end{document}
如果我想让它位于顶部而不是像代码中那样位于底部,该怎么办?例如,如果您不想在分母中执行操作,而是想在分子中执行操作,该怎么办?我正在尝试这样做,但速度越来越低。