Legend
\documentclass { standalone } \title {table file input legend}
\renewcommand { \thetable }{7.1a}
\usepackage { tabularray,tikz }
\UseTblrLibrary {functional}
\usetikzlibrary {fpu}
\begin {document}
\begin {tblr}[tall,caption={Legend},evaluate= \fileInput ,
remark{ $ t $ } = {Time when datapoint was meassured},
remark{ $ U_1 $ } = {Voltage meassured}, ]{
hline{5,8,11,14,17}={dashed},
hline{1,Z}={.08em},hline{2}, columns={r}, row{1}={c},
cell{2-Z}{2}={cmd= \pgfmathprintnumber },
}
$ t $ in ms & $ U_1 $ in V \\
\fileInput {data.tex}
\end {tblr}
\end {document}
Statistics
TODO: format numbers in stats consistent
reliable dash every 3rd line without the stats
\documentclass { standalone } \title {table file input stats}
\renewcommand { \thetable }{7.1b}
\usepackage { tabularray,tikz }
\UseTblrLibrary {functional}
\usetikzlibrary {fpu}
\ExplSyntaxOn
\regexConst\cNumberPattern {([-+]?(?: \d * \. )? \d +(?:e[-+]? \d +)?)}
\prgNewFunction\tblrRangesToList { mm }{
\__tblr_get_childs:nx {#1}{#2} \prgReturn { \tlUse \l_tblr_childs_clist} }
\prgNewConditional\cellExtractNumber { mmn }{
\regexVarExtractOnceTF\cNumberPattern {
\evalWhole { \cellGetText {#1}{#2} }
} \lTmpaSeq {
\fpSet {#3}{ \evalWhole { \seqVarItem\lTmpaSeq {1} }}
\prgReturn\cTrueBool
}{
\prgReturn\cFalseBool
}
}
\prgNewFunction\cellCopy { m }{
\propSetFromKeyval\lTmpbProp {#1}
\propGet\lTmpbProp {r} \lTmpaClist
\propGet\lTmpbProp {c} \lTmpbClist
\propGet\lTmpbProp {accum} \lTmpaTl
\propGetTF\lTmpbProp {initial} \lTmpbTl { \fpSet\lTmpaFp { \tlUse\lTmpbTl }}{
\fpZero\lTmpaFp }
\clistSet\lTmpaClist {
\tblrRangesToList { \tlUse\lTmpaClist }{ \arabic {rowcount}} }
\clistSet\lTmpbClist {
\tblrRangesToList { \tlUse\lTmpbClist }{ \arabic {colcount}} }
\clistVarMapInline\lTmpaClist { \clistVarMapInline\lTmpbClist {
\cellExtractNumberT {##1}{####1} \lTmpcFp {
\fpSet\lTmpaFp { \fpEval { \lTmpaTl }}
}
}}
\prgReturn { \fpUse\lTmpaFp } }
\prgNewFunction\printNumber { m }{
\tlSet\lTmpaTl { \evalWhole {#1}}
\regexVarReplaceOnce\cNumberPattern { \c {pgfmathprintnumber} \cB\{\0\cE\} } \lTmpaTl
\prgReturn { \tlUse\lTmpaTl }}
\prgNewFunction\cellSum { m }{
\prgReturn { \cellCopy {#1,accum={ \lTmpaFp + \lTmpcFp }}}
}
\prgNewFunction\cellMean { m }{
\fpSet\lTmpaFp { \cellCopy {#1,accum= \lTmpaFp + \lTmpcFp } }
\fpSet\lTmpbFp { \cellCopy {#1,accum= \lTmpaFp + 1} }
\prgReturn { \fpEval { \lTmpaFp / \lTmpbFp } }}
\prgNewFunction\cellStandardDeviation { m }{
\fpSet\lTmpbFp { \cellMean {#1} }
\fpSet\lTmpdFp { \cellCopy {#1,accum={ \lTmpaFp + ( \lTmpcFp - \lTmpbFp )^2}} }
\fpSet\lTmpeFp { \cellCopy {#1,accum= \lTmpaFp + 1} }
\prgReturn { \fpEval { sqrt( \lTmpdFp / \lTmpeFp ) } } }
\ExplSyntaxOff
\begin {document}
\begin {tblr}[tall,caption={Statistics \vphantom {g}},evaluate= \fileInput , ]{
hline{5,8,11,14,17}={dashed},
hline{1,Z}={.08em},hline{2,X}, columns={r}, row{1}={c},
cell{2-Z}{2}={cmd= \printNumber },
cell{Y}{2}={preto= \cellMean {r=2-X,c=2} },
cell{Z}{2}={preto= \cellStandardDeviation {r=2-X,c=2} },
}
$ t $ in ms & $ U_1 $ in V \\
\fileInput {data.tex}
$ \mu $ \\
$ \sigma $ \\
\end {tblr}
\end {document}
Verbatim print data file
\documentclass { standalone } \title {table file input verbatim}
\renewcommand { \thetable }{7.1c}
\usepackage { tabularray }
\UseTblrLibrary {functional}
\prgNewFunction\fileVerbatim { m }{
\fileGet {#1}{} \lTmpaTl
\regexReplaceAll { \s *& \s *}{,} \lTmpaTl
\prgReturn { \tlUse\lTmpaTl }
}
\begin {document}
\begin {tblr}[tall,caption={File data.csv \vphantom {g}},evaluate=all]{
hline{1,Z}={.08em}, columns={font= \ttfamily }
}
\\
\fileVerbatim {data.tex}{}
\end {tblr}
\end {document}
\documentclass { standalone } \title {table file input}
\usepackage { graphbox }
\begin {document}
\includegraphics [align=t]{figure table file input legend} \hspace {1em}
\includegraphics [align=t]{figure table file input stats}
\includegraphics [align=t]{figure table file input verbatim}
\end {document}