How to understand which control sequence in undefined in “Undefined control sequence.” message?












1















I got "Undefined control sequence." message, but from ...sdir{directlua{tex.sprint(lfs.currentdir())} I do not understand, on which control sequence LuaLaTeX refers:



enter image description here



How can I explore it?



The MWE is



documentclass[a4paper, twoside]{ltjsarticle}

usepackage{luatexja-fontspec}

edefcurrfileabsdir{directlua{tex.sprint(lfs.currentdir())}/}

begin{document}
done
end{document}









share|improve this question


















  • 1





    Your file compiles without errors for me (TL 2018).

    – Alan Munn
    5 hours ago






  • 1





    Is there a non-ascii character in your user name you wiped out?

    – Kurt
    5 hours ago











  • @AlanMunn, Thank you for try. Did you compile by LuaLaTeX? It's interesting, what I missed. I'll upload a screencast later.

    – Gurebu Bokofu
    5 hours ago











  • @Kurt, no. Anyway, the cause is not here because I compile other LuaLaTeX project without errors on same PC.

    – Gurebu Bokofu
    5 hours ago











  • Use tex.sprint(-2,lfs.currentdir()) to switch to verbatim catcodes.

    – Henri Menke
    4 hours ago
















1















I got "Undefined control sequence." message, but from ...sdir{directlua{tex.sprint(lfs.currentdir())} I do not understand, on which control sequence LuaLaTeX refers:



enter image description here



How can I explore it?



The MWE is



documentclass[a4paper, twoside]{ltjsarticle}

usepackage{luatexja-fontspec}

edefcurrfileabsdir{directlua{tex.sprint(lfs.currentdir())}/}

begin{document}
done
end{document}









share|improve this question


















  • 1





    Your file compiles without errors for me (TL 2018).

    – Alan Munn
    5 hours ago






  • 1





    Is there a non-ascii character in your user name you wiped out?

    – Kurt
    5 hours ago











  • @AlanMunn, Thank you for try. Did you compile by LuaLaTeX? It's interesting, what I missed. I'll upload a screencast later.

    – Gurebu Bokofu
    5 hours ago











  • @Kurt, no. Anyway, the cause is not here because I compile other LuaLaTeX project without errors on same PC.

    – Gurebu Bokofu
    5 hours ago











  • Use tex.sprint(-2,lfs.currentdir()) to switch to verbatim catcodes.

    – Henri Menke
    4 hours ago














1












1








1








I got "Undefined control sequence." message, but from ...sdir{directlua{tex.sprint(lfs.currentdir())} I do not understand, on which control sequence LuaLaTeX refers:



enter image description here



How can I explore it?



The MWE is



documentclass[a4paper, twoside]{ltjsarticle}

usepackage{luatexja-fontspec}

edefcurrfileabsdir{directlua{tex.sprint(lfs.currentdir())}/}

begin{document}
done
end{document}









share|improve this question














I got "Undefined control sequence." message, but from ...sdir{directlua{tex.sprint(lfs.currentdir())} I do not understand, on which control sequence LuaLaTeX refers:



enter image description here



How can I explore it?



The MWE is



documentclass[a4paper, twoside]{ltjsarticle}

usepackage{luatexja-fontspec}

edefcurrfileabsdir{directlua{tex.sprint(lfs.currentdir())}/}

begin{document}
done
end{document}






luatex






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 5 hours ago









Gurebu BokofuGurebu Bokofu

3151316




3151316








  • 1





    Your file compiles without errors for me (TL 2018).

    – Alan Munn
    5 hours ago






  • 1





    Is there a non-ascii character in your user name you wiped out?

    – Kurt
    5 hours ago











  • @AlanMunn, Thank you for try. Did you compile by LuaLaTeX? It's interesting, what I missed. I'll upload a screencast later.

    – Gurebu Bokofu
    5 hours ago











  • @Kurt, no. Anyway, the cause is not here because I compile other LuaLaTeX project without errors on same PC.

    – Gurebu Bokofu
    5 hours ago











  • Use tex.sprint(-2,lfs.currentdir()) to switch to verbatim catcodes.

    – Henri Menke
    4 hours ago














  • 1





    Your file compiles without errors for me (TL 2018).

    – Alan Munn
    5 hours ago






  • 1





    Is there a non-ascii character in your user name you wiped out?

    – Kurt
    5 hours ago











  • @AlanMunn, Thank you for try. Did you compile by LuaLaTeX? It's interesting, what I missed. I'll upload a screencast later.

    – Gurebu Bokofu
    5 hours ago











  • @Kurt, no. Anyway, the cause is not here because I compile other LuaLaTeX project without errors on same PC.

    – Gurebu Bokofu
    5 hours ago











  • Use tex.sprint(-2,lfs.currentdir()) to switch to verbatim catcodes.

    – Henri Menke
    4 hours ago








1




1





Your file compiles without errors for me (TL 2018).

– Alan Munn
5 hours ago





Your file compiles without errors for me (TL 2018).

– Alan Munn
5 hours ago




1




1





Is there a non-ascii character in your user name you wiped out?

– Kurt
5 hours ago





Is there a non-ascii character in your user name you wiped out?

– Kurt
5 hours ago













@AlanMunn, Thank you for try. Did you compile by LuaLaTeX? It's interesting, what I missed. I'll upload a screencast later.

– Gurebu Bokofu
5 hours ago





@AlanMunn, Thank you for try. Did you compile by LuaLaTeX? It's interesting, what I missed. I'll upload a screencast later.

– Gurebu Bokofu
5 hours ago













@Kurt, no. Anyway, the cause is not here because I compile other LuaLaTeX project without errors on same PC.

– Gurebu Bokofu
5 hours ago





@Kurt, no. Anyway, the cause is not here because I compile other LuaLaTeX project without errors on same PC.

– Gurebu Bokofu
5 hours ago













Use tex.sprint(-2,lfs.currentdir()) to switch to verbatim catcodes.

– Henri Menke
4 hours ago





Use tex.sprint(-2,lfs.currentdir()) to switch to verbatim catcodes.

– Henri Menke
4 hours ago










2 Answers
2






active

oldest

votes


















3














The undefined control sequence is Users which is part of the path. Even though here is meant to be the path separator, LuaTeX doesn't know that and just feeds the path with the currently active catcodes back to TeX, where happens to be the escape characters. Luckily, you can tell tex.sprint to use a different catcode table using an optional argument. To use verbatim catcodes (everything is catcode 12, except space which retains catcode 10) use the catcode table with number -2.



edefcurrfileabsdir{directlua{tex.sprint(-2, lfs.currentdir())}/}





share|improve this answer
























  • That why I did not understand... You have the deep understanding. Thank you for the answer!

    – Gurebu Bokofu
    3 hours ago



















2














The undefined control sequence is the thing just before the line break:



documentclass{article}
begin{document}
quadacommandthatdoesntexistquad
end{document}


Has the output:



! Undefined control sequence.
<*> quadacommandthatdoesntexist
quad


In your case, that appears to be Users, which may suggest that TeX is trying to read a Windows path and interpreting the as beginning a command. You'll probably need a package that can navigate Windows directories.






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%2f482016%2fhow-to-understand-which-control-sequence-in-undefined-in-undefined-control-sequ%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









    3














    The undefined control sequence is Users which is part of the path. Even though here is meant to be the path separator, LuaTeX doesn't know that and just feeds the path with the currently active catcodes back to TeX, where happens to be the escape characters. Luckily, you can tell tex.sprint to use a different catcode table using an optional argument. To use verbatim catcodes (everything is catcode 12, except space which retains catcode 10) use the catcode table with number -2.



    edefcurrfileabsdir{directlua{tex.sprint(-2, lfs.currentdir())}/}





    share|improve this answer
























    • That why I did not understand... You have the deep understanding. Thank you for the answer!

      – Gurebu Bokofu
      3 hours ago
















    3














    The undefined control sequence is Users which is part of the path. Even though here is meant to be the path separator, LuaTeX doesn't know that and just feeds the path with the currently active catcodes back to TeX, where happens to be the escape characters. Luckily, you can tell tex.sprint to use a different catcode table using an optional argument. To use verbatim catcodes (everything is catcode 12, except space which retains catcode 10) use the catcode table with number -2.



    edefcurrfileabsdir{directlua{tex.sprint(-2, lfs.currentdir())}/}





    share|improve this answer
























    • That why I did not understand... You have the deep understanding. Thank you for the answer!

      – Gurebu Bokofu
      3 hours ago














    3












    3








    3







    The undefined control sequence is Users which is part of the path. Even though here is meant to be the path separator, LuaTeX doesn't know that and just feeds the path with the currently active catcodes back to TeX, where happens to be the escape characters. Luckily, you can tell tex.sprint to use a different catcode table using an optional argument. To use verbatim catcodes (everything is catcode 12, except space which retains catcode 10) use the catcode table with number -2.



    edefcurrfileabsdir{directlua{tex.sprint(-2, lfs.currentdir())}/}





    share|improve this answer













    The undefined control sequence is Users which is part of the path. Even though here is meant to be the path separator, LuaTeX doesn't know that and just feeds the path with the currently active catcodes back to TeX, where happens to be the escape characters. Luckily, you can tell tex.sprint to use a different catcode table using an optional argument. To use verbatim catcodes (everything is catcode 12, except space which retains catcode 10) use the catcode table with number -2.



    edefcurrfileabsdir{directlua{tex.sprint(-2, lfs.currentdir())}/}






    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered 3 hours ago









    Henri MenkeHenri Menke

    77.2k8170284




    77.2k8170284













    • That why I did not understand... You have the deep understanding. Thank you for the answer!

      – Gurebu Bokofu
      3 hours ago



















    • That why I did not understand... You have the deep understanding. Thank you for the answer!

      – Gurebu Bokofu
      3 hours ago

















    That why I did not understand... You have the deep understanding. Thank you for the answer!

    – Gurebu Bokofu
    3 hours ago





    That why I did not understand... You have the deep understanding. Thank you for the answer!

    – Gurebu Bokofu
    3 hours ago











    2














    The undefined control sequence is the thing just before the line break:



    documentclass{article}
    begin{document}
    quadacommandthatdoesntexistquad
    end{document}


    Has the output:



    ! Undefined control sequence.
    <*> quadacommandthatdoesntexist
    quad


    In your case, that appears to be Users, which may suggest that TeX is trying to read a Windows path and interpreting the as beginning a command. You'll probably need a package that can navigate Windows directories.






    share|improve this answer




























      2














      The undefined control sequence is the thing just before the line break:



      documentclass{article}
      begin{document}
      quadacommandthatdoesntexistquad
      end{document}


      Has the output:



      ! Undefined control sequence.
      <*> quadacommandthatdoesntexist
      quad


      In your case, that appears to be Users, which may suggest that TeX is trying to read a Windows path and interpreting the as beginning a command. You'll probably need a package that can navigate Windows directories.






      share|improve this answer


























        2












        2








        2







        The undefined control sequence is the thing just before the line break:



        documentclass{article}
        begin{document}
        quadacommandthatdoesntexistquad
        end{document}


        Has the output:



        ! Undefined control sequence.
        <*> quadacommandthatdoesntexist
        quad


        In your case, that appears to be Users, which may suggest that TeX is trying to read a Windows path and interpreting the as beginning a command. You'll probably need a package that can navigate Windows directories.






        share|improve this answer













        The undefined control sequence is the thing just before the line break:



        documentclass{article}
        begin{document}
        quadacommandthatdoesntexistquad
        end{document}


        Has the output:



        ! Undefined control sequence.
        <*> quadacommandthatdoesntexist
        quad


        In your case, that appears to be Users, which may suggest that TeX is trying to read a Windows path and interpreting the as beginning a command. You'll probably need a package that can navigate Windows directories.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 4 hours ago









        TeepeemmTeepeemm

        1,738717




        1,738717






























            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%2f482016%2fhow-to-understand-which-control-sequence-in-undefined-in-undefined-control-sequ%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

            Сан-Квентин

            Алькесар

            Josef Freinademetz