tikzposter 区块编号

tikzposter 区块编号

有人知道如何根据 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}

相关内容