LuaLaTeX
我正在使用(此时可互换)设计一些信头XeLaTeX
,我希望我的签名和姓名像这样绘制:
签名是 TikZ 绘图,文本是普通类型,以负片凸起\vspace{}
。但是,如果仔细观察,文本(自然)位于签名之上,我想将其反转。
我理解为什么它在顶部,但我不知道该怎么做才能扭转它,因为文本是相对于签名的大小来定位的。
因为上面的 MWE 示例有 3,878 行,所以我制作了一个较小的 MWE:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{minipage}{2in}
\resizebox{2in}{!}{
\begin{tikzpicture}
\draw[color=blue](0,0) circle (2);
\end{tikzpicture}}\par
\vspace*{-.15in}
\resizebox{2in}{!}{Minimum Working Example}
\end{minipage}
\end{document}
结构相同,只是更简单的绘图和文本。有什么方法可以强制蓝色TikZ
绘图显示在下方文本的上方吗?
答案1
\documentclass{article}
\usepackage{tikz,stackengine}
\begin{document}
\stackon[-5pt]{\resizebox{2in}{!}{Minimum Working Example}}
{\begin{tikzpicture}\draw[color=cyan](0,0) circle (2);\end{tikzpicture}}
\end{document}
答案2
一种选择是使用overlay
;tikzpicture
为了实现精确定位,您还可以使用tikzmark
库放置一些标记,然后使用remember picture
,使用这些标记将 放置tikzpicture
在所需的位置;一个小例子:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{tikzmark,calc}
\begin{document}
\begin{minipage}{2in}
\tikzmark{start}\resizebox{2in}{!}{Minimum Working Example}\tikzmark{end}
\begin{tikzpicture}[remember picture,overlay]
\draw[color=blue,line width=3pt]
( $ (pic cs:start)!0.5!(pic cs:end) + (0cm,2cm) $ ) circle [radius=2cm];
\end{tikzpicture}
\end{minipage}
\end{document}
更新
由于overlay
正在使用,您无法直接缩放tikzpicture
;在这种情况下,首先将缩放的框起来tikzpicture
,然后将其放置在所需的位置:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{tikzmark,calc}
\newsavebox\mybox
\savebox\mybox{%
\resizebox{2in}{!}{%
\begin{tikzpicture}
\draw[color=blue,line width=3pt]
( $ (pic cs:start)!0.5!(pic cs:end) + (0cm,2cm) $ ) circle [radius=2cm];
\end{tikzpicture}}%
}
\begin{document}
\vspace*{4cm}% just for the example
\begin{minipage}{2in}
\tikzmark{start}\resizebox{2in}{!}{Minimum Working Example}\tikzmark{end}
\begin{tikzpicture}[remember picture,overlay]
\node[inner sep=0pt,anchor=south] at
( $ (pic cs:start)!0.5!(pic cs:end) $ ) {\usebox\mybox};
\end{tikzpicture}
\end{minipage}
\end{document}
该代码需要运行两到三次才能稳定下来。