如何编写不占用空间的文本?

如何编写不占用空间的文本?

一个人怎样才能编写文本,使得接下来的任何内容都像没有编写过一样?

编辑:更具体地说,我想将文本放置在 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}

在此处输入图片描述

相关内容