babel 库无法与文档环境中的 \tikzset 命令配合使用

babel 库无法与文档环境中的 \tikzset 命令配合使用

下面是一个使用冒号字符angle的示例Straight Barb arrow:

\tikzset{>={Straight Barb[angle=60:2pt 3]}}

错误是

!段落在 \pgfarrowsfourparameters@ 完成之前结束。

\documentclass[french]{article}
\usepackage{babel,tikz}
\usetikzlibrary{arrows.meta,babel}
\begin{document}

% inside the environment document, babel library doesnt work
\tikzset{>={Straight Barb[angle=60:2pt 3]}} 

\begin{tikzpicture}
\tikzset{>={Straight Barb[angle=60:2pt 3]}}
\draw[<->](0,0)--(2,0);

\end{tikzpicture}
\end{document}

答案1

\tikzset位于序言中时,TiZbabel库作品。

\documentclass[french]{article}
\usepackage{babel,tikz}
\usetikzlibrary{arrows.meta,babel}
% In the preamble, babel library work
\tikzset{>={Straight Barb[angle=60:2pt 3]}} 

\begin{document}

\begin{tikzpicture}
\draw[<->](0,0)--(2,0);
\end{tikzpicture}

\end{document}

在文档环境中,需要\tikzset\shorthandoff{:}\shorthandon{:}

\documentclass[french]{article}
\usepackage{babel,tikz}
\usetikzlibrary{arrows.meta,babel}

\begin{document}
% Between the command \shorthandoff{:} and \shorthandon{:}, no more problems
\shorthandoff{:}
\tikzset{>={Straight Barb[angle=60:2pt 3]}} 
\shorthandon{:}

\begin{tikzpicture}
\tikzset{>={Straight Barb[angle=60:2pt 3]}}
\draw[<->](0,0)--(2,0);
\end{tikzpicture}

\end{document}

在这两种情况下,我们得到:

截屏

相关内容