在动画中,如何随着数字的变化而固定单位的位置

在动画中,如何随着数字的变化而固定单位的位置

我正在制作基于答案。我的问题是,当我制作动画时,时间值会发生变化(例如从 0 纳秒到 100 纳秒),因此数字的大小会发生变化,文本ns会来回移动。我如何才能固定文本的位置,或获取坐标(也许可以手动放置它有了这个)下面是我使用的代码:

\documentclass[t]{beamer}

\usepackage{animate}
\usepackage{pgfplots}
\usepgfplotslibrary{groupplots}
\usepackage{siunitx}

\begin{filecontents*}{time-0.txt}
    0
\end{filecontents*}

\begin{filecontents*}{time-1.txt}
    100
\end{filecontents*}

\begin{document}

\begin{frame}{Electron Evolution}
    \pgfplotsset{compat=1.16}
    \centering
    \begin{animateinline}[loop,autoplay]{1}
%Schrodinger cat:https://tex.stackexchange.com/questions/544116/place-subfigures-in-l-shape/544119?noredirect=1#comment1375147_544119
        \multiframe{2}{i = 0 + 1}
        {
            \begin{tikzpicture}
            \begin{groupplot}[group style={group size=2 by 2,
                horizontal sep=1.2em,vertical sep=1.5em},
            xmin=0,height=4cm,width=5cm,no markers,
            ticklabel style = {font=\tiny},
            yticklabel pos=right,
            xlabel near ticks,
            xlabel style= {font=\tiny},
            ylabel near ticks,  
            ylabel style= {font=\tiny},     
            ]           
            \nextgroupplot[group/empty plot,alias=TL]
            \nextgroupplot[ylabel = {Particle Density~[m$^{-3}$]},
            xtick=\empty,
            ymin = 0,
            ymax = 77162484572430.92,
            xmin = 0.03157490368073539,
            xmax = 0.03653007600471181]
            %           
            \nextgroupplot[
            ytick=\empty,
            xlabel = {Probability Density},
            ymin = -217828.00503348646,
            ymax = 213540.67299828946,
            xmax = 1.1333435035653558e-05,
            xmin = 0,
            x dir = reverse,
            ]
            %
            \nextgroupplot[
            ylabel = {Speed~[m/s]},
            xlabel = {$z$~[m]},
            xmin = 0.03157490368073539,
            xmax = 0.03653007600471181,
            ymin = -217828.00503348646,
            ymax = 213540.67299828946,
            ]  
            \end{groupplot}
            \path (TL) node[align=left,font=\scriptsize]{$t=$ \input{time-\i.txt}~ns\\[0.6em]
                $r=\SI{0}{\meter}$\\[0.6em]
                $585$ macro-particles\\[0.6em]
                $\overline{T} = \SI{152.4}{\kelvin}$};  
            \end{tikzpicture}
        }
    \end{animateinline}
\end{frame}
\end{document}

答案1

为了确保特定内容的宽度恒定,请\parbox

\parbox[<pos>]{<width>}{<text>}

https://en.wikibooks.org/wiki/LaTeX/Boxes了解有关盒子及其选项的更多信息。

在这种情况下,宽度大约1.5em就足够了。如果你想精确地适应最大的内容,你可以使用\widthof\settowidth如中所述获取给定文本的宽度作为长度

为了获得相对于其余行的正确垂直对齐,请使用\parboxwith[b]选项。

最后你的代码应该是

\parbox[b]{1.5em}{\input{time-\i.txt}}

相关内容