What are the differences between latexmk and rubber?
up vote
59
down vote
favorite
I just stumbled on this blog post about rubber and was thinking: "Isn't that exactly what latexmk does?". So, now I wonder: isn't it? Or are there any differences?
latexmk rubber
add a comment |
up vote
59
down vote
favorite
I just stumbled on this blog post about rubber and was thinking: "Isn't that exactly what latexmk does?". So, now I wonder: isn't it? Or are there any differences?
latexmk rubber
1
Great question!:)
– Paulo Cereda
Dec 5 '11 at 11:00
add a comment |
up vote
59
down vote
favorite
up vote
59
down vote
favorite
I just stumbled on this blog post about rubber and was thinking: "Isn't that exactly what latexmk does?". So, now I wonder: isn't it? Or are there any differences?
latexmk rubber
I just stumbled on this blog post about rubber and was thinking: "Isn't that exactly what latexmk does?". So, now I wonder: isn't it? Or are there any differences?
latexmk rubber
latexmk rubber
edited Dec 6 '11 at 14:29
asked Dec 5 '11 at 7:53
jonalv
5,42453993
5,42453993
1
Great question!:)
– Paulo Cereda
Dec 5 '11 at 11:00
add a comment |
1
Great question!:)
– Paulo Cereda
Dec 5 '11 at 11:00
1
1
Great question!
:)– Paulo Cereda
Dec 5 '11 at 11:00
Great question!
:)– Paulo Cereda
Dec 5 '11 at 11:00
add a comment |
3 Answers
3
active
oldest
votes
up vote
41
down vote
accepted
It seems that the rubber has the following features that are not (yet?) offered by latexmk:
- Rubber parses the LaTeX log file, filters it, and pretty-prints only "relevant" messages (warnings, errors). Rubber always runs LaTeX in a non-interactive mode, while latexmk seems to require additional switches or configuration.
- With rubber you can have configuration options as comments in the LaTeX source code; latexmk requires auxiliary configuration files.
- Most importantly, rubber lets you specify the correct values of TEXINPUTS, BIBINPUTS, BSTINPUTS, etc. for each document using the aforementioned configuration options; latexmk seems to expect that these environment variables are already defined appropriately.
Of course many of these issues can be worked around with some wrapper scripts and auxiliary files. And obviously there are many features of latexmk that are not offered by rubber.
1
To add some news: Rubber v1.2 was released on 2015-06-24. It seems however that for Ubuntu, 1.2 will not be included in 15.04, but 15.10 and further. For more information, see the launchpad of Rubber.
– r0estir0bbe
Sep 30 '15 at 8:44
1
One of those "wrapper scripts" for problem 1, istexfot. I actually preferlatexmknot offering this feature, because that meets the Unix philosophy.
– Franklin Yu
Jan 29 '17 at 5:50
Fedora 27 includesrubber --version 1.4.
– alfC
Dec 19 '17 at 7:08
1
Maintenance: I think the first sentence is not really true anymore as pointed out by others. It is correct that there has been a gap of many years between v1.1 (2006) and v1.2 (2015). But since then there have been several more releases with the currently latest v1.5.1 from September 2018. TEXINPUTS,... you can adjust texinputs for a project directory for latexmk in a latexmkrc file: see tex.stackexchange.com/a/50847/8917.
– Hotschke
Oct 25 at 4:48
1
This answer is from 2011, it is now 2018. Everything in the answer is most likely seriously outdated.
– Jukka Suomela
yesterday
add a comment |
up vote
24
down vote
One important advantage of latexmk over rubber is that latexmk detects dependent files much more reliably. As best as I have been able to work out, rubber determines the dependent files by parsing the tex file, by looking for input, include and includegraphics macros. But if these macros are buried inside another macro, rubber doesn't detect the dependent files correctly. E.g., if you have
newcommandtry[1]{input{#1}}
try{sub}
rubber won't detect that sub.tex is a dependent file. Thus if the file sub.tex changes, rubber won't detect that the compilation needs to be run again.
Latexmk instead parses the log file and uses the -recorder option of (pdf)latex to determine the dependent files.
add a comment |
up vote
19
down vote
Latexmk also brings an auto-preview feature, which recompiles (smartly) the pdf as soon as the tex is saved.
There are also more advanced features, like tight integration with makefiles for example.
add a comment |
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
41
down vote
accepted
It seems that the rubber has the following features that are not (yet?) offered by latexmk:
- Rubber parses the LaTeX log file, filters it, and pretty-prints only "relevant" messages (warnings, errors). Rubber always runs LaTeX in a non-interactive mode, while latexmk seems to require additional switches or configuration.
- With rubber you can have configuration options as comments in the LaTeX source code; latexmk requires auxiliary configuration files.
- Most importantly, rubber lets you specify the correct values of TEXINPUTS, BIBINPUTS, BSTINPUTS, etc. for each document using the aforementioned configuration options; latexmk seems to expect that these environment variables are already defined appropriately.
Of course many of these issues can be worked around with some wrapper scripts and auxiliary files. And obviously there are many features of latexmk that are not offered by rubber.
1
To add some news: Rubber v1.2 was released on 2015-06-24. It seems however that for Ubuntu, 1.2 will not be included in 15.04, but 15.10 and further. For more information, see the launchpad of Rubber.
– r0estir0bbe
Sep 30 '15 at 8:44
1
One of those "wrapper scripts" for problem 1, istexfot. I actually preferlatexmknot offering this feature, because that meets the Unix philosophy.
– Franklin Yu
Jan 29 '17 at 5:50
Fedora 27 includesrubber --version 1.4.
– alfC
Dec 19 '17 at 7:08
1
Maintenance: I think the first sentence is not really true anymore as pointed out by others. It is correct that there has been a gap of many years between v1.1 (2006) and v1.2 (2015). But since then there have been several more releases with the currently latest v1.5.1 from September 2018. TEXINPUTS,... you can adjust texinputs for a project directory for latexmk in a latexmkrc file: see tex.stackexchange.com/a/50847/8917.
– Hotschke
Oct 25 at 4:48
1
This answer is from 2011, it is now 2018. Everything in the answer is most likely seriously outdated.
– Jukka Suomela
yesterday
add a comment |
up vote
41
down vote
accepted
It seems that the rubber has the following features that are not (yet?) offered by latexmk:
- Rubber parses the LaTeX log file, filters it, and pretty-prints only "relevant" messages (warnings, errors). Rubber always runs LaTeX in a non-interactive mode, while latexmk seems to require additional switches or configuration.
- With rubber you can have configuration options as comments in the LaTeX source code; latexmk requires auxiliary configuration files.
- Most importantly, rubber lets you specify the correct values of TEXINPUTS, BIBINPUTS, BSTINPUTS, etc. for each document using the aforementioned configuration options; latexmk seems to expect that these environment variables are already defined appropriately.
Of course many of these issues can be worked around with some wrapper scripts and auxiliary files. And obviously there are many features of latexmk that are not offered by rubber.
1
To add some news: Rubber v1.2 was released on 2015-06-24. It seems however that for Ubuntu, 1.2 will not be included in 15.04, but 15.10 and further. For more information, see the launchpad of Rubber.
– r0estir0bbe
Sep 30 '15 at 8:44
1
One of those "wrapper scripts" for problem 1, istexfot. I actually preferlatexmknot offering this feature, because that meets the Unix philosophy.
– Franklin Yu
Jan 29 '17 at 5:50
Fedora 27 includesrubber --version 1.4.
– alfC
Dec 19 '17 at 7:08
1
Maintenance: I think the first sentence is not really true anymore as pointed out by others. It is correct that there has been a gap of many years between v1.1 (2006) and v1.2 (2015). But since then there have been several more releases with the currently latest v1.5.1 from September 2018. TEXINPUTS,... you can adjust texinputs for a project directory for latexmk in a latexmkrc file: see tex.stackexchange.com/a/50847/8917.
– Hotschke
Oct 25 at 4:48
1
This answer is from 2011, it is now 2018. Everything in the answer is most likely seriously outdated.
– Jukka Suomela
yesterday
add a comment |
up vote
41
down vote
accepted
up vote
41
down vote
accepted
It seems that the rubber has the following features that are not (yet?) offered by latexmk:
- Rubber parses the LaTeX log file, filters it, and pretty-prints only "relevant" messages (warnings, errors). Rubber always runs LaTeX in a non-interactive mode, while latexmk seems to require additional switches or configuration.
- With rubber you can have configuration options as comments in the LaTeX source code; latexmk requires auxiliary configuration files.
- Most importantly, rubber lets you specify the correct values of TEXINPUTS, BIBINPUTS, BSTINPUTS, etc. for each document using the aforementioned configuration options; latexmk seems to expect that these environment variables are already defined appropriately.
Of course many of these issues can be worked around with some wrapper scripts and auxiliary files. And obviously there are many features of latexmk that are not offered by rubber.
It seems that the rubber has the following features that are not (yet?) offered by latexmk:
- Rubber parses the LaTeX log file, filters it, and pretty-prints only "relevant" messages (warnings, errors). Rubber always runs LaTeX in a non-interactive mode, while latexmk seems to require additional switches or configuration.
- With rubber you can have configuration options as comments in the LaTeX source code; latexmk requires auxiliary configuration files.
- Most importantly, rubber lets you specify the correct values of TEXINPUTS, BIBINPUTS, BSTINPUTS, etc. for each document using the aforementioned configuration options; latexmk seems to expect that these environment variables are already defined appropriately.
Of course many of these issues can be worked around with some wrapper scripts and auxiliary files. And obviously there are many features of latexmk that are not offered by rubber.
edited yesterday
Flow
3601414
3601414
answered Dec 5 '11 at 10:20
Jukka Suomela
13.9k86284
13.9k86284
1
To add some news: Rubber v1.2 was released on 2015-06-24. It seems however that for Ubuntu, 1.2 will not be included in 15.04, but 15.10 and further. For more information, see the launchpad of Rubber.
– r0estir0bbe
Sep 30 '15 at 8:44
1
One of those "wrapper scripts" for problem 1, istexfot. I actually preferlatexmknot offering this feature, because that meets the Unix philosophy.
– Franklin Yu
Jan 29 '17 at 5:50
Fedora 27 includesrubber --version 1.4.
– alfC
Dec 19 '17 at 7:08
1
Maintenance: I think the first sentence is not really true anymore as pointed out by others. It is correct that there has been a gap of many years between v1.1 (2006) and v1.2 (2015). But since then there have been several more releases with the currently latest v1.5.1 from September 2018. TEXINPUTS,... you can adjust texinputs for a project directory for latexmk in a latexmkrc file: see tex.stackexchange.com/a/50847/8917.
– Hotschke
Oct 25 at 4:48
1
This answer is from 2011, it is now 2018. Everything in the answer is most likely seriously outdated.
– Jukka Suomela
yesterday
add a comment |
1
To add some news: Rubber v1.2 was released on 2015-06-24. It seems however that for Ubuntu, 1.2 will not be included in 15.04, but 15.10 and further. For more information, see the launchpad of Rubber.
– r0estir0bbe
Sep 30 '15 at 8:44
1
One of those "wrapper scripts" for problem 1, istexfot. I actually preferlatexmknot offering this feature, because that meets the Unix philosophy.
– Franklin Yu
Jan 29 '17 at 5:50
Fedora 27 includesrubber --version 1.4.
– alfC
Dec 19 '17 at 7:08
1
Maintenance: I think the first sentence is not really true anymore as pointed out by others. It is correct that there has been a gap of many years between v1.1 (2006) and v1.2 (2015). But since then there have been several more releases with the currently latest v1.5.1 from September 2018. TEXINPUTS,... you can adjust texinputs for a project directory for latexmk in a latexmkrc file: see tex.stackexchange.com/a/50847/8917.
– Hotschke
Oct 25 at 4:48
1
This answer is from 2011, it is now 2018. Everything in the answer is most likely seriously outdated.
– Jukka Suomela
yesterday
1
1
To add some news: Rubber v1.2 was released on 2015-06-24. It seems however that for Ubuntu, 1.2 will not be included in 15.04, but 15.10 and further. For more information, see the launchpad of Rubber.
– r0estir0bbe
Sep 30 '15 at 8:44
To add some news: Rubber v1.2 was released on 2015-06-24. It seems however that for Ubuntu, 1.2 will not be included in 15.04, but 15.10 and further. For more information, see the launchpad of Rubber.
– r0estir0bbe
Sep 30 '15 at 8:44
1
1
One of those "wrapper scripts" for problem 1, is
texfot. I actually prefer latexmk not offering this feature, because that meets the Unix philosophy.– Franklin Yu
Jan 29 '17 at 5:50
One of those "wrapper scripts" for problem 1, is
texfot. I actually prefer latexmk not offering this feature, because that meets the Unix philosophy.– Franklin Yu
Jan 29 '17 at 5:50
Fedora 27 includes
rubber --version 1.4.– alfC
Dec 19 '17 at 7:08
Fedora 27 includes
rubber --version 1.4.– alfC
Dec 19 '17 at 7:08
1
1
Maintenance: I think the first sentence is not really true anymore as pointed out by others. It is correct that there has been a gap of many years between v1.1 (2006) and v1.2 (2015). But since then there have been several more releases with the currently latest v1.5.1 from September 2018. TEXINPUTS,... you can adjust texinputs for a project directory for latexmk in a latexmkrc file: see tex.stackexchange.com/a/50847/8917.
– Hotschke
Oct 25 at 4:48
Maintenance: I think the first sentence is not really true anymore as pointed out by others. It is correct that there has been a gap of many years between v1.1 (2006) and v1.2 (2015). But since then there have been several more releases with the currently latest v1.5.1 from September 2018. TEXINPUTS,... you can adjust texinputs for a project directory for latexmk in a latexmkrc file: see tex.stackexchange.com/a/50847/8917.
– Hotschke
Oct 25 at 4:48
1
1
This answer is from 2011, it is now 2018. Everything in the answer is most likely seriously outdated.
– Jukka Suomela
yesterday
This answer is from 2011, it is now 2018. Everything in the answer is most likely seriously outdated.
– Jukka Suomela
yesterday
add a comment |
up vote
24
down vote
One important advantage of latexmk over rubber is that latexmk detects dependent files much more reliably. As best as I have been able to work out, rubber determines the dependent files by parsing the tex file, by looking for input, include and includegraphics macros. But if these macros are buried inside another macro, rubber doesn't detect the dependent files correctly. E.g., if you have
newcommandtry[1]{input{#1}}
try{sub}
rubber won't detect that sub.tex is a dependent file. Thus if the file sub.tex changes, rubber won't detect that the compilation needs to be run again.
Latexmk instead parses the log file and uses the -recorder option of (pdf)latex to determine the dependent files.
add a comment |
up vote
24
down vote
One important advantage of latexmk over rubber is that latexmk detects dependent files much more reliably. As best as I have been able to work out, rubber determines the dependent files by parsing the tex file, by looking for input, include and includegraphics macros. But if these macros are buried inside another macro, rubber doesn't detect the dependent files correctly. E.g., if you have
newcommandtry[1]{input{#1}}
try{sub}
rubber won't detect that sub.tex is a dependent file. Thus if the file sub.tex changes, rubber won't detect that the compilation needs to be run again.
Latexmk instead parses the log file and uses the -recorder option of (pdf)latex to determine the dependent files.
add a comment |
up vote
24
down vote
up vote
24
down vote
One important advantage of latexmk over rubber is that latexmk detects dependent files much more reliably. As best as I have been able to work out, rubber determines the dependent files by parsing the tex file, by looking for input, include and includegraphics macros. But if these macros are buried inside another macro, rubber doesn't detect the dependent files correctly. E.g., if you have
newcommandtry[1]{input{#1}}
try{sub}
rubber won't detect that sub.tex is a dependent file. Thus if the file sub.tex changes, rubber won't detect that the compilation needs to be run again.
Latexmk instead parses the log file and uses the -recorder option of (pdf)latex to determine the dependent files.
One important advantage of latexmk over rubber is that latexmk detects dependent files much more reliably. As best as I have been able to work out, rubber determines the dependent files by parsing the tex file, by looking for input, include and includegraphics macros. But if these macros are buried inside another macro, rubber doesn't detect the dependent files correctly. E.g., if you have
newcommandtry[1]{input{#1}}
try{sub}
rubber won't detect that sub.tex is a dependent file. Thus if the file sub.tex changes, rubber won't detect that the compilation needs to be run again.
Latexmk instead parses the log file and uses the -recorder option of (pdf)latex to determine the dependent files.
edited Dec 6 '11 at 19:19
Torbjørn T.
153k13245433
153k13245433
answered Dec 6 '11 at 19:14
John Collins
6,6901825
6,6901825
add a comment |
add a comment |
up vote
19
down vote
Latexmk also brings an auto-preview feature, which recompiles (smartly) the pdf as soon as the tex is saved.
There are also more advanced features, like tight integration with makefiles for example.
add a comment |
up vote
19
down vote
Latexmk also brings an auto-preview feature, which recompiles (smartly) the pdf as soon as the tex is saved.
There are also more advanced features, like tight integration with makefiles for example.
add a comment |
up vote
19
down vote
up vote
19
down vote
Latexmk also brings an auto-preview feature, which recompiles (smartly) the pdf as soon as the tex is saved.
There are also more advanced features, like tight integration with makefiles for example.
Latexmk also brings an auto-preview feature, which recompiles (smartly) the pdf as soon as the tex is saved.
There are also more advanced features, like tight integration with makefiles for example.
answered Dec 5 '11 at 8:29
T. Verron
10.1k14170
10.1k14170
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f37154%2fwhat-are-the-differences-between-latexmk-and-rubber%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
1
Great question!
:)– Paulo Cereda
Dec 5 '11 at 11:00