Extra space after @hangfromLeft aligning without extra space between words in tablesRemove extra space from framed environmentTable heading formattingRemoving extra space in alignatleft alignment of multicolumn inserts extra spaceProblems with extra vertical space and centeringBad math operators space after left. in aligned equationsCenter listing horizontally in BeamerUndesired extra space on the left

CAST throwing error when run in stored procedure but not when run as raw query

Why do bosons tend to occupy the same state?

Why didn't Miles's spider sense work before?

What exploit are these user agents trying to use?

Mathematica command that allows it to read my intentions

How seriously should I take size and weight limits of hand luggage?

Bullying boss launched a smear campaign and made me unemployable

One verb to replace 'be a member of' a club

Am I breaking OOP practice with this architecture?

Why are the 737's rear doors unusable in a water landing?

Can I run a new neutral wire to repair a broken circuit?

Why no variance term in Bayesian logistic regression?

In 'Revenger,' what does 'cove' come from?

Watching something be piped to a file live with tail

How did the Super Star Destroyer Executor get destroyed exactly?

Should I tell management that I intend to leave due to bad software development practices?

Venezuelan girlfriend wants to travel the USA to be with me. What is the process?

Gatling : Performance testing tool

Is it inappropriate for a student to attend their mentor's dissertation defense?

Do UK voters know if their MP will be the Speaker of the House?

How much of data wrangling is a data scientist's job?

Expand and Contract

Avoiding direct proof while writing proof by induction

Are there any examples of a variable being normally distributed that is *not* due to the Central Limit Theorem?



Extra space after @hangfrom


Left aligning without extra space between words in tablesRemove extra space from framed environmentTable heading formattingRemoving extra space in alignatleft alignment of multicolumn inserts extra spaceProblems with extra vertical space and centeringBad math operators space after left. in aligned equationsCenter listing horizontally in BeamerUndesired extra space on the left













3















