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

            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

            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

            Kathakali Contents Etymology and nomenclature History Repertoire Songs and musical instruments Traditional plays Styles: Sampradayam Training centers and awards Relationship to other dance forms See also Notes References External links Navigation menueThe Illustrated Encyclopedia of Hinduism: A-MSouth Asian Folklore: An EncyclopediaRoutledge International Encyclopedia of Women: Global Women's Issues and KnowledgeKathakali Dance-drama: Where Gods and Demons Come to PlayKathakali Dance-drama: Where Gods and Demons Come to PlayKathakali Dance-drama: Where Gods and Demons Come to Play10.1353/atj.2005.0004The Illustrated Encyclopedia of Hinduism: A-MEncyclopedia of HinduismKathakali Dance-drama: Where Gods and Demons Come to PlaySonic Liturgy: Ritual and Music in Hindu Tradition"The Mirror of Gesture"Kathakali Dance-drama: Where Gods and Demons Come to Play"Kathakali"Indian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceMedieval Indian Literature: An AnthologyThe Oxford Companion to Indian TheatreSouth Asian Folklore: An Encyclopedia : Afghanistan, Bangladesh, India, Nepal, Pakistan, Sri LankaThe Rise of Performance Studies: Rethinking Richard Schechner's Broad SpectrumIndian Theatre: Traditions of PerformanceModern Asian Theatre and Performance 1900-2000Critical Theory and PerformanceBetween Theater and AnthropologyKathakali603847011Indian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceIndian Theatre: Traditions of PerformanceBetween Theater and AnthropologyBetween Theater and AnthropologyNambeesan Smaraka AwardsArchivedThe Cambridge Guide to TheatreRoutledge International Encyclopedia of Women: Global Women's Issues and KnowledgeThe Garland Encyclopedia of World Music: South Asia : the Indian subcontinentThe Ethos of Noh: Actors and Their Art10.2307/1145740By Means of Performance: Intercultural Studies of Theatre and Ritual10.1017/s204912550000100xReconceiving the Renaissance: A Critical ReaderPerformance TheoryListening to Theatre: The Aural Dimension of Beijing Opera10.2307/1146013Kathakali: The Art of the Non-WorldlyOn KathakaliKathakali, the dance theatreThe Kathakali Complex: Performance & StructureKathakali Dance-Drama: Where Gods and Demons Come to Play10.1093/obo/9780195399318-0071Drama and Ritual of Early Hinduism"In the Shadow of Hollywood Orientalism: Authentic East Indian Dancing"10.1080/08949460490274013Sanskrit Play Production in Ancient IndiaIndian Music: History and StructureBharata, the Nāṭyaśāstra233639306Table of Contents2238067286469807Dance In Indian Painting10.2307/32047833204783Kathakali Dance-Theatre: A Visual Narrative of Sacred Indian MimeIndian Classical Dance: The Renaissance and BeyondKathakali: an indigenous art-form of Keralaeee