How to write a definition with variants? The Next CEO of Stack OverflowTranslate in-line equations to TeX code (Any Package?)Doing def+asdf+texttt#1 where + can be set with a macroAllow macro to end without new lineMultiple vertical rules along text – by using leaders?How to write a parameter-driven macro?Special macro definition (2opt, 1mand)amstex: operator definition errorProblem in a macro definition (plain TeX)Write an unpar macroLaTeX for plain TeX users?“Missing '' inserted” and “Missing inserted” with aligned environment
Flying from Cape Town to England and return to another province
Example of a Mathematician/Physicist whose Other Publications during their PhD eclipsed their PhD Thesis
Why the difference in type-inference over the as-pattern in two similar function definitions?
Why is information "lost" when it got into a black hole?
Help understanding this unsettling image of Titan, Epimetheus, and Saturn's rings?
How did people program for Consoles with multiple CPUs?
Legal workarounds for testamentary trust perceived as unfair
Should I tutor a student who I know has cheated on their homework?
How to write a definition with variants?
What was the first Unix version to run on a microcomputer?
Rotate a column
Chain wire methods together in Lightning Web Components
Is it convenient to ask the journal's editor for two additional days to complete a review?
Why do airplanes bank sharply to the right after air-to-air refueling?
How to get from Geneva Airport to Metabief, Doubs, France by public transport?
The past simple of "gaslight" – "gaslighted" or "gaslit"?
A small doubt about the dominated convergence theorem
Does soap repel water?
Why did CATV standarize in 75 ohms and everyone else in 50?
Newlines in BSD sed vs gsed
Is the D&D universe the same as the Forgotten Realms universe?
How to edit “Name” property in GCI output?
Is French Guiana a (hard) EU border?
Reference request: Grassmannian and Plucker coordinates in type B, C, D
How to write a definition with variants?
The Next CEO of Stack OverflowTranslate in-line equations to TeX code (Any Package?)Doing def+asdf+texttt#1 where + can be set with a macroAllow macro to end without new lineMultiple vertical rules along text – by using leaders?How to write a parameter-driven macro?Special macro definition (2opt, 1mand)amstex: operator definition errorProblem in a macro definition (plain TeX)Write an unpar macroLaTeX for plain TeX users?“Missing '' inserted” and “Missing inserted” with aligned environment
In TeX I can define, say
def1#1 is #2.#1 & is & #2.\
and
def2#1 has #2.#1 & has & #2.\
with an easy usage: 1 Jim Jones is a fictional character.
and2 Tim Smith has two brothers.
This gives three columns of a tabular: Jim Jones, is, a fictional character. Similarly in the second case.
Can I write a definition depending on, in this case, is/has so I can write
3 Jim Jones is a fictional character.
and3 Tim Smith has two brothers.
obtaing the previous results?
Solutions using Lua or expl3 are OK, but I hope that a pure TeX one is also possible.
macros plain-tex
add a comment |
In TeX I can define, say
def1#1 is #2.#1 & is & #2.\
and
def2#1 has #2.#1 & has & #2.\
with an easy usage: 1 Jim Jones is a fictional character.
and2 Tim Smith has two brothers.
This gives three columns of a tabular: Jim Jones, is, a fictional character. Similarly in the second case.
Can I write a definition depending on, in this case, is/has so I can write
3 Jim Jones is a fictional character.
and3 Tim Smith has two brothers.
obtaing the previous results?
Solutions using Lua or expl3 are OK, but I hope that a pure TeX one is also possible.
macros plain-tex
At the TeX level for anydef
you can have only one parameter text (the#1 is #2.
and#1 has #2.
in your1
and2
respectively).
– ShreevatsaR
47 mins ago
@ShreevatsaR That's why I am asking how to extend this possibility.
– Przemysław Scherwentke
27 mins ago
add a comment |
In TeX I can define, say
def1#1 is #2.#1 & is & #2.\
and
def2#1 has #2.#1 & has & #2.\
with an easy usage: 1 Jim Jones is a fictional character.
and2 Tim Smith has two brothers.
This gives three columns of a tabular: Jim Jones, is, a fictional character. Similarly in the second case.
Can I write a definition depending on, in this case, is/has so I can write
3 Jim Jones is a fictional character.
and3 Tim Smith has two brothers.
obtaing the previous results?
Solutions using Lua or expl3 are OK, but I hope that a pure TeX one is also possible.
macros plain-tex
In TeX I can define, say
def1#1 is #2.#1 & is & #2.\
and
def2#1 has #2.#1 & has & #2.\
with an easy usage: 1 Jim Jones is a fictional character.
and2 Tim Smith has two brothers.
This gives three columns of a tabular: Jim Jones, is, a fictional character. Similarly in the second case.
Can I write a definition depending on, in this case, is/has so I can write
3 Jim Jones is a fictional character.
and3 Tim Smith has two brothers.
obtaing the previous results?
Solutions using Lua or expl3 are OK, but I hope that a pure TeX one is also possible.
macros plain-tex
macros plain-tex
edited 1 hour ago
Przemysław Scherwentke
asked 1 hour ago
Przemysław ScherwentkePrzemysław Scherwentke
29.9k54795
29.9k54795
At the TeX level for anydef
you can have only one parameter text (the#1 is #2.
and#1 has #2.
in your1
and2
respectively).
– ShreevatsaR
47 mins ago
@ShreevatsaR That's why I am asking how to extend this possibility.
– Przemysław Scherwentke
27 mins ago
add a comment |
At the TeX level for anydef
you can have only one parameter text (the#1 is #2.
and#1 has #2.
in your1
and2
respectively).
– ShreevatsaR
47 mins ago
@ShreevatsaR That's why I am asking how to extend this possibility.
– Przemysław Scherwentke
27 mins ago
At the TeX level for any
def
you can have only one parameter text (the #1 is #2.
and #1 has #2.
in your 1
and 2
respectively).– ShreevatsaR
47 mins ago
At the TeX level for any
def
you can have only one parameter text (the #1 is #2.
and #1 has #2.
in your 1
and 2
respectively).– ShreevatsaR
47 mins ago
@ShreevatsaR That's why I am asking how to extend this possibility.
– Przemysław Scherwentke
27 mins ago
@ShreevatsaR That's why I am asking how to extend this possibility.
– Przemysław Scherwentke
27 mins ago
add a comment |
1 Answer
1
active
oldest
votes
A listofitems
approach. Also, listofitems
is available in Plain TeX.
documentclassarticle
usepackagelistofitems
defvariant#1.%
setsepcharis%
greadlist*varinput#1
varinput[1] & varinputsep[1] & varinput[2].
begindocument
begintabularc
variant Jim Jones is a fictional character.\
variant Tim Smith has two brothers.
endtabular
enddocument
Similarly done in plain TeX
input listofitems
defvariant#1.%
setsepcharis%
greadlist*varinput#1
varinput[1] & varinputsep[1] & varinput[2].
variant Jim Jones is a fictional character.
variant Tim Smith has two brothers.
bye
Certainly +1. However, I will wait for alternative solutions. And I must reserve 3 days for reading your package. :-)
– Przemysław Scherwentke
53 mins ago
1
@PrzemysławScherwentke Thanks. The package idea was mine, but the coding is all Christian's who made it come to life.
– Steven B. Segletes
49 mins ago
1
@marmot I am not sure what you mean by "teach" in this context. However, look also at mytabstackengine
package, which useslistofitems
for parsing. It can digest matrices and remember all the cell content for future use.
– Steven B. Segletes
34 mins ago
1
@marmot For example,documentclassarticle usepackage[T1]fontenc usepackagelistofitems setsepchar\/& begindocument readlist*myarrayx11&y12&z13\x21&y22&z_23\x31&y32&z33 Row 2, Col 3 = $myarray[2,3]$; tokens detokenizeexpandafterexpandafterexpandaftermyarray[2,3] enddocument
– Steven B. Segletes
22 mins ago
1
@PrzemysławScherwentkelistofitems
was developed in response to my ill-fated ctan.org/pkg/getargsgetargs
package. It was a great idea, but just didn't do what needed to be done. Christian T. took that idea and turned it intolistofitems
.
– Steven B. Segletes
15 mins ago
|
show 3 more comments
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%2f482357%2fhow-to-write-a-definition-with-variants%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
A listofitems
approach. Also, listofitems
is available in Plain TeX.
documentclassarticle
usepackagelistofitems
defvariant#1.%
setsepcharis%
greadlist*varinput#1
varinput[1] & varinputsep[1] & varinput[2].
begindocument
begintabularc
variant Jim Jones is a fictional character.\
variant Tim Smith has two brothers.
endtabular
enddocument
Similarly done in plain TeX
input listofitems
defvariant#1.%
setsepcharis%
greadlist*varinput#1
varinput[1] & varinputsep[1] & varinput[2].
variant Jim Jones is a fictional character.
variant Tim Smith has two brothers.
bye
Certainly +1. However, I will wait for alternative solutions. And I must reserve 3 days for reading your package. :-)
– Przemysław Scherwentke
53 mins ago
1
@PrzemysławScherwentke Thanks. The package idea was mine, but the coding is all Christian's who made it come to life.
– Steven B. Segletes
49 mins ago
1
@marmot I am not sure what you mean by "teach" in this context. However, look also at mytabstackengine
package, which useslistofitems
for parsing. It can digest matrices and remember all the cell content for future use.
– Steven B. Segletes
34 mins ago
1
@marmot For example,documentclassarticle usepackage[T1]fontenc usepackagelistofitems setsepchar\/& begindocument readlist*myarrayx11&y12&z13\x21&y22&z_23\x31&y32&z33 Row 2, Col 3 = $myarray[2,3]$; tokens detokenizeexpandafterexpandafterexpandaftermyarray[2,3] enddocument
– Steven B. Segletes
22 mins ago
1
@PrzemysławScherwentkelistofitems
was developed in response to my ill-fated ctan.org/pkg/getargsgetargs
package. It was a great idea, but just didn't do what needed to be done. Christian T. took that idea and turned it intolistofitems
.
– Steven B. Segletes
15 mins ago
|
show 3 more comments
A listofitems
approach. Also, listofitems
is available in Plain TeX.
documentclassarticle
usepackagelistofitems
defvariant#1.%
setsepcharis%
greadlist*varinput#1
varinput[1] & varinputsep[1] & varinput[2].
begindocument
begintabularc
variant Jim Jones is a fictional character.\
variant Tim Smith has two brothers.
endtabular
enddocument
Similarly done in plain TeX
input listofitems
defvariant#1.%
setsepcharis%
greadlist*varinput#1
varinput[1] & varinputsep[1] & varinput[2].
variant Jim Jones is a fictional character.
variant Tim Smith has two brothers.
bye
Certainly +1. However, I will wait for alternative solutions. And I must reserve 3 days for reading your package. :-)
– Przemysław Scherwentke
53 mins ago
1
@PrzemysławScherwentke Thanks. The package idea was mine, but the coding is all Christian's who made it come to life.
– Steven B. Segletes
49 mins ago
1
@marmot I am not sure what you mean by "teach" in this context. However, look also at mytabstackengine
package, which useslistofitems
for parsing. It can digest matrices and remember all the cell content for future use.
– Steven B. Segletes
34 mins ago
1
@marmot For example,documentclassarticle usepackage[T1]fontenc usepackagelistofitems setsepchar\/& begindocument readlist*myarrayx11&y12&z13\x21&y22&z_23\x31&y32&z33 Row 2, Col 3 = $myarray[2,3]$; tokens detokenizeexpandafterexpandafterexpandaftermyarray[2,3] enddocument
– Steven B. Segletes
22 mins ago
1
@PrzemysławScherwentkelistofitems
was developed in response to my ill-fated ctan.org/pkg/getargsgetargs
package. It was a great idea, but just didn't do what needed to be done. Christian T. took that idea and turned it intolistofitems
.
– Steven B. Segletes
15 mins ago
|
show 3 more comments
A listofitems
approach. Also, listofitems
is available in Plain TeX.
documentclassarticle
usepackagelistofitems
defvariant#1.%
setsepcharis%
greadlist*varinput#1
varinput[1] & varinputsep[1] & varinput[2].
begindocument
begintabularc
variant Jim Jones is a fictional character.\
variant Tim Smith has two brothers.
endtabular
enddocument
Similarly done in plain TeX
input listofitems
defvariant#1.%
setsepcharis%
greadlist*varinput#1
varinput[1] & varinputsep[1] & varinput[2].
variant Jim Jones is a fictional character.
variant Tim Smith has two brothers.
bye
A listofitems
approach. Also, listofitems
is available in Plain TeX.
documentclassarticle
usepackagelistofitems
defvariant#1.%
setsepcharis%
greadlist*varinput#1
varinput[1] & varinputsep[1] & varinput[2].
begindocument
begintabularc
variant Jim Jones is a fictional character.\
variant Tim Smith has two brothers.
endtabular
enddocument
Similarly done in plain TeX
input listofitems
defvariant#1.%
setsepcharis%
greadlist*varinput#1
varinput[1] & varinputsep[1] & varinput[2].
variant Jim Jones is a fictional character.
variant Tim Smith has two brothers.
bye
answered 1 hour ago
Steven B. SegletesSteven B. Segletes
160k9204413
160k9204413
Certainly +1. However, I will wait for alternative solutions. And I must reserve 3 days for reading your package. :-)
– Przemysław Scherwentke
53 mins ago
1
@PrzemysławScherwentke Thanks. The package idea was mine, but the coding is all Christian's who made it come to life.
– Steven B. Segletes
49 mins ago
1
@marmot I am not sure what you mean by "teach" in this context. However, look also at mytabstackengine
package, which useslistofitems
for parsing. It can digest matrices and remember all the cell content for future use.
– Steven B. Segletes
34 mins ago
1
@marmot For example,documentclassarticle usepackage[T1]fontenc usepackagelistofitems setsepchar\/& begindocument readlist*myarrayx11&y12&z13\x21&y22&z_23\x31&y32&z33 Row 2, Col 3 = $myarray[2,3]$; tokens detokenizeexpandafterexpandafterexpandaftermyarray[2,3] enddocument
– Steven B. Segletes
22 mins ago
1
@PrzemysławScherwentkelistofitems
was developed in response to my ill-fated ctan.org/pkg/getargsgetargs
package. It was a great idea, but just didn't do what needed to be done. Christian T. took that idea and turned it intolistofitems
.
– Steven B. Segletes
15 mins ago
|
show 3 more comments
Certainly +1. However, I will wait for alternative solutions. And I must reserve 3 days for reading your package. :-)
– Przemysław Scherwentke
53 mins ago
1
@PrzemysławScherwentke Thanks. The package idea was mine, but the coding is all Christian's who made it come to life.
– Steven B. Segletes
49 mins ago
1
@marmot I am not sure what you mean by "teach" in this context. However, look also at mytabstackengine
package, which useslistofitems
for parsing. It can digest matrices and remember all the cell content for future use.
– Steven B. Segletes
34 mins ago
1
@marmot For example,documentclassarticle usepackage[T1]fontenc usepackagelistofitems setsepchar\/& begindocument readlist*myarrayx11&y12&z13\x21&y22&z_23\x31&y32&z33 Row 2, Col 3 = $myarray[2,3]$; tokens detokenizeexpandafterexpandafterexpandaftermyarray[2,3] enddocument
– Steven B. Segletes
22 mins ago
1
@PrzemysławScherwentkelistofitems
was developed in response to my ill-fated ctan.org/pkg/getargsgetargs
package. It was a great idea, but just didn't do what needed to be done. Christian T. took that idea and turned it intolistofitems
.
– Steven B. Segletes
15 mins ago
Certainly +1. However, I will wait for alternative solutions. And I must reserve 3 days for reading your package. :-)
– Przemysław Scherwentke
53 mins ago
Certainly +1. However, I will wait for alternative solutions. And I must reserve 3 days for reading your package. :-)
– Przemysław Scherwentke
53 mins ago
1
1
@PrzemysławScherwentke Thanks. The package idea was mine, but the coding is all Christian's who made it come to life.
– Steven B. Segletes
49 mins ago
@PrzemysławScherwentke Thanks. The package idea was mine, but the coding is all Christian's who made it come to life.
– Steven B. Segletes
49 mins ago
1
1
@marmot I am not sure what you mean by "teach" in this context. However, look also at my
tabstackengine
package, which uses listofitems
for parsing. It can digest matrices and remember all the cell content for future use.– Steven B. Segletes
34 mins ago
@marmot I am not sure what you mean by "teach" in this context. However, look also at my
tabstackengine
package, which uses listofitems
for parsing. It can digest matrices and remember all the cell content for future use.– Steven B. Segletes
34 mins ago
1
1
@marmot For example,
documentclassarticle usepackage[T1]fontenc usepackagelistofitems setsepchar\/& begindocument readlist*myarrayx11&y12&z13\x21&y22&z_23\x31&y32&z33 Row 2, Col 3 = $myarray[2,3]$; tokens detokenizeexpandafterexpandafterexpandaftermyarray[2,3] enddocument
– Steven B. Segletes
22 mins ago
@marmot For example,
documentclassarticle usepackage[T1]fontenc usepackagelistofitems setsepchar\/& begindocument readlist*myarrayx11&y12&z13\x21&y22&z_23\x31&y32&z33 Row 2, Col 3 = $myarray[2,3]$; tokens detokenizeexpandafterexpandafterexpandaftermyarray[2,3] enddocument
– Steven B. Segletes
22 mins ago
1
1
@PrzemysławScherwentke
listofitems
was developed in response to my ill-fated ctan.org/pkg/getargs getargs
package. It was a great idea, but just didn't do what needed to be done. Christian T. took that idea and turned it into listofitems
.– Steven B. Segletes
15 mins ago
@PrzemysławScherwentke
listofitems
was developed in response to my ill-fated ctan.org/pkg/getargs getargs
package. It was a great idea, but just didn't do what needed to be done. Christian T. took that idea and turned it into listofitems
.– Steven B. Segletes
15 mins ago
|
show 3 more comments
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%2f482357%2fhow-to-write-a-definition-with-variants%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
At the TeX level for any
def
you can have only one parameter text (the#1 is #2.
and#1 has #2.
in your1
and2
respectively).– ShreevatsaR
47 mins ago
@ShreevatsaR That's why I am asking how to extend this possibility.
– Przemysław Scherwentke
27 mins ago