TikZ 库“calligraphy”和“paths.ortho”不能一起工作

TikZ 库“calligraphy”和“paths.ortho”不能一起工作

从问题和答案使用 TikZ 书法库中的括号颜色 我了解了图书馆calligraphy。从对它的使用测试中,我观察到两件事:

  • 库“书法”必须在库之后加载decorations.pathreplacing,
  • 如果将它与库一起使用,paths.ortho绘制线条中的某些选项将失去其功能(没有警告或错误,只是不会出现):

一个例子:

\documentclass[tikz,border=10pt,multi]{standalone}
\usetikzlibrary{arrows.meta,decorations.pathreplacing,calligraphy}
\usetikzlibrary{paths.ortho}

\begin{document}
    \begin{tikzpicture}
\draw[<->]  (0,1.5) -- + (3,0);
\draw[|->]  (0,1.0) -- + (3,0);
\draw[|-|]  (0,0.5) -- + (3,0);
\draw[{Bar[]}-{Bar[]}]  (0,0) -- + (3,0);
    %

\draw[decorate,
      decoration={calligraphic brace, mirror,
      pre =moveto, pre  length=1pt,
      post=moveto, post length=1pt,
      raise=3pt, amplitude=6pt},
      thick, pen colour={red}]  (0,0) -- (3,0);
    \end{tikzpicture}
\end{document}

如您所见,第三行的条形图末端未显示。如何解决这个(小)问题?

答案1

首先,这与软件包无关calligraphy。我从以下 MWE 中得到了相同的行为:

\documentclass{article}
%\url{http://tex.stackexchange.com/q/315739/86}
\usepackage{tikz}
\usetikzlibrary{paths.ortho}

\begin{document}
    \begin{tikzpicture}
\draw[<->]  (0,1.5) -- + (3,0);
\draw[|->]  (0,1.0) -- + (3,0);
\draw[|-|]  (0,0.5) -- + (3,0);
    \end{tikzpicture}
\end{document}

缺失的酒吧

我不知道为什么发生这种情况是因为我对这个包一无所知paths.ortho。但我可以用一些明智的括号来修复它:

\documentclass{article}
%\url{http://tex.stackexchange.com/q/315739/86}
\usepackage{tikz}
\usetikzlibrary{paths.ortho}

\begin{document}
    \begin{tikzpicture}
\draw[<->]  (0,1.5) -- + (3,0);
\draw[|->]  (0,1.0) -- + (3,0);
\draw[{|}-{|}]  (0,0.5) -- + (3,0);
    \end{tikzpicture}
\end{document}

因此,我只能假设该选项|-|对于包来说具有特殊意义paths.ortho,并且它在箭头语法看到它之前首先会注意到这一点。了解箭头是如何解释的(即在密钥解析中相当晚),这并不奇怪。

重新出现的酒吧

相关内容