texstudio icon indicating copy to clipboard operation
texstudio copied to clipboard

[Bug] Setting `% !TeX program` disables custom `Build & View` pipeline

Open randolf-scholz opened this issue 3 years ago • 1 comments

Environment

  • TeXstudio: 4.3.1
  • OS: Ubuntu 20.04 / 22.04
  • TeX distribution: texlive

Expected behavior

According to the documentation setting % !TeX program = pdflatex should work as substituting txs:///compile with txs:///pdflatex in the Build & View pipeline.

Defines the compiler to be used for the document. To be precise, it overrides the default compiler (command txs:///compile) which is used in the actions "Build & View" as well as "Compile". Valid options are "latex","pdflatex","xelatex","lualatex" and "usern" (e.g. user0 as user defined command 0)

Actual behavior

With the header % !TeX program = pdflatex set, TexStudio seems to only executed txs:///pdflatex | txs:///view

How to reproduce

Set the Build & View pipeline to echo "test" | txs:///compile | txs:///view. Consider the example

% !TeX program = pdflatex
\documentclass[10pt,a4paper]{article}
\begin{document}
Lorem ipsum.
\end{document}

randolf-scholz avatar Sep 06 '22 17:09 randolf-scholz

this is not a coding error but not-implemented functionality. This may take a while ...

sunderme avatar Sep 06 '22 19:09 sunderme

Addendum: It seems that setting

% !TeX TXS-program:compile = txs:///pdflatex

instead of

% !TeX program = pdflatex

works fine. So possibly it would be sufficient to update the manual? The current description of what !TeX program = pdflatex does just seems flat out wrong in regard to this finding.

!TeX program = pdflatex Defines the compiler to be used for the document. To be precise, it overrides the default compiler (command txs:///compile) which is used in the actions "Build & View" as well as "Compile". Valid options are "latex","pdflatex","xelatex","lualatex" and "usern" (e.g. user0 as user defined command 0) % !TeX TXS-program:bibliography = txs:///biber This is a TeXstudio-specific setting. It overrides the build-system command specified to the left by the one on the right. In the example, we tell TXS to use the biber command (txs:///biber) for the general "Bibliography command (txs:///bibliography). See also the description of the build system.

It seems that in fact, setting % !TeX program = pdflatex always just substitutes the whole build pipeline and uses the standard view pipeline.

randolf-scholz avatar Oct 17 '22 12:10 randolf-scholz