tikz图片的标签包问题

tikz图片的标签包问题

如果我删除labels环境,那么 tikz 图片效果很好。当我添加labels环境并tikzpicture进入labels环境时,我收到! Missing \endcsname inserted.错误。

我的代码与labels环境 -

\documentclass[12pt]{article}
\usepackage[a4paper,left=1cm,right=1cm,top=1cm,bottom=1cm]{geometry}
\usepackage{fontspec}
\usepackage[dvipsnames]{xcolor}
\usepackage[object=vectorian]{pgfornament} % also loads tikz
\usepackage{labels}
\setmainfont{Holden}
\tikzset{pgfornamentstyle/.style={draw = Periwinkle, fill = SpringGreen}}
\usetikzlibrary{
  positioning, % for left=of, above=of etc.
  calc % for let syntax used in second example
}
\LabelCols=3%         Number of columns of labels per page
\LabelRows=7%         Number of rows of labels per page
\LeftBorder=8mm%      Space added to left border of each label
\RightBorder=8mm%     Space added to right border of each label
\TopBorder=9mm%       Space to leave at top of sheet
\BottomBorder=2mm%    Space to leave at bottom of sheet
\numberoflabels=22
\begin{document}
% \begin{labels}
\begin{tikzpicture}[
  every node/.append style={inner sep=0},
  node distance=5mm
]
   \node [Black] (text){Vaijan\XeTeXglyph83s Honey};
  \path
    let
    \p1=(text.south west),
    \p2=(text.north east),
    \n1={\x2-\x1}, % width of text node
    \n2={\y2-\y1}  % height of text node
    in
% in all of the below some fraction of \n1 or \n2 is used to define the width of the ornaments
% set width of these ornaments to half the text node's width
   node [anchor=north] (below) at (text.south) {\pgfornament[width=0.5*\n1,symmetry=c]{69}}
   node [anchor=south] (above) at (text.north) {\pgfornament[width=0.5*\n1]{69}};
\end{tikzpicture}
% \end{labels}
\end{document}

我使用 运行该代码xelatex

答案1

这两个问题是使用 TikZ 等其他格式 let \p1=(text.south west), \p2=(text.north east),etc ...

最简单的是,一切都好box

\documentclass[12pt]{article}
\usepackage[a4paper,left=1cm,right=1cm,top=1cm,bottom=1cm]{geometry}
\usepackage{fontspec}
\usepackage[dvipsnames]{xcolor}
\usepackage[object=vectorian]{pgfornament} % also loads tikz
\usepackage{labels}
\setmainfont{Holden}
\tikzset{pgfornamentstyle/.style={draw = Periwinkle, fill = SpringGreen}}
\usetikzlibrary{babel,
  positioning, % for left=of, above=of etc.
  calc % for let syntax used in second example
}
\LabelCols=3%         Number of columns of labels per page
\LabelRows=7%         Number of rows of labels per page
\LeftBorder=8mm%      Space added to left border of each label
\RightBorder=8mm%     Space added to right border of each label
\TopBorder=9mm%       Space to leave at top of sheet
\BottomBorder=2mm%    Space to leave at bottom of sheet
\numberoflabels=22

\newsavebox{\orn}
\savebox{\orn}{\begin{tikzpicture}[every node/.append style={inner sep=0,node distance=5mm}]
   \node [black] (text){Vaijan's Honey};
  \path
    let
    \p1=(text.south west),
    \p2=(text.north east),
    \n1={\x2-\x1}, % width of text node
    \n2={\y2-\y1}  % height of text node
    in
% in all of the below some fraction of \n1 or \n2 is used to define the width of the ornaments
% set width of these ornaments to half the text node's width
   node [anchor=north] (below) at (text.south) {\pgfornament[width=0.5*\n1,symmetry=c]{69}}
   node [anchor=south] (above) at (text.north) {\pgfornament[width=0.5*\n1]{69}};
\end{tikzpicture}}

\begin{document}
 \begin{labels}
\usebox{\orn}
 \end{labels}
\end{document}

在此处输入图片描述

使用你的第一个代码

\documentclass[12pt]{article}
\usepackage{geometry}
\usepackage{fontspec}
\usepackage[dvipsnames]{xcolor}
\usepackage[object=vectorian]{pgfornament} % also loads tikz
\usepackage{labels}

\setmainfont{Holden}
 \tikzset{pgfornamentstyle/.style={draw = Periwinkle,
                                  fill = SpringGreen}}

\usetikzlibrary{
  positioning, % for left=of, above=of etc.
  calc % for let syntax used in second example
}
\LabelCols=3%         Number of columns of labels per page
\LabelRows=7%         Number of rows of labels per page
\LeftBorder=8mm%      Space added to left border of each label
\RightBorder=8mm%     Space added to right border of each label
\TopBorder=9mm%       Space to leave at top of sheet
\BottomBorder=2mm%    Space to leave at bottom of sheet
\numberoflabels=22
\begin{document}

 \newsavebox{\orn}
 \savebox{\orn}{  \begin{tikzpicture}[every node/.append style={inner sep=0, node distance=5mm}]
     \node [black] (text){Vaijan's Honey};

    \path
      let
      \p1=(text.south west),
      \p2=(text.north east),
      \n1={\x2-\x1}, % width of text node
      \n2={\y2-\y1}  % height of text node
      in
  % in all of the below some fraction of \n1 or \n2 is used to define the width of the ornaments
  % set width of these ornaments to half the text node's width
     node [anchor=north] (below) at (text.south) {\pgfornament[width=0.5*\n1,symmetry=c]{69}}
     node [anchor=south] (above) at (text.north) {\pgfornament[width=0.5*\n1]{69}}



  % use \n2 for ornament width here
     node [rotate=-90, left=of text, anchor=north] (left)  {\pgfornament[width=\n2]{46}}
     node [rotate=90, right=of text, anchor=north] (right) {\pgfornament[width=\n2]{46}}
  % and \n1 here
     node [above=of above] (top)    {\pgfornament[width=\n1]{71}}
     node [below=of below] (bottom) {\pgfornament[width=\n1,symmetry=h]{71}}
  %   node [anchor=north] (top) at (text.north)   {\pgfornament[width=\n1]{71}}
  %   node [anchor=south] (bottom) at (text.south) {\pgfornament[width=\n1,symmetry=h]{71}}
  % and 25% of width for the corner ornaments
     node [anchor=north west] at (top.north -| left.south)  {\pgfornament[width=0.25*\n1]{63}}
     node [anchor=north east] at (top.north -| right.south) {\pgfornament[width=0.25*\n1,symmetry=v]{63}}
     node [anchor=south west] at (bottom.south -| left.south) {\pgfornament[width=0.25*\n1,symmetry=h]{63}}
     node [anchor=south east] at (bottom.south -| right.south) {\pgfornament[width=0.25*\n1,symmetry=c]{63}}; % <- note the \path doesn't end until here

     % draw frame
    \draw [Blue] (current bounding box.south west) rectangle (current bounding box.north east);
    \vspace{2cm};
    \node [anchor=south] (bellowaddress1) at (below.south) {\pgfornament[width=0.10*\textwidth]{88}};
    \setmainfont{Linux Biolinum O}
    \tiny
    \node [Brown, below, align=center] (bellowaddress3) at (bellowaddress1.south) {Md.Al-Helal, CSE, DU\\ 01515611989};
    \node [anchor=south, below] (bellowaddress2) at (bellowaddress3.south) {\pgfornament[width=0.10*\textwidth]{88}};
  \end{tikzpicture}}

\begin{labels}
\usebox{\orn}
\end{labels}

\end{document}

在此处输入图片描述

相关内容