我想统一三件事:
$\to$
,\draw[->]
在通常的 Ti钾Z 图片,以及\ar
钛钾锌镉
到目前为止,当文本为白底黑字时,以下代码可以实现该功能。但即使在黑底白字的情况下,箭头也是黑色的。
我想知道官方是否有修复。
(如果有更好的方法来同步这三个箭头,请告诉我,)
\documentclass[aspectratio=1610,20pt]{beamer}
\setbeamercolor{normal text}{bg=blue,fg=white}
\setbeamercolor{structure}{fg=red}
\setbeamercolor{alerted text}{fg=red}
\usepackage{mathtools,unicode-math}
\setmathfont{texgyrepagella-math.otf}
\usepackage{tikz,tikz-cd}
\pgfmathdeclarefunction*{axis_height}0{\begingroup\pgfmathreturn.25em\endgroup}
\pgfmathdeclarefunction*{rule_thickness}0{\begingroup\pgfmathreturn.06em\endgroup}
\tikzset{
every picture/.style={line width=rule_thickness},
>/.tip={Glyph[glyph math command=rightarrow,glyph length=.32em]},
>>/.tip={Glyph[glyph math command=twoheadrightarrow,glyph length=.49em]},
c/.tip={Glyph[glyph math command=hookleftarrow, swap,glyph length=.28em]},
}
\tikzcdset{
every arrow/.style={/tikz/draw,->},
}
\begin{document}
\begin{frame}[fragile]
$A\to B$
\tikz\draw[->](0,0)node(A){$A$}(2,0)node(B){$B$}(A)--(B);
\begin{tikzcd}
A\rar & B\rar[c->>] & C
\end{tikzcd}
\end{frame}
\end{document}
答案1
我不确定为什么箭头尖声明不应用当前颜色。这可能与使用来tikz-cd
渲染\pgftext
箭头尖有关,箭头尖在单独的框/组中处理,可能超出颜色声明的范围 - 但也许是完全不同的东西。无论如何,这不是由引起的beamer
,我用测试了article
,结果显示了同样的问题。
glyph math command
一种解决方法是将当前颜色明确地放在使用声明中\color{.}
。
梅威瑟:
\documentclass[aspectratio=1610,20pt]{beamer}
\setbeamercolor{normal text}{bg=blue,fg=white}
\setbeamercolor{structure}{fg=red}
\setbeamercolor{alerted text}{fg=red}
\usepackage{mathtools,unicode-math}
\setmathfont{texgyrepagella-math.otf}
\usepackage{tikz,tikz-cd}
\makeatletter
% copied from tikzlibrarycd.code.tex
\pgfqkeys{/pgf/arrow keys}{
glyph math command/.code={% if csname #1 is undefined, we want it to remain so
\pgfarrowsaddtooptions{\def\tikzcd@glyph{\color{.}$\begingroup\expandafter\endgroup\csname #1\endcsname$}}}}
\makeatother
\pgfmathdeclarefunction*{axis_height}0{\begingroup\pgfmathreturn.25em\endgroup}
\pgfmathdeclarefunction*{rule_thickness}0{\begingroup\pgfmathreturn.06em\endgroup}
\tikzset{
every picture/.style={line width=rule_thickness},
>/.tip={Glyph[glyph math command=rightarrow,glyph length=.32em]},
>>/.tip={Glyph[glyph math command=twoheadrightarrow,glyph length=.49em]},
c/.tip={Glyph[glyph math command=hookleftarrow, swap,glyph length=.28em]},
}
\tikzcdset{
every arrow/.style={/tikz/draw,->},
}
\begin{document}
\begin{frame}[fragile]
$A\to B$
\tikz\draw[->](0,0)node(A){$A$}(2,0)node(B){$B$}(A)--(B);
\begin{tikzcd}
A\rar & B\rar[c->>] & C
\end{tikzcd}
\end{frame}
\end{document}
结果: