Slow compilation after running biber












0















I'm compiling a small document (8 pp.) that has a lot of references (e.g. publication list). I am using TexShop 4.26 on Mac OS 10.14.2 (Mojave) and biber 2.10. I am running pdflatex > biber > pdflatex.



Everything is working but the running biber and then the second compilation with pdflatex are so slow!!!! It takes four to five minutes to compile with pdflatex the second time.



What should I be looking for?










share|improve this question




















  • 3





    Since Biber writes the bibliography data to the .bbl file and LaTeX reads it on the next run, that is the file I would focus on. What size is the .bbl file? Do you have any works with extraordinarily many authors? Or anything else that could be out of the ordinary. (8 pages does not seem like the document could contain a lot of references, at least not for a definition of 'lot' that should slow things down so significantly. I just tested a 17-page document consisting only of a bibliography and the LaTeX run was fine. Usually the performance bottleneck is Biber itself.)

    – moewe
    Mar 29 at 5:38








  • 1





    Is there anything special in your bibliography setup? Do you perform any expensive calculations on the fly? Is it possible to reproduce a similar issue with the file biblatex-examples.bib (which is pre-installed on your system, you can view the file at github.com/plk/biblatex/blob/master/bibtex/bib/biblatex/…)? I'm going to stick my neck out and say that five minutes is too long for an eight-page document even on slightly older hardware (and Mac OS 10.14.2 sounds fairly recent).

    – moewe
    Mar 29 at 5:44











  • I have solved my own problem. I had my publications saved in the same .bib file along with all my references. This created one huge .bib file. For the publication section, I had called nocite{} and then used keywords to print only my publications. That meant that biber was producing a .bbl file that had every single reference included in it. I used this solution (tex.stackexchange.com/questions/170316/…) to figure out a way to make a separate .bib file with only my publications and use nocite{}[publications.bib].

    – spindoctor
    Mar 29 at 17:53
















0















I'm compiling a small document (8 pp.) that has a lot of references (e.g. publication list). I am using TexShop 4.26 on Mac OS 10.14.2 (Mojave) and biber 2.10. I am running pdflatex > biber > pdflatex.



Everything is working but the running biber and then the second compilation with pdflatex are so slow!!!! It takes four to five minutes to compile with pdflatex the second time.



What should I be looking for?










share|improve this question




















  • 3





    Since Biber writes the bibliography data to the .bbl file and LaTeX reads it on the next run, that is the file I would focus on. What size is the .bbl file? Do you have any works with extraordinarily many authors? Or anything else that could be out of the ordinary. (8 pages does not seem like the document could contain a lot of references, at least not for a definition of 'lot' that should slow things down so significantly. I just tested a 17-page document consisting only of a bibliography and the LaTeX run was fine. Usually the performance bottleneck is Biber itself.)

    – moewe
    Mar 29 at 5:38








  • 1





    Is there anything special in your bibliography setup? Do you perform any expensive calculations on the fly? Is it possible to reproduce a similar issue with the file biblatex-examples.bib (which is pre-installed on your system, you can view the file at github.com/plk/biblatex/blob/master/bibtex/bib/biblatex/…)? I'm going to stick my neck out and say that five minutes is too long for an eight-page document even on slightly older hardware (and Mac OS 10.14.2 sounds fairly recent).

    – moewe
    Mar 29 at 5:44











  • I have solved my own problem. I had my publications saved in the same .bib file along with all my references. This created one huge .bib file. For the publication section, I had called nocite{} and then used keywords to print only my publications. That meant that biber was producing a .bbl file that had every single reference included in it. I used this solution (tex.stackexchange.com/questions/170316/…) to figure out a way to make a separate .bib file with only my publications and use nocite{}[publications.bib].

    – spindoctor
    Mar 29 at 17:53














0












0








0








I'm compiling a small document (8 pp.) that has a lot of references (e.g. publication list). I am using TexShop 4.26 on Mac OS 10.14.2 (Mojave) and biber 2.10. I am running pdflatex > biber > pdflatex.



Everything is working but the running biber and then the second compilation with pdflatex are so slow!!!! It takes four to five minutes to compile with pdflatex the second time.



What should I be looking for?










share|improve this question
















I'm compiling a small document (8 pp.) that has a lot of references (e.g. publication list). I am using TexShop 4.26 on Mac OS 10.14.2 (Mojave) and biber 2.10. I am running pdflatex > biber > pdflatex.



Everything is working but the running biber and then the second compilation with pdflatex are so slow!!!! It takes four to five minutes to compile with pdflatex the second time.



What should I be looking for?







