цикл foreach распечатывает PGF проанализированную математику

цикл foreach распечатывает PGF проанализированную математику

Желаемый результат: таблица с номером строки и функцией от него (например, номер строки плюс один).

1 2
2 3
... ...
10 11

Пытаться:

Вот мой MWE, адаптированный изForeach внутри матрицы TikZ.

\documentclass[tikz,preview]{standalone}
\usetikzlibrary{matrix}
\usepackage{etoolbox}

\begin{document}
\pgfkeys{/pgf/number format/.cd,fixed,int detect,precision=2}
\begin{tikzpicture}
    \let\mymatrixcontent\empty
    \foreach \myc in {1,...,10}{%
        \pgfmathparse{\myc+1}
        \xappto\mymatrixcontent{\expandonce{\myc \&}}
        \xappto\mymatrixcontent{\expandonce{\pgfmathresult\\}}
    }
    \matrix [matrix of nodes,ampersand replacement=\&] {
        \mymatrixcontent
    };
\end{tikzpicture}
\end{document}

латексная матрица forloop

Вопрос: как отбросить десятичную часть в правом столбце?

Я пробовал использовать \pgfkeys{/pgf/number format/.cd,int detect,precision=2}изТикРуководство Z поПечать номеров, но это ничего не изменило. Вложение \pgfmathresultс \pgfmathprintnumber{}дает неожиданные результаты.

ошибка матрицы forloop latex

решение1

Я не уверен, какова ваша цель. Вот довольно общий метод вывода значений в зависимости от индекса строки.

\documentclass{article}
\usepackage{siunitx}

\ExplSyntaxOn

\NewDocumentCommand{\formulatable}{mmm}
 {% #1 = number of rows
  % #2 = format of the column
  % #3 = formula to typeset
  \gnusupporter_formulatable:nnn { #1 } { #2 } { #3 }
 }

\cs_new:Nn \__gnusupporter_formulatable_do:n {}
\cs_new:Nn \__gnusupporter_formulatable_cycle:n
 {
  #1 & \__gnusupporter_formulatable_do:n { #1 } \\
 }

\cs_new_protected:Nn \gnusupporter_formulatable:nnn
 {
  \cs_set:Nn \__gnusupporter_formulatable_do:n { \fp_eval:n { #3 } }
  \begin{tabular}{rS[table-format=#2]}
  \int_step_function:nN { #1 } \__gnusupporter_formulatable_cycle:n
  \end{tabular}
 }

\ExplSyntaxOff

\begin{document}

\formulatable{10}{2.0}{#1+1}
\qquad
\formulatable{10}{1.6}{round(exp(#1/10),6)}
\qquad
\formulatable{10}{1.4}{round(sind(#1),4)}

\end{document}

введите описание изображения здесь

Второй аргумент следует скорректировать, как только вы узнаете количество цифр во втором столбце.

Мы также можем добавить отправную точку, чтобы иметь возможность составить таблицу синусов для углов в градусах от 1 до 45, что было бы очень полезно Птолемею.

\documentclass{article}
\usepackage{siunitx}

\ExplSyntaxOn

\NewDocumentCommand{\formulatable}{mO{1}mm}
 {% #1 = number of rows
  % #2 = starting point
  % #3 = format of the column
  % #4 = formula to typeset
  \gnusupporter_formulatable:nnnn { #1 } { #2 } { #3 } { #4 }
 }

\cs_new:Nn \__gnusupporter_formulatable_do:n {}
\cs_new:Nn \__gnusupporter_formulatable_cycle:n
 {
  #1 & \__gnusupporter_formulatable_do:n { #1 } \\
 }

\cs_new_protected:Nn \gnusupporter_formulatable:nnnn
 {
  \cs_set:Nn \__gnusupporter_formulatable_do:n { \fp_eval:n { #4 } }
  \begin{tabular}{rS[table-format=#3]}
  \int_step_function:nnN { #2 } { #1+#2-1 } \__gnusupporter_formulatable_cycle:n
  \end{tabular}
 }

\ExplSyntaxOff

\begin{document}

\formulatable{15}{1.4}{round(sind(#1),4)}
\quad
\formulatable{15}[16]{1.4}{round(sind(#1),4)}
\quad
\formulatable{15}[31]{1.4}{round(sind(#1),4)}

\end{document}

введите описание изображения здесь

Связанный контент