diff --git a/app/coffee/TikzManager.coffee b/app/coffee/TikzManager.coffee index 7766bc1..cfa1332 100644 --- a/app/coffee/TikzManager.coffee +++ b/app/coffee/TikzManager.coffee @@ -21,11 +21,9 @@ module.exports = TikzManager = return false _includesTikz: (resource) -> - # check if we are loading tikz or pgf - content = resource.content.slice(0,4096) - if content.indexOf("\\usepackage{tikz") >= 0 - return true - else if content.indexOf("\\usepackage{pgf") >= 0 + # check if we are using tikz externalize + content = resource.content.slice(0,65536) + if content.indexOf("\\tikzexternalize") >= 0 return true else return false diff --git a/test/unit/coffee/TikzManager.coffee b/test/unit/coffee/TikzManager.coffee index 4c99daa..8174b4a 100644 --- a/test/unit/coffee/TikzManager.coffee +++ b/test/unit/coffee/TikzManager.coffee @@ -11,28 +11,22 @@ describe 'TikzManager', -> "logger-sharelatex": @logger = {log: () ->} describe "needsOutputFile", -> - it "should return true if there is a usepackage{tikz}", -> + it "should return true if there is a \\tikzexternalize", -> + @TikzManager.needsOutputFile("main.tex", [ + { path: 'foo.tex' }, + { path: 'main.tex', content:'foo \\usepackage{tikz} \\tikzexternalize' } + ]).should.equal true + + it "should return false if there is no \\tikzexternalize", -> @TikzManager.needsOutputFile("main.tex", [ { path: 'foo.tex' }, { path: 'main.tex', content:'foo \\usepackage{tikz}' } - ]).should.equal true - - it "should return true if there is a usepackage{pgf}", -> - @TikzManager.needsOutputFile("main.tex", [ - { path: 'foo.tex'}, - { path: 'main.tex', content:'foo \\usepackage{pgf}' } - ]).should.equal true - - it "should return false if there is no usepackage{tikz} or {pgf}", -> - @TikzManager.needsOutputFile("main.tex", [ - { path: 'foo.tex' }, - { path: 'main.tex', content:'foo \\usepackage{bar}' } ]).should.equal false it "should return false if there is already an output.tex file", -> @TikzManager.needsOutputFile("main.tex", [ { path: 'foo.tex' }, - { path: 'main.tex' }, + { path: 'main.tex', content:'foo \\usepackage{tikz} \\tikzexternalize' }, { path: 'output.tex' } ]).should.equal false @@ -44,6 +38,7 @@ describe 'TikzManager', -> @content = ''' \\documentclass{article} \\usepackage{tikz} + \\tikzexternalize \\begin{document} Hello world \\end{document}