Until now I've been using TeXworks to edit my .tex projects. When the project is divided in several subfiles I can use % TeX root=my_main_file.tex directive in order to compile the main file and not the one it's being edited. Once the file is compiled my_main_file.pdf is shown in TeXworks' pdf viewer.

Yesterday I decided to test arara because I also wanted to use its clean rule. After installing it and (more or less) reading the manual I don't know how to automatically open my_main_file.pdf after typesetting my_subfile.

arara typesetting engine is declared with $fullname --verbose --log and view PDF after running is marked.

Rule %arara: pdflatex on my_main_file.tex works as expected: main file is processed and viewed.

Rule % arara: pdflatex: {files: [ my_main_file ] } on my_subfile.tex works almost as expected: main file is processed but nothing is shown in viewer.

What am I missing?

  • In your arara.log, there should be a line that looks like TRACE CommandTrigger - Command: .... Could you add this line, from both runs, to the question? Sep 27, 2012 at 11:14
  • I believe that you only need % !TeX program=arara in the secondary files, and no arara directive. Of course the TeX Root directive is still needed
    – egreg
    Sep 27, 2012 at 11:20

1 Answer 1


First of all, thanks for giving arara a try. :) We are working on the new 3.x series, which will hopefully be the best version ever. :)

When you mark the View PDF after running option when configuring the tool, TeXworks will monitor the current file expecting for changes. If you run arara on foo.tex, TeXworks will wait for changes in that specific file. Now, when we call arara on another file, TeXworks is not aware that it's another file that's being processed, hence not displaying the PDF preview.

We can easily "fix" (technically, it's not a fix, it's just a "Hey, TeXworks! I'm running foo.tex, but my main file is bar.tex.") this behaviour by adding the following TeXworks directive in our subfile.tex file:

% !TeX root = mymainfile.tex
Hello world

That should do the trick. :)

The arara directive is not even needed in the included files.

When we use the % !TeX root directive provided by TeXworks, the current $fullname variable is set to mymainfile.tex, so arara will read the directives in mymainfile.tex instead of the current file.

As egreg mentions in the comment, it's also advisable to include another TeXworks directive, % !TeX program=arara, in the secondary file just to make sure arara will run. Maybe arara isn't selected in the program list. :)

  • Is it going to be even better than v4.0 ? :P
    – percusse
    Sep 27, 2012 at 12:47
  • @percusse: Uh-oh. :) Sep 27, 2012 at 12:57
  • It worked! I also added TeX program directive but I had to remember (looking TeXworks manual) that it only sets the typesetting program when file is loaded. After that the typesetting program selected on the menu is the one which works.
    – Ignasi
    Sep 27, 2012 at 15:03
  • 1
    @PauloCereda: arara tag ;-) Sep 27, 2012 at 16:01
  • @PauloCereda I am sorry, but where can I find the possible directives to be used in arara documentation? For example, in this answer, I found that there is a directive called console that helps run the command prompt. However, I didn't find any information on it in arara documentation. So, is it already in the documentation and I overlooked it or not?
    – Diaa
    Aug 27, 2016 at 22:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .