我有关于属性和值的数据,例如
属性缩写值 Atr1 Abb1 20 Atr2 Abb2 0 Atr3 Abb3 60 Atr4 Abb4 0 ....
根据属性的值,我应该在小页面环境中显示属性列表...我需要显示所有值高于零的属性。
我曾尝试使用 filecontents 和 pgfplotstable 来执行此操作,但不知何故,我只能从位于最后一行之后的一行中获取值。
\documentclass{article}
\usepackage{calc} \usepackage{afterpage} \usepackage{tikz} \usetikzlibrary{spy} \usetikzlibrary{fit,calc,positioning} \usetikzlibrary{shapes.geometric} \usetikzlibrary{arrows} \usepackage{filecontents} \usepackage{pgfplotstable} \usepackage{ifthen} \usepackage{etoolbox} \usepackage{tabulary} \usepackage{arrayjobx,datatool,multirow,forloop}
\begin{filecontents*}{topatributtes.csv} Name, Abbreviation, Percentage Atribute1, R, 0 Atribute2, I, 0 Atribute3, A, 70 Atribute4, S, 35 Atribute5, E, 0 Atribute6, C, 0 \end{filecontents*}
\pgfplotstableread[col sep=comma]{topatributtes.csv}\datatableA
\newarray\Attributes \newarray\Values \newcounter{nr} \stepcounter{nr} \pgfplotstablegetrowsof{\datatableA} \pgfmathsetmacro{\RowsInTable}{\pgfplotsretval-1} \foreach \k in {0,...,\RowsInTable} { \pgfplotstablegetelem{\k}{Percentage}\of{\datatableA}\global\let\LabelValue=\pgfplotsretval \ifthenelse{\LabelValue > 0}{ \pgfplotstablegetelem{\k}{Abbreviation}\of{\datatableA}\global\let\AbbrName=\pgfplotsretval\Values(\arabic{nr})=\LabelValue \pgfplotstablegetelem{\k}{Name}\of{\datatableA}\global\let\LabelName=\pgfplotsretval\Attributes(\arabic{nr})=\LabelName \stepcounter{nr}}{}
}
\begin{document}
\begin{minipage}{236.3px} \vspace*{10px} \centering{\fontsize{16px}{30px}\selectfont\textsl{Top Compatibility Attributes}} \newcounter{st}% \addtocounter{nr}{-1} \begin{itemize} \forloop{st}{1}{\not{\value{st} > \value{nr}}}{% \item \Attributes(\arabic{st}) \Values(\arabic{st}) } \end{itemize} \end{minipage}
\end{document}
我想要一个动态列表,像这样
属性3
属性5
答案1
欢迎使用 TeX-SE!老实说,您的代码中有很多我不明白的地方。不过,下面只打印正值。也许这是您可以借鉴的东西。
\documentclass{article}
\usepackage{filecontents}
\usepackage{pgfplotstable}
\begin{filecontents*}{topatributtes.csv}
Name, Abbreviation, Percentage
Atribute1, R, 0
Atribute2, I, 0
Atribute3, A, 70
Atribute4, S, 35
Atribute5, E, 0
Atribute6, C, 0
\end{filecontents*}
\begin{document}
\begin{minipage}{236.3px}
\vspace*{10px}
\centering\fontsize{16px}{30px}\selectfont\textsl{Top Compatibility Attributes}
\pgfplotstableread[col sep=comma]{topatributtes.csv}\datatableA
\pgfplotstablegetrowsof{\datatableA}
\pgfmathsetmacro{\RowsInTable}{\pgfplotsretval-1}
\foreach \k in {0,...,\RowsInTable}
{\pgfplotstablegetelem{\k}{Percentage}\of{\datatableA}
\pgfmathtruncatemacro{\itest}{sign(\pgfplotsretval)}
\ifnum\itest=1
\pgfplotsretval\par
\fi
}
\end{minipage}
\end{document}