Different macro behavior when used in another macro
Please consider the following MWE :
documentclass{article}
newcommand{mymargin}{hspace*{3em}}
newcommand{innerbox}[1]{mymarginfbox{#1}mymargin}
newcommand{outerbox}[1]{fbox{#1}}
begin{document}
test innerbox{Hello} test% OK
test outerbox{innerbox{Hello} test innerbox{Hello} test innerbox{Hello}}% I don't want space at beginning and end of box
test outerbox{fbox{Hello}mymargin{} test innerbox{Hello} test mymarginfbox{Hello}}% what i'd like
end{document}
(actually, the definitions of boxes are more complex but I think that doesn't change anything to the logic)
I'd like the use of innerbox
inside outerbox
not to induce spaces at the beginning and at the end of the box.
I suppose i should expand argument #1
(once got rid of the unnecessary spaces) from outerbox
and detect if the first and last token are equal mymargin
and then make the necessary changes but I really don't know how to do it. Any ideas?
macros boxes expansion
New contributor
add a comment |
Please consider the following MWE :
documentclass{article}
newcommand{mymargin}{hspace*{3em}}
newcommand{innerbox}[1]{mymarginfbox{#1}mymargin}
newcommand{outerbox}[1]{fbox{#1}}
begin{document}
test innerbox{Hello} test% OK
test outerbox{innerbox{Hello} test innerbox{Hello} test innerbox{Hello}}% I don't want space at beginning and end of box
test outerbox{fbox{Hello}mymargin{} test innerbox{Hello} test mymarginfbox{Hello}}% what i'd like
end{document}
(actually, the definitions of boxes are more complex but I think that doesn't change anything to the logic)
I'd like the use of innerbox
inside outerbox
not to induce spaces at the beginning and at the end of the box.
I suppose i should expand argument #1
(once got rid of the unnecessary spaces) from outerbox
and detect if the first and last token are equal mymargin
and then make the necessary changes but I really don't know how to do it. Any ideas?
macros boxes expansion
New contributor
Welcome to TeX.SE!
– Kurt
yesterday
add a comment |
Please consider the following MWE :
documentclass{article}
newcommand{mymargin}{hspace*{3em}}
newcommand{innerbox}[1]{mymarginfbox{#1}mymargin}
newcommand{outerbox}[1]{fbox{#1}}
begin{document}
test innerbox{Hello} test% OK
test outerbox{innerbox{Hello} test innerbox{Hello} test innerbox{Hello}}% I don't want space at beginning and end of box
test outerbox{fbox{Hello}mymargin{} test innerbox{Hello} test mymarginfbox{Hello}}% what i'd like
end{document}
(actually, the definitions of boxes are more complex but I think that doesn't change anything to the logic)
I'd like the use of innerbox
inside outerbox
not to induce spaces at the beginning and at the end of the box.
I suppose i should expand argument #1
(once got rid of the unnecessary spaces) from outerbox
and detect if the first and last token are equal mymargin
and then make the necessary changes but I really don't know how to do it. Any ideas?
macros boxes expansion
New contributor
Please consider the following MWE :
documentclass{article}
newcommand{mymargin}{hspace*{3em}}
newcommand{innerbox}[1]{mymarginfbox{#1}mymargin}
newcommand{outerbox}[1]{fbox{#1}}
begin{document}
test innerbox{Hello} test% OK
test outerbox{innerbox{Hello} test innerbox{Hello} test innerbox{Hello}}% I don't want space at beginning and end of box
test outerbox{fbox{Hello}mymargin{} test innerbox{Hello} test mymarginfbox{Hello}}% what i'd like
end{document}
(actually, the definitions of boxes are more complex but I think that doesn't change anything to the logic)
I'd like the use of innerbox
inside outerbox
not to induce spaces at the beginning and at the end of the box.
I suppose i should expand argument #1
(once got rid of the unnecessary spaces) from outerbox
and detect if the first and last token are equal mymargin
and then make the necessary changes but I really don't know how to do it. Any ideas?
macros boxes expansion
macros boxes expansion
New contributor
New contributor
edited yesterday
David Carlisle
500k4111461896
500k4111461896
New contributor
asked yesterday
user30654user30654
16111
16111
New contributor
New contributor
Welcome to TeX.SE!
– Kurt
yesterday
add a comment |
Welcome to TeX.SE!
– Kurt
yesterday
Welcome to TeX.SE!
– Kurt
yesterday
Welcome to TeX.SE!
– Kurt
yesterday
add a comment |
2 Answers
2
active
oldest
votes
You can check (ignoring spaces) whether the first token in the argument of outerbox
is innerbox
and, in this case, insert a negative space for compensation.
At the end you can recursively remove all glue nodes.
documentclass{article}
newcommand{mymarginwidth}{3em}
newcommand{mymargin}{hspace*{mymarginwidth}}
newcommand{negmymargin}{hspace*{-mymarginwidth}}
newcommand{innerbox}[1]{mymarginfbox{#1}mymargin}
makeatletter
newcommand{outerbox}[1]{%
fbox{%
@ifnextcharinnerbox{negmymargin}{}#1%
forever@unskip
}%
}
newcommand{forever@unskip}{%
ifnumlastnodetype=11
expandafterunskipexpandafterforever@unskip
fi
}
makeatother
begin{document}
test innerbox{Hello} test
test outerbox{innerbox{Hello} test innerbox{Hello} test innerbox{Hello}}
test outerbox{fbox{Hello}mymargin{} test innerbox{Hello} test mymarginfbox{Hello}}
test outerbox{test innerbox{Hello} test innerbox{Hello}}
test outerbox{innerbox{Hello} test innerbox{Hello} test}
test outerbox{ test innerbox{Hello} test innerbox{Hello} }
test outerbox{ innerbox{Hello} test innerbox{Hello} test }
end{document}
Thanks a lot, it works perfectly well... for this example of use. But, actually,innerbox
is defined with an optional argument (asnewcommand{innerbox}[2]{...}
) and, in this case, your code leads to an error :! Use of \innerbox doesn't match its definition.
. What should i change in your code to have it work ?
– user30654
18 hours ago
@user30654 Added the code
– egreg
13 hours ago
add a comment |
This version omits the space if innerbox
is in any hbox, not just outerbox
documentclass{article}
newcommand{mymargin}{hspace*{3em}}
newcommand{innerbox}[1]{ifhmodeifinnerelsemymarginfififbox{#1}ifhmodeifinnerelsemymarginfifi}
newcommand{outerbox}[1]{fbox{#1}}
begin{document}
test innerbox{Hello} test% OK
test outerbox{innerbox{Hello} test innerbox{Hello} test innerbox{Hello}}% I don't want space at beginning and end of box
test outerbox{fbox{Hello}mymargin{} test innerbox{Hello} test mymarginfbox{Hello}}% what i'd like
end{document}
egreg notes that you may not be what you wanted, so..
documentclass{article}
newcommand{mymargin}{hspace*{3em}}
newcommand{innerbox}[1]{ifhmodeifnumlastpenalty=-1elsemymarginfififbox{#1}mymargin}
newcommand{outerbox}[1]{fbox{penalty-1#1unskipunskip}}
begin{document}
test innerbox{Hello} test% OK
test outerbox{innerbox{Hello} test innerbox{Hello} test innerbox{Hello}}% I don't want space at beginning and end of box
test outerbox{fbox{Hello}mymargin{} test innerbox{Hello} test mymarginfbox{Hello}}% what i'd like
end{document}
Which is rather different from the output the OP seems to want. Look at the “what I'd like” line.
– egreg
yesterday
@egreg 2nd version added (shame, first version was more fun)
– David Carlisle
yesterday
add a comment |
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
});
}
});
user30654 is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
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%2f485147%2fdifferent-macro-behavior-when-used-in-another-macro%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can check (ignoring spaces) whether the first token in the argument of outerbox
is innerbox
and, in this case, insert a negative space for compensation.
At the end you can recursively remove all glue nodes.
documentclass{article}
newcommand{mymarginwidth}{3em}
newcommand{mymargin}{hspace*{mymarginwidth}}
newcommand{negmymargin}{hspace*{-mymarginwidth}}
newcommand{innerbox}[1]{mymarginfbox{#1}mymargin}
makeatletter
newcommand{outerbox}[1]{%
fbox{%
@ifnextcharinnerbox{negmymargin}{}#1%
forever@unskip
}%
}
newcommand{forever@unskip}{%
ifnumlastnodetype=11
expandafterunskipexpandafterforever@unskip
fi
}
makeatother
begin{document}
test innerbox{Hello} test
test outerbox{innerbox{Hello} test innerbox{Hello} test innerbox{Hello}}
test outerbox{fbox{Hello}mymargin{} test innerbox{Hello} test mymarginfbox{Hello}}
test outerbox{test innerbox{Hello} test innerbox{Hello}}
test outerbox{innerbox{Hello} test innerbox{Hello} test}
test outerbox{ test innerbox{Hello} test innerbox{Hello} }
test outerbox{ innerbox{Hello} test innerbox{Hello} test }
end{document}
Thanks a lot, it works perfectly well... for this example of use. But, actually,innerbox
is defined with an optional argument (asnewcommand{innerbox}[2]{...}
) and, in this case, your code leads to an error :! Use of \innerbox doesn't match its definition.
. What should i change in your code to have it work ?
– user30654
18 hours ago
@user30654 Added the code
– egreg
13 hours ago
add a comment |
You can check (ignoring spaces) whether the first token in the argument of outerbox
is innerbox
and, in this case, insert a negative space for compensation.
At the end you can recursively remove all glue nodes.
documentclass{article}
newcommand{mymarginwidth}{3em}
newcommand{mymargin}{hspace*{mymarginwidth}}
newcommand{negmymargin}{hspace*{-mymarginwidth}}
newcommand{innerbox}[1]{mymarginfbox{#1}mymargin}
makeatletter
newcommand{outerbox}[1]{%
fbox{%
@ifnextcharinnerbox{negmymargin}{}#1%
forever@unskip
}%
}
newcommand{forever@unskip}{%
ifnumlastnodetype=11
expandafterunskipexpandafterforever@unskip
fi
}
makeatother
begin{document}
test innerbox{Hello} test
test outerbox{innerbox{Hello} test innerbox{Hello} test innerbox{Hello}}
test outerbox{fbox{Hello}mymargin{} test innerbox{Hello} test mymarginfbox{Hello}}
test outerbox{test innerbox{Hello} test innerbox{Hello}}
test outerbox{innerbox{Hello} test innerbox{Hello} test}
test outerbox{ test innerbox{Hello} test innerbox{Hello} }
test outerbox{ innerbox{Hello} test innerbox{Hello} test }
end{document}
Thanks a lot, it works perfectly well... for this example of use. But, actually,innerbox
is defined with an optional argument (asnewcommand{innerbox}[2]{...}
) and, in this case, your code leads to an error :! Use of \innerbox doesn't match its definition.
. What should i change in your code to have it work ?
– user30654
18 hours ago
@user30654 Added the code
– egreg
13 hours ago
add a comment |
You can check (ignoring spaces) whether the first token in the argument of outerbox
is innerbox
and, in this case, insert a negative space for compensation.
At the end you can recursively remove all glue nodes.
documentclass{article}
newcommand{mymarginwidth}{3em}
newcommand{mymargin}{hspace*{mymarginwidth}}
newcommand{negmymargin}{hspace*{-mymarginwidth}}
newcommand{innerbox}[1]{mymarginfbox{#1}mymargin}
makeatletter
newcommand{outerbox}[1]{%
fbox{%
@ifnextcharinnerbox{negmymargin}{}#1%
forever@unskip
}%
}
newcommand{forever@unskip}{%
ifnumlastnodetype=11
expandafterunskipexpandafterforever@unskip
fi
}
makeatother
begin{document}
test innerbox{Hello} test
test outerbox{innerbox{Hello} test innerbox{Hello} test innerbox{Hello}}
test outerbox{fbox{Hello}mymargin{} test innerbox{Hello} test mymarginfbox{Hello}}
test outerbox{test innerbox{Hello} test innerbox{Hello}}
test outerbox{innerbox{Hello} test innerbox{Hello} test}
test outerbox{ test innerbox{Hello} test innerbox{Hello} }
test outerbox{ innerbox{Hello} test innerbox{Hello} test }
end{document}
You can check (ignoring spaces) whether the first token in the argument of outerbox
is innerbox
and, in this case, insert a negative space for compensation.
At the end you can recursively remove all glue nodes.
documentclass{article}
newcommand{mymarginwidth}{3em}
newcommand{mymargin}{hspace*{mymarginwidth}}
newcommand{negmymargin}{hspace*{-mymarginwidth}}
newcommand{innerbox}[1]{mymarginfbox{#1}mymargin}
makeatletter
newcommand{outerbox}[1]{%
fbox{%
@ifnextcharinnerbox{negmymargin}{}#1%
forever@unskip
}%
}
newcommand{forever@unskip}{%
ifnumlastnodetype=11
expandafterunskipexpandafterforever@unskip
fi
}
makeatother
begin{document}
test innerbox{Hello} test
test outerbox{innerbox{Hello} test innerbox{Hello} test innerbox{Hello}}
test outerbox{fbox{Hello}mymargin{} test innerbox{Hello} test mymarginfbox{Hello}}
test outerbox{test innerbox{Hello} test innerbox{Hello}}
test outerbox{innerbox{Hello} test innerbox{Hello} test}
test outerbox{ test innerbox{Hello} test innerbox{Hello} }
test outerbox{ innerbox{Hello} test innerbox{Hello} test }
end{document}
edited 13 hours ago
answered yesterday
egregegreg
735k8919343257
735k8919343257
Thanks a lot, it works perfectly well... for this example of use. But, actually,innerbox
is defined with an optional argument (asnewcommand{innerbox}[2]{...}
) and, in this case, your code leads to an error :! Use of \innerbox doesn't match its definition.
. What should i change in your code to have it work ?
– user30654
18 hours ago
@user30654 Added the code
– egreg
13 hours ago
add a comment |
Thanks a lot, it works perfectly well... for this example of use. But, actually,innerbox
is defined with an optional argument (asnewcommand{innerbox}[2]{...}
) and, in this case, your code leads to an error :! Use of \innerbox doesn't match its definition.
. What should i change in your code to have it work ?
– user30654
18 hours ago
@user30654 Added the code
– egreg
13 hours ago
Thanks a lot, it works perfectly well... for this example of use. But, actually,
innerbox
is defined with an optional argument (as newcommand{innerbox}[2]{...}
) and, in this case, your code leads to an error : ! Use of \innerbox doesn't match its definition.
. What should i change in your code to have it work ?– user30654
18 hours ago
Thanks a lot, it works perfectly well... for this example of use. But, actually,
innerbox
is defined with an optional argument (as newcommand{innerbox}[2]{...}
) and, in this case, your code leads to an error : ! Use of \innerbox doesn't match its definition.
. What should i change in your code to have it work ?– user30654
18 hours ago
@user30654 Added the code
– egreg
13 hours ago
@user30654 Added the code
– egreg
13 hours ago
add a comment |
This version omits the space if innerbox
is in any hbox, not just outerbox
documentclass{article}
newcommand{mymargin}{hspace*{3em}}
newcommand{innerbox}[1]{ifhmodeifinnerelsemymarginfififbox{#1}ifhmodeifinnerelsemymarginfifi}
newcommand{outerbox}[1]{fbox{#1}}
begin{document}
test innerbox{Hello} test% OK
test outerbox{innerbox{Hello} test innerbox{Hello} test innerbox{Hello}}% I don't want space at beginning and end of box
test outerbox{fbox{Hello}mymargin{} test innerbox{Hello} test mymarginfbox{Hello}}% what i'd like
end{document}
egreg notes that you may not be what you wanted, so..
documentclass{article}
newcommand{mymargin}{hspace*{3em}}
newcommand{innerbox}[1]{ifhmodeifnumlastpenalty=-1elsemymarginfififbox{#1}mymargin}
newcommand{outerbox}[1]{fbox{penalty-1#1unskipunskip}}
begin{document}
test innerbox{Hello} test% OK
test outerbox{innerbox{Hello} test innerbox{Hello} test innerbox{Hello}}% I don't want space at beginning and end of box
test outerbox{fbox{Hello}mymargin{} test innerbox{Hello} test mymarginfbox{Hello}}% what i'd like
end{document}
Which is rather different from the output the OP seems to want. Look at the “what I'd like” line.
– egreg
yesterday
@egreg 2nd version added (shame, first version was more fun)
– David Carlisle
yesterday
add a comment |
This version omits the space if innerbox
is in any hbox, not just outerbox
documentclass{article}
newcommand{mymargin}{hspace*{3em}}
newcommand{innerbox}[1]{ifhmodeifinnerelsemymarginfififbox{#1}ifhmodeifinnerelsemymarginfifi}
newcommand{outerbox}[1]{fbox{#1}}
begin{document}
test innerbox{Hello} test% OK
test outerbox{innerbox{Hello} test innerbox{Hello} test innerbox{Hello}}% I don't want space at beginning and end of box
test outerbox{fbox{Hello}mymargin{} test innerbox{Hello} test mymarginfbox{Hello}}% what i'd like
end{document}
egreg notes that you may not be what you wanted, so..
documentclass{article}
newcommand{mymargin}{hspace*{3em}}
newcommand{innerbox}[1]{ifhmodeifnumlastpenalty=-1elsemymarginfififbox{#1}mymargin}
newcommand{outerbox}[1]{fbox{penalty-1#1unskipunskip}}
begin{document}
test innerbox{Hello} test% OK
test outerbox{innerbox{Hello} test innerbox{Hello} test innerbox{Hello}}% I don't want space at beginning and end of box
test outerbox{fbox{Hello}mymargin{} test innerbox{Hello} test mymarginfbox{Hello}}% what i'd like
end{document}
Which is rather different from the output the OP seems to want. Look at the “what I'd like” line.
– egreg
yesterday
@egreg 2nd version added (shame, first version was more fun)
– David Carlisle
yesterday
add a comment |
This version omits the space if innerbox
is in any hbox, not just outerbox
documentclass{article}
newcommand{mymargin}{hspace*{3em}}
newcommand{innerbox}[1]{ifhmodeifinnerelsemymarginfififbox{#1}ifhmodeifinnerelsemymarginfifi}
newcommand{outerbox}[1]{fbox{#1}}
begin{document}
test innerbox{Hello} test% OK
test outerbox{innerbox{Hello} test innerbox{Hello} test innerbox{Hello}}% I don't want space at beginning and end of box
test outerbox{fbox{Hello}mymargin{} test innerbox{Hello} test mymarginfbox{Hello}}% what i'd like
end{document}
egreg notes that you may not be what you wanted, so..
documentclass{article}
newcommand{mymargin}{hspace*{3em}}
newcommand{innerbox}[1]{ifhmodeifnumlastpenalty=-1elsemymarginfififbox{#1}mymargin}
newcommand{outerbox}[1]{fbox{penalty-1#1unskipunskip}}
begin{document}
test innerbox{Hello} test% OK
test outerbox{innerbox{Hello} test innerbox{Hello} test innerbox{Hello}}% I don't want space at beginning and end of box
test outerbox{fbox{Hello}mymargin{} test innerbox{Hello} test mymarginfbox{Hello}}% what i'd like
end{document}
This version omits the space if innerbox
is in any hbox, not just outerbox
documentclass{article}
newcommand{mymargin}{hspace*{3em}}
newcommand{innerbox}[1]{ifhmodeifinnerelsemymarginfififbox{#1}ifhmodeifinnerelsemymarginfifi}
newcommand{outerbox}[1]{fbox{#1}}
begin{document}
test innerbox{Hello} test% OK
test outerbox{innerbox{Hello} test innerbox{Hello} test innerbox{Hello}}% I don't want space at beginning and end of box
test outerbox{fbox{Hello}mymargin{} test innerbox{Hello} test mymarginfbox{Hello}}% what i'd like
end{document}
egreg notes that you may not be what you wanted, so..
documentclass{article}
newcommand{mymargin}{hspace*{3em}}
newcommand{innerbox}[1]{ifhmodeifnumlastpenalty=-1elsemymarginfififbox{#1}mymargin}
newcommand{outerbox}[1]{fbox{penalty-1#1unskipunskip}}
begin{document}
test innerbox{Hello} test% OK
test outerbox{innerbox{Hello} test innerbox{Hello} test innerbox{Hello}}% I don't want space at beginning and end of box
test outerbox{fbox{Hello}mymargin{} test innerbox{Hello} test mymarginfbox{Hello}}% what i'd like
end{document}
edited yesterday
answered yesterday
David CarlisleDavid Carlisle
500k4111461896
500k4111461896
Which is rather different from the output the OP seems to want. Look at the “what I'd like” line.
– egreg
yesterday
@egreg 2nd version added (shame, first version was more fun)
– David Carlisle
yesterday
add a comment |
Which is rather different from the output the OP seems to want. Look at the “what I'd like” line.
– egreg
yesterday
@egreg 2nd version added (shame, first version was more fun)
– David Carlisle
yesterday
Which is rather different from the output the OP seems to want. Look at the “what I'd like” line.
– egreg
yesterday
Which is rather different from the output the OP seems to want. Look at the “what I'd like” line.
– egreg
yesterday
@egreg 2nd version added (shame, first version was more fun)
– David Carlisle
yesterday
@egreg 2nd version added (shame, first version was more fun)
– David Carlisle
yesterday
add a comment |
user30654 is a new contributor. Be nice, and check out our Code of Conduct.
user30654 is a new contributor. Be nice, and check out our Code of Conduct.
user30654 is a new contributor. Be nice, and check out our Code of Conduct.
user30654 is a new contributor. Be nice, and check out our Code of Conduct.
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');
});
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%2f485147%2fdifferent-macro-behavior-when-used-in-another-macro%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');
});
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');
});
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');
});
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
Welcome to TeX.SE!
– Kurt
yesterday