Posted on Leave a comment

Фигура каталог: The Path to your Figures – texblog

Путь к вашим рисункам — texblog

Большинство людей предпочитают не сохранять свои рисунки в том же каталоге, что и сам файл tex , поскольку он быстро загромождается. Распространенным решением является сохранение всех рисунков в подпапке основного каталога и использование

 
 \includegraphics{figures/filename} 

вместо

 
 \includegraphics{filename} 

для их импорта ( к используйте \includegraphics вам нужен пакет graphicx). Лично я часто храню свои рисунки в подпапке общей родительской папки или в совершенно другом каталоге, в зависимости от проекта, над которым я работаю. Если рисунки сохранены в родственном каталоге, мы можем использовать ../ для доступа к родительскому каталогу.

 
 \includegraphics{../figures/filename} 

Его также можно использовать несколько раз для перехода вверх по нескольким папкам.

 
 \includegraphics{. ./../figures/filename} 

Также можно указать полный путь к рисунку.

 
 \includegraphics{/Users/me/Documents/project/figures/filename} 
Определение пути к графике

Если в документе много рисунков, постоянное добавление пути может стать утомительным, иначе документ будет выглядеть беспорядочно. . С командой \graphicspath пакет graphicx позволяет указать один или несколько путей для поиска рисунков. По умолчанию для этого пути используется папка с файлом tex .

 
 \usepackage{graphicx} % Загрузка пакета
\graphicspath{{figures/}} %Установка пути к графике
...
\начать{документ}
\includegraphics{имя файла} %Импорт рисунка
\end{document} 

Мы также можем определить несколько каталогов для поиска рисунков.

 
 \graphicspath{{figures/}{../figures/}{C:/Users/me/Documents/project/figures/}} 

Каждый путь должен заканчиваться на / и заключаться в фигурные скобки { } , даже если указан только один путь. Только указанные каталоги будут искать фигуры, а не их подкаталоги. Чтобы включить подкаталоги, они должны быть указаны отдельно как их собственные пути. Кроме того, вы можете снова добавить подкаталоги вручную с каждым рисунком. Доступ к подкаталогам путей, указанных в

\graphicspath , теперь намного проще. Когда вы используете \graphicspath вы по-прежнему можете определять пути фигур по отдельности.

 
 \usepackage{graphicx} % Загрузка пакета
\graphicspath{{figures/}} %Установка пути к графике
...
\начать{документ}
\includegraphics{filename1} %Импорт рисунка
\includegraphics{topic1/filename1} %Импорт рисунка из подкаталога пути к графике
\includegraphics{/Users/me/Documents/project/photos/filename} %Импорт фигуры из пути, отличного от графики
\end{document} 

Важно помнить, что могут возникнуть проблемы, когда несколько файлов с одинаковыми именами существуют по разным путям. Порядок указания путей будет определять, какой файл будет импортирован в таком случае (файл, указанный в самом раннем указанном пути).

Пути к каталогам с пробелами

Хотя все мы знаем, что нам следует избегать каталогов с пробелами в именах, это все же случается. Самый большой виновник в моей системе — «Google Диск». У нас есть в основном два варианта: (i) добавление двойных кавычек " " вокруг каждого пути или (ii) использование параметра пробела в пакете grffile.

Вариант 1

Если вы добавляете путь к каждой цифре вручную, вы можете просто добавить двойные кавычки " " вокруг пути.

 
 \includegraphics{"/Users/me/Google Drive/project/figures/filename"} 

Если вы указываете расширение имени файла, вам нужно использовать дополнительный набор фигурных скобок { } вместо двойные кавычки " " вокруг пути.

 
 \includegraphics{{/Users/me/Google Drive/project/figures/filename.png}} 

Чтобы определить \graphicspath с пробелами, нам нужно заключить путь в двойные кавычки " " .

 
 \graphicspath{{"/Users/me/Google Drive/project/figures/"}} 
Вариант 2

Определение \graphicspath (или обычного пути) с пробелами можно выполнить с помощью пробела пакета grffile.

 
 \usepackage{graphicx} % Загрузка пакета
\usepackage[space]{grffile} % Загрузка пакета
\graphicspath{{/Users/me/Google Drive/project/figures/}} %Установка пути к графике
...
\начать{документ}
\includegraphics{имя файла} %Импорт рисунка
\includegraphics{/Users/me/Google Drive/project/photos/filename} %Импорт фигуры из пути, отличного от графики
\конец{документ} 

