Strange lines in front of the document












3















I want to create a document with the iodhbwm class. If I compile it the first time it works fine. But if I compile it a seccond time this lines apear at the begin of the document:




id=1,dest=636861707465722E31,srcline=235C3333346265727363687269667420617566204562656E6
id=2,dest=73656374696F6E2E312E31,srcline=235C3333346265727363687269667420617566204562
id=3,dest=73756273656374696F6E2E312E312E31,srcline=235C333334626572736368726966742061
id=4,dest=73656374696F6E2E312E32,srcline=234C697374656E
id=5,dest=73756273656374696F6
id=6,dest=73756273656374696F6E2E312E322E32,srcline=23426569737069656C2065696E6572204
id=7,dest=73756273656374696F6E2E312E322E33,srcline=23426569737069656C2065696E6572204




The log file shows the following error:




! Undefined control sequence. l.22 BKM@entry
{id=1,dest={636861707465722E31},srcline={23}}{5C3333346265727...



?



! LaTeX Error: Missing begin{document}.



See the LaTeX manual or LaTeX Companion for explanation. Type H
for immediate help. ...



                                               l.22 BKM@entry{i
d=1,dest={636861707465722E31},srcline={23}}{5C3333346265727...


? ! Undefined control sequence. l.23 BKM@entry
{id=2,dest={73656374696F6E2E312E31},srcline={23}}{5C333334626...




I already contacted the author of the iodhbwm class. But he was not able to reproduce this error. Because of this he couldn't help me.



Now I think that it must be something else. I compile this code. It is an example from the documentation of iodhbwm.



documentclass[
load-dhbw-templates,
auto-intro-pages = default,
add-tocs-to-toc,
debug,
language = ngerman
]{iodhbwm}
usepackage[T1]{fontenc}

dhbwsetup{%
author = my name,
thesis type = SA,
thesis title = Verwendung von iodhbwm,
student id = 12345,
institute = Masterfind Factory faltfe,
course/id = Txxxx,
supervisor = Pikachu und Enton,
processing period = {01.01.17 -- 31.01.17},
location = Dreamtown
}

begin{document}
Blinddocument
end{document}


I am using MikTex 2.9.6941 on Windows 7 and I reinstalled MikTex two times.



Realy interessting is, that this lines disappear if I include hyperref. But normaly the class is doing this by it self.



Do somebody know why there are this lines?
Is somebody else able to reproduce this errors?










share|improve this question























  • Thanks for asking. Just for further references I'll link this to github.com/faltfe/iodhbwm/issues/40

    – faltfe
    Jan 17 at 15:14
















3















I want to create a document with the iodhbwm class. If I compile it the first time it works fine. But if I compile it a seccond time this lines apear at the begin of the document:




id=1,dest=636861707465722E31,srcline=235C3333346265727363687269667420617566204562656E6
id=2,dest=73656374696F6E2E312E31,srcline=235C3333346265727363687269667420617566204562
id=3,dest=73756273656374696F6E2E312E312E31,srcline=235C333334626572736368726966742061
id=4,dest=73656374696F6E2E312E32,srcline=234C697374656E
id=5,dest=73756273656374696F6
id=6,dest=73756273656374696F6E2E312E322E32,srcline=23426569737069656C2065696E6572204
id=7,dest=73756273656374696F6E2E312E322E33,srcline=23426569737069656C2065696E6572204




The log file shows the following error:




! Undefined control sequence. l.22 BKM@entry
{id=1,dest={636861707465722E31},srcline={23}}{5C3333346265727...



?



! LaTeX Error: Missing begin{document}.



See the LaTeX manual or LaTeX Companion for explanation. Type H
for immediate help. ...



                                               l.22 BKM@entry{i
d=1,dest={636861707465722E31},srcline={23}}{5C3333346265727...


? ! Undefined control sequence. l.23 BKM@entry
{id=2,dest={73656374696F6E2E312E31},srcline={23}}{5C333334626...




I already contacted the author of the iodhbwm class. But he was not able to reproduce this error. Because of this he couldn't help me.



Now I think that it must be something else. I compile this code. It is an example from the documentation of iodhbwm.



documentclass[
load-dhbw-templates,
auto-intro-pages = default,
add-tocs-to-toc,
debug,
language = ngerman
]{iodhbwm}
usepackage[T1]{fontenc}

dhbwsetup{%
author = my name,
thesis type = SA,
thesis title = Verwendung von iodhbwm,
student id = 12345,
institute = Masterfind Factory faltfe,
course/id = Txxxx,
supervisor = Pikachu und Enton,
processing period = {01.01.17 -- 31.01.17},
location = Dreamtown
}

begin{document}
Blinddocument
end{document}


I am using MikTex 2.9.6941 on Windows 7 and I reinstalled MikTex two times.



Realy interessting is, that this lines disappear if I include hyperref. But normaly the class is doing this by it self.



Do somebody know why there are this lines?
Is somebody else able to reproduce this errors?










share|improve this question























  • Thanks for asking. Just for further references I'll link this to github.com/faltfe/iodhbwm/issues/40

    – faltfe
    Jan 17 at 15:14














3












3








3








I want to create a document with the iodhbwm class. If I compile it the first time it works fine. But if I compile it a seccond time this lines apear at the begin of the document:




id=1,dest=636861707465722E31,srcline=235C3333346265727363687269667420617566204562656E6
id=2,dest=73656374696F6E2E312E31,srcline=235C3333346265727363687269667420617566204562
id=3,dest=73756273656374696F6E2E312E312E31,srcline=235C333334626572736368726966742061
id=4,dest=73656374696F6E2E312E32,srcline=234C697374656E
id=5,dest=73756273656374696F6
id=6,dest=73756273656374696F6E2E312E322E32,srcline=23426569737069656C2065696E6572204
id=7,dest=73756273656374696F6E2E312E322E33,srcline=23426569737069656C2065696E6572204




The log file shows the following error:




! Undefined control sequence. l.22 BKM@entry
{id=1,dest={636861707465722E31},srcline={23}}{5C3333346265727...



?



! LaTeX Error: Missing begin{document}.



See the LaTeX manual or LaTeX Companion for explanation. Type H
for immediate help. ...



                                               l.22 BKM@entry{i
d=1,dest={636861707465722E31},srcline={23}}{5C3333346265727...


? ! Undefined control sequence. l.23 BKM@entry
{id=2,dest={73656374696F6E2E312E31},srcline={23}}{5C333334626...




I already contacted the author of the iodhbwm class. But he was not able to reproduce this error. Because of this he couldn't help me.



Now I think that it must be something else. I compile this code. It is an example from the documentation of iodhbwm.



documentclass[
load-dhbw-templates,
auto-intro-pages = default,
add-tocs-to-toc,
debug,
language = ngerman
]{iodhbwm}
usepackage[T1]{fontenc}

dhbwsetup{%
author = my name,
thesis type = SA,
thesis title = Verwendung von iodhbwm,
student id = 12345,
institute = Masterfind Factory faltfe,
course/id = Txxxx,
supervisor = Pikachu und Enton,
processing period = {01.01.17 -- 31.01.17},
location = Dreamtown
}

begin{document}
Blinddocument
end{document}


I am using MikTex 2.9.6941 on Windows 7 and I reinstalled MikTex two times.



Realy interessting is, that this lines disappear if I include hyperref. But normaly the class is doing this by it self.



Do somebody know why there are this lines?
Is somebody else able to reproduce this errors?










share|improve this question














I want to create a document with the iodhbwm class. If I compile it the first time it works fine. But if I compile it a seccond time this lines apear at the begin of the document:




id=1,dest=636861707465722E31,srcline=235C3333346265727363687269667420617566204562656E6
id=2,dest=73656374696F6E2E312E31,srcline=235C3333346265727363687269667420617566204562
id=3,dest=73756273656374696F6E2E312E312E31,srcline=235C333334626572736368726966742061
id=4,dest=73656374696F6E2E312E32,srcline=234C697374656E
id=5,dest=73756273656374696F6
id=6,dest=73756273656374696F6E2E312E322E32,srcline=23426569737069656C2065696E6572204
id=7,dest=73756273656374696F6E2E312E322E33,srcline=23426569737069656C2065696E6572204




The log file shows the following error:




! Undefined control sequence. l.22 BKM@entry
{id=1,dest={636861707465722E31},srcline={23}}{5C3333346265727...



?



! LaTeX Error: Missing begin{document}.



See the LaTeX manual or LaTeX Companion for explanation. Type H
for immediate help. ...



                                               l.22 BKM@entry{i
d=1,dest={636861707465722E31},srcline={23}}{5C3333346265727...


? ! Undefined control sequence. l.23 BKM@entry
{id=2,dest={73656374696F6E2E312E31},srcline={23}}{5C333334626...




I already contacted the author of the iodhbwm class. But he was not able to reproduce this error. Because of this he couldn't help me.



Now I think that it must be something else. I compile this code. It is an example from the documentation of iodhbwm.



documentclass[
load-dhbw-templates,
auto-intro-pages = default,
add-tocs-to-toc,
debug,
language = ngerman
]{iodhbwm}
usepackage[T1]{fontenc}

dhbwsetup{%
author = my name,
thesis type = SA,
thesis title = Verwendung von iodhbwm,
student id = 12345,
institute = Masterfind Factory faltfe,
course/id = Txxxx,
supervisor = Pikachu und Enton,
processing period = {01.01.17 -- 31.01.17},
location = Dreamtown
}

begin{document}
Blinddocument
end{document}


I am using MikTex 2.9.6941 on Windows 7 and I reinstalled MikTex two times.



Realy interessting is, that this lines disappear if I include hyperref. But normaly the class is doing this by it self.



Do somebody know why there are this lines?
Is somebody else able to reproduce this errors?







hyperref






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 17 at 12:20









AhrtalerAhrtaler

976




976













  • Thanks for asking. Just for further references I'll link this to github.com/faltfe/iodhbwm/issues/40

    – faltfe
    Jan 17 at 15:14



















  • Thanks for asking. Just for further references I'll link this to github.com/faltfe/iodhbwm/issues/40

    – faltfe
    Jan 17 at 15:14

















Thanks for asking. Just for further references I'll link this to github.com/faltfe/iodhbwm/issues/40

– faltfe
Jan 17 at 15:14





Thanks for asking. Just for further references I'll link this to github.com/faltfe/iodhbwm/issues/40

– faltfe
Jan 17 at 15:14










3 Answers
3






active

oldest

votes


















5














The problem is that the KOMA-classes now load bookmark if hyperref is detected. It is doing it in a AfterAtEndOfPackage command. The iodhbwm class loads hyperref in AtEndPreamble, so bookmark is loaded then too and this is too late for it: bookmark can't write to the aux-file the needed line



providecommandBKM@entry[2]{}


An simple document to reproduce the problem:



documentclass{scrreprt}
usepackage{etoolbox}
AtEndPreamble{
usepackage{hyperref}
}

begin{document}
chapter{abc}
end{document}


Probably the only work-around is to prevent that bookmark is loaded:



documentclass[bookmarkpackage=false]{scrreprt}
usepackage{etoolbox}
AtEndPreamble{
usepackage{hyperref}
}

begin{document}
chapter{abc}
end{document}


Edit



A simple work-around is to load auxhook earlier:



documentclass{scrreprt}
usepackage{etoolbox,auxhook}
AtEndPreamble{
usepackage{hyperref}
}

begin{document}
chapter{abc}
end{document}





share|improve this answer


























  • I think I know what you mean. But wouldn't it help if I write documentclass[bookmarkpackage=false, load-dhbw-templates, auto-intro-pages = default, add-tocs-to-toc, debug, language = ngerman]{iodhbwm}

    – Ahrtaler
    Jan 17 at 15:56













  • Well, thanks for your example. I'll try your solution soon. Would there be any issue if I load bookmark by default too?

    – faltfe
    Jan 17 at 15:56






  • 1





    bookmark loads hyperref. If you load it in the preamble it could be too early - at least the language will perhaps not correctly be passed by the class - this could affect autoref.

    – Ulrike Fischer
    Jan 17 at 16:02











  • @Ulrike The problem is not, that loading of bookmark it to late. The problem is, that loading auxhook (indirect via hyperref) via AtEndPreamble does break this package and the AddLineBeginMainAux code is never written to aux file—not only the lines added from bookmarks but all lines, e.g. the initial providecommandhyper@newdestlabel[2]{} of hyperref. auxhook is prepared to be loaded via AtBeginDocument but not via AtEndPreamble. So package authors should avoid this!

    – Schweinebacke
    Jan 17 at 21:36



















0














Thanks to answer from Ulrike the problem is a change within KOMAScript.



At the moment there is no support to pass a key value option which does not belong to the iodhbwm class itself.



There are to possibilities to fix this issue for now. The first one is loading bookmark in the preamble itself.



documentclass[...]{iodhbwm}
usepackage{bookmark}


The second option is to use an internal command which is used to pass options to the base class.



makeatletter
newcommand{iodhbwm@cls@baseclass@options}{bookmarkpackage=false}
makeatother


A complete example would look like



makeatletter
newcommand{iodhbwm@cls@baseclass@options}{bookmarkpackage=false}
makeatother
documentclass[
load-dhbw-templates,
auto-intro-pages = default,
add-tocs-to-toc,
debug,
language = ngerman
]{iodhbwm}
usepackage[T1]{fontenc}

dhbwsetup{%
author = my name,
thesis type = SA,
thesis title = Verwendung von iodhbwm,
student id = 12345,
institute = Masterfind Factory faltfe,
course/id = Txxxx,
supervisor = Pikachu und Enton,
processing period = {01.01.17 -- 31.01.17},
location = Dreamtown
}

begin{document}
Blinddocument
end{document}


But please don't abuse the internal command.






share|improve this answer





















  • 1





    Another possibility is to write yourself early enough providecommandBKM@entry[2]{} to the aux-file.

    – Ulrike Fischer
    Jan 17 at 16:34











  • KOMA will implement a work-around.

    – Ulrike Fischer
    Jan 17 at 20:22



















0














The main problem is not KOMA-Script. bookmark uses package auxhook to write the definition of a command into the aux-file. AddLineBeginMainAux of auxhook has two different modes of working:




  • If @beginmainauxhook is relax, it writes immediately to the aux-file.

  • If @beginmainauxhook is not relax, AddLineBeginMainAux adds its argument to @beginmainauxhook.


If the package is loaded via AtBeginDocument it initializes @beginmainauxhook with relax. If not, it initializes it to make itself relax and tries to patch document to add the execution of @beginmainauxhook just after the opening of the main aux file.



Now, if you load hyperref via AtEndPreamble, hyperref loads auxhook and auxhook cannot recognize, that patching of document is to late. Because of this @beginmainauxhook is never executed.



So the bug is, to load hyperref via AtEndPreamble without loading auxhook before begin{document} and without explicite executing @beginmainauxhook. If you have a look into the aux-file you will find in this case also, that the line



providecommandhyper@newdestlabel[2]{}


that hyperref usually writes into the aux-file (immediately after the initial relax) is missing. This is because of not executing @beginmainauxhook.



So I would say, this is a bug in iodhbwm and it should be changed to load auxhook earlier. As a workaround you can load auxhook in the document preamble. Both would also bring back the line



providecommandhyper@newdestlabel[2]{}


into the aux-file.






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%2f470525%2fstrange-lines-in-front-of-the-document%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    3 Answers
    3






    active

    oldest

    votes








    3 Answers
    3






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    5














    The problem is that the KOMA-classes now load bookmark if hyperref is detected. It is doing it in a AfterAtEndOfPackage command. The iodhbwm class loads hyperref in AtEndPreamble, so bookmark is loaded then too and this is too late for it: bookmark can't write to the aux-file the needed line



    providecommandBKM@entry[2]{}


    An simple document to reproduce the problem:



    documentclass{scrreprt}
    usepackage{etoolbox}
    AtEndPreamble{
    usepackage{hyperref}
    }

    begin{document}
    chapter{abc}
    end{document}


    Probably the only work-around is to prevent that bookmark is loaded:



    documentclass[bookmarkpackage=false]{scrreprt}
    usepackage{etoolbox}
    AtEndPreamble{
    usepackage{hyperref}
    }

    begin{document}
    chapter{abc}
    end{document}


    Edit



    A simple work-around is to load auxhook earlier:



    documentclass{scrreprt}
    usepackage{etoolbox,auxhook}
    AtEndPreamble{
    usepackage{hyperref}
    }

    begin{document}
    chapter{abc}
    end{document}





    share|improve this answer


























    • I think I know what you mean. But wouldn't it help if I write documentclass[bookmarkpackage=false, load-dhbw-templates, auto-intro-pages = default, add-tocs-to-toc, debug, language = ngerman]{iodhbwm}

      – Ahrtaler
      Jan 17 at 15:56













    • Well, thanks for your example. I'll try your solution soon. Would there be any issue if I load bookmark by default too?

      – faltfe
      Jan 17 at 15:56






    • 1





      bookmark loads hyperref. If you load it in the preamble it could be too early - at least the language will perhaps not correctly be passed by the class - this could affect autoref.

      – Ulrike Fischer
      Jan 17 at 16:02











    • @Ulrike The problem is not, that loading of bookmark it to late. The problem is, that loading auxhook (indirect via hyperref) via AtEndPreamble does break this package and the AddLineBeginMainAux code is never written to aux file—not only the lines added from bookmarks but all lines, e.g. the initial providecommandhyper@newdestlabel[2]{} of hyperref. auxhook is prepared to be loaded via AtBeginDocument but not via AtEndPreamble. So package authors should avoid this!

      – Schweinebacke
      Jan 17 at 21:36
















    5














    The problem is that the KOMA-classes now load bookmark if hyperref is detected. It is doing it in a AfterAtEndOfPackage command. The iodhbwm class loads hyperref in AtEndPreamble, so bookmark is loaded then too and this is too late for it: bookmark can't write to the aux-file the needed line



    providecommandBKM@entry[2]{}


    An simple document to reproduce the problem:



    documentclass{scrreprt}
    usepackage{etoolbox}
    AtEndPreamble{
    usepackage{hyperref}
    }

    begin{document}
    chapter{abc}
    end{document}


    Probably the only work-around is to prevent that bookmark is loaded:



    documentclass[bookmarkpackage=false]{scrreprt}
    usepackage{etoolbox}
    AtEndPreamble{
    usepackage{hyperref}
    }

    begin{document}
    chapter{abc}
    end{document}


    Edit



    A simple work-around is to load auxhook earlier:



    documentclass{scrreprt}
    usepackage{etoolbox,auxhook}
    AtEndPreamble{
    usepackage{hyperref}
    }

    begin{document}
    chapter{abc}
    end{document}





    share|improve this answer


























    • I think I know what you mean. But wouldn't it help if I write documentclass[bookmarkpackage=false, load-dhbw-templates, auto-intro-pages = default, add-tocs-to-toc, debug, language = ngerman]{iodhbwm}

      – Ahrtaler
      Jan 17 at 15:56













    • Well, thanks for your example. I'll try your solution soon. Would there be any issue if I load bookmark by default too?

      – faltfe
      Jan 17 at 15:56






    • 1





      bookmark loads hyperref. If you load it in the preamble it could be too early - at least the language will perhaps not correctly be passed by the class - this could affect autoref.

      – Ulrike Fischer
      Jan 17 at 16:02











    • @Ulrike The problem is not, that loading of bookmark it to late. The problem is, that loading auxhook (indirect via hyperref) via AtEndPreamble does break this package and the AddLineBeginMainAux code is never written to aux file—not only the lines added from bookmarks but all lines, e.g. the initial providecommandhyper@newdestlabel[2]{} of hyperref. auxhook is prepared to be loaded via AtBeginDocument but not via AtEndPreamble. So package authors should avoid this!

      – Schweinebacke
      Jan 17 at 21:36














    5












    5








    5







    The problem is that the KOMA-classes now load bookmark if hyperref is detected. It is doing it in a AfterAtEndOfPackage command. The iodhbwm class loads hyperref in AtEndPreamble, so bookmark is loaded then too and this is too late for it: bookmark can't write to the aux-file the needed line



    providecommandBKM@entry[2]{}


    An simple document to reproduce the problem:



    documentclass{scrreprt}
    usepackage{etoolbox}
    AtEndPreamble{
    usepackage{hyperref}
    }

    begin{document}
    chapter{abc}
    end{document}


    Probably the only work-around is to prevent that bookmark is loaded:



    documentclass[bookmarkpackage=false]{scrreprt}
    usepackage{etoolbox}
    AtEndPreamble{
    usepackage{hyperref}
    }

    begin{document}
    chapter{abc}
    end{document}


    Edit



    A simple work-around is to load auxhook earlier:



    documentclass{scrreprt}
    usepackage{etoolbox,auxhook}
    AtEndPreamble{
    usepackage{hyperref}
    }

    begin{document}
    chapter{abc}
    end{document}





    share|improve this answer















    The problem is that the KOMA-classes now load bookmark if hyperref is detected. It is doing it in a AfterAtEndOfPackage command. The iodhbwm class loads hyperref in AtEndPreamble, so bookmark is loaded then too and this is too late for it: bookmark can't write to the aux-file the needed line



    providecommandBKM@entry[2]{}


    An simple document to reproduce the problem:



    documentclass{scrreprt}
    usepackage{etoolbox}
    AtEndPreamble{
    usepackage{hyperref}
    }

    begin{document}
    chapter{abc}
    end{document}


    Probably the only work-around is to prevent that bookmark is loaded:



    documentclass[bookmarkpackage=false]{scrreprt}
    usepackage{etoolbox}
    AtEndPreamble{
    usepackage{hyperref}
    }

    begin{document}
    chapter{abc}
    end{document}


    Edit



    A simple work-around is to load auxhook earlier:



    documentclass{scrreprt}
    usepackage{etoolbox,auxhook}
    AtEndPreamble{
    usepackage{hyperref}
    }

    begin{document}
    chapter{abc}
    end{document}






    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Jan 17 at 20:26

























    answered Jan 17 at 15:39









    Ulrike FischerUlrike Fischer

    192k8299682




    192k8299682













    • I think I know what you mean. But wouldn't it help if I write documentclass[bookmarkpackage=false, load-dhbw-templates, auto-intro-pages = default, add-tocs-to-toc, debug, language = ngerman]{iodhbwm}

      – Ahrtaler
      Jan 17 at 15:56













    • Well, thanks for your example. I'll try your solution soon. Would there be any issue if I load bookmark by default too?

      – faltfe
      Jan 17 at 15:56






    • 1





      bookmark loads hyperref. If you load it in the preamble it could be too early - at least the language will perhaps not correctly be passed by the class - this could affect autoref.

      – Ulrike Fischer
      Jan 17 at 16:02











    • @Ulrike The problem is not, that loading of bookmark it to late. The problem is, that loading auxhook (indirect via hyperref) via AtEndPreamble does break this package and the AddLineBeginMainAux code is never written to aux file—not only the lines added from bookmarks but all lines, e.g. the initial providecommandhyper@newdestlabel[2]{} of hyperref. auxhook is prepared to be loaded via AtBeginDocument but not via AtEndPreamble. So package authors should avoid this!

      – Schweinebacke
      Jan 17 at 21:36



















    • I think I know what you mean. But wouldn't it help if I write documentclass[bookmarkpackage=false, load-dhbw-templates, auto-intro-pages = default, add-tocs-to-toc, debug, language = ngerman]{iodhbwm}

      – Ahrtaler
      Jan 17 at 15:56













    • Well, thanks for your example. I'll try your solution soon. Would there be any issue if I load bookmark by default too?

      – faltfe
      Jan 17 at 15:56






    • 1





      bookmark loads hyperref. If you load it in the preamble it could be too early - at least the language will perhaps not correctly be passed by the class - this could affect autoref.

      – Ulrike Fischer
      Jan 17 at 16:02











    • @Ulrike The problem is not, that loading of bookmark it to late. The problem is, that loading auxhook (indirect via hyperref) via AtEndPreamble does break this package and the AddLineBeginMainAux code is never written to aux file—not only the lines added from bookmarks but all lines, e.g. the initial providecommandhyper@newdestlabel[2]{} of hyperref. auxhook is prepared to be loaded via AtBeginDocument but not via AtEndPreamble. So package authors should avoid this!

      – Schweinebacke
      Jan 17 at 21:36

















    I think I know what you mean. But wouldn't it help if I write documentclass[bookmarkpackage=false, load-dhbw-templates, auto-intro-pages = default, add-tocs-to-toc, debug, language = ngerman]{iodhbwm}

    – Ahrtaler
    Jan 17 at 15:56







    I think I know what you mean. But wouldn't it help if I write documentclass[bookmarkpackage=false, load-dhbw-templates, auto-intro-pages = default, add-tocs-to-toc, debug, language = ngerman]{iodhbwm}

    – Ahrtaler
    Jan 17 at 15:56















    Well, thanks for your example. I'll try your solution soon. Would there be any issue if I load bookmark by default too?

    – faltfe
    Jan 17 at 15:56





    Well, thanks for your example. I'll try your solution soon. Would there be any issue if I load bookmark by default too?

    – faltfe
    Jan 17 at 15:56




    1




    1





    bookmark loads hyperref. If you load it in the preamble it could be too early - at least the language will perhaps not correctly be passed by the class - this could affect autoref.

    – Ulrike Fischer
    Jan 17 at 16:02





    bookmark loads hyperref. If you load it in the preamble it could be too early - at least the language will perhaps not correctly be passed by the class - this could affect autoref.

    – Ulrike Fischer
    Jan 17 at 16:02













    @Ulrike The problem is not, that loading of bookmark it to late. The problem is, that loading auxhook (indirect via hyperref) via AtEndPreamble does break this package and the AddLineBeginMainAux code is never written to aux file—not only the lines added from bookmarks but all lines, e.g. the initial providecommandhyper@newdestlabel[2]{} of hyperref. auxhook is prepared to be loaded via AtBeginDocument but not via AtEndPreamble. So package authors should avoid this!

    – Schweinebacke
    Jan 17 at 21:36





    @Ulrike The problem is not, that loading of bookmark it to late. The problem is, that loading auxhook (indirect via hyperref) via AtEndPreamble does break this package and the AddLineBeginMainAux code is never written to aux file—not only the lines added from bookmarks but all lines, e.g. the initial providecommandhyper@newdestlabel[2]{} of hyperref. auxhook is prepared to be loaded via AtBeginDocument but not via AtEndPreamble. So package authors should avoid this!

    – Schweinebacke
    Jan 17 at 21:36











    0














    Thanks to answer from Ulrike the problem is a change within KOMAScript.



    At the moment there is no support to pass a key value option which does not belong to the iodhbwm class itself.



    There are to possibilities to fix this issue for now. The first one is loading bookmark in the preamble itself.



    documentclass[...]{iodhbwm}
    usepackage{bookmark}


    The second option is to use an internal command which is used to pass options to the base class.



    makeatletter
    newcommand{iodhbwm@cls@baseclass@options}{bookmarkpackage=false}
    makeatother


    A complete example would look like



    makeatletter
    newcommand{iodhbwm@cls@baseclass@options}{bookmarkpackage=false}
    makeatother
    documentclass[
    load-dhbw-templates,
    auto-intro-pages = default,
    add-tocs-to-toc,
    debug,
    language = ngerman
    ]{iodhbwm}
    usepackage[T1]{fontenc}

    dhbwsetup{%
    author = my name,
    thesis type = SA,
    thesis title = Verwendung von iodhbwm,
    student id = 12345,
    institute = Masterfind Factory faltfe,
    course/id = Txxxx,
    supervisor = Pikachu und Enton,
    processing period = {01.01.17 -- 31.01.17},
    location = Dreamtown
    }

    begin{document}
    Blinddocument
    end{document}


    But please don't abuse the internal command.






    share|improve this answer





















    • 1





      Another possibility is to write yourself early enough providecommandBKM@entry[2]{} to the aux-file.

      – Ulrike Fischer
      Jan 17 at 16:34











    • KOMA will implement a work-around.

      – Ulrike Fischer
      Jan 17 at 20:22
















    0














    Thanks to answer from Ulrike the problem is a change within KOMAScript.



    At the moment there is no support to pass a key value option which does not belong to the iodhbwm class itself.



    There are to possibilities to fix this issue for now. The first one is loading bookmark in the preamble itself.



    documentclass[...]{iodhbwm}
    usepackage{bookmark}


    The second option is to use an internal command which is used to pass options to the base class.



    makeatletter
    newcommand{iodhbwm@cls@baseclass@options}{bookmarkpackage=false}
    makeatother


    A complete example would look like



    makeatletter
    newcommand{iodhbwm@cls@baseclass@options}{bookmarkpackage=false}
    makeatother
    documentclass[
    load-dhbw-templates,
    auto-intro-pages = default,
    add-tocs-to-toc,
    debug,
    language = ngerman
    ]{iodhbwm}
    usepackage[T1]{fontenc}

    dhbwsetup{%
    author = my name,
    thesis type = SA,
    thesis title = Verwendung von iodhbwm,
    student id = 12345,
    institute = Masterfind Factory faltfe,
    course/id = Txxxx,
    supervisor = Pikachu und Enton,
    processing period = {01.01.17 -- 31.01.17},
    location = Dreamtown
    }

    begin{document}
    Blinddocument
    end{document}


    But please don't abuse the internal command.






    share|improve this answer





















    • 1





      Another possibility is to write yourself early enough providecommandBKM@entry[2]{} to the aux-file.

      – Ulrike Fischer
      Jan 17 at 16:34











    • KOMA will implement a work-around.

      – Ulrike Fischer
      Jan 17 at 20:22














    0












    0








    0







    Thanks to answer from Ulrike the problem is a change within KOMAScript.



    At the moment there is no support to pass a key value option which does not belong to the iodhbwm class itself.



    There are to possibilities to fix this issue for now. The first one is loading bookmark in the preamble itself.



    documentclass[...]{iodhbwm}
    usepackage{bookmark}


    The second option is to use an internal command which is used to pass options to the base class.



    makeatletter
    newcommand{iodhbwm@cls@baseclass@options}{bookmarkpackage=false}
    makeatother


    A complete example would look like



    makeatletter
    newcommand{iodhbwm@cls@baseclass@options}{bookmarkpackage=false}
    makeatother
    documentclass[
    load-dhbw-templates,
    auto-intro-pages = default,
    add-tocs-to-toc,
    debug,
    language = ngerman
    ]{iodhbwm}
    usepackage[T1]{fontenc}

    dhbwsetup{%
    author = my name,
    thesis type = SA,
    thesis title = Verwendung von iodhbwm,
    student id = 12345,
    institute = Masterfind Factory faltfe,
    course/id = Txxxx,
    supervisor = Pikachu und Enton,
    processing period = {01.01.17 -- 31.01.17},
    location = Dreamtown
    }

    begin{document}
    Blinddocument
    end{document}


    But please don't abuse the internal command.






    share|improve this answer















    Thanks to answer from Ulrike the problem is a change within KOMAScript.



    At the moment there is no support to pass a key value option which does not belong to the iodhbwm class itself.



    There are to possibilities to fix this issue for now. The first one is loading bookmark in the preamble itself.



    documentclass[...]{iodhbwm}
    usepackage{bookmark}


    The second option is to use an internal command which is used to pass options to the base class.



    makeatletter
    newcommand{iodhbwm@cls@baseclass@options}{bookmarkpackage=false}
    makeatother


    A complete example would look like



    makeatletter
    newcommand{iodhbwm@cls@baseclass@options}{bookmarkpackage=false}
    makeatother
    documentclass[
    load-dhbw-templates,
    auto-intro-pages = default,
    add-tocs-to-toc,
    debug,
    language = ngerman
    ]{iodhbwm}
    usepackage[T1]{fontenc}

    dhbwsetup{%
    author = my name,
    thesis type = SA,
    thesis title = Verwendung von iodhbwm,
    student id = 12345,
    institute = Masterfind Factory faltfe,
    course/id = Txxxx,
    supervisor = Pikachu und Enton,
    processing period = {01.01.17 -- 31.01.17},
    location = Dreamtown
    }

    begin{document}
    Blinddocument
    end{document}


    But please don't abuse the internal command.







    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Jan 17 at 16:25

























    answered Jan 17 at 16:18









    faltfefaltfe

    33918




    33918








    • 1





      Another possibility is to write yourself early enough providecommandBKM@entry[2]{} to the aux-file.

      – Ulrike Fischer
      Jan 17 at 16:34











    • KOMA will implement a work-around.

      – Ulrike Fischer
      Jan 17 at 20:22














    • 1





      Another possibility is to write yourself early enough providecommandBKM@entry[2]{} to the aux-file.

      – Ulrike Fischer
      Jan 17 at 16:34











    • KOMA will implement a work-around.

      – Ulrike Fischer
      Jan 17 at 20:22








    1




    1





    Another possibility is to write yourself early enough providecommandBKM@entry[2]{} to the aux-file.

    – Ulrike Fischer
    Jan 17 at 16:34





    Another possibility is to write yourself early enough providecommandBKM@entry[2]{} to the aux-file.

    – Ulrike Fischer
    Jan 17 at 16:34













    KOMA will implement a work-around.

    – Ulrike Fischer
    Jan 17 at 20:22





    KOMA will implement a work-around.

    – Ulrike Fischer
    Jan 17 at 20:22











    0














    The main problem is not KOMA-Script. bookmark uses package auxhook to write the definition of a command into the aux-file. AddLineBeginMainAux of auxhook has two different modes of working:




    • If @beginmainauxhook is relax, it writes immediately to the aux-file.

    • If @beginmainauxhook is not relax, AddLineBeginMainAux adds its argument to @beginmainauxhook.


    If the package is loaded via AtBeginDocument it initializes @beginmainauxhook with relax. If not, it initializes it to make itself relax and tries to patch document to add the execution of @beginmainauxhook just after the opening of the main aux file.



    Now, if you load hyperref via AtEndPreamble, hyperref loads auxhook and auxhook cannot recognize, that patching of document is to late. Because of this @beginmainauxhook is never executed.



    So the bug is, to load hyperref via AtEndPreamble without loading auxhook before begin{document} and without explicite executing @beginmainauxhook. If you have a look into the aux-file you will find in this case also, that the line



    providecommandhyper@newdestlabel[2]{}


    that hyperref usually writes into the aux-file (immediately after the initial relax) is missing. This is because of not executing @beginmainauxhook.



    So I would say, this is a bug in iodhbwm and it should be changed to load auxhook earlier. As a workaround you can load auxhook in the document preamble. Both would also bring back the line



    providecommandhyper@newdestlabel[2]{}


    into the aux-file.






    share|improve this answer




























      0














      The main problem is not KOMA-Script. bookmark uses package auxhook to write the definition of a command into the aux-file. AddLineBeginMainAux of auxhook has two different modes of working:




      • If @beginmainauxhook is relax, it writes immediately to the aux-file.

      • If @beginmainauxhook is not relax, AddLineBeginMainAux adds its argument to @beginmainauxhook.


      If the package is loaded via AtBeginDocument it initializes @beginmainauxhook with relax. If not, it initializes it to make itself relax and tries to patch document to add the execution of @beginmainauxhook just after the opening of the main aux file.



      Now, if you load hyperref via AtEndPreamble, hyperref loads auxhook and auxhook cannot recognize, that patching of document is to late. Because of this @beginmainauxhook is never executed.



      So the bug is, to load hyperref via AtEndPreamble without loading auxhook before begin{document} and without explicite executing @beginmainauxhook. If you have a look into the aux-file you will find in this case also, that the line



      providecommandhyper@newdestlabel[2]{}


      that hyperref usually writes into the aux-file (immediately after the initial relax) is missing. This is because of not executing @beginmainauxhook.



      So I would say, this is a bug in iodhbwm and it should be changed to load auxhook earlier. As a workaround you can load auxhook in the document preamble. Both would also bring back the line



      providecommandhyper@newdestlabel[2]{}


      into the aux-file.






      share|improve this answer


























        0












        0








        0







        The main problem is not KOMA-Script. bookmark uses package auxhook to write the definition of a command into the aux-file. AddLineBeginMainAux of auxhook has two different modes of working:




        • If @beginmainauxhook is relax, it writes immediately to the aux-file.

        • If @beginmainauxhook is not relax, AddLineBeginMainAux adds its argument to @beginmainauxhook.


        If the package is loaded via AtBeginDocument it initializes @beginmainauxhook with relax. If not, it initializes it to make itself relax and tries to patch document to add the execution of @beginmainauxhook just after the opening of the main aux file.



        Now, if you load hyperref via AtEndPreamble, hyperref loads auxhook and auxhook cannot recognize, that patching of document is to late. Because of this @beginmainauxhook is never executed.



        So the bug is, to load hyperref via AtEndPreamble without loading auxhook before begin{document} and without explicite executing @beginmainauxhook. If you have a look into the aux-file you will find in this case also, that the line



        providecommandhyper@newdestlabel[2]{}


        that hyperref usually writes into the aux-file (immediately after the initial relax) is missing. This is because of not executing @beginmainauxhook.



        So I would say, this is a bug in iodhbwm and it should be changed to load auxhook earlier. As a workaround you can load auxhook in the document preamble. Both would also bring back the line



        providecommandhyper@newdestlabel[2]{}


        into the aux-file.






        share|improve this answer













        The main problem is not KOMA-Script. bookmark uses package auxhook to write the definition of a command into the aux-file. AddLineBeginMainAux of auxhook has two different modes of working:




        • If @beginmainauxhook is relax, it writes immediately to the aux-file.

        • If @beginmainauxhook is not relax, AddLineBeginMainAux adds its argument to @beginmainauxhook.


        If the package is loaded via AtBeginDocument it initializes @beginmainauxhook with relax. If not, it initializes it to make itself relax and tries to patch document to add the execution of @beginmainauxhook just after the opening of the main aux file.



        Now, if you load hyperref via AtEndPreamble, hyperref loads auxhook and auxhook cannot recognize, that patching of document is to late. Because of this @beginmainauxhook is never executed.



        So the bug is, to load hyperref via AtEndPreamble without loading auxhook before begin{document} and without explicite executing @beginmainauxhook. If you have a look into the aux-file you will find in this case also, that the line



        providecommandhyper@newdestlabel[2]{}


        that hyperref usually writes into the aux-file (immediately after the initial relax) is missing. This is because of not executing @beginmainauxhook.



        So I would say, this is a bug in iodhbwm and it should be changed to load auxhook earlier. As a workaround you can load auxhook in the document preamble. Both would also bring back the line



        providecommandhyper@newdestlabel[2]{}


        into the aux-file.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Jan 17 at 21:10









        SchweinebackeSchweinebacke

        21.5k4477




        21.5k4477






























            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%2f470525%2fstrange-lines-in-front-of-the-document%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

            Human spaceflight

            Can not write log (Is /dev/pts mounted?) - openpty in Ubuntu-on-Windows?

            張江高科駅