Use ifthenelse{equal{ on a number called from referenceMacro with an array and a customisable number of columns (from 2 to 5)“Missing number” error using `pgfmathsetmacro` with the `ifthenelse` operatorconvert outcome of reference to regular numberUse result from pgfmath with xifthenHow to use values from a 2d array in a tikz picture ? (out of bounds error)Swap two array elementsifthenelse + equal behaves weirdlyunderstanding “ifthenelse” command with pgf random numberHow test value of a command with `ifthenelse` and `equal`?ifthenelse as an argument to equal

What major Native American tribes were around Santa Fe during the late 1850s?

Can we have a perfect cadence in a minor key?

Why does Async/Await work properly when the loop is inside the async function and not the other way around?

Is it improper etiquette to ask your opponent what his/her rating is before the game?

Bob has never been a M before

Gibbs free energy in standard state vs. equilibrium

Database accidentally deleted with a bash script

Extending the spectral theorem for bounded self adjoint operators to bounded normal operators

How does the reference system of the Majjhima Nikaya work?

Visiting the UK as unmarried couple

What is the difference between "Do you interest" and "...interested in" something?

Should I stop contributing to retirement accounts?

Flux received by a negative charge

Is XSS in canonical link possible?

Reply 'no position' while the job posting is still there

Could the E-bike drivetrain wear down till needing replacement after 400 km?

Longest common substring in linear time

Can I sign legal documents with a smiley face?

What (else) happened July 1st 1858 in London?

Journal losing indexing services

What's the difference between 違法 and 不法?

Will adding a BY-SA image to a blog post make the entire post BY-SA?

Do the concepts of IP address and network interface not belong to the same layer?

Is it possible to have a strip of cold climate in the middle of a planet?



Use ifthenelseequal on a number called from reference


Macro with an array and a customisable number of columns (from 2 to 5)“Missing number” error using `pgfmathsetmacro` with the `ifthenelse` operatorconvert outcome of reference to regular numberUse result from pgfmath with xifthenHow to use values from a 2d array in a tikz picture ? (out of bounds error)Swap two array elementsifthenelse + equal behaves weirdlyunderstanding “ifthenelse” command with pgf random numberHow test value of a command with `ifthenelse` and `equal`?ifthenelse as an argument to equal













2















I want to store an answer key for an exam and then automatically move the multiple choice answer choices around for each question match its predetermined answer. (I need to conform my multiple choice exam to a predetermined answer key in order to use these cool scratch-off scantrons called "IF-AT" scantrons).



I have a partial solution (see MWE at bottom) based one three steps.



  1. Store the answers for the exam in an array using arrayjob.sty, 1234 meaning ABCD respectively. For example, usepackagearrayjob newarrayanswerkey readarrayanswerkey3&4 records the answer to Q1 as C and the answer to Q2 as D.

  2. Then arabicquestion gives you the question number, and so answerkey(arabicquestion) gives you that previously stored answer for that question number.

  3. Use ifthenelse to execute different behavior based on that number answerkey(arabicquestion).

However, I can't figure out how to get ifthenelse to read answerkey(arabicquestion). In other words,



ifthenelseequal1answerkey(arabicquestion)some code


doesn't work.
I think it's a matter of expanding macros at the right time.



In the MWE below I commented out the code testing arrayjob.sty + ifthen.sty because it fails to compile.



For good measure, I also tried replacing the two packages with pgfmath.sty and fp.sty respectively (Qs 6, 7, 8 in MWE below), but no combination compiles.



documentclassexam
usepackageifthen, fp, arrayjob, pgfmath
newarrayanswerkey %arrayjob
readarrayanswerkey4&3&2&1&1&1&1&1
defanswerkeytwo,4,3,2,1,1,1,1,1 %pgfmath
begindocument
beginquestions
question testing arrayjob...
answerkey(arabicquestion)
question testing pgf...
pgfmathparseanswerkeytwo[arabicquestion]pgfmathresult
question testing ifthen...
ifthenelseequal 2 2itbetrueitbefalse.
question testing fp...
FPifeq 1 1 itbetrueelse itbefalsefi.
question testing arrayjob + ifthen... (should print itbetrue)
%ifthenelseequal 1
% answerkey(arabicquestion)
% itbetrueitbefalse.
question testing arrayjob + fp... (should print itbetrue)
%FPifeq 1
% answerkeyone(arabicquestion)
% itbetrue else itbefalse fi.
question testing pgfmath + ifthen... (should print itbetrue)
%ifthenelseequal 1
% pgfmathparseanswerkeytwo[arabicquestion]pgfmathresult
% itbetrueitbefalse.
question testing pgfmath + fp... (should print itbetrue)
%FPifeq 1
% pgfmathparseanswerkeytwo[arabicquestion]pgfmathresult
% itbetrueelse itbefalsefi.
endquestions
enddocument


enter image description here



So how do I get answerkey(arabicquestion) to expand early enough for ifthenelseequal1answerkey(arabicquestion) to work?










share|improve this question


























    2















    I want to store an answer key for an exam and then automatically move the multiple choice answer choices around for each question match its predetermined answer. (I need to conform my multiple choice exam to a predetermined answer key in order to use these cool scratch-off scantrons called "IF-AT" scantrons).



    I have a partial solution (see MWE at bottom) based one three steps.



    1. Store the answers for the exam in an array using arrayjob.sty, 1234 meaning ABCD respectively. For example, usepackagearrayjob newarrayanswerkey readarrayanswerkey3&4 records the answer to Q1 as C and the answer to Q2 as D.

    2. Then arabicquestion gives you the question number, and so answerkey(arabicquestion) gives you that previously stored answer for that question number.

    3. Use ifthenelse to execute different behavior based on that number answerkey(arabicquestion).

    However, I can't figure out how to get ifthenelse to read answerkey(arabicquestion). In other words,



    ifthenelseequal1answerkey(arabicquestion)some code


    doesn't work.
    I think it's a matter of expanding macros at the right time.



    In the MWE below I commented out the code testing arrayjob.sty + ifthen.sty because it fails to compile.



    For good measure, I also tried replacing the two packages with pgfmath.sty and fp.sty respectively (Qs 6, 7, 8 in MWE below), but no combination compiles.



    documentclassexam
    usepackageifthen, fp, arrayjob, pgfmath
    newarrayanswerkey %arrayjob
    readarrayanswerkey4&3&2&1&1&1&1&1
    defanswerkeytwo,4,3,2,1,1,1,1,1 %pgfmath
    begindocument
    beginquestions
    question testing arrayjob...
    answerkey(arabicquestion)
    question testing pgf...
    pgfmathparseanswerkeytwo[arabicquestion]pgfmathresult
    question testing ifthen...
    ifthenelseequal 2 2itbetrueitbefalse.
    question testing fp...
    FPifeq 1 1 itbetrueelse itbefalsefi.
    question testing arrayjob + ifthen... (should print itbetrue)
    %ifthenelseequal 1
    % answerkey(arabicquestion)
    % itbetrueitbefalse.
    question testing arrayjob + fp... (should print itbetrue)
    %FPifeq 1
    % answerkeyone(arabicquestion)
    % itbetrue else itbefalse fi.
    question testing pgfmath + ifthen... (should print itbetrue)
    %ifthenelseequal 1
    % pgfmathparseanswerkeytwo[arabicquestion]pgfmathresult
    % itbetrueitbefalse.
    question testing pgfmath + fp... (should print itbetrue)
    %FPifeq 1
    % pgfmathparseanswerkeytwo[arabicquestion]pgfmathresult
    % itbetrueelse itbefalsefi.
    endquestions
    enddocument


    enter image description here



    So how do I get answerkey(arabicquestion)} to expand early enough for ifthenelseequal1answerkey(arabicquestion)} to work?










    share|improve this question
























      2












      2








      2








      I want to store an answer key for an exam and then automatically move the multiple choice answer choices around for each question match its predetermined answer. (I need to conform my multiple choice exam to a predetermined answer key in order to use these cool scratch-off scantrons called "IF-AT" scantrons).



      I have a partial solution (see MWE at bottom) based one three steps.



      1. Store the answers for the exam in an array using arrayjob.sty, 1234 meaning ABCD respectively. For example, usepackagearrayjob newarrayanswerkey readarrayanswerkey3&4 records the answer to Q1 as C and the answer to Q2 as D.

      2. Then arabicquestion gives you the question number, and so answerkey(arabicquestion) gives you that previously stored answer for that question number.

      3. Use ifthenelse to execute different behavior based on that number answerkey(arabicquestion).

      However, I can't figure out how to get ifthenelse to read answerkey(arabicquestion). In other words,



      ifthenelseequal1answerkey(arabicquestion)some code


      doesn't work.
      I think it's a matter of expanding macros at the right time.



      In the MWE below I commented out the code testing arrayjob.sty + ifthen.sty because it fails to compile.



      For good measure, I also tried replacing the two packages with pgfmath.sty and fp.sty respectively (Qs 6, 7, 8 in MWE below), but no combination compiles.



      documentclassexam
      usepackageifthen, fp, arrayjob, pgfmath
      newarrayanswerkey %arrayjob
      readarrayanswerkey4&3&2&1&1&1&1&1
      defanswerkeytwo,4,3,2,1,1,1,1,1 %pgfmath
      begindocument
      beginquestions
      question testing arrayjob...
      answerkey(arabicquestion)
      question testing pgf...
      pgfmathparseanswerkeytwo[arabicquestion]pgfmathresult
      question testing ifthen...
      ifthenelseequal 2 2itbetrueitbefalse.
      question testing fp...
      FPifeq 1 1 itbetrueelse itbefalsefi.
      question testing arrayjob + ifthen... (should print itbetrue)
      %ifthenelseequal 1
      % answerkey(arabicquestion)
      % itbetrueitbefalse.
      question testing arrayjob + fp... (should print itbetrue)
      %FPifeq 1
      % answerkeyone(arabicquestion)
      % itbetrue else itbefalse fi.
      question testing pgfmath + ifthen... (should print itbetrue)
      %ifthenelseequal 1
      % pgfmathparseanswerkeytwo[arabicquestion]pgfmathresult
      % itbetrueitbefalse.
      question testing pgfmath + fp... (should print itbetrue)
      %FPifeq 1
      % pgfmathparseanswerkeytwo[arabicquestion]pgfmathresult
      % itbetrueelse itbefalsefi.
      endquestions
      enddocument


      enter image description here



      So how do I get answerkey(arabicquestion)} to expand early enough for ifthenelseequal1answerkey(arabicquestion)} to work?










      share|improve this question














      I want to store an answer key for an exam and then automatically move the multiple choice answer choices around for each question match its predetermined answer. (I need to conform my multiple choice exam to a predetermined answer key in order to use these cool scratch-off scantrons called "IF-AT" scantrons).



      I have a partial solution (see MWE at bottom) based one three steps.



      1. Store the answers for the exam in an array using arrayjob.sty, 1234 meaning ABCD respectively. For example, usepackagearrayjob newarrayanswerkey readarrayanswerkey3&4 records the answer to Q1 as C and the answer to Q2 as D.

      2. Then arabicquestion gives you the question number, and so answerkey(arabicquestion) gives you that previously stored answer for that question number.

      3. Use ifthenelse to execute different behavior based on that number answerkey(arabicquestion).

      However, I can't figure out how to get ifthenelse to read answerkey(arabicquestion). In other words,



      ifthenelseequal1answerkey(arabicquestion)some code


      doesn't work.
      I think it's a matter of expanding macros at the right time.



      In the MWE below I commented out the code testing arrayjob.sty + ifthen.sty because it fails to compile.



      For good measure, I also tried replacing the two packages with pgfmath.sty and fp.sty respectively (Qs 6, 7, 8 in MWE below), but no combination compiles.



      documentclassexam
      usepackageifthen, fp, arrayjob, pgfmath
      newarrayanswerkey %arrayjob
      readarrayanswerkey4&3&2&1&1&1&1&1
      defanswerkeytwo,4,3,2,1,1,1,1,1 %pgfmath
      begindocument
      beginquestions
      question testing arrayjob...
      answerkey(arabicquestion)
      question testing pgf...
      pgfmathparseanswerkeytwo[arabicquestion]pgfmathresult
      question testing ifthen...
      ifthenelseequal 2 2itbetrueitbefalse.
      question testing fp...
      FPifeq 1 1 itbetrueelse itbefalsefi.
      question testing arrayjob + ifthen... (should print itbetrue)
      %ifthenelseequal 1
      % answerkey(arabicquestion)
      % itbetrueitbefalse.
      question testing arrayjob + fp... (should print itbetrue)
      %FPifeq 1
      % answerkeyone(arabicquestion)
      % itbetrue else itbefalse fi.
      question testing pgfmath + ifthen... (should print itbetrue)
      %ifthenelseequal 1
      % pgfmathparseanswerkeytwo[arabicquestion]pgfmathresult
      % itbetrueitbefalse.
      question testing pgfmath + fp... (should print itbetrue)
      %FPifeq 1
      % pgfmathparseanswerkeytwo[arabicquestion]pgfmathresult
      % itbetrueelse itbefalsefi.
      endquestions
      enddocument


      enter image description here



      So how do I get answerkey(arabicquestion)} to expand early enough for ifthenelseequal1answerkey(arabicquestion)} to work?







      arrays pgfmath fp ifthenelse






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 10 mins ago









      Matt SMatt S

      505




      505




















          0






          active

          oldest

          votes











          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "85"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f481261%2fuse-ifthenelse-equal-on-a-number-called-from-reference%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















          draft saved

          draft discarded
















































          Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f481261%2fuse-ifthenelse-equal-on-a-number-called-from-reference%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          How should I use the fbox command correctly to avoid producing a Bad Box message?How to put a long piece of text in a box?How to specify height and width of fboxIs there an arrayrulecolor-like command to change the rule color of fbox?What is the command to highlight bad boxes in pdf?Why does fbox sometimes place the box *over* the graphic image?how to put the text in the boxHow to create command for a box where text inside the box can automatically adjust?how can I make an fbox like command with certain color, shape and width of border?how to use fbox in align modeFbox increase the spacing between the box and it content (inner margin)how to change the box height of an equationWhat is the use of the hbox in a newcommand command?

          Doxepinum Nexus interni Notae | Tabula navigationis3158DB01142WHOa682390"Structural Analysis of the Histamine H1 Receptor""Transdermal and Topical Drug Administration in the Treatment of Pain""Antidepressants as antipruritic agents: A review"

          inputenc: Unicode character … not set up for use with LaTeX The Next CEO of Stack OverflowEntering Unicode characters in LaTeXHow to solve the `Package inputenc Error: Unicode char not set up for use with LaTeX` problem?solve “Unicode char is not set up for use with LaTeX” without special handling of every new interesting UTF-8 characterPackage inputenc Error: Unicode character ² (U+B2)(inputenc) not set up for use with LaTeX. acroI2C[I²C]package inputenc error unicode char (u + 190) not set up for use with latexPackage inputenc Error: Unicode char u8:′ not set up for use with LaTeX. 3′inputenc Error: Unicode char u8: not set up for use with LaTeX with G-BriefPackage Inputenc Error: Unicode char u8: not set up for use with LaTeXPackage inputenc Error: Unicode char ́ (U+301)(inputenc) not set up for use with LaTeX. includePackage inputenc Error: Unicode char ̂ (U+302)(inputenc) not set up for use with LaTeX. … $widehatleft (OA,AA' right )$Package inputenc Error: Unicode char â„¡ (U+2121)(inputenc) not set up for use with LaTeX. printbibliography[heading=bibintoc]Package inputenc Error: Unicode char − (U+2212)(inputenc) not set up for use with LaTeXPackage inputenc Error: Unicode character α (U+3B1) not set up for use with LaTeXPackage inputenc Error: Unicode characterError: ! Package inputenc Error: Unicode char ⊘ (U+2298)(inputenc) not set up for use with LaTeX