How to set path in STY file as relative to this file path

Clash Royale CLAN TAG#URR8PPP
I need to write several documents (mainBook1.tex, mainBook2.tex,..), all with the same layout. So basically I moved all common settings to outer file (baseSettings.sty) extension, which is pleaced in other path from docs main TeX files. See my files tree:
+-Documents
+-Base
| +-baseSettings.sty
| +-BaseImages
| +-headerImage.jpg
| +-footerImage.jpg
+-Book1
| +-mainBook1.tex
+-Book2
+-mainBook2.tex
mainBook1.tex:
documentclass[12pt]article
usepackageimport
usepackage../Base/baseSettings
begindocument
...
baseSettings.sty:
ProvidesPackagebaseSettings
usepackagegeometry
newgeometrymargin=2.0cm, bottom=3.5cm, top=2.5cm
usepackage...
% HEADER AND FOOTER:
rheadincludegraphics[scale=0.3]BaseImages/headerImage.jpg
rfootincludegraphics[scale=0.2,valign=c]BaseImages/footerImage.jpg
...
And problem is, that those .jpg files cant be found. If I move folder BaseImages into Book1 folder, everything works fine. But I would like to have base images stored only once.
So the question is: How to set those paths in .sty file as relative from this file?
I use: MiKTeX with TeXworks. I just press the Typeset button to create PDFs – I'm not familiar wih all the magic behind.
Is it possible to compile it with command?
packages relative
add a comment |
I need to write several documents (mainBook1.tex, mainBook2.tex,..), all with the same layout. So basically I moved all common settings to outer file (baseSettings.sty) extension, which is pleaced in other path from docs main TeX files. See my files tree:
+-Documents
+-Base
| +-baseSettings.sty
| +-BaseImages
| +-headerImage.jpg
| +-footerImage.jpg
+-Book1
| +-mainBook1.tex
+-Book2
+-mainBook2.tex
mainBook1.tex:
documentclass[12pt]article
usepackageimport
usepackage../Base/baseSettings
begindocument
...
baseSettings.sty:
ProvidesPackagebaseSettings
usepackagegeometry
newgeometrymargin=2.0cm, bottom=3.5cm, top=2.5cm
usepackage...
% HEADER AND FOOTER:
rheadincludegraphics[scale=0.3]BaseImages/headerImage.jpg
rfootincludegraphics[scale=0.2,valign=c]BaseImages/footerImage.jpg
...
And problem is, that those .jpg files cant be found. If I move folder BaseImages into Book1 folder, everything works fine. But I would like to have base images stored only once.
So the question is: How to set those paths in .sty file as relative from this file?
I use: MiKTeX with TeXworks. I just press the Typeset button to create PDFs – I'm not familiar wih all the magic behind.
Is it possible to compile it with command?
packages relative
3
Set theTEXINPUTSenvironment variable to ssomething../Base;../Base/BaseImages;and then you should be able to useusepackagebaseSettingsand the images will work. See tex.stackexchange.com/questions/149714/….
– Andrew
Mar 7 at 7:03
add a comment |
I need to write several documents (mainBook1.tex, mainBook2.tex,..), all with the same layout. So basically I moved all common settings to outer file (baseSettings.sty) extension, which is pleaced in other path from docs main TeX files. See my files tree:
+-Documents
+-Base
| +-baseSettings.sty
| +-BaseImages
| +-headerImage.jpg
| +-footerImage.jpg
+-Book1
| +-mainBook1.tex
+-Book2
+-mainBook2.tex
mainBook1.tex:
documentclass[12pt]article
usepackageimport
usepackage../Base/baseSettings
begindocument
...
baseSettings.sty:
ProvidesPackagebaseSettings
usepackagegeometry
newgeometrymargin=2.0cm, bottom=3.5cm, top=2.5cm
usepackage...
% HEADER AND FOOTER:
rheadincludegraphics[scale=0.3]BaseImages/headerImage.jpg
rfootincludegraphics[scale=0.2,valign=c]BaseImages/footerImage.jpg
...
And problem is, that those .jpg files cant be found. If I move folder BaseImages into Book1 folder, everything works fine. But I would like to have base images stored only once.
So the question is: How to set those paths in .sty file as relative from this file?
I use: MiKTeX with TeXworks. I just press the Typeset button to create PDFs – I'm not familiar wih all the magic behind.
Is it possible to compile it with command?
packages relative
I need to write several documents (mainBook1.tex, mainBook2.tex,..), all with the same layout. So basically I moved all common settings to outer file (baseSettings.sty) extension, which is pleaced in other path from docs main TeX files. See my files tree:
+-Documents
+-Base
| +-baseSettings.sty
| +-BaseImages
| +-headerImage.jpg
| +-footerImage.jpg
+-Book1
| +-mainBook1.tex
+-Book2
+-mainBook2.tex
mainBook1.tex:
documentclass[12pt]article
usepackageimport
usepackage../Base/baseSettings
begindocument
...
baseSettings.sty:
ProvidesPackagebaseSettings
usepackagegeometry
newgeometrymargin=2.0cm, bottom=3.5cm, top=2.5cm
usepackage...
% HEADER AND FOOTER:
rheadincludegraphics[scale=0.3]BaseImages/headerImage.jpg
rfootincludegraphics[scale=0.2,valign=c]BaseImages/footerImage.jpg
...
And problem is, that those .jpg files cant be found. If I move folder BaseImages into Book1 folder, everything works fine. But I would like to have base images stored only once.
So the question is: How to set those paths in .sty file as relative from this file?
I use: MiKTeX with TeXworks. I just press the Typeset button to create PDFs – I'm not familiar wih all the magic behind.
Is it possible to compile it with command?
packages relative
packages relative
edited Mar 7 at 11:52
JouleV
10.5k22559
10.5k22559
asked Mar 7 at 6:55
pi.314pi.314
1213
1213
3
Set theTEXINPUTSenvironment variable to ssomething../Base;../Base/BaseImages;and then you should be able to useusepackagebaseSettingsand the images will work. See tex.stackexchange.com/questions/149714/….
– Andrew
Mar 7 at 7:03
add a comment |
3
Set theTEXINPUTSenvironment variable to ssomething../Base;../Base/BaseImages;and then you should be able to useusepackagebaseSettingsand the images will work. See tex.stackexchange.com/questions/149714/….
– Andrew
Mar 7 at 7:03
3
3
Set the
TEXINPUTS environment variable to ssomething ../Base;../Base/BaseImages; and then you should be able to use usepackagebaseSettings and the images will work. See tex.stackexchange.com/questions/149714/….– Andrew
Mar 7 at 7:03
Set the
TEXINPUTS environment variable to ssomething ../Base;../Base/BaseImages; and then you should be able to use usepackagebaseSettings and the images will work. See tex.stackexchange.com/questions/149714/….– Andrew
Mar 7 at 7:03
add a comment |
1 Answer
1
active
oldest
votes
You should never use a path with usepackage just use usepackagebaseSettings and it's usually more portable to omit the path from includegraphics as well, so includegraphics[scale=0.3]headerImage then just arrange that Base// is in the tex input path and any files anywhere below that will be found.
TEXINPUTS=Base//: pdflatex mainBook1
would work for example if you have a bash or similar command line, but normally you would set the default TEXINPUTS elsewhere.
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "85"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
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%2f478141%2fhow-to-set-path-in-sty-file-as-relative-to-this-file-path%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You should never use a path with usepackage just use usepackagebaseSettings and it's usually more portable to omit the path from includegraphics as well, so includegraphics[scale=0.3]headerImage then just arrange that Base// is in the tex input path and any files anywhere below that will be found.
TEXINPUTS=Base//: pdflatex mainBook1
would work for example if you have a bash or similar command line, but normally you would set the default TEXINPUTS elsewhere.
add a comment |
You should never use a path with usepackage just use usepackagebaseSettings and it's usually more portable to omit the path from includegraphics as well, so includegraphics[scale=0.3]headerImage then just arrange that Base// is in the tex input path and any files anywhere below that will be found.
TEXINPUTS=Base//: pdflatex mainBook1
would work for example if you have a bash or similar command line, but normally you would set the default TEXINPUTS elsewhere.
add a comment |
You should never use a path with usepackage just use usepackagebaseSettings and it's usually more portable to omit the path from includegraphics as well, so includegraphics[scale=0.3]headerImage then just arrange that Base// is in the tex input path and any files anywhere below that will be found.
TEXINPUTS=Base//: pdflatex mainBook1
would work for example if you have a bash or similar command line, but normally you would set the default TEXINPUTS elsewhere.
You should never use a path with usepackage just use usepackagebaseSettings and it's usually more portable to omit the path from includegraphics as well, so includegraphics[scale=0.3]headerImage then just arrange that Base// is in the tex input path and any files anywhere below that will be found.
TEXINPUTS=Base//: pdflatex mainBook1
would work for example if you have a bash or similar command line, but normally you would set the default TEXINPUTS elsewhere.
answered Mar 7 at 7:46
David CarlisleDavid Carlisle
497k4111441891
497k4111441891
add a comment |
add a comment |
Thanks for contributing an answer to TeX - LaTeX Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
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%2f478141%2fhow-to-set-path-in-sty-file-as-relative-to-this-file-path%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
3
Set the
TEXINPUTSenvironment variable to ssomething../Base;../Base/BaseImages;and then you should be able to useusepackagebaseSettingsand the images will work. See tex.stackexchange.com/questions/149714/….– Andrew
Mar 7 at 7:03