如果我删除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}