I defined a command tstcmd with one parameter as @hangfrom[#1] nobreak. When using this command, I found that there is always an extra space between the right bracket and the text that follows.



Here is the MWE:



documentclassarticle

makeatletter
deftstcmd#1@hangfrom[#1] nobreak
%%DeclareRobustCommandtstcmd[1]@hangfrom[#1] nobreak %%No difference
defhf@hangfrom
makeatother

begindocument

tstcmd1 fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf
fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf fsdfsd fsdfsd
pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf fsdfsd

hf[1] nobreak fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw
hojsoisdjf fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf
fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf fsdfsd

enddocument




Even if DeclareRobustCommand is used, the extra space remains, and apparently the nobreak in tstcmd is not effective. Does anyone know why it is like this and how to fix it? Thanks in advance.










share|improve this question

















  • 1





    DeclareRobustCommand has nothing to do with the problems you described. nobreak should precede a skip (your space), not follow it. Your extraneous space comes from the fact that you write one in and another one after tstcmd1. I suggest something like newcommand*tstcmd[1]@hangfrom[#1]nolinebreak ignorespaces given your way of using it.

    – frougon
    Mar 21 at 7:15











  • In fact, @hangfrom puts its argument inside a box, therefore the nolinebreak is useless as written in my previous comment. It would be better before the ignorespaces, I think. Thus, newcommand*tstcmd[1]@hangfrom[#1] nolinebreakignorespaces.

    – frougon
    Mar 21 at 7:27












  • There may be exceptions (e.g., if the second space is followed by unskip), but usually, yes. Two space tokens.

    – frougon
    Mar 21 at 7:31











  • @frougon Now I see. Thanks a lot! Maybe you could post this as an answer so I can accept it.

    – Saad
    Mar 21 at 7:32











  • Why did you delete a question? It becomes difficult to follow...

    – frougon
    Mar 21 at 7:32















3















I defined a command tstcmd with one parameter as @hangfrom[#1] nobreak. When using this command, I found that there is always an extra space between the right bracket and the text that follows.



Here is the MWE:



documentclassarticle

makeatletter
deftstcmd#1@hangfrom[#1] nobreak
%%DeclareRobustCommandtstcmd[1]@hangfrom[#1] nobreak %%No difference
defhf@hangfrom
makeatother

begindocument

tstcmd1 fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf
fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf fsdfsd fsdfsd
pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf fsdfsd

hf[1] nobreak fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw
hojsoisdjf fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf
fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf fsdfsd

enddocument




Even if DeclareRobustCommand is used, the extra space remains, and apparently the nobreak in tstcmd is not effective. Does anyone know why it is like this and how to fix it? Thanks in advance.










share|improve this question

















  • 1





    DeclareRobustCommand has nothing to do with the problems you described. nobreak should precede a skip (your space), not follow it. Your extraneous space comes from the fact that you write one in and another one after tstcmd1. I suggest something like newcommand*tstcmd[1]@hangfrom[#1]nolinebreak ignorespaces given your way of using it.

    – frougon
    Mar 21 at 7:15











  • In fact, @hangfrom puts its argument inside a box, therefore the nolinebreak is useless as written in my previous comment. It would be better before the ignorespaces, I think. Thus, newcommand*tstcmd[1]@hangfrom[#1] nolinebreakignorespaces.

    – frougon
    Mar 21 at 7:27












  • There may be exceptions (e.g., if the second space is followed by unskip), but usually, yes. Two space tokens.

    – frougon
    Mar 21 at 7:31











  • @frougon Now I see. Thanks a lot! Maybe you could post this as an answer so I can accept it.

    – Saad
    Mar 21 at 7:32











  • Why did you delete a question? It becomes difficult to follow...

    – frougon
    Mar 21 at 7:32













3












3








3








I defined a command tstcmd with one parameter as @hangfrom[#1] nobreak. When using this command, I found that there is always an extra space between the right bracket and the text that follows.



Here is the MWE:



documentclassarticle

makeatletter
deftstcmd#1@hangfrom[#1] nobreak
%%DeclareRobustCommandtstcmd[1]@hangfrom[#1] nobreak %%No difference
defhf@hangfrom
makeatother

begindocument

tstcmd1 fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf
fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf fsdfsd fsdfsd
pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf fsdfsd

hf[1] nobreak fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw
hojsoisdjf fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf
fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf fsdfsd

enddocument




Even if DeclareRobustCommand is used, the extra space remains, and apparently the nobreak in tstcmd is not effective. Does anyone know why it is like this and how to fix it? Thanks in advance.










share|improve this question














I defined a command tstcmd with one parameter as @hangfrom[#1] nobreak. When using this command, I found that there is always an extra space between the right bracket and the text that follows.



Here is the MWE:



documentclassarticle

makeatletter
deftstcmd#1@hangfrom[#1] nobreak
%%DeclareRobustCommandtstcmd[1]@hangfrom[#1] nobreak %%No difference
defhf@hangfrom
makeatother

begindocument

tstcmd1 fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf
fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf fsdfsd fsdfsd
pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf fsdfsd

hf[1] nobreak fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw
hojsoisdjf fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf
fsdfsd fsdfsd pppwp fsdfsd fsdfsd ewrwerw hojsoisdjf fsdfsd

enddocument




Even if DeclareRobustCommand is used, the extra space remains, and apparently the nobreak in tstcmd is not effective. Does anyone know why it is like this and how to fix it? Thanks in advance.







horizontal-alignment






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 21 at 6:07









SaadSaad

152210




152210







  • 1





    DeclareRobustCommand has nothing to do with the problems you described. nobreak should precede a skip (your space), not follow it. Your extraneous space comes from the fact that you write one in and another one after tstcmd1. I suggest something like newcommand*tstcmd[1]@hangfrom[#1]nolinebreak ignorespaces given your way of using it.

    – frougon
    Mar 21 at 7:15











  • In fact, @hangfrom puts its argument inside a box, therefore the nolinebreak is useless as written in my previous comment. It would be better before the ignorespaces, I think. Thus, newcommand*tstcmd[1]@hangfrom[#1] nolinebreakignorespaces.

    – frougon
    Mar 21 at 7:27












  • There may be exceptions (e.g., if the second space is followed by unskip), but usually, yes. Two space tokens.

    – frougon
    Mar 21 at 7:31











  • @frougon Now I see. Thanks a lot! Maybe you could post this as an answer so I can accept it.

    – Saad
    Mar 21 at 7:32











  • Why did you delete a question? It becomes difficult to follow...

    – frougon
    Mar 21 at 7:32












  • 1





    DeclareRobustCommand has nothing to do with the problems you described. nobreak should precede a skip (your space), not follow it. Your extraneous space comes from the fact that you write one in and another one after tstcmd1. I suggest something like newcommand*tstcmd[1]@hangfrom[#1]nolinebreak ignorespaces given your way of using it.

    – frougon
    Mar 21 at 7:15











  • In fact, @hangfrom puts its argument inside a box, therefore the nolinebreak is useless as written in my previous comment. It would be better before the ignorespaces, I think. Thus, newcommand*tstcmd[1]@hangfrom[#1] nolinebreakignorespaces.

    – frougon
    Mar 21 at 7:27












  • There may be exceptions (e.g., if the second space is followed by unskip), but usually, yes. Two space tokens.

    – frougon
    Mar 21 at 7:31











  • @frougon Now I see. Thanks a lot! Maybe you could post this as an answer so I can accept it.

    – Saad
    Mar 21 at 7:32











  • Why did you delete a question? It becomes difficult to follow...

    – frougon
    Mar 21 at 7:32







1




1





DeclareRobustCommand has nothing to do with the problems you described. nobreak should precede a skip (your space), not follow it. Your extraneous space comes from the fact that you write one in and another one after tstcmd1. I suggest something like newcommand*tstcmd[1]@hangfrom[#1]nolinebreak ignorespaces given your way of using it.

– frougon
Mar 21 at 7:15





DeclareRobustCommand has nothing to do with the problems you described. nobreak should precede a skip (your space), not follow it. Your extraneous space comes from the fact that you write one in and another one after tstcmd1. I suggest something like newcommand*tstcmd[1]@hangfrom[#1]nolinebreak ignorespaces given your way of using it.

– frougon
Mar 21 at 7:15













In fact, @hangfrom puts its argument inside a box, therefore the nolinebreak is useless as written in my previous comment. It would be better before the ignorespaces, I think. Thus, newcommand*tstcmd[1]@hangfrom[#1] nolinebreakignorespaces.

– frougon
Mar 21 at 7:27






In fact, @hangfrom puts its argument inside a box, therefore the nolinebreak is useless as written in my previous comment. It would be better before the ignorespaces, I think. Thus, newcommand*tstcmd[1]@hangfrom[#1] nolinebreakignorespaces.

– frougon
Mar 21 at 7:27














There may be exceptions (e.g., if the second space is followed by unskip), but usually, yes. Two space tokens.

– frougon
Mar 21 at 7:31





There may be exceptions (e.g., if the second space is followed by unskip), but usually, yes. Two space tokens.

– frougon
Mar 21 at 7:31













@frougon Now I see. Thanks a lot! Maybe you could post this as an answer so I can accept it.

– Saad
Mar 21 at 7:32





@frougon Now I see. Thanks a lot! Maybe you could post this as an answer so I can accept it.

– Saad
Mar 21 at 7:32













Why did you delete a question? It becomes difficult to follow...

– frougon
Mar 21 at 7:32





Why did you delete a question? It becomes difficult to follow...

– frougon
Mar 21 at 7:32










1 Answer
1






active

oldest

votes


















4














DeclareRobustCommand has nothing to do with the problems you described. It would be useful if you wanted to put your tstcmd calls inside the argument of a command such as section, where stuff that is not protect'ed gets expanded before it is written to the .toc file. DeclareRobustCommand would make sure the command isn't expanded in such cases, but it doesn't seem very useful here.



nobreak should precede a glue item (here, your space) when you don't want it to be a legal breakpoint, not follow it. Your extraneous space comes from the fact that you wrote one space token in inside the macro definition and another one at the call site right after tstcmd1. I'd suggest something like:



newcommand*tstcmd[1]%
@hangfrom[#1] nolinebreakignorespaces


given your way of using the command (i.e., with one space token afterwards that should be ignored).






share|improve this answer























    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%2f480625%2fextra-space-after-hangfrom%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









    4














    DeclareRobustCommand has nothing to do with the problems you described. It would be useful if you wanted to put your tstcmd calls inside the argument of a command such as section, where stuff that is not protect'ed gets expanded before it is written to the .toc file. DeclareRobustCommand would make sure the command isn't expanded in such cases, but it doesn't seem very useful here.



    nobreak should precede a glue item (here, your space) when you don't want it to be a legal breakpoint, not follow it. Your extraneous space comes from the fact that you wrote one space token in inside the macro definition and another one at the call site right after tstcmd1. I'd suggest something like:



    newcommand*tstcmd[1]%
    @hangfrom[#1] nolinebreakignorespaces


    given your way of using the command (i.e., with one space token afterwards that should be ignored).






    share|improve this answer



























      4














      DeclareRobustCommand has nothing to do with the problems you described. It would be useful if you wanted to put your tstcmd calls inside the argument of a command such as section, where stuff that is not protect'ed gets expanded before it is written to the .toc file. DeclareRobustCommand would make sure the command isn't expanded in such cases, but it doesn't seem very useful here.



      nobreak should precede a glue item (here, your space) when you don't want it to be a legal breakpoint, not follow it. Your extraneous space comes from the fact that you wrote one space token in inside the macro definition and another one at the call site right after tstcmd1. I'd suggest something like:



      newcommand*tstcmd[1]%
      @hangfrom[#1] nolinebreakignorespaces


      given your way of using the command (i.e., with one space token afterwards that should be ignored).






      share|improve this answer

























        4












        4








        4







        DeclareRobustCommand has nothing to do with the problems you described. It would be useful if you wanted to put your tstcmd calls inside the argument of a command such as section, where stuff that is not protect'ed gets expanded before it is written to the .toc file. DeclareRobustCommand would make sure the command isn't expanded in such cases, but it doesn't seem very useful here.



        nobreak should precede a glue item (here, your space) when you don't want it to be a legal breakpoint, not follow it. Your extraneous space comes from the fact that you wrote one space token in inside the macro definition and another one at the call site right after tstcmd1. I'd suggest something like:



        newcommand*tstcmd[1]%
        @hangfrom[#1] nolinebreakignorespaces


        given your way of using the command (i.e., with one space token afterwards that should be ignored).






        share|improve this answer













        DeclareRobustCommand has nothing to do with the problems you described. It would be useful if you wanted to put your tstcmd calls inside the argument of a command such as section, where stuff that is not protect'ed gets expanded before it is written to the .toc file. DeclareRobustCommand would make sure the command isn't expanded in such cases, but it doesn't seem very useful here.



        nobreak should precede a glue item (here, your space) when you don't want it to be a legal breakpoint, not follow it. Your extraneous space comes from the fact that you wrote one space token in inside the macro definition and another one at the call site right after tstcmd1. I'd suggest something like:



        newcommand*tstcmd[1]%
        @hangfrom[#1] nolinebreakignorespaces


        given your way of using the command (i.e., with one space token afterwards that should be ignored).







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 21 at 7:45









        frougonfrougon

        726611




        726611



























            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%2f480625%2fextra-space-after-hangfrom%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

            Lowndes Grove History Architecture References Navigation menu32°48′6″N 79°57′58″W / 32.80167°N 79.96611°W / 32.80167; -79.9661132°48′6″N 79°57′58″W / 32.80167°N 79.96611°W / 32.80167; -79.9661178002500"National Register Information System"Historic houses of South Carolina"Lowndes Grove""+32° 48' 6.00", −79° 57' 58.00""Lowndes Grove, Charleston County (260 St. Margaret St., Charleston)""Lowndes Grove"The Charleston ExpositionIt Happened in South Carolina"Lowndes Grove (House), Saint Margaret Street & Sixth Avenue, Charleston, Charleston County, SC(Photographs)"Plantations of the Carolina Low Countrye

            random experiment with two different functions on unit interval Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern)Random variable and probability space notionsRandom Walk with EdgesFinding functions where the increase over a random interval is Poisson distributedNumber of days until dayCan an observed event in fact be of zero probability?Unit random processmodels of coins and uniform distributionHow to get the number of successes given $n$ trials , probability $P$ and a random variable $X$Absorbing Markov chain in a computer. Is “almost every” turned into always convergence in computer executions?Stopped random walk is not uniformly integrable

            How should I support this large drywall patch? Planned maintenance scheduled April 23, 2019 at 00:00UTC (8:00pm US/Eastern) Announcing the arrival of Valued Associate #679: Cesar Manara Unicorn Meta Zoo #1: Why another podcast?How do I cover large gaps in drywall?How do I keep drywall around a patch from crumbling?Can I glue a second layer of drywall?How to patch long strip on drywall?Large drywall patch: how to avoid bulging seams?Drywall Mesh Patch vs. Bulge? To remove or not to remove?How to fix this drywall job?Prep drywall before backsplashWhat's the best way to fix this horrible drywall patch job?Drywall patching using 3M Patch Plus Primer