Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tectonic compiler method doesn't parse errors properly #2703

Closed
doronbehar opened this issue May 12, 2023 · 33 comments
Closed

Tectonic compiler method doesn't parse errors properly #2703

doronbehar opened this issue May 12, 2023 · 33 comments
Labels

Comments

@doronbehar
Copy link
Contributor

Description

Using Tectonic 0.12.0, I noticed that an error appearing on CLI like this:

error: nanophotonics-hw2.tex:78: Missing $ inserted
error: halted on potentially-recoverable error as specified

Doesn't always appear on Vimtex' quickfix - I experience this with some files, an example file appears below.

Steps to reproduce

Open Vimtex' test/test-doc/test.tex and add a single $ that will produce an error:

diff --git i/test/test-doc/test.tex w/test/test-doc/test.tex
index d13fab9d..fee8bb51 100644
--- i/test/test-doc/test.tex
+++ w/test/test-doc/test.tex
@@ -6,6 +6,8 @@
 
 \begin{document}
 
+$
+
 Hello World!
 
 \end{document}

Try to compile the error after you let g:vimtex_compiler_method = 'tectonic'.

Expected behavior

Vimtex opens the quickfix and showing the error:

error: test.tex:10: Missing $ inserted

Actual behavior

Vimtex doesn't open up the quickfix, and it is empty. Where if you run manually tectonic test.tex you see:

Running TeX ...
error: test.tex:10: Missing $ inserted
error: halted on potentially-recoverable error as specified

Do you use a latexmkrc file?

No, tectonic.

VimtexInfo

System info:
  OS: NixOS 23.05 (Stoat)
  Vim version: NVIM v0.9.0
  Has clientserver: true
  Servername: /run/user/1000/nvim.570012.0

VimTeX project: test
  base: test.tex
  root: /home/doron/.files/.config/nvim/pack/filetype/start/tex/test/test-doc
  tex: /home/doron/.files/.config/nvim/pack/filetype/start/tex/test/test-doc/test.tex
  main parser: current file verified
  document class: article
  packages: amsmath mathtools tikz
  compiler: tectonic
    options:
      --keep-logs
      --synctex
    job: 
      jobid: 42
      output: /tmp/nvim.doron/3mWc7y/0
      cmd: tectonic --keep-logs --synctex --outdir="/home/doron/.files/.config/nvim/pack/filetype/start/tex/test/test-doc" 'test.tex'
  viewer: General
  qf method: LaTeX logfile
@doronbehar doronbehar added the bug label May 12, 2023
@lervag
Copy link
Owner

lervag commented May 13, 2023

Ah, interesting. With latexmk, we pass the -file-line-error argument to the latex compilers. This makes the log output much easier to parse and is a requirement for VimTeX to properly parse the output. tectonic does not have a similar option. I found an open issue on this: tectonic-typesetting/tectonic#1007. I propose that you kindly ask there if this could be prioritised.

Notice, though, as a workaround, you could use another quickfix backend. E.g. add let g:vimtex_quickfix_method = 'pplatex'. pulp is also an option, but that project does not seem to be maintained. With pplatex, things should work well.

@lervag lervag closed this as completed May 13, 2023
@doronbehar
Copy link
Contributor Author

Thanks for the link and for trying to explain, I'm still a bit confused though.

First of all, let g:vimtex_quickfix_method = 'pplatex' seems promising, but I think I am having trouble using it with tectonic. I have managed to see that pplatex --input test.log indeed produces:

** Warning: No file test.aux.

** Error  , Line 10: Missing $ inserted <inserted text>  $

Result: o) Errors: 1, Warnings: 1, BadBoxes: 0

But nothing happens when I compile it and the quickfix is empty, just as before.

Did I understand correctly that the problem is that tectonic doesn't pass -file-line-error to it's xelatex fork? Plus, how come pplatex is able to find the faulty line by reading test.log which wasn't produced with -file-line-error?

@lervag
Copy link
Owner

lervag commented May 13, 2023

First of all, let g:vimtex_quickfix_method = 'pplatex' seems promising, but I think I am having trouble using it with tectonic.

If you add it to your vimrc file and install pplatex on your system, it should just work. If it does not, then I would be happy to help. However, it is hard to help without some concrete information about what you are actually trying.

A simple thing to try:

  • Use the previously specified test.tex.
  • Create the file test.vim with contents as specified below.
  • Run nvim --clean -u test.vim test.tex.
  • Start compilation and see if the quickfix window is opened.

The test.vim file should look like this:

set nocompatible
set runtimepath^=~/.local/plugged/vimtex
set runtimepath+=~/.local/plugged/vimtex/after
filetype plugin indent on
syntax enable

let g:vimtex_compiler_method = 'tectonic'
let g:vimtex_quickfix_method = 'pplatex'

Notice, though, that you need to use the correct path to VimTeX on the first lines.

Did I understand correctly that the problem is that tectonic doesn't pass -file-line-error to it's xelatex fork?

Yes, correct.

Plus, how come pplatex is able to find the faulty line by reading test.log which wasn't produced with -file-line-error?

Because pplatex is designed to parse test.log. The error is found in test.log, but it looks like this:

! Missing $ inserted.
<inserted text> 
                $
l.7 

@doronbehar
Copy link
Contributor Author

Yes, correct.

👍👍.

A simple thing to try:

I tried something similar: I created a ~/desktop/init-tests/nvim directory with pack/testing/start/vimtex in it, and I set export $XDG_CONFIG_HOME=$HOME/desktop/init-tests, and the init.vim file you wrote, and again, the same behavior. I also tried exactly your init.vim and it didn't work either.

I have pplatex in my $PATH. Here's a screencast:

asciicast

@lervag
Copy link
Owner

lervag commented May 13, 2023

In the screencast, it looks like example.tex is empty when you open it (around 1 minute in).

@doronbehar
Copy link
Contributor Author

Empty example.tex? Doesn't look like that to me:

