
Я не смог найти правильный ответ на следующий вопрос:
Если у нас есть конечный вектор (a_{1},a_{2},...,a_{n})
, как, например, извлечь из него любой элемент a_{5}
?
Если говорить яснее, мне нужен аналог списка в Mathematica, где у нас есть list={1,5,8,6,9} и list[3]=8, list[5]=9.
Вектор — это математический термин, обозначающий, что один объект содержит в себе много различной информации.
например возьмем код
\documentclass{article}
\usepackage{tikz}
\makeatletter
\newcommand{\gettikzxy}[3]{%
\tikz@scan@one@point\pgfutil@firstofone#1\relax
\edef#2{\the\pgf@x}%
\edef#3{\the\pgf@y}%
}
\makeatother
\begin{document}
\begin{tikzpicture}
\def \A {(1,1)};
\draw \A -- (8,8);
\gettikzxy{\A}{\ax}{\ay}
\def \A {(1,1)};
\draw (\ax+10cm,\ay-5) -- (8,8);
\end{tikzpicture}
\end{document}
Он «извлекает координаты из точки А» и позволяет мне манипулировать ими, но мне нужна более обобщенная форма, чтобы работать с большим количеством «элементов».
решение1
Это то, что listofitems
делает пакет, даже используя запрошенный вами синтаксис. Разделитель списка также может быть изменен (запятая по умолчанию). Элементы списка, такие как \mylist[4]
, полностью расширяемы (два расширения извлекут токены элемента списка).
\documentclass{article}
\usepackage{listofitems}
\begin{document}
\readlist\mylist{1,5,8,6,9}
The third element is \mylist[3] and the 5th element is \mylist[5].
\end{document}