dane eps z pdflatex
On 14 lutego, 2021 by adminPodczas niedawnej dyskusji na tej stronie dowiedziałem się, że używając
\usepackage[pdf]{pstricks}
umożliwia uruchamianie pdflatex
na plikach zawierających eps
i pstricks
plików (oraz psfrag
również użycie). Teraz kilka pytań:
-
Jeśli plik nie zawiera
pstricks
, po prostueps
ipsfrag
, ta metoda może być nadal używana. Ale czy istnieje metoda, aby to zrobić, która nie wymaga ładowaniapstricks
? Wiem, żeauto-pst-pdf
to jedno podejście, a innym jest załadowanieepstopdf
, czy są jakieś inne sposoby na osiągnięcie tego bez ładowania tych plików? Może dodając opcję dographicx
? -
We wszystkich tych podejściach, za każdym razem, gdy
pdflatex
jest uruchamiany wszystkie plikieps
ipstricks
są konwertowane na plikipdf
, nawet jeśli się nie zmieniły. Czy istnieje podejście, które temu zapobiega i konwertuje dopdf
tylko wtedy, gdy plik został zmieniony od ostatniej kompilacji?
Dzięki
Komentarze
- Czy te dwa pytania podrzędne są rzeczywiście powiązane? Jeśli nie, warto je rozdzielić.
- Muszę dodać, że epstopdf nie obsługuje psfrag. Zarówno auto-pst-pdf, jak i \ usepackage [pdf] {pstricks} obsługują psfrag bez problemu.
Odpowiedź
TeX Live 2010 i 2011 automatycznie konwertują pliki EPS do PDF, ale wygląda na to, że konwertuje się dalej, nawet jeśli plik EPS nie został zmieniony. Zgodnie z sugestią Herberta, powinno to załatwić sprawę. Może również działać z innymi dystrybucjami, ale nie próbowałem.
\documentclass{article} \usepackage{graphicx} \usepackage{epstopdf} \epstopdfsetup{update} % only regenerate pdf files when eps file is newer \begin{document} \includegraphics[width=\textwidth]{sine} % loads sine-eps-converted-to.pdf \end{document}
Komentarze
- W moim systemie konwersja nie jest kontynuowana, jeśli plik eps nie zostanie zmieniony … Może różnica w epstopdf.cfg?
- Może. Myślałem, że mam standardową instalację TeX Live 2011 w systemie Windows bez wyraźnych modyfikacji do epstopdf.cfg, ale sytuacja może wyglądać inaczej w innym systemie operacyjnym lub po prostu mogę się mylić co do automatycznej aktualizacji lub natury mojego pliku epstopdf.cfg.
- aha … w systemie Windows może są problemy z sygnaturami czasowymi … Przepraszam, nie mam pola Windows do zaznaczenia
Odpowiedź
-
W nowoczesnym systemie plik
foo.eps
w\includegraphics{foo}
, jeśli istnieje, jest automatycznie konwertowany nafoo.pdf
podczaspdflatex
uruchomienia. -
Ta konwersja jest wykonywana tylko raz, więc
foo.pdf
pozostaje na następne przebiegi. Jeśli zmienisz yo ureps
plik, zostanie ponownie wygenerowany.
Rozważmy następujący przykład:
\documentclass{article} \usepackage{graphicx} \begin{document} \includegraphics{tmp1} \end{document}
Kiedy go uruchomiłem, miałem plik tmp1.eps
, ale nie było tmp1.png
ani tmp1.pdf
w moim katalogu roboczym. Dziennik zawierał:
(/usr/local/texlive/2011/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv e )) Package epstopdf Info: Source file: <tmp1.eps> (epstopdf) date: 2011-12-12 13:41:25 (epstopdf) size: 15351 bytes (epstopdf) Output file: <tmp1-eps-converted-to.pdf> (epstopdf) Command: <repstopdf --outfile=tmp1-eps-converted-to.pdf tmp1.eps> (epstopdf) \includegraphics on input line 4. runsystem(repstopdf --outfile=tmp1-eps-converted-to.pdf tmp1.eps)...executed sa fely (allowed). Package epstopdf Info: Result file: <tmp1-eps-converted-to.pdf> (epstopdf) date: 2011-12-16 14:36:28 (epstopdf) size: 7774 bytes. <tmp1-eps-converted-to.pdf, id=1, 346.00266pt x 37.00826pt> File: tmp1-eps-converted-to.pdf Graphic file (type pdf) <use tmp1-eps-converted-to.pdf> Package pdftex.def Info: tmp1-eps-converted-to.pdf used on input line 4. (pdftex.def) Requested size: 346.0018pt x 37.00815pt.
Jak widzisz, plik został przekonwertowany. Następnie ponownie uruchomiłem pdflatex
:
Package epstopdf Info: Source file: <tmp1.eps> (epstopdf) date: 2011-12-12 13:41:25 (epstopdf) size: 15351 bytes (epstopdf) Output file: <tmp1-eps-converted-to.pdf> (epstopdf) date: 2011-12-16 14:36:28 (epstopdf) size: 7774 bytes (epstopdf) Command: <repstopdf --outfile=tmp1-eps-converted-to.pdf tmp1.eps> (epstopdf) \includegraphics on input line 4. Package epstopdf Info: Output file is already uptodate. <tmp1-eps-converted-to.pdf, id=1, 346.00266pt x 37.00826pt> File: tmp1-eps-converted-to.pdf Graphic file (type pdf)
Jak widzisz, żadna konwersja nie została wykonana.
Następnie zmieniłem tmp1.eps
i ponownie uruchomiłem `pdflatex. Dziennik mówił:
(/usr/local/texlive/2011/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv e )) Package epstopdf Info: Source file: <tmp1.eps> (epstopdf) date: 2011-12-16 14:40:16 (epstopdf) size: 620519 bytes (epstopdf) Output file: <tmp1-eps-converted-to.pdf> (epstopdf) date: 2011-12-16 14:36:28 (epstopdf) size: 7774 bytes (epstopdf) Command: <repstopdf --outfile=tmp1-eps-converted-to.pdf tmp1.eps> (epstopdf) \includegraphics on input line 4. runsystem(repstopdf --outfile=tmp1-eps-converted-to.pdf tmp1.eps)...executed sa fely (allowed). Package epstopdf Info: Result file: <tmp1-eps-converted-to.pdf> (epstopdf) date: 2011-12-16 14:40:21 (epstopdf) size: 19423 bytes. <tmp1-eps-converted-to.pdf, id=1, 241.90375pt x 188.705pt> File: tmp1-eps-converted-to.pdf Graphic file (type pdf) <use tmp1-eps-converted-to.pdf> Package pdftex.def Info: tmp1-eps-converted-to.pdf used on input line 4. (pdftex.def) Requested size: 241.90315pt x 188.70453pt.
Jak widzisz, teraz plik został ponownie wygenerowany!
Komentarze
- To podejście nie działa dla mnie (Miktex 2.9, regularnie aktualizowany). Otrzymuję komunikat o błędzie :! Błąd LaTeX: Nie znaleziono pliku `tmp1 '. Zobacz podręcznik LaTeX lub LaTeX Companion, aby uzyskać wyjaśnienie. Wpisz H < return >, aby uzyskać natychmiastową pomoc. … l.4 \ludesegraphics {tmp1}?
- Cóż, możesz rozważyć wypróbowanie TeXLive dla Windows … Jak mówi @ Mike-renfro, działa w Windows TL
- Jeśli chodzi o MiKTeX i
epstopdf
, zobacz także moją odpowiedź: Włączanie danych PDF do dokumentu Latex przy użyciu TexnicCenter . - Pamiętaj, że musisz mieć zainstalowany
texlive-font-utils
, w przeciwnym razie dołączenie grafiki eps i tak nie powiedzie się (z nieinformacyjnymi komunikatami o błędach). Zobacz tę odpowiedź . - @oulenz Surely. Założyłem pełną instalację TeXLive lub równoważną
Odpowiedź
Odnośnie twojego pierwszego pytania: pakiet epstopdf
to dobry wybór przy korzystaniu z obrazów eps.
Odnośnie drugiego pytania: istnieje tylko możliwość tworzenia żadnych lub wszystkich obrazów.
Komentarze
- Obawiam się, że nie masz racji, jeśli chodzi o drugie pytanie 🙁 Pomyślałem to samo i uruchomiłem testy. epstopdf jest BARDZO sprytny 🙂
- Odsyłam do
pst-pdf
z drugą częścią. - Przepraszamy, źle cię zrozumiałem …
- Problem z epstopdf polega na tym, że nie obsługuje on fragmentów psfrag.
- @Per
auto-pst-pdf
może …
Dodaj komentarz