amsmath
我注意到,如果我在图例中使用包中的案例pgfplots
,图例框不会包含整个文本。请参阅 MWE。
\documentclass{standalone}
\usepackage{amsmath}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\begin{document}
\begin{tikzpicture}
\begin{axis}
[legend entries = {$f(x)=\begin{cases}\exp(x)&x\leq0\\e^x&x>0 \end{cases}$}]
\addplot[color=red]{exp(x)};
\end{axis}
\end{tikzpicture}
\end{document}
图例中的红线也与 f(x) 不一致。
这是为什么?我该如何解决?
答案1
手册第 4.8.9 节讨论了这个问题pgfplot
,带有自定义文本或多行的图例text depth
。您可以使用以下选项\addlengendentry
:
\addlegendentry[text depth=\baselineskip]
{$f(x)=\begin{cases}\exp(x)&x\leq0\\e^x&x>0 \end{cases}$}
完整示例:
\documentclass{standalone}
\usepackage{amsmath}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot[color=red]{exp(x)};
\addlegendentry[text depth=\baselineskip]
{$f(x)=\begin{cases}\exp(x)&x\leq0\\e^x&x>0 \end{cases}$}
\end{axis}
\end{tikzpicture}
\end{document}
答案2
我怀疑文本被移动了。一个简单的(视觉)修复方法是提高框;经过反复试验,似乎 2.5ex 是正确的数量。
\documentclass{article}
\usepackage{amsmath}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
legend entries = \raisebox{2.5ex}{$f(x)=\begin{cases}\exp(x)&x\leq0\\e^x&x>0 \end{cases}$}
]
\addplot[color=red]{exp(x)};
\end{axis}
\end{tikzpicture}
\end{document}