问候。
约翰·库克提供了可点击的图表具有不同互连的概率分布。每个节点都链接到定义,每个箭头都链接到互连的简要描述。
我对制作具有类似功能的 PDF 感兴趣。即,我想要一个带有箭头的图表,箭头与各种(文本)定义和描述相互关联。
使用 LaTeX/ConTeXt/其他什么都可以吗?
答案1
使用 Tikz 包,可以将节点与定义连接起来,但我找不到如何将箭头与定义连接起来的方法。
所以这只是对你的问题的部分回答:
\documentclass[a4paper]{article}
\usepackage[latin2]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tgschola}
\usepackage{glossaries}
\usepackage[hidelinks]{hyperref}
\glsenablehyper
\usepackage{tikz}
\usetikzlibrary{scopes,chains, positioning}
\tikzset{clickable/.style={draw, rectangle,rounded corners, inner sep = 2pt,fill= blue!20}}
\tikzaddtikzonlycommandshortcutdef{\clickable}{\node[clickable]}
\begin{document}
\makeglossaries
\newglossaryentry{geometric}{
name={geometric}
,description={$f(x) = p (1-p)^x$ for non-negative integers $x$.}
}
\newglossaryentry{discrete}{
name={Discrete uniform}
,description={$(x) = \frac{1}{n}$ for $x = 1, 2, ..., n$}
}
\newglossaryentry{negative}{
name={Negative binomial}
,description={$f(x) = C(r + x - 1, x) p^r(1-p)^x$ for non-negative integers $x$}
}
\begin{tikzpicture}
\clickable (or) {\gls{geometric}} edge [loop right, ->] (or);
\clickable [below of=or] (bn) {\gls{discrete}} edge [dashed,<-] (or);
\clickable [right= 0.5cm of bn] (oo) {\gls{negative}} edge [<->] (bn);
\end{tikzpicture}
\printglossary
\end{document}
词汇表条目使用宏定义\newglossaryentry
。例如:
\newglossaryentry{discrete}{
name={Discrete uniform}
,description={$(x) = \frac{1}{n}$ for $x = 1, 2, ..., n$}
}
discrete
是您在图表中链接到的名称,name
是词汇表标题。
要获取词汇表,您必须在编译文档后运行脚本makeglossaries nameofthedocumentwithoutextension
。
您可以使用宏来引用词汇表条目\gls{}
,例如命令\gls{discrete}
将打印离散均匀。
要了解 tikz,请texdoc tikz
在 shell 中运行命令。以下是关于我的代码的一些说明:
\begin{tikzpicture}
\clickable (or) {\gls{geometric}} edge [loop right, ->] (or);
\clickable [below of=or] (bn) {\gls{discrete}} edge [dashed,<-] (or);
\clickable [right= 0.5cm of bn] (oo) {\gls{negative}} edge [<->] (bn);
\end{tikzpicture}
我们的图表是在tikzpicture
环境中定义的。宏\clickable
是的快捷方式\node [clickable]
。花括号中的是标签文本,因为我们引用的是词汇表条目,所以我们称之为\gls
宏。(or)
是节点的名称,用于从其他节点引用该节点。它对于放置其他节点(below of=or
)和箭头很有用。edge
用于定义箭头。在[]
括号中我们设置它的样式。