Guest User

Untitled

a guest
Nov 18th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. ExplSyntaxOn
  2. NewExpandableDocumentCommand{ForA}{ O {1} m m }{
  3. fp_step_inline:nnnn { #2 } { #1 } { fp_eval:n { #2+#1*(#3-2) } } { ##1, } fp_eval:n { #2+#1*(#3-1) } }
  4. ExplSyntaxOff
  5.  
  6. ForA[1]{1}{9}
  7.  
  8. functiontableT{ 1/4,1/3,1/2,ForA[1]{1}{9},15}{ 1/#1^2 }
  9.  
  10. documentclass{article}
  11. usepackage{xfp}
  12. usepackage{xintexpr}
  13. usepackage{siunitx}
  14. sisetup{group-separator={,},output-decimal-marker={,}}
  15.  
  16. ExplSyntaxOn
  17. seq_new:N l__ts_funcT_row_one_seq
  18. seq_new:N l__ts_funcT_row_two_seq
  19. NewDocumentCommand{functiontableT}{ m m }
  20. {% #1 = list of values, #2 = function
  21. group_begin:
  22. cs_set:Nn __ts_funcT_function:n { #2 }
  23. seq_clear:N l__ts_funcT_row_one_seq
  24. seq_clear:N l__ts_funcT_row_two_seq
  25. clist_map_inline:nn { #1 }
  26. { seq_put_right:Nn l__ts_funcT_row_one_seq
  27. { $ xintFrac{xinttheexpr reduce( ##1 ) relax } $ }
  28. seq_put_right:Nx l__ts_funcT_row_two_seq
  29. { num{ fp_eval:n{round( __ts_funcT_function:n { fp_eval:n { ##1 } }, 2 ) } } }
  30. }
  31. use:x { exp_not:N begin{tabular}{ c *{seq_count:N l__ts_funcT_row_one_seq}{|c}} }
  32. $ x $ & seq_use:Nn l__ts_funcT_row_one_seq { & }
  33. tabularnewline hline
  34. $ f(x) $ & seq_use:Nn l__ts_funcT_row_two_seq { & }
  35. end{tabular}
  36. group_end:
  37. } %
  38. ExplSyntaxOff
  39.  
  40. ExplSyntaxOn
  41. NewExpandableDocumentCommand{ForA}{ O {1} m m }{
  42. fp_step_inline:nnnn { #2 } { #1 } { fp_eval:n { #2+#1*(#3-2) } } { ##1, } fp_eval:n { #2+#1*(#3-1) } }
  43. ExplSyntaxOff
  44.  
  45. begin{document}
  46.  
  47. ForA[1]{1}{9}
  48.  
  49. functiontableT{ 1/4,1/3,1/2,1,2,3,4,5,6,7,8,9}{ 1/#1^2 }
  50.  
  51. end{document}
Add Comment
Please, Sign In to add comment