biblatex biber texshop






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 29 at 9:53









Bernard

175k778208




175k778208










asked Mar 29 at 5:32









spindoctorspindoctor

31029




31029








  • 3





    Since Biber writes the bibliography data to the .bbl file and LaTeX reads it on the next run, that is the file I would focus on. What size is the .bbl file? Do you have any works with extraordinarily many authors? Or anything else that could be out of the ordinary. (8 pages does not seem like the document could contain a lot of references, at least not for a definition of 'lot' that should slow things down so significantly. I just tested a 17-page document consisting only of a bibliography and the LaTeX run was fine. Usually the performance bottleneck is Biber itself.)

    – moewe
    Mar 29 at 5:38








  • 1





    Is there anything special in your bibliography setup? Do you perform any expensive calculations on the fly? Is it possible to reproduce a similar issue with the file biblatex-examples.bib (which is pre-installed on your system, you can view the file at github.com/plk/biblatex/blob/master/bibtex/bib/biblatex/…)? I'm going to stick my neck out and say that five minutes is too long for an eight-page document even on slightly older hardware (and Mac OS 10.14.2 sounds fairly recent).

    – moewe
    Mar 29 at 5:44











  • I have solved my own problem. I had my publications saved in the same .bib file along with all my references. This created one huge .bib file. For the publication section, I had called nocite{} and then used keywords to print only my publications. That meant that biber was producing a .bbl file that had every single reference included in it. I used this solution (tex.stackexchange.com/questions/170316/…) to figure out a way to make a separate .bib file with only my publications and use nocite{}[publications.bib].

    – spindoctor
    Mar 29 at 17:53














  • 3





    Since Biber writes the bibliography data to the .bbl file and LaTeX reads it on the next run, that is the file I would focus on. What size is the .bbl file? Do you have any works with extraordinarily many authors? Or anything else that could be out of the ordinary. (8 pages does not seem like the document could contain a lot of references, at least not for a definition of 'lot' that should slow things down so significantly. I just tested a 17-page document consisting only of a bibliography and the LaTeX run was fine. Usually the performance bottleneck is Biber itself.)

    – moewe
    Mar 29 at 5:38








  • 1





    Is there anything special in your bibliography setup? Do you perform any expensive calculations on the fly? Is it possible to reproduce a similar issue with the file biblatex-examples.bib (which is pre-installed on your system, you can view the file at github.com/plk/biblatex/blob/master/bibtex/bib/biblatex/…)? I'm going to stick my neck out and say that five minutes is too long for an eight-page document even on slightly older hardware (and Mac OS 10.14.2 sounds fairly recent).

    – moewe
    Mar 29 at 5:44











  • I have solved my own problem. I had my publications saved in the same .bib file along with all my references. This created one huge .bib file. For the publication section, I had called nocite{} and then used keywords to print only my publications. That meant that biber was producing a .bbl file that had every single reference included in it. I used this solution (tex.stackexchange.com/questions/170316/…) to figure out a way to make a separate .bib file with only my publications and use nocite{}[publications.bib].

    – spindoctor
    Mar 29 at 17:53








3




3





Since Biber writes the bibliography data to the .bbl file and LaTeX reads it on the next run, that is the file I would focus on. What size is the .bbl file? Do you have any works with extraordinarily many authors? Or anything else that could be out of the ordinary. (8 pages does not seem like the document could contain a lot of references, at least not for a definition of 'lot' that should slow things down so significantly. I just tested a 17-page document consisting only of a bibliography and the LaTeX run was fine. Usually the performance bottleneck is Biber itself.)

– moewe
Mar 29 at 5:38







Since Biber writes the bibliography data to the .bbl file and LaTeX reads it on the next run, that is the file I would focus on. What size is the .bbl file? Do you have any works with extraordinarily many authors? Or anything else that could be out of the ordinary. (8 pages does not seem like the document could contain a lot of references, at least not for a definition of 'lot' that should slow things down so significantly. I just tested a 17-page document consisting only of a bibliography and the LaTeX run was fine. Usually the performance bottleneck is Biber itself.)

– moewe
Mar 29 at 5:38






1




1





Is there anything special in your bibliography setup? Do you perform any expensive calculations on the fly? Is it possible to reproduce a similar issue with the file biblatex-examples.bib (which is pre-installed on your system, you can view the file at github.com/plk/biblatex/blob/master/bibtex/bib/biblatex/…)? I'm going to stick my neck out and say that five minutes is too long for an eight-page document even on slightly older hardware (and Mac OS 10.14.2 sounds fairly recent).

– moewe
Mar 29 at 5:44





