我正在使用基于 tikz 的神经网络库,我正在尝试改变变量nnlinklabelextrastyle
来修改边缘标签的字体,但我不知道如何定位nnlinklabelextrastyle
或renewcommand
如何寻找解决方案,术语方面,以防我尝试做的方式完全错误。
编辑:这是一个生成神经网络图像的最小示例,但文本太大。我试图通过更改字体样式使其变小。此外,运行示例时也有一些错误,但我无法从错误消息中找出如何修复它,尽管我认为我缺少包定义或类似的东西……
\documentclass{standalone}
\usepackage{pgfplots}
\usepackage{tikz}
\usepackage{neuralnetwork}
\begin{document}
\begin{neuralnetwork} [nodespacing=12mm, layerspacing=45mm,
maintitleheight=2.5em, layertitleheight=2.5em,
height=5, toprow=false, nodesize=30pt, style={},
titlestyle={}]
%\newcommand\nnlinklabelextrastyle{font=\small} %<-- failed attempt
\newcommand{\linklabelsU}[4]{Error wrt $w_{#4,#2}^#3$}
\inputlayer[count=3, bias=false]
\hiddenlayer[count=4, bias=false]
\link[style={thick, color=red}, from layer=1, to layer=0, from node=1, to node=1, label=\linklabelsU]
\outputlayer[count=1]
\link[style={thick, color=red}, from layer=2, to layer=1, from node=1, to node=1, label=\linklabelsU]
\link[style={thick, color=red}, from layer=2, to layer=1, from node=1, to node=2, label=\linklabelsU]
\link[style={thick, color=red}, from layer=2, to layer=1, from node=1, to node=3, label=\linklabelsU]
\link[style={thick, color=red}, from layer=2, to layer=1, from node=1, to node=4, label=\linklabelsU]
\end{neuralnetwork}
\end{document}
答案1
这是因为作者xkeyval
在 TikZ 键声明中定义了选项。我猜他/她想模仿 TikZ 语法,而不需要繁琐的 TikZ 解析器 hacking。
因此,为了能够让 TikZ 解析器看到这些键,作者使用了\edef
宏。但是当 TeX 尝试扩展\small
等时,这会出错。
如果您确实需要这个包,那么我建议将其转换为pgfkeys
一劳永逸的方式,并在 Github 上发出拉取请求。