我需要将实际百分比值显示为进度条的覆盖层。正如您在 MWE 中看到的,我得到的唯一结果就是将其移动到进度条下方,但我希望它位于进度条内。这有可能吗,我在文档中没有找到任何线索。有什么建议吗?
\documentclass{book}
\usepackage{progressbar}
\usepackage{makecell}
\begin{document}
\renewcommand\cellset{\renewcommand\arraystretch{0.3}%
\setlength\extrarowheight{0pt}}
\begin{table}
\begin{tabular}{|l|c|c|}
foo & bar &
\makecell{
\progressbar[linecolor=blue, filledcolor=green]{0.6}\\
\tiny{$60\%$}
} \\
\end{tabular}
\end{table}
\end{document}
答案1
这是该包接受的密钥列表
- 边框宽度
- 高度
- 圆润的
- 高度
- 圆度r
- 宽度
- 线条颜色
- 空颜色
- 填充颜色
- 刻度宽度
- 刻度高度
- 刻度颜色
- 细分
这些都不能让你做你想做的事。一个解决方案就是.sty
直接稍微修改一下文件
\documentclass{book}
\usepackage{progressbar}
\usepackage{makecell}
\begin{document}
\renewcommand\cellset{\renewcommand\arraystretch{0.3}%
\setlength\extrarowheight{0pt}}
\begin{table}
\begin{tabular}{|l|c|c|}
foo & bar &
\makecell{
\progressbar[linecolor=blue, filledcolor=green, label = \color{black}{\tiny{$60\%$}}]{0.6}
} \\
\end{tabular}
\end{table}
\end{document}
如果你想用这个新版本,只需将其复制到你代码所在的本地目录中,名称为progressbar.sty
答案2
如果您不想保留包的副本,例如,您可以使用\llap
和\raisebox
或picture
环境的组合手动将文本放置在进度条上方。下面显示了两者的示例。当然,这不如包中的适当界面方便,因为需要反复试验才能正确放置文本。
顺便说一句,请注意你使用\tiny
错了,它不是一个接受参数的宏(如\textit
),而是一个影响同一组中所有后续文本的开关(如\itshape
)。因此你应该将其用作{\tiny text}
,而不是\tiny{text}
。
\documentclass{book}
\usepackage{progressbar}
\usepackage{graphicx}
\begin{document}
\begin{table}
\begin{tabular}{|l|c|c|}
foo & bar &
\progressbar[linecolor=blue, filledcolor=green]{0.6}\llap{\raisebox{1.5pt}{\tiny$60\%$}\hspace{0.8cm}} \\
foo & bar &
\progressbar[linecolor=blue, filledcolor=green]{0.6}%
\begin{picture}(0,0)
\put(-35,1.5) {\tiny$60\%$}
\end{picture}
\end{tabular}
\end{table}
\end{document}