我是新手tikz
,我想这是一个非常简单的问题。但我还是找不到解决方案。
我想用tikz
它来绘制标题的背景。因此我创建了以下命令:
\documentclass{article}
\usepackage{tikz}
\usepackage{xcolor}
\usetikzlibrary{calc}
\newcommand{\headline}[1]{%
\begin{tikzpicture}
\fill[gray] (0,2mm) -- (5mm-2mm,2mm) -- (5mm,0) -- (2mm,0) -- (0,2mm);
\node (A) at (12mm,1mm) {\Large\textsc{#1}};
\fill[gray] (A.east|-0,2mm) -- (\textwidth-2mm,2mm) -- (\textwidth,0) -- (A.east|-0,0) -- (A.east|-0,0);
\end{tikzpicture}%
}
\begin{document}
\headline{test}
\end{document}
但我希望文本后面第二行的左下角也被截断。如下图所示:
我尝试以某种方式添加缺失的 2 毫米,但没有找到解决方案。我尝试了([xshift=2mm]A.east|-0,2mm)
、(A.east|-0+2mm,2mm)
以及\fill[gray] let \p{A}=(A) in (A.east|-0,2mm) -- (\textwidth-2mm,2mm) -- (\textwidth,0) -- (\x{A}+2mm,0) -- (A.east|-0,0);
我在搜索时遇到的许多其他方法。但我没有成功。
如何添加相对于节点末端缺失的 2 毫米?
答案1
使用 tikz-librarycalc
计算缺失的坐标($(A.east|-0,0)+(2mm,0)$)
。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\newcommand{\headline}[1]{%
\begin{tikzpicture}
\fill[gray] (0,2mm) -- (5mm-2mm,2mm) -- (5mm,0) -- (2mm,0) -- cycle;
\node (A) at (12mm,1mm) {\Large\textsc{#1}};
\fill[gray] (A.east|-0,2mm) -- (\textwidth-2mm,2mm) -- (\textwidth,0) -- ($(A.east|-0,0)+(2mm,0)$) -- cycle;
\end{tikzpicture}%
}
\begin{document}
\noindent
\headline{test}
\end{document}