一个人怎样才能编写文本,使得接下来的任何内容都像没有编写过一样?
编辑:更具体地说,我想将文本放置在 tikzpicture 的左上角,方法是将文本写在图形之前,并将图形固定,就好像文本没有写过一样。这是我做的一个尝试,但没有成功:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\newcommand{\imagetop}[1]{\vtop{\null\hbox{#1}}}
\makebox(0,0){a}
\imagetop{%
\begin{tikzpicture}
\draw (0, 0) rectangle (1, 1);
\end{tikzpicture}
}
\makebox(0,0){b}
\imagetop{%
\begin{tikzpicture}
\draw (0, 0) rectangle (1, 1);
\end{tikzpicture}
}
\end{document}
答案1
您必须向我们提供 MWE,以便我们帮助您粉碎 tikzpicture。“似乎不起作用”对我们试图帮助您来说毫无帮助。粉碎的典型方法是:
% arara: lualatex
\documentclass{article}
\usepackage{lua-visual-debug} % leave this away in order to compile with pdfLaTeX
\begin{document}
% no width
\makebox[0pt]{Hello}World
\makebox[0pt][l]{Hello}World
% no height and no width
\makebox(0,0){Hello}World
\makebox(0,0)[l]{Hello}World
\end{document}
编辑您发布的 MWE:
您必须在第一行文本上添加 %。如果不添加,新行将添加一个空格。只需对框使用左对齐,单词就会出现在框内。
最后要做的一点是将基线引用到正方形的北侧。由于我不知道如何引用单词的顶部,所以我不得不yshift
在这里应用。
% arara: pdflatex
\documentclass{article}
\usepackage{tikz}
\begin{document}
Hello \makebox[0pt][l]{world}%
\begin{tikzpicture}[baseline={([yshift=-\heightof{world}]current bounding box.north)}]
\draw (0, 0) rectangle (1, 1);
\end{tikzpicture}
\end{document}