Is there anything special in your bibliography setup? Do you perform any expensive calculations on the fly? Is it possible to reproduce a similar issue with the file biblatex-examples.bib (which is pre-installed on your system, you can view the file at github.com/plk/biblatex/blob/master/bibtex/bib/biblatex/…)? I'm going to stick my neck out and say that five minutes is too long for an eight-page document even on slightly older hardware (and Mac OS 10.14.2 sounds fairly recent).

– moewe
Mar 29 at 5:44













I have solved my own problem. I had my publications saved in the same .bib file along with all my references. This created one huge .bib file. For the publication section, I had called nocite{} and then used keywords to print only my publications. That meant that biber was producing a .bbl file that had every single reference included in it. I used this solution (tex.stackexchange.com/questions/170316/…) to figure out a way to make a separate .bib file with only my publications and use nocite{}[publications.bib].

– spindoctor
Mar 29 at 17:53





I have solved my own problem. I had my publications saved in the same .bib file along with all my references. This created one huge .bib file. For the publication section, I had called nocite{} and then used keywords to print only my publications. That meant that biber was producing a .bbl file that had every single reference included in it. I used this solution (tex.stackexchange.com/questions/170316/…) to figure out a way to make a separate .bib file with only my publications and use nocite{}[publications.bib].

– spindoctor
Mar 29 at 17:53










1 Answer
1






active

oldest

votes


















3














Usually the performance bottleneck for biblatex bibliographies seems to be the Biber run. At least that is what people mainly complain about (Why is biber so slow?, Why is Biber 2.8 so much slower than Biber 2.7?), but the LaTeX run is also impacted by certain effects (Why does biber increase compilation time of pdflatex runs dramatically (factor 2.8!!)?).



