以下图例条目中带有逗号的代码无法编译。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
legend entries = {$a, b$} , %<- error!
title = {$a, b$},
xlabel = {$a, b$}
]
\addplot {x};
\end{axis}
\end{tikzpicture}
\end{document}
我根据 tikz 的需要在表达式周围添加了额外的花括号(例如这里tikz 公式中的逗号)。
奇怪的是,只有在图例中使用逗号时才会出现错误,因为标签和标题可以正常工作。
这是解析器中的错误还是我遗漏了什么?
答案1
似乎密钥处理程序在删除外部括号组时并不太小心,这使得它起作用:
legend entries = {}{$a, b$} , %<- error!
答案2
另一种解决方案是用 来分隔列表\\
。引用 PGFPlots 手册 v1.9 4.9.4“图例”:
也可以通过 来分隔列表
\\
。在这种情况下,最后一个元素必须终止\\
也由。
例子:
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
legend entries = {$a, b$\\$c, d$\\},
title = {$a, b$},
xlabel = {$a, b$}
]
\addplot {x};
\addplot {x - 1};
\end{axis}
\end{tikzpicture}
\end{document}