Вот так:

Нравится Загрузка…

Как /includegraphics из подкаталога основной папки изображений, используя подфайлы — TeX

Простите аналогию с семьей, но это может помочь вы понимаете, как устроены ваши родственники и как на них ссылаются

Итак, вы папка, давайте зовем вас Томасом, и у вас есть родитель, давайте зовем их слепыми вы помещены в систему как /blindhardt/thomas, но для самостоятельной ссылки вы можете использовать псевдоним

«. »

у вас есть дети /blindhardt/thomas/janet и /blindhardt/thomas/john
у них могут быть такие прозвища, как preface и chap1
для обозначения отношения вашего ребенка к себе вы можете сказать ./preface или ./chap1
для вашего отца вы можете сказать .. и для братьев и сестер они могут быть ../старше или ../младше
ваше генеалогическое древо теперь может быть

 /blindhardt/старше
           /Томас/
           / томас / предисловие
           /Томас/глава1
           /моложе
 

Хорошо, это основная теория ваших относительных путей, теперь к вашему ответу
Одна часть вас, хранитель Фомы (семейной библии), известна как main.tex

markellos четко показывает , что если эта часть вас (main.tex) идентифицируется как

 \providecommand{\main}{. }
 

тогда любой ../child/story.tex может ссылаться на вас как на своего провайдера

 \providecommand{\main}{..} т.е. на своего родителя
 

также их дополнительный оператор

 \documentclass[\main/main. tex]{subfiles}
 

подтверждает, что они принадлежат к той же подгруппе (классу), что и вы

как семья вы соглашаетесь хранить все свои графические активы в
/blindhart/somewhere/vault, но как хранитель вы хотите называть его

 /blindhart/thomas/images
 

% вот вам путь к хранилищу ./images и следующее поколение {\main\images/}

 \graphicspath{{images/}{\main/images/}}
 

ОК, пока ничего нового, скажем, вы храните папку (ABC) в этом хранилище
и вам, и вашим детям теперь потребуется перекрестный индекс.

 \graphicspath{{images/}{\main/images/}{images/ABC/}{\main/images/ABC/}}
 

Итак, теперь не имеет значения, находится ли pic1.png или fig1.pdf в main/images или /images/ABC

, все ваши файлы ближайшего семейства могут найти его с помощью

 \includegraphics[width=4cm]{pic1 }
 

Main.tex (изменена только одна строка)

 \providecommand{\main}{. }
\documentclass{статья}
\usepackage[utf8]{inputenc}
\usepackage[английский]{babel}
\usepackage{graphicx}
% вот НОВЫЙ путь
\graphicspath{{images/}{\main/images/}{images/ABC/}{\main/images/ABC/}}
\usepackage{подфайлы}
\usepackage{слепой текст}
\начать{документ}
\подфайл{\main/chap1/chap1}
\конец{документ}
 

chap1.tex (без изменений, кроме более широкого принятия)

 \providecommand{\main}{..}
\documentclass[\main/main.tex]{подфайлы}
\начать{документ}
\begin{рисунок}[bh]
\центрирование
% f1 может быть любым принятым изображением (png pdf и т. д.) будьте осторожны, если есть два в разных местах, тогда порядок станет важным.
% это может быть ./f1.png это может быть ../images/f1.pdf или даже ../images/ABC/f1.eps
\includegraphics[ширина=4см]{f1}
\label{рис:img1}
\caption{Обучающий логотип ShareLaTeX}
\конец{рисунок}
Здравствуйте, вот текст...
\конец{документ}
 

Очевидно, /older и его /children могут следовать одному и тому же шаблону, но если вы все хотите получить доступ к фамильному гербу в /blindhardt/images, тогда вы начинаете добавлять гораздо больше вложенных относительных слоев, и может быть проще включить абсолютный адрес для таких эталонные изображения, таким образом, вы и ваши братья и сестры можете добавить

 \graphicspath{{c:\familydocs\blindhardt\images/}{images/}{\main/images/}{images/ABC/}{\main/images/ABC/ }}
 

Есть способы включить пробелы выше, но для полной совместимости я предлагаю не включать

Все вышесказанное основано на формулировке вашего вопроса, однако каждый tex-файл может сам по себе посещать публичную библиотеку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *