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
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.
- 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. - Then
arabicquestion
gives you the question number, and soanswerkey(arabicquestion)
gives you that previously stored answer for that question number. - Use
ifthenelse
to execute different behavior based on that numberanswerkey(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
So how do I get answerkey(arabicquestion)
to expand early enough for ifthenelseequal1answerkey(arabicquestion)
to work?
arrays pgfmath fp ifthenelse
add a comment |
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.
- 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. - Then
arabicquestion
gives you the question number, and soanswerkey(arabicquestion)
gives you that previously stored answer for that question number. - Use
ifthenelse
to execute different behavior based on that numberanswerkey(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
So how do I get answerkey(arabicquestion)}
to expand early enough for ifthenelseequal1answerkey(arabicquestion)}
to work?
arrays pgfmath fp ifthenelse
add a comment |
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.
- 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. - Then
arabicquestion
gives you the question number, and soanswerkey(arabicquestion)
gives you that previously stored answer for that question number. - Use
ifthenelse
to execute different behavior based on that numberanswerkey(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
So how do I get answerkey(arabicquestion)}
to expand early enough for ifthenelseequal1answerkey(arabicquestion)}
to work?
arrays pgfmath fp ifthenelse
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.
- 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. - Then
arabicquestion
gives you the question number, and soanswerkey(arabicquestion)
gives you that previously stored answer for that question number. - Use
ifthenelse
to execute different behavior based on that numberanswerkey(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
So how do I get answerkey(arabicquestion)}
to expand early enough for ifthenelseequal1answerkey(arabicquestion)}
to work?
arrays pgfmath fp ifthenelse
arrays pgfmath fp ifthenelse
asked 10 mins ago
Matt SMatt S
505
505
add a comment |
add a comment |
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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