If the second LaTeX run in the LaTeX, Biber, LaTeX, LaTeX sequence is significantly slower than the first it is natural to look for the issue in the .bbl file that Biber created to pass bibliographic information on to LaTeX (see Question mark or bold citation key instead of citation number for a wonderful explanation of .bbl files; note that biblatex's .bbl files are a lot more abstract and complex than .bbl files generated by standard BibTeX, which basically just contain the text of the bibliography for typesetting). LaTeX has to process the entire .bbl file, so the larger that file is, the longer the LaTeX run will be. Of course this is not purely about file size: Certain things are more expensive (name lists, which are read as key-value pairs) than just literal fields (read as a simple def assignment).



This becomes especially relevant if the .bbl contains many entries (maybe due to a nocite) that are not explicitly cited anywhere in the document and not printed in any printbibliography due to filtering. In such a case there is not a lot of output, but potentially a lot of unused data. That data still needs to be processed and thus takes a lot of time and resources to get through.



Depending on how exactly the entries are to be filtered for inclusion in the bibliography, it might be possible to filter them with a sourcemap which means they don't make it to the .bbl file and don't inflate its size artificially. The following examples are from the biblatex documentation. Of course there are some filtering decisions that can not be taken on the basis of field contents alone and where document context plays a role. But if it is possible to filter with Biber's sourcemap than that is preferable in terms of performance for LaTeX runs.



DeclareSourcemap{
maps[datatype=bibtex]{
map{
step[fieldsource=title, match={A Title}, final]
step[entrynull]
}
}
}


Would delete all entries whose field contains the string A Title.



DeclareSourcemap{
maps[datatype=bibtex]{
map{
pernottype{book}
pernottype{article}
step[entrynull]
}
}
}


Would delete all entries that are not @books or @articles.



In theory other temporary files (mainly the .aux) could also cause a slowdown on subsequent runs. The commands from the .aux are not that computationally expensive, but still, adding more calls in the .aux will also increase compilation time.






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%2f482053%2fslow-compilation-after-running-biber%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









    3














    Usually the performance bottleneck for biblatex bibliographies seems to be the Biber run. At least that is what people mainly complain about (Why is biber so slow?, Why is Biber 2.8 so much slower than Biber 2.7?), but the LaTeX run is also impacted by certain effects (Why does biber increase compilation time of pdflatex runs dramatically (factor 2.8!!)?).



    If the second LaTeX run in the LaTeX, Biber, LaTeX, LaTeX sequence is significantly slower than the first it is natural to look for the issue in the .bbl file that Biber created to pass bibliographic information on to LaTeX (see Question mark or bold citation key instead of citation number for a wonderful explanation of .bbl files; note that biblatex's .bbl files are a lot more abstract and complex than .bbl files generated by standard BibTeX, which basically just contain the text of the bibliography for typesetting). LaTeX has to process the entire .bbl file, so the larger that file is, the longer the LaTeX run will be. Of course this is not purely about file size: Certain things are more expensive (name lists, which are read as key-value pairs) than just literal fields (read as a simple def assignment).



    This becomes especially relevant if the .bbl contains many entries (maybe due to a nocite) that are not explicitly cited anywhere in the document and not printed in any printbibliography due to filtering. In such a case there is not a lot of output, but potentially a lot of unused data. That data still needs to be processed and thus takes a lot of time and resources to get through.



    Depending on how exactly the entries are to be filtered for inclusion in the bibliography, it might be possible to filter them with a sourcemap which means they don't make it to the .bbl file and don't inflate its size artificially. The following examples are from the biblatex documentation. Of course there are some filtering decisions that can not be taken on the basis of field contents alone and where document context plays a role. But if it is possible to filter with Biber's sourcemap than that is preferable in terms of performance for LaTeX runs.



    DeclareSourcemap{
    maps[datatype=bibtex]{
    map{
    step[fieldsource=title, match={A Title}, final]
    step[entrynull]
    }
    }
    }


    Would delete all entries whose field contains the string A Title.



    DeclareSourcemap{
    maps[datatype=bibtex]{
    map{
    pernottype{book}
    pernottype{article}
    step[entrynull]
    }
    }
    }


    Would delete all entries that are not @books or @articles.



    In theory other temporary files (mainly the .aux) could also cause a slowdown on subsequent runs. The commands from the .aux are not that computationally expensive, but still, adding more calls in the .aux will also increase compilation time.






    share|improve this answer






























      3














      Usually the performance bottleneck for biblatex bibliographies seems to be the Biber run. At least that is what people mainly complain about (Why is biber so slow?, Why is Biber 2.8 so much slower than Biber 2.7?), but the LaTeX run is also impacted by certain effects (Why does biber increase compilation time of pdflatex runs dramatically (factor 2.8!!)?).



      If the second LaTeX run in the LaTeX, Biber, LaTeX, LaTeX sequence is significantly slower than the first it is natural to look for the issue in the .bbl file that Biber created to pass bibliographic information on to LaTeX (see Question mark or bold citation key instead of citation number for a wonderful explanation of .bbl files; note that biblatex's .bbl files are a lot more abstract and complex than .bbl files generated by standard BibTeX, which basically just contain the text of the bibliography for typesetting). LaTeX has to process the entire .bbl file, so the larger that file is, the longer the LaTeX run will be. Of course this is not purely about file size: Certain things are more expensive (name lists, which are read as key-value pairs) than just literal fields (read as a simple def assignment).



      This becomes especially relevant if the .bbl contains many entries (maybe due to a nocite) that are not explicitly cited anywhere in the document and not printed in any printbibliography due to filtering. In such a case there is not a lot of output, but potentially a lot of unused data. That data still needs to be processed and thus takes a lot of time and resources to get through.



      Depending on how exactly the entries are to be filtered for inclusion in the bibliography, it might be possible to filter them with a sourcemap which means they don't make it to the .bbl file and don't inflate its size artificially. The following examples are from the biblatex documentation. Of course there are some filtering decisions that can not be taken on the basis of field contents alone and where document context plays a role. But if it is possible to filter with Biber's sourcemap than that is preferable in terms of performance for LaTeX runs.



      DeclareSourcemap{
      maps[datatype=bibtex]{
      map{
      step[fieldsource=title, match={A Title}, final]
      step[entrynull]
      }
      }
      }


      Would delete all entries whose field contains the string A Title.



      DeclareSourcemap{
      maps[datatype=bibtex]{
      map{
      pernottype{book}
      pernottype{article}
      step[entrynull]
      }
      }
      }


      Would delete all entries that are not @books or @articles.



      In theory other temporary files (mainly the .aux) could also cause a slowdown on subsequent runs. The commands from the .aux are not that computationally expensive, but still, adding more calls in the .aux will also increase compilation time.






      share|improve this answer




























        3












        3








        3







        Usually the performance bottleneck for biblatex bibliographies seems to be the Biber run. At least that is what people mainly complain about (Why is biber so slow?, Why is Biber 2.8 so much slower than Biber 2.7?), but the LaTeX run is also impacted by certain effects (Why does biber increase compilation time of pdflatex runs dramatically (factor 2.8!!)?).



        If the second LaTeX run in the LaTeX, Biber, LaTeX, LaTeX sequence is significantly slower than the first it is natural to look for the issue in the .bbl file that Biber created to pass bibliographic information on to LaTeX (see Question mark or bold citation key instead of citation number for a wonderful explanation of .bbl files; note that biblatex's .bbl files are a lot more abstract and complex than .bbl files generated by standard BibTeX, which basically just contain the text of the bibliography for typesetting). LaTeX has to process the entire .bbl file, so the larger that file is, the longer the LaTeX run will be. Of course this is not purely about file size: Certain things are more expensive (name lists, which are read as key-value pairs) than just literal fields (read as a simple def assignment).



        This becomes especially relevant if the .bbl contains many entries (maybe due to a nocite) that are not explicitly cited anywhere in the document and not printed in any printbibliography due to filtering. In such a case there is not a lot of output, but potentially a lot of unused data. That data still needs to be processed and thus takes a lot of time and resources to get through.



        Depending on how exactly the entries are to be filtered for inclusion in the bibliography, it might be possible to filter them with a sourcemap which means they don't make it to the .bbl file and don't inflate its size artificially. The following examples are from the biblatex documentation. Of course there are some filtering decisions that can not be taken on the basis of field contents alone and where document context plays a role. But if it is possible to filter with Biber's sourcemap than that is preferable in terms of performance for LaTeX runs.



        DeclareSourcemap{
        maps[datatype=bibtex]{
        map{
        step[fieldsource=title, match={A Title}, final]
        step[entrynull]
        }
        }
        }


        Would delete all entries whose field contains the string A Title.



        DeclareSourcemap{
        maps[datatype=bibtex]{
        map{
        pernottype{book}
        pernottype{article}
        step[entrynull]
        }
        }
        }


        Would delete all entries that are not @books or @articles.



        In theory other temporary files (mainly the .aux) could also cause a slowdown on subsequent runs. The commands from the .aux are not that computationally expensive, but still, adding more calls in the .aux will also increase compilation time.






        share|improve this answer















        Usually the performance bottleneck for biblatex bibliographies seems to be the Biber run. At least that is what people mainly complain about (Why is biber so slow?, Why is Biber 2.8 so much slower than Biber 2.7?), but the LaTeX run is also impacted by certain effects (Why does biber increase compilation time of pdflatex runs dramatically (factor 2.8!!)?).



        If the second LaTeX run in the LaTeX, Biber, LaTeX, LaTeX sequence is significantly slower than the first it is natural to look for the issue in the .bbl file that Biber created to pass bibliographic information on to LaTeX (see Question mark or bold citation key instead of citation number for a wonderful explanation of .bbl files; note that biblatex's .bbl files are a lot more abstract and complex than .bbl files generated by standard BibTeX, which basically just contain the text of the bibliography for typesetting). LaTeX has to process the entire .bbl file, so the larger that file is, the longer the LaTeX run will be. Of course this is not purely about file size: Certain things are more expensive (name lists, which are read as key-value pairs) than just literal fields (read as a simple def assignment).



        This becomes especially relevant if the .bbl contains many entries (maybe due to a nocite) that are not explicitly cited anywhere in the document and not printed in any printbibliography due to filtering. In such a case there is not a lot of output, but potentially a lot of unused data. That data still needs to be processed and thus takes a lot of time and resources to get through.



        Depending on how exactly the entries are to be filtered for inclusion in the bibliography, it might be possible to filter them with a sourcemap which means they don't make it to the .bbl file and don't inflate its size artificially. The following examples are from the biblatex documentation. Of course there are some filtering decisions that can not be taken on the basis of field contents alone and where document context plays a role. But if it is possible to filter with Biber's sourcemap than that is preferable in terms of performance for LaTeX runs.



        DeclareSourcemap{
        maps[datatype=bibtex]{
        map{
        step[fieldsource=title, match={A Title}, final]
        step[entrynull]
        }
        }
        }


        Would delete all entries whose field contains the string A Title.



        DeclareSourcemap{
        maps[datatype=bibtex]{
        map{
        pernottype{book}
        pernottype{article}
        step[entrynull]
        }
        }
        }


        Would delete all entries that are not @books or @articles.



        In theory other temporary files (mainly the .aux) could also cause a slowdown on subsequent runs. The commands from the .aux are not that computationally expensive, but still, adding more calls in the .aux will also increase compilation time.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited 2 days ago

























        answered Mar 29 at 22:18









        moewemoewe

        96.5k10118362




        96.5k10118362






























            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%2f482053%2fslow-compilation-after-running-biber%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

            mysqli_query(): Empty query in /home/lucindabrummitt/public_html/blog/wp-includes/wp-db.php on line 1924

            How to change which sound is reproduced for terminal bell?

            Can I use Tabulator js library in my java Spring + Thymeleaf project?