image

@doronbehar
Copy link
Contributor Author

Oh, it is due to asciinema's number of rows to display setting - I changed it back to the default and not it doesn't look empty.

@lervag
Copy link
Owner

lervag commented May 13, 2023

A simple thing to try:

I tried something similar: …

It would be simpler and less work to just try what I explained. There is no reason to set $XDG_CONFIG_HOME, as far as I can understand? Simply doing nvim --clean -u init.vim example.tex is enough, and you don't need to replicate s standard config folder.

I have pplatex in my $PATH. Here's a screencast:

As mention, it looks like the example.tex is empty when you open it at around 1 minutes into the screencast. That may be just an artifact of the recording, though.

Could you also show the output of \li after doing \ll with the minimal configuration? Also, please show the output of :scriptnames.

@doronbehar
Copy link
Contributor Author

System info:
  OS: NixOS 23.05 (Stoat)
  Vim version: NVIM v0.9.0
  Has clientserver: true
  Servername: /run/user/1000/nvim.694265.0

VimTeX project: example
  base: example.tex
  root: /home/doron/desktop/init-tests/nvim
  tex: /home/doron/desktop/init-tests/nvim/example.tex
  main parser: current file verified
  document class: article
  packages: amsmath mathtools tikz
  compiler: tectonic
    options:
      --keep-logs
      --synctex
    job: 
      jobid: 5
      output: /tmp/nvim.doron/YTUfJJ/0
      cmd: tectonic --keep-logs --synctex --outdir="/home/doron/desktop/init-tests/nvim" 'example.tex'
  viewer: General
  qf method: LaTeX logfile using pplatex

It was kind of hard to paste the :scriptnames here, so that's what I did:

$ nvim example.tex -es -c 'redir >> /dev/stdout' -c 'set rtp?' -c quit | sed 's/,/\n/g' | sort -u
~/desktop/init-tests/nvim/../nvim
~/desktop/init-tests/nvim/../nvim/pack/*/start/*
~/desktop/init-tests/nvim/../nvim/pack/*/start/*/after
/etc/profile~/desktop/init-tests/nvim/pack/testing/start/tex
/etc/profiles/per-user/dor
/etc/profiles/per-user/doron/etc/xdg/nvim
/etc/profiles/per-user/doron/share/nvim/site
/etc/xdg/nvim
~/.local/share/flatpak/exports/etc/xdg/nvim
~/.local/share/flatpak/exports/share/nvim/site
~/.local/share/nvim/site
~/.nix-profile/etc/xdg/nvim
~/.nix-profile/share/nvim/site
/nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/lib/nvim
/nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime
/nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/pack/dist/opt/matchit
/nix/store/3dvm7wkflyc115by79vccqzdxi4ivclh-gnome-settings-daemon-44.1/etc/xdg/nvim
/nix/store/3dvm7wkflyc115by79vccqzdxi4ivclh-gnome-settings-daemon-44.1/share/gsettings-schemas/gnome-settings-daemon-44.1/nvim/site
/nix/store/3dvm7wkflyc115by79vccqzdxi4ivclh-gnome-settings-daemon-44.1/share/gsettings-schemas/gnome-settings-daemon-44.1/nvim/site/after
/nix/store/3dvm7wkflyc115by79vccqzdxi4ivclh-gnome-settings-daemon-44.1/share/nvim/site
/nix/store/6lajvmn0rwa69prrhlb6pii0zyaa2ji3-gnome-mimeapps/share/nvim/site
/nix/store/81gc7gm4v6mfwa8nx0s80gwb3zf9bk7f-vim-pack-dir
/nix/store/81gc7gm4v6mfwa8nx0s80gwb3zf9bk7f-vim-pack-dir/pack/*/start/*
/nix/store/93gm0pibm7i1zli17p4kzbqs8l9laivp-libgweather-4.2.0/share/gsettings-schemas/libgweather-4.2.0/nvim/site
/nix/store/cpwcggc5v5n6ng5a3kjbxi0flv7l1pji-gtk+3-3.24.37/share/gsettings-schemas/gtk+3-3.24.37/nvim/site
/nix/store/cpwcggc5v5n6ng5a3kjbxi0flv7l1pji-gtk+3-3.24.37/share/gsettings-schemas/gtk+3-3.24.37/nvim/site/after
/nix/store/dgd16dhamw5k55n284cznnx8l2gx4365-desktops/share/nvim/site
/nix/store/gsf6pvrlmdsycgla92kvzqwik4c9bvk9-gsettings-desktop-schemas-44.0/share/gsettings-schemas/gsettings-desktop-schemas-44.0/nvim/site
/nix/store/gsf6pvrlmdsycgla92kvzqwik4c9bvk9-gsettings-desktop-schemas-44.0/share/gsettings-schemas/gsettings-desktop-schemas-44.0/nvim/site/after
/nix/store/gyqsr57sav3m1idrhzd9ly1v582xp7ar-libgnomekbd-3.28.1/share/gsettings-schemas/libgnomekbd-3.28.1/nvim/site
/nix/store/k63qsbfh99gljc5z0jnwvl7khq3p5x1s-colord-1.4.6/share/gsettings-schemas/colord-1.4.6/nvim/site
/nix/store/s4yl9hkka03xzgmzj9fnivq9iiny14pg-gnome-session-44.0/share/gsettings-schemas/gnome-session-44.0/nvim/site
/nix/store/s4yl9hkka03xzgmzj9fnivq9iiny14pg-gnome-session-44.0/share/gsettings-schemas/gnome-session-44.0/nvim/site/after
/nix/store/s4yl9hkka03xzgmzj9fnivq9iiny14pg-gnome-session-44.0/share/nvim/site
/nix/store/s4yl9hkka03xzgmzj9fnivq9iiny14pg-gnome-session-44.0/share/nvim/site/after
/nix/store/sj3dnzhghz2cwa5x3wd5hlmb94pc9i6z-gnome-shell-extensions-44.0/share/gsettings-schemas/gnome-shell-extensions-44.0/nvim/site
/nix/store/sj3dnzhghz2cwa5x3wd5hlmb94pc9i6z-gnome-shell-extensions-44.0/share/gsettings-schemas/gnome-shell-extensions-44.0/nvim/site/after
/nix/store/yr176vsj2glj4ll0ap10d0fkwb7lcp7a-gnome-shell-44.1/share/gsettings-schemas/gnome-shell-44.1/nvim/site
/nix/store/yr176vsj2glj4ll0ap10d0fkwb7lcp7a-gnome-shell-44.1/share/gsettings-schemas/gnome-shell-44.1/nvim/site/after
/nix/store/yr176vsj2glj4ll0ap10d0fkwb7lcp7a-gnome-shell-44.1/share/nvim/site
/nix/store/yr176vsj2glj4ll0ap10d0fkwb7lcp7a-gnome-shell-44.1/share/nvim/site/after
/nix/var/nix/profiles/default/etc/xdg/nvim
/nix/var/nix/profiles/default/share/nvim/site
/nix/var/nix/profiles/default/share/nvim/site/after
/run/current-system/sw/etc/xdg/nvim
/run/current-system/sw/share/nvim/site
/run/current-system/sw/share/nvim/site/after
  runtimepath=
  runtimepath=~/desktop/init-tests/nvim/pack/testing/start/tex
s/per-user/dor
/var/lib/flatpak/exports/etc/xdg/nvim
/var/lib/flatpak/exports/share/nvim/site

@doronbehar
Copy link
Contributor Author

Oh sorry that was &rtp there, not :scriptnames. Here are :scriptnames:


100: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/syntax/core.vim
101: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/syntax/nested.vim
102: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/syntax/packages.vim
103: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/syntax/p/amsmath.vim
104: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/syntax/p/mathtools.vim
105: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/syntax/p/tikz.vim
106: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/syntax/tex.vim
 10: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/syntax/syntax.vim
 11: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/syntax/synload.vim
 12: ~/.files/.config/nvim/pack/filetype/start/tex/plugin/vimtex.vim
 13: /nix/store/76hb261s44wy4h9kqfl7kgm1naqq8iz6-fzf-0.40.0/share/vim-plugins/fzf/plugin/fzf.vim
 14: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/plugin/gzip.vim
 15: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/plugin/health.vim
 16: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/plugin/matchit.vim
 17: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
 18: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/plugin/matchparen.vim
 19: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/plugin/netrwPlugin.vim
  1: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/ftplugin.vim
 20: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/plugin/rplugin.vim
 21: /nix/store/jhmxpgvmm9sf635j5l4wrz32n6ask1r9-neovim-0.9.0/rplugin.vim
 22: ~/.local/share/nvim/rplugin.vim
 23: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/autoload/remote/host.vim
 24: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/autoload/remote/define.vim
 25: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/plugin/shada.vim
 26: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/plugin/spellfile.vim
 27: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/plugin/tarPlugin.vim
 28: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/plugin/tohtml.vim
 29: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/plugin/tutor.vim
  2: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/indent.vim
 30: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/plugin/zipPlugin.vim
 31: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/plugin/editorconfig.lua
 32: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/plugin/man.lua
 33: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/plugin/nvim.lua
 34: /nix/store/vx2zixx7v5zhvwzgp5j29kdc17sdvyiw-vimplugin-nvim-treesitter-2023-05-01/plugin/nvim-treesitter.lua
 35: ~/.files/.config/nvim/pack/filetype/start/tex/ftplugin/tex.vim
 36: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex.vim
 37: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/options.vim
 38: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/util.vim
 39: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/jobs.vim
  3: /nix/store/nk7ayb847i3n8hhizg3a8y8n4davnci2-init.vim
 40: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/cache.vim
 41: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/paths.vim
 42: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/state.vim
 43: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/re.vim
 44: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/parser.vim
 45: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/parser/tex.vim
 46: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/state/class.vim
 47: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/view.vim
 48: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/view/general.vim
 49: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/view/_template.vim
  4: ~/desktop/init-tests/nvim/init.vim
 50: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/compiler.vim
 51: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/compiler/tectonic.vim
 52: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/compiler/_template.vim
 53: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/qf.vim
 54: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/qf/pplatex.vim
 55: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/toc.vim
 56: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/fold.vim
 57: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/fold/envs.vim
 58: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/fold/cmd_single_opt.vim
 59: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/fold/markers.vim
  5: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/filetype.lua
 60: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/fold/preamble.vim
 61: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/fold/sections.vim
 62: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/fold/cmd_addplot.vim
 63: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/fold/env_options.vim
 64: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/fold/cmd_multi.vim
 65: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/fold/items.vim
 66: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/fold/cmd_single.vim
 67: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/context.vim
 68: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/context/cite.vim
 69: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/parser/fls.vim
  6: ~/.files/.config/nvim/pack/filetype/start/tex/ftdetect/cls.vim
 70: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/bib.vim
 71: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/cmd.vim
 72: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/complete.vim
 73: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/debug.vim
 74: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/delim.vim
 75: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/doc.vim
 76: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/env.vim
 77: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/format.vim
 78: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/fzf.vim
 79: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/imaps.vim
  7: ~/.files/.config/nvim/pack/filetype/start/tex/ftdetect/tex.vim
 80: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/include.vim
 81: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/info.vim
 82: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/kpsewhich.vim
 83: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/log.vim
 84: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/matchparen.vim
 85: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/syntax.vim
 86: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/pos.vim
 87: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/misc.vim
 88: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/motion.vim
 89: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/nvim.vim
  8: ~/.files/.config/nvim/pack/filetype/start/tex/ftdetect/tikz.vim
 90: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/profile.vim
 91: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/scratch.vim
 92: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/text_obj.vim
 93: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/ui.vim
 94: ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex/text_obj/targets.vim
 95: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/ftplugin/tex.vim
 96: ~/.files/.config/nvim/pack/filetype/start/tex/after/ftplugin/tex.vim
 97: ~/.files/.config/nvim/pack/filetype/start/tex/indent/tex.vim
 98: /nix/store/0a4zi4bh1fr2xayjlpqrlfsvay0z4ypn-neovim-unwrapped-0.9.0/share/nvim/runtime/indent/tex.vim
 99: ~/.files/.config/nvim/pack/filetype/start/tex/syntax/tex.vim
  9: /nix/store/hj09p5yw7227qh1bvzpndxxmz3iy1yn7-taskwarrior-2.6.2/share/vim-plugins/task/ftdetect/task.vim

@doronbehar
Copy link
Contributor Author

Some files appear in ~/.files/.config/nvim/pack/filetype/start/tex/autoload/vimtex because I actually symlinked the Vimtex clone into ~/desktop/init-tests/nvim/pack/testing/start/.

@doronbehar
Copy link
Contributor Author

I tried to use $XDG_CONFIG_HOME instead of your setup to imitate exactly the loading order of my setup. It may have been tested somewhat messy in the asciinema recording, but the issue is still there - with or without $XDG_CONFIG_HOME.

@lervag
Copy link
Owner

lervag commented May 13, 2023

Good, things look more or less right, I can't immediately see why this fails. On my end, the same setup works.

So, let's dig deeper:

  • Which version of pplatex do you have?
  • After doing the earlier test where the quickfix window does not appear: what happens if you do \le?
  • Does pplatex work from inside neovim as expected? I.e., what happens if you do :term pplatex -i example.log?

@lervag
Copy link
Owner

lervag commented May 13, 2023

Are you on the latest VimTeX version?

@lervag
Copy link
Owner

lervag commented May 13, 2023

The next level of debugging here will be to ask you to do some print debugging. Specifically, it would be interesting to see the output of adding unsilent echom "debug" a:status above this line:

if !exists('b:vimtex.compiler') | return | endif

You will probably need to do :messages to see the message. The message should come after you do \ll to start compilation.

The next location to inspect is here:

call vimtex#compiler#callback(2 + vimtex#qf#inquire(l:target))

specifically, I'm curious about the output of vimtex#qf#inquire before line 458. The echom technique should work there as well.

@doronbehar
Copy link
Contributor Author

doronbehar commented May 13, 2023

pplatex doesn't have officially stable releases yet, and apparently NixOS distributes a version from 2015! I updated it to the latest commit of pplatex from a 2023, April, and still, it doesn't work.

After adding both echom additions, I press \le and run :messages and see:

inquire 0
debug 2

Where this is my git -C <vimtex> diff:

diff --git i/autoload/vimtex/compiler.vim w/autoload/vimtex/compiler.vim
index 3bd21b62..77707fae 100644
--- i/autoload/vimtex/compiler.vim
+++ w/autoload/vimtex/compiler.vim
@@ -43,6 +43,7 @@ function! vimtex#compiler#callback(status) abort " {{{1
   " 1: Compilation cycle has started
   " 2: Compilation complete - Success
   " 3: Compilation complete - Failed
+  unsilent echom "debug" a:status
   if !exists('b:vimtex.compiler') | return | endif
   silent! call s:output.pause()
 
diff --git i/autoload/vimtex/compiler/_template.vim w/autoload/vimtex/compiler/_template.vim
index b8ad8ccf..c8079efa 100644
--- i/autoload/vimtex/compiler/_template.vim
+++ w/autoload/vimtex/compiler/_template.vim
@@ -455,6 +455,7 @@ function! s:callback_nvim_exit(id, data, event) abort dict " {{{1
   if b:vimtex.compiler.status == 0 | return | endif
 
   let l:target = self.tex !=# b:vimtex.tex ? self.tex : ''
+  unsilent echom "inquire" vimtex#qf#inquire(l:target)
   call vimtex#compiler#callback(2 + vimtex#qf#inquire(l:target))
 endfunction
 

I can run `pplatex from within Neovim:

:!pplatex -i example.log
** Warning: No file example.aux.

** Error  , Line 10: Missing $ inserted <inserted text>  $

Result: o) Errors: 1, Warnings: 1, BadBoxes: 0


shell returned 1

Press ENTER or type command to continue

Pressing \le gives:

VimTeX: No errors!

@doronbehar
Copy link
Contributor Author

I'm using the latest Vimtex version as of today.

@lervag
Copy link
Owner

lervag commented May 14, 2023

Pressing \le gives:

VimTeX: No errors!

Do I understand correctly that your example/test directory now looks essentially like this?

.
├─ test.vim
├─ test.tex
├─ …
└─ test.log

Here test.vim is essentially:

set nocompatible
set runtimepath^=~/.local/plugged/vimtex
set runtimepath+=~/.local/plugged/vimtex/after
filetype plugin indent on
syntax enable

let g:vimtex_compiler_method = 'tectonic'
let g:vimtex_quickfix_method = 'pplatex'

test.tex contains:

\documentclass{minimal}
\begin{document}

Hello World!

$

\end{document}

AND test.log looks like this:

**
(test.tex
LaTeX2e <2021-11-15> patch level 1
L3 programming layer <2022-02-24> (minimal.cls

… LOTS OF VARIOUS LINES

! Missing $ inserted.
<inserted text> 
                $
l.7 
    
No pages of output.

If you can confirm, then we know we are looking at a similar minimal example!

After adding both echom additions, I press \le and run :messages and see:

inquire 0
debug 2

This shows that, for some reason, the vimtex#qf#inquire believes there is no error. We can continue down this rabbit hole and it should explain what is happening. But it would be useful to first know we are actually seeing the same output in test.log.

@doronbehar
Copy link
Contributor Author

It's a similar setup. Only I named the TeX file example.tex, and I use init.vim instead of test.vim, and I put vimtex's clone in pack/testing/start/tex, so that I can test the whole setup with as much similarity as possible to the real ~/.config/nvim.

@doronbehar
Copy link
Contributor Author

I have even managed to see that example.pplatex file is created and it has the right content, using the following patch:

diff --git i/autoload/vimtex/compiler.vim w/autoload/vimtex/compiler.vim
index 3bd21b62..77707fae 100644
--- i/autoload/vimtex/compiler.vim
+++ w/autoload/vimtex/compiler.vim
@@ -43,6 +43,7 @@ function! vimtex#compiler#callback(status) abort " {{{1
   " 1: Compilation cycle has started
   " 2: Compilation complete - Success
   " 3: Compilation complete - Failed
+  unsilent echom "debug" a:status
   if !exists('b:vimtex.compiler') | return | endif
   silent! call s:output.pause()
 
diff --git i/autoload/vimtex/compiler/_template.vim w/autoload/vimtex/compiler/_template.vim
index b8ad8ccf..418ff7e8 100644
--- i/autoload/vimtex/compiler/_template.vim
+++ w/autoload/vimtex/compiler/_template.vim
@@ -455,6 +455,8 @@ function! s:callback_nvim_exit(id, data, event) abort dict " {{{1
   if b:vimtex.compiler.status == 0 | return | endif
 
   let l:target = self.tex !=# b:vimtex.tex ? self.tex : ''
+  unsilent echom "inquire" vimtex#qf#inquire(l:target)
+  unsilent echom "inquire target" l:target
   call vimtex#compiler#callback(2 + vimtex#qf#inquire(l:target))
 endfunction
 
diff --git i/autoload/vimtex/qf.vim w/autoload/vimtex/qf.vim
index b15cccdd..51efaf10 100644
--- i/autoload/vimtex/qf.vim
+++ w/autoload/vimtex/qf.vim
@@ -113,6 +113,7 @@ function! vimtex#qf#setqflist(...) abort " {{{1
     let l:blg = b:vimtex.compiler.get_file('blg')
     let l:jump = g:vimtex_quickfix_autojump
   endif
+  unsilent echom "setqflist log file is" l:log
 
   try
     " Initialize the quickfix list
@@ -159,6 +160,7 @@ endfunction
 
 " }}}1
 function! vimtex#qf#inquire(file) abort " {{{1
+  unsilent echom "inquire target is" a:file
   try
     call vimtex#qf#setqflist(a:file)
     return s:qf_has_errors()
diff --git i/autoload/vimtex/qf/pplatex.vim w/autoload/vimtex/qf/pplatex.vim
index 42b2e473..aeddf845 100644
--- i/autoload/vimtex/qf/pplatex.vim
+++ w/autoload/vimtex/qf/pplatex.vim
@@ -85,12 +85,13 @@ function! s:qf.addqflist(tex, log) abort dict " {{{1
   endif
 
   let l:tmp = fnamemodify(a:log, ':r') . '.pplatex'
+  unsilent echom "pplatex log file is" l:tmp
 
   call vimtex#jobs#run(printf('pplatex -i "%s" >"%s"', a:log, l:tmp))
   call vimtex#paths#pushd(b:vimtex.root)
   call vimtex#qf#u#caddfile(self, l:tmp)
   call vimtex#paths#popd()
-  call delete(l:tmp)
+  "call delete(l:tmp)
 endfunction
 
 " }}}1

@doronbehar
Copy link
Contributor Author

Could it be an issue with the errorformat? Now when example.pplatex is not deleted, when I execute manually:

:caddfile example.pplatex

I still see no errors... I think this is as far as I will go myself. I once in my life tried to create a simple errorformat configuration, and it turned out to be a nightmare!

@doronbehar
Copy link
Contributor Author

I think there is no errorformat line with a , appearing after 2 spaces of lines starting with Error like in my pplatex output.

@lervag
Copy link
Owner

lervag commented May 14, 2023

What's the content of the example.pplatex file?

@doronbehar
Copy link
Contributor Author

Same as I showed in one of my previous comments:

** Warning: No file example.aux.

** Error  , Line 10: Missing $ inserted <inserted text>  $

Result: o) Errors: 1, Warnings: 1, BadBoxes: 0


shell returned 1

Press ENTER or type command to continue

@lervag
Copy link
Owner

lervag commented May 14, 2023

Ah, now I see: on my end, the output of pplatex -i test.log is this:

** Warning in test.tex: No file test.aux.

** Error   in test.tex, Line 7: Missing $ inserted <inserted text>  $ 

Result: o) Errors: 1, Warnings: 1, BadBoxes: 0

Notice how there is "in test.tex" on my end, while it is lacking on your end. The errorformat assumes the in FILE, syntax.

lervag added a commit that referenced this issue May 14, 2023
@lervag
Copy link
Owner

lervag commented May 14, 2023

I don't know why the pplatex output on your end does not contain the filenames (with "in FILE.tex"). But I pushed an update that partially fixes this for you. The errors are now not "complete", as they lack the filename, but you should get an indication that there is an error and on which line it is.

@doronbehar
Copy link
Contributor Author

What version of pplatex exactly are you using? And do you simply get a different output when you run pplatex -i example.log? And did you generate that example.log with Tectonic? and if yes with what version of Tectonic?

@doronbehar
Copy link
Contributor Author

BTW this is my example.log:

**
(example.tex
LaTeX2e <2021-11-15> patch level 1
L3 programming layer <2022-02-24> (article.cls
Document Class: article 2021/10/04 v1.4n Standard LaTeX document class
(size10.clo
File: size10.clo 2021/10/04 v1.4n Standard LaTeX file (size option)
)
\c@part=\count181
\c@section=\count182
\c@subsection=\count183
\c@subsubsection=\count184
\c@paragraph=\count185
\c@subparagraph=\count186
\c@figure=\count187
\c@table=\count188
\abovecaptionskip=\skip47
\belowcaptionskip=\skip48
\bibindent=\dimen138
) (tikz.sty (pgf.sty (pgfrcs.sty (pgfutil-common.tex
\pgfutil@everybye=\toks16
\pgfutil@tempdima=\dimen139
\pgfutil@tempdimb=\dimen140

(pgfutil-common-lists.tex)) (pgfutil-latex.def
\pgfutil@abb=\box50
) (pgfrcs.code.tex
(pgf.revision.tex)
Package: pgfrcs 2021/05/15 v3.1.9a (3.1.9a)
))
Package: pgf 2021/05/15 v3.1.9a (3.1.9a)
 (pgfcore.sty (graphicx.sty
Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR)
 (keyval.sty
Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
\KV@toks@=\toks17
) (graphics.sty
Package: graphics 2021/03/04 v1.4d Standard LaTeX Graphics (DPC,SPQR)

(trig.sty
Package: trig 2021/08/11 v1.11 sin cos tan (DPC)
) (graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: xetex.def on input line 107.
 (xetex.def
File: xetex.def 2021/03/18 v5.0k Graphics/color driver for xetex
))
\Gin@req@height=\dimen141
\Gin@req@width=\dimen142
) (pgfsys.sty (pgfsys.code.tex
Package: pgfsys 2021/05/15 v3.1.9a (3.1.9a)

(pgfkeys.code.tex
\pgfkeys@pathtoks=\toks18
\pgfkeys@temptoks=\toks19
 (pgfkeysfiltered.code.tex
\pgfkeys@tmptoks=\toks20
))
\pgf@x=\dimen143
\pgf@y=\dimen144
\pgf@xa=\dimen145
\pgf@ya=\dimen146
\pgf@xb=\dimen147
\pgf@yb=\dimen148
\pgf@xc=\dimen149
\pgf@yc=\dimen150
\pgf@xd=\dimen151
\pgf@yd=\dimen152
\w@pgf@writea=\write3
\r@pgf@reada=\read2
\c@pgf@counta=\count189
\c@pgf@countb=\count190
\c@pgf@countc=\count191
\c@pgf@countd=\count192
\t@pgf@toka=\toks21
\t@pgf@tokb=\toks22
\t@pgf@tokc=\toks23
\pgf@sys@id@count=\count193
 (pgf.cfg
File: pgf.cfg 2021/05/15 v3.1.9a (3.1.9a)
)
Driver file for pgf: pgfsys-xetex.def
 (pgfsys-xetex.def
File: pgfsys-xetex.def 2021/05/15 v3.1.9a (3.1.9a)

(pgfsys-dvipdfmx.def
File: pgfsys-dvipdfmx.def 2021/05/15 v3.1.9a (3.1.9a)
 (pgfsys-common-pdf.def
File: pgfsys-common-pdf.def 2021/05/15 v3.1.9a (3.1.9a)
)
\pgfsys@objnum=\count194
))) (pgfsyssoftpath.code.tex
File: pgfsyssoftpath.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgfsyssoftpath@smallbuffer@items=\count195
\pgfsyssoftpath@bigbuffer@items=\count196
)
(pgfsysprotocol.code.tex
File: pgfsysprotocol.code.tex 2021/05/15 v3.1.9a (3.1.9a)
)) (xcolor.sty
Package: xcolor 2021/10/31 v2.13 LaTeX color extensions (UK)
 (color.cfg
File: color.cfg 2016/01/02 v1.6 sample color configuration
)
Package xcolor Info: Driver file: xetex.def on input line 227.
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1352.
Package xcolor Info: Model `RGB' extended on input line 1368.
Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1370.
Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1371.
Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1372.
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1373.
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1374.
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1375.
) (pgfcore.code.tex
Package: pgfcore 2021/05/15 v3.1.9a (3.1.9a)

(pgfmath.code.tex (pgfmathcalc.code.tex (pgfmathutil.code.tex)
(pgfmathparser.code.tex
\pgfmath@dimen=\dimen153
\pgfmath@count=\count197
\pgfmath@box=\box51
\pgfmath@toks=\toks24
\pgfmath@stack@operand=\toks25
\pgfmath@stack@operation=\toks26
) (pgfmathfunctions.code.tex
(pgfmathfunctions.basic.code.tex) (pgfmathfunctions.trigonometric.code.tex)
(pgfmathfunctions.random.code.tex) (pgfmathfunctions.comparison.code.tex)
(pgfmathfunctions.base.code.tex) (pgfmathfunctions.round.code.tex)
(pgfmathfunctions.misc.code.tex) (pgfmathfunctions.integerarithmetics.code.tex)
)) (pgfmathfloat.code.tex
\c@pgfmathroundto@lastzeros=\count198
)) (pgfint.code.tex) (pgfcorepoints.code.tex
File: pgfcorepoints.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgf@picminx=\dimen154
\pgf@picmaxx=\dimen155
\pgf@picminy=\dimen156
\pgf@picmaxy=\dimen157
\pgf@pathminx=\dimen158
\pgf@pathmaxx=\dimen159
\pgf@pathminy=\dimen160
\pgf@pathmaxy=\dimen161
\pgf@xx=\dimen162
\pgf@xy=\dimen163
\pgf@yx=\dimen164
\pgf@yy=\dimen165
\pgf@zx=\dimen166
\pgf@zy=\dimen167
)
(pgfcorepathconstruct.code.tex
File: pgfcorepathconstruct.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgf@path@lastx=\dimen168
\pgf@path@lasty=\dimen169
) (pgfcorepathusage.code.tex
File: pgfcorepathusage.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgf@shorten@end@additional=\dimen170
\pgf@shorten@start@additional=\dimen171
)
(pgfcorescopes.code.tex
File: pgfcorescopes.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgfpic=\box52
\pgf@hbox=\box53
\pgf@layerbox@main=\box54
\pgf@picture@serial@count=\count199
) (pgfcoregraphicstate.code.tex
File: pgfcoregraphicstate.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgflinewidth=\dimen172
)
(pgfcoretransformations.code.tex
File: pgfcoretransformations.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgf@pt@x=\dimen173
\pgf@pt@y=\dimen174
\pgf@pt@temp=\dimen175
) (pgfcorequick.code.tex
File: pgfcorequick.code.tex 2021/05/15 v3.1.9a (3.1.9a)
)
(pgfcoreobjects.code.tex
File: pgfcoreobjects.code.tex 2021/05/15 v3.1.9a (3.1.9a)
) (pgfcorepathprocessing.code.tex
File: pgfcorepathprocessing.code.tex 2021/05/15 v3.1.9a (3.1.9a)
)
(pgfcorearrows.code.tex
File: pgfcorearrows.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgfarrowsep=\dimen176
) (pgfcoreshade.code.tex
File: pgfcoreshade.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgf@max=\dimen177
\pgf@sys@shading@range@num=\count266
\pgf@shadingcount=\count267
) (pgfcoreimage.code.tex
File: pgfcoreimage.code.tex 2021/05/15 v3.1.9a (3.1.9a)

(pgfcoreexternal.code.tex
File: pgfcoreexternal.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgfexternal@startupbox=\box55
)) (pgfcorelayers.code.tex
File: pgfcorelayers.code.tex 2021/05/15 v3.1.9a (3.1.9a)
)
(pgfcoretransparency.code.tex
File: pgfcoretransparency.code.tex 2021/05/15 v3.1.9a (3.1.9a)
) (pgfcorepatterns.code.tex
File: pgfcorepatterns.code.tex 2021/05/15 v3.1.9a (3.1.9a)
) (pgfcorerdf.code.tex
File: pgfcorerdf.code.tex 2021/05/15 v3.1.9a (3.1.9a)
))) (pgfmoduleshapes.code.tex
File: pgfmoduleshapes.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgfnodeparttextbox=\box56
) (pgfmoduleplot.code.tex
File: pgfmoduleplot.code.tex 2021/05/15 v3.1.9a (3.1.9a)
)
(pgfcomp-version-0-65.sty
Package: pgfcomp-version-0-65 2021/05/15 v3.1.9a (3.1.9a)
\pgf@nodesepstart=\dimen178
\pgf@nodesepend=\dimen179
) (pgfcomp-version-1-18.sty
Package: pgfcomp-version-1-18 2021/05/15 v3.1.9a (3.1.9a)
)) (pgffor.sty (pgfkeys.sty (pgfkeys.code.tex)) (pgfmath.sty (pgfmath.code.tex)
) (pgffor.code.tex
Package: pgffor 2021/05/15 v3.1.9a (3.1.9a)

(pgfmath.code.tex)
\pgffor@iter=\dimen180
\pgffor@skip=\dimen181
\pgffor@stack=\toks27
\pgffor@toks=\toks28
)) (tikz.code.tex
Package: tikz 2021/05/15 v3.1.9a (3.1.9a)
 (pgflibraryplothandlers.code.tex
File: pgflibraryplothandlers.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgf@plot@mark@count=\count268
\pgfplotmarksize=\dimen182
)
\tikz@lastx=\dimen183
\tikz@lasty=\dimen184
\tikz@lastxsaved=\dimen185
\tikz@lastysaved=\dimen186
\tikz@lastmovetox=\dimen187
\tikz@lastmovetoy=\dimen188
\tikzleveldistance=\dimen189
\tikzsiblingdistance=\dimen190
\tikz@figbox=\box57
\tikz@figbox@bg=\box58
\tikz@tempbox=\box59
\tikz@tempbox@bg=\box60
\tikztreelevel=\count269
\tikznumberofchildren=\count270
\tikznumberofcurrentchild=\count271
\tikz@fig@count=\count272

(pgfmodulematrix.code.tex
File: pgfmodulematrix.code.tex 2021/05/15 v3.1.9a (3.1.9a)
\pgfmatrixcurrentrow=\count273
\pgfmatrixcurrentcolumn=\count274
\pgf@matrix@numberofcolumns=\count275
)
\tikz@expandcount=\count276
 (tikzlibrarytopaths.code.tex
File: tikzlibrarytopaths.code.tex 2021/05/15 v3.1.9a (3.1.9a)
))) (amsmath.sty
Package: amsmath 2021/10/15 v2.17l AMS math features
\@mathmargin=\skip49

For additional information on amsmath, use the `?' option.
(amstext.sty
Package: amstext 2021/08/26 v2.01 AMS text
 (amsgen.sty
File: amsgen.sty 1999/11/30 v2.0 generic functions
\@emptytoks=\toks29
\ex@=\dimen191
)) (amsbsy.sty
Package: amsbsy 1999/11/29 v1.2d Bold Symbols
\pmbraise@=\dimen192
) (amsopn.sty
Package: amsopn 2021/08/26 v2.02 operator names
)
\inf@bad=\count277
LaTeX Info: Redefining \frac on input line 234.
\uproot@=\count278
\leftroot@=\count279
LaTeX Info: Redefining \overline on input line 399.
\classnum@=\count280
\DOTSCASE@=\count281
LaTeX Info: Redefining \ldots on input line 496.
LaTeX Info: Redefining \dots on input line 499.
LaTeX Info: Redefining \cdots on input line 620.
\Mathstrutbox@=\box61
\strutbox@=\box62
\big@size=\dimen193
LaTeX Font Info:    Redeclaring font encoding OML on input line 743.
LaTeX Font Info:    Redeclaring font encoding OMS on input line 744.
\macc@depth=\count282
\c@MaxMatrixCols=\count283
\dotsspace@=\muskip16
\c@parentequation=\count284
\dspbrk@lvl=\count285
\tag@help=\toks30
\row@=\count286
\column@=\count287
\maxfields@=\count288
\andhelp@=\toks31
\eqnshift@=\dimen194
\alignsep@=\dimen195
\tagshift@=\dimen196
\tagwidth@=\dimen197
\totwidth@=\dimen198
\lineht@=\dimen199
\@envbody=\toks32
\multlinegap=\skip50
\multlinetaggap=\skip51
\mathdisplay@stack=\toks33
LaTeX Info: Redefining \[ on input line 2938.
LaTeX Info: Redefining \] on input line 2939.
) (mathtools.sty
Package: mathtools 2022/02/07 v1.28a mathematical typesetting tools
 (calc.sty
Package: calc 2017/05/25 v4.3 Infix arithmetic (KKT,FJ)
\calc@Acount=\count289
\calc@Bcount=\count290
\calc@Adimen=\dimen256
\calc@Bdimen=\dimen257
\calc@Askip=\skip52
\calc@Bskip=\skip53
LaTeX Info: Redefining \setlength on input line 80.
LaTeX Info: Redefining \addtolength on input line 81.
\calc@Ccount=\count291
\calc@Cskip=\skip54
) (mhsetup.sty
Package: mhsetup 2021/03/18 v1.4 programming setup (MH)
)
\g_MT_multlinerow_int=\count292
\l_MT_multwidth_dim=\dimen258
\origjot=\skip55
\l_MT_shortvdotswithinadjustabove_dim=\dimen259
\l_MT_shortvdotswithinadjustbelow_dim=\dimen260
\l_MT_above_intertext_sep=\dimen261
\l_MT_below_intertext_sep=\dimen262
\l_MT_above_shortintertext_sep=\dimen263
\l_MT_below_shortintertext_sep=\dimen264
\xmathstrut@box=\box63
\xmathstrut@dim=\dimen265
) (tikzlibraryhobby.code.tex (pgflibraryhobby.code.tex
(hobby.code.tex (expl3.sty
Package: expl3 2022-02-24 L3 programming layer (loader) 
 (l3backend-xetex.def
File: l3backend-xetex.def 2022-02-07 L3 backend support: XeTeX
\c__kernel_sys_dvipdfmx_version_int=\count293
\l__color_backend_stack_int=\count294
\g__color_backend_stack_int=\count295
\g__graphics_track_int=\count296
\l__pdf_internal_box=\box64
\g__pdf_backend_object_int=\count297
\g__pdf_backend_annotation_int=\count298
\g__pdf_backend_link_int=\count299
)) (xparse.sty
Package: xparse 2022-01-12 L3 Experimental document command parser
) (pml3array.sty
\l_array_base_int=\count300
\l_array_top_int=\count301
\l_array_tmp_int=\count302
\g_array_base_int=\count303
)
\l_hobby_npoints_int=\count304
\l_hobby_draw_int=\count305
))) (tikzlibrarycalc.code.tex
File: tikzlibrarycalc.code.tex 2021/05/15 v3.1.9a (3.1.9a)
)
No file example.aux.
\openout1 = `example.aux'.

LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 7.
LaTeX Font Info:    ... okay on input line 7.
LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 7.
LaTeX Font Info:    ... okay on input line 7.
LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 7.
LaTeX Font Info:    ... okay on input line 7.
LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 7.
LaTeX Font Info:    ... okay on input line 7.
LaTeX Font Info:    Checking defaults for TS1/cmr/m/n on input line 7.
LaTeX Font Info:    Trying to load font information for TS1+cmr on input line 7
.
(ts1cmr.fd
File: ts1cmr.fd 2019/12/16 v2.5j Standard LaTeX font definitions
)
LaTeX Font Info:    ... okay on input line 7.
LaTeX Font Info:    Checking defaults for TU/lmr/m/n on input line 7.
LaTeX Font Info:    ... okay on input line 7.
LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 7.
LaTeX Font Info:    ... okay on input line 7.
LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 7.
LaTeX Font Info:    ... okay on input line 7.

! Missing $ inserted.
<inserted text> 
                $
l.10 
     
No pages of output.

@lervag
Copy link
Owner

lervag commented May 14, 2023

What version of pplatex exactly are you using?

RELEASE_NAME: RELEASE_VERSION
Copyright (C) 2003 Jeroen Wijnhout (wijnhout@science.uva.nl)
              2008 by Michel Ludwig (michel.ludwig@kdemail.net)
              2009,2010 Stefan Hepp (stefan@stefant.org)

This is installed on Arch Linux with the AUR package that installs from the Git repo. Thus, it is the latest version, I think.

And do you simply get a different output when you run pplatex -i example.log?

Yes. But it is because we are using different minimal LaTeX files. I've now manually written what you showed in your earlier screencast (this content is really something you should provide as text, because it is much easier to work with). Now I can reproduce the issue locally as well.

and if yes with what version of Tectonic?

Version 0.12.0

@lervag
Copy link
Owner

lervag commented May 14, 2023

I believe this must be a strange bug with pplatex, actually. But my latest update should at least help somewhat.

@lervag
Copy link
Owner

lervag commented May 14, 2023

I don't have much experience with C++, but it seems pplatex is a small project. Perhaps it would not be too hard to work with the author to fix it there? You could open an issue at the repo: https://github.com/stefanhepp/pplatex/

@doronbehar
Copy link
Contributor Author

Yes. But it is because we are using different minimal LaTeX files. I've now manually written what you showed in your earlier screencast (this content is really something you should provide as text, because it is much easier to work with). Now I can reproduce the issue locally as well.

Finally 😅

Thanks a lot for you help! I will open an issue at pplatex.

@lervag
Copy link
Owner

lervag commented May 14, 2023

Yes. But it is because we are using different minimal LaTeX files. I've now manually written what you showed in your earlier screencast (this content is really something you should provide as text, because it is much easier to work with). Now I can reproduce the issue locally as well.

Finally

Hehe, yeah, sometimes it takes a lot just to get on the same page. :)

Thanks a lot for you help! I will open an issue at pplatex.

Glad to help! Feel free to link the issues and let me know if there are any useful updates!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants