在 TikZ 中重新声明箭头

在 TikZ 中重新声明箭头

如你所知,我在代码中添加了更多箭头这个答案(也许明天)。此时,我想覆盖箭头声明,以便可以简单地写入-latex而不是-latex new,但TikZ会给出错误,因为箭头名称已被使用。有没有办法绕过此行为并重新定义箭头尖?

代码示例:

\documentclass[tikz, border=1pt]{standalone}
\usepackage{tikz}

\pgfarrowsdeclare{space}{space}
{
  \pgfutil@tempdima=0.88pt%
  \advance\pgfutil@tempdima by.3\pgflinewidth%
  \pgfarrowsleftextend{0pt}
  \pgfarrowsrightextend{\pgfutil@tempdima}
}
{}

\begin{document}
\begin{tikzpicture}
\draw [-space] (0,0) -- (1,0);
\end{tikzpicture}
\end{document}

答案1

嗯,不推荐,但你可以绕过已经定义?测试。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows}

\makeatletter
\def\pgf@arrows@check@already#1#2#3{%
   {#3}%
}

\pgfarrowsdeclare{space}{space}
{
  \pgfutil@tempdima=0.88pt%
  \advance\pgfutil@tempdima by.3\pgflinewidth%
  \pgfarrowsleftextend{0pt}
  \pgfarrowsrightextend{\pgfutil@tempdima}
}
{}
\makeatother

\begin{document}
\begin{tikzpicture}
\draw [-space] (0,0) -- (1,0);
\end{tikzpicture}
\end{document}

相关内容