Using command/macro as an optional argument












0















I have a bunch of images to include and want to use the same clip parameters on them. The approach I'm taking doesn't seem to work though:



This works:



includegraphics[clip,trim=0 0 80px 80px, width=xtextwidth]{image}   


This doesn't:



newcommandx{.22}
newcommandmytrim{0 0 80px 80px}
includegraphics[clip,trim=mytrim, width=xtextwidth]{image}
^ ^- Does work
^- Doesn't work


What am I doing wrong?










share|improve this question























  • How about newcommandexchange[2]{#2#1}expandafterexchangeexpandafter{mytrim}{includegraphics[clip, trim=}, width=xtextwidth]{image} ?

    – Ulrich Diez
    Mar 30 at 13:59
















0















I have a bunch of images to include and want to use the same clip parameters on them. The approach I'm taking doesn't seem to work though:



This works:



includegraphics[clip,trim=0 0 80px 80px, width=xtextwidth]{image}   


This doesn't:



newcommandx{.22}
newcommandmytrim{0 0 80px 80px}
includegraphics[clip,trim=mytrim, width=xtextwidth]{image}
^ ^- Does work
^- Doesn't work


What am I doing wrong?










share|improve this question























  • How about newcommandexchange[2]{#2#1}expandafterexchangeexpandafter{mytrim}{includegraphics[clip, trim=}, width=xtextwidth]{image} ?

    – Ulrich Diez
    Mar 30 at 13:59














0












0








0








I have a bunch of images to include and want to use the same clip parameters on them. The approach I'm taking doesn't seem to work though:



This works:



includegraphics[clip,trim=0 0 80px 80px, width=xtextwidth]{image}   


This doesn't:



newcommandx{.22}
newcommandmytrim{0 0 80px 80px}
includegraphics[clip,trim=mytrim, width=xtextwidth]{image}
^ ^- Does work
^- Doesn't work


What am I doing wrong?










share|improve this question














I have a bunch of images to include and want to use the same clip parameters on them. The approach I'm taking doesn't seem to work though:



This works:



includegraphics[clip,trim=0 0 80px 80px, width=xtextwidth]{image}   


This doesn't:



newcommandx{.22}
newcommandmytrim{0 0 80px 80px}
includegraphics[clip,trim=mytrim, width=xtextwidth]{image}
^ ^- Does work
^- Doesn't work


What am I doing wrong?







macros






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 29 at 20:55









argentum2fargentum2f

1506




1506













  • How about newcommandexchange[2]{#2#1}expandafterexchangeexpandafter{mytrim}{includegraphics[clip, trim=}, width=xtextwidth]{image} ?

    – Ulrich Diez
    Mar 30 at 13:59



















  • How about newcommandexchange[2]{#2#1}expandafterexchangeexpandafter{mytrim}{includegraphics[clip, trim=}, width=xtextwidth]{image} ?

    – Ulrich Diez
    Mar 30 at 13:59

















How about newcommandexchange[2]{#2#1}expandafterexchangeexpandafter{mytrim}{includegraphics[clip, trim=}, width=xtextwidth]{image} ?

– Ulrich Diez
Mar 30 at 13:59





How about newcommandexchange[2]{#2#1}expandafterexchangeexpandafter{mytrim}{includegraphics[clip, trim=}, width=xtextwidth]{image} ?

– Ulrich Diez
Mar 30 at 13:59










1 Answer
1






active

oldest

votes


















1














the syntax 0.5textwidth is built in to tex so a length setting of xtextwidth where x is a factor such as 0.5 just works naturally, however the macros behind trim key needs to parse the space separated list "by hand" and mytrim doesn't have any spaces until it is expanded.






share|improve this answer
























  • So is there any alternative? Or is there no way around copy/paste in this instance?

    – argentum2f
    Mar 29 at 21:15











  • @argentum2f oh lots of things you could do but you provided very little context and no test file, you could do newcommandzz[1]{includegraphics[clip,trim=0 0 80px 80px, width=.22textwidth]{#1} for example then zz{image1} zz{image2}

    – David Carlisle
    Mar 29 at 21:21













  • Thanks, that works.

    – argentum2f
    Mar 29 at 21:25












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%2f482179%2fusing-command-macro-as-an-optional-argument%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









1














the syntax 0.5textwidth is built in to tex so a length setting of xtextwidth where x is a factor such as 0.5 just works naturally, however the macros behind trim key needs to parse the space separated list "by hand" and mytrim doesn't have any spaces until it is expanded.






share|improve this answer
























  • So is there any alternative? Or is there no way around copy/paste in this instance?

    – argentum2f
    Mar 29 at 21:15











  • @argentum2f oh lots of things you could do but you provided very little context and no test file, you could do newcommandzz[1]{includegraphics[clip,trim=0 0 80px 80px, width=.22textwidth]{#1} for example then zz{image1} zz{image2}

    – David Carlisle
    Mar 29 at 21:21













  • Thanks, that works.

    – argentum2f
    Mar 29 at 21:25
















1














the syntax 0.5textwidth is built in to tex so a length setting of xtextwidth where x is a factor such as 0.5 just works naturally, however the macros behind trim key needs to parse the space separated list "by hand" and mytrim doesn't have any spaces until it is expanded.






share|improve this answer
























  • So is there any alternative? Or is there no way around copy/paste in this instance?

    – argentum2f
    Mar 29 at 21:15











  • @argentum2f oh lots of things you could do but you provided very little context and no test file, you could do newcommandzz[1]{includegraphics[clip,trim=0 0 80px 80px, width=.22textwidth]{#1} for example then zz{image1} zz{image2}

    – David Carlisle
    Mar 29 at 21:21













  • Thanks, that works.

    – argentum2f
    Mar 29 at 21:25














1












1








1







the syntax 0.5textwidth is built in to tex so a length setting of xtextwidth where x is a factor such as 0.5 just works naturally, however the macros behind trim key needs to parse the space separated list "by hand" and mytrim doesn't have any spaces until it is expanded.






share|improve this answer













the syntax 0.5textwidth is built in to tex so a length setting of xtextwidth where x is a factor such as 0.5 just works naturally, however the macros behind trim key needs to parse the space separated list "by hand" and mytrim doesn't have any spaces until it is expanded.







share|improve this answer












share|improve this answer



share|improve this answer










answered Mar 29 at 21:13









David CarlisleDavid Carlisle

498k4111441893




498k4111441893













  • So is there any alternative? Or is there no way around copy/paste in this instance?

    – argentum2f
    Mar 29 at 21:15











  • @argentum2f oh lots of things you could do but you provided very little context and no test file, you could do newcommandzz[1]{includegraphics[clip,trim=0 0 80px 80px, width=.22textwidth]{#1} for example then zz{image1} zz{image2}

    – David Carlisle
    Mar 29 at 21:21













  • Thanks, that works.

    – argentum2f
    Mar 29 at 21:25



















  • So is there any alternative? Or is there no way around copy/paste in this instance?

    – argentum2f
    Mar 29 at 21:15











  • @argentum2f oh lots of things you could do but you provided very little context and no test file, you could do newcommandzz[1]{includegraphics[clip,trim=0 0 80px 80px, width=.22textwidth]{#1} for example then zz{image1} zz{image2}

    – David Carlisle
    Mar 29 at 21:21













  • Thanks, that works.

    – argentum2f
    Mar 29 at 21:25

















So is there any alternative? Or is there no way around copy/paste in this instance?

– argentum2f
Mar 29 at 21:15





So is there any alternative? Or is there no way around copy/paste in this instance?

– argentum2f
Mar 29 at 21:15













@argentum2f oh lots of things you could do but you provided very little context and no test file, you could do newcommandzz[1]{includegraphics[clip,trim=0 0 80px 80px, width=.22textwidth]{#1} for example then zz{image1} zz{image2}

– David Carlisle
Mar 29 at 21:21







@argentum2f oh lots of things you could do but you provided very little context and no test file, you could do newcommandzz[1]{includegraphics[clip,trim=0 0 80px 80px, width=.22textwidth]{#1} for example then zz{image1} zz{image2}

– David Carlisle
Mar 29 at 21:21















Thanks, that works.

– argentum2f
Mar 29 at 21:25





Thanks, that works.

– argentum2f
Mar 29 at 21:25


















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%2f482179%2fusing-command-macro-as-an-optional-argument%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

Biblatex bibliography style without URLs when DOI exists (in Overleaf with Zotero bibliography)

ComboBox Display Member on multiple fields

Is it possible to collect Nectar points via Trainline?