![tikzposter 区块编号](https://linux22.com/image/313319/tikzposter%20%E5%8C%BA%E5%9D%97%E7%BC%96%E5%8F%B7.png)
有人知道如何根据 tex 文件中读取的顺序对 tikzposter 中的块进行编号吗?理想情况下,块编号应为 i/n 的形式,其中 n 是块的总数,i 是当前块的编号。
其外观与以下 tex 文件的外观类似;
\documentclass{tikzposter}
\usepackage{lipsum}
\title{Template Poster}
\author{Author(s)}
\begin{document}
\maketitle
\block{Basic Block}{Text \hfill (1/6)}
\begin{columns}
\column{0.3333}% Width set relative to text width
\block{title}{\lipsum[1]
\hfill (2/6)}
\block{title}{\lipsum[2]
\hfill (3/6)}
\column{0.333}
\block{title}{\lipsum[3]
\hfill (4/6)}
\block{title}{\lipsum[1]
\hfill (5/6)}
\column{0.333}
\block{title}{\lipsum[4]
\hfill(6/6)}
\end{columns}
\end{document}
答案1
以下是使用totcount
包;处理文档两次以获取总块数的值。
在第一种方法中,您\countblock
对每个想要编号的块使用该命令:
\documentclass{tikzposter}
\usepackage{lipsum}
\usepackage{totcount}
\newtotcounter{myblocks}
\newcommand\countblock{%
\stepcounter{myblocks}%
\hfill (\themyblocks/\total{myblocks})%
}
\title{Template Poster}
\author{Author(s)}
\begin{document}
\maketitle
\block{Basic Block}{Text \countblock}
\begin{columns}
\column{0.3333}% Width set relative to text width
\block{title}{\lipsum[1]\countblock}
\block{title}{\lipsum[2]\countblock}
\column{0.333}
\block{title}{\lipsum[3]\countblock}
\block{title}{\lipsum[1]\countblock}
\column{0.333}
\block{title}{\lipsum[4]\countblock}
\end{columns}
\end{document}
在第二种方法中,通过修补命令,编号是自动完成的\block
:
\documentclass{tikzposter}
\usepackage{lipsum}
\usepackage{totcount}
\usepackage{xpatch}
\makeatletter
\xpatchcmd{\block}
{#3\par\normalsize}
{#3\countblock\par\normalsize}
{}
{}
\makeatother
\newtotcounter{myblocks}
\newcommand\countblock{%
\stepcounter{myblocks}%
\hfill (\themyblocks/\total{myblocks})%
}
\title{Template Poster}
\author{Author(s)}
\begin{document}
\maketitle
\block{Basic Block}{Text}
\begin{columns}
\column{0.3333}% Width set relative to text width
\block{title}{\lipsum[1]}
\block{title}{\lipsum[2]}
\column{0.333}
\block{title}{\lipsum[3]}
\block{title}{\lipsum[1]}
\column{0.333}
\block{title}{\lipsum[4]}
\end{columns}
\end{document}