LaTeX로 프로그래밍 프로젝트에 대한 보고서를 작성 중인데 이미지를 삽입해야 합니다. 유한요소 프로그램 Freefem++을 사용하여 이미지를 생성하고 결과를 이미지 파일에 저장했습니다. png, jpeg, eps, ps를 사용해 보았지만 jpg를 사용하고 싶은데 지금까지는 아무 것도 작동하지 않습니다. 인터넷 여기저기를 검색해 봤는데 내 코드가 작동해야 할 것 같아서 무엇을 놓치고 있는지 잘 모르겠습니다.
\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage[pdftex]{graphicx}
%\graphicspath{{images/}}
\DeclareGraphicsExtensions{.pdf,.jpeg,.png,.jpg}
\usepackage[english]{babel}
\begin{document}
\section*{Introduction}
\addcontentsline{toc}{section}{Introduction}
The domain considered will be
\begin{figure}
\begin{center}
\includegraphics{domain.jpg}
\end{center}
\end{figure}
\end{document}
폴더 이미지와 문서와 동일한 폴더에 있는 파일을 사용해 보았습니다. 파일 확장자를 사용하거나 사용하지 않고, [pdftex]
및 사용하지 않고 시도했습니다 \DeclareGraphicsExtensions
. 컴파일하고 pdflatex
오류가 없으며 종료 코드 1, 그런 다음 PDF를 보려고 하면 존재하지 않는다는 메시지가 나타나고 소스 코드를 컴파일했는지 묻습니다. 으로 컴파일하면 pdftex
빈 첫 페이지만 생성됩니다. 나는 내가 생각할 수 있는 모든 것을 시도했지만, 내가 무엇을 놓치고 있는지 모르겠습니다. 아마도 내 컴퓨터에 설치해야 하는 패키지일까요? 아니면 코드의 어리석은 실수일까요? 내 오류를 본 사람이 있나요? 미리 감사드립니다!
답변1
문제: 분명히 LaTeX에서 읽을 수 없는 , 등의 이미지가 생성 Freefem++
됩니다 . 이미지에 문제가 있다는 위의 의견 덕분에 나는 그것을 다음 형식으로 변환해 보기로 결정했습니다. (다른 형식도 가능했을 것입니다. 그러나 저는 . 이를 위해 Linux의 터미널에서 ImageMagick 패키지를 설치한 다음 다음 명령을 사용하여 생성했습니다 ..jpg
.png
.jpeg
jpg
convert
domain.jpeg
$ convert domain.JPG domain.jpeg
이렇게 하면 이미지를 사용할 수 있게 되었고, 그 후에는 올바르게 보이도록 형식을 지정했습니다.
답변2
epub를 pdf로 변환하려고 할 때 pandoc에서 동일한 오류가 발생했습니다.
[macfarlane@boulder]:(~/Documents)$ pandoc -s -t latex --toc --chapters \
--latex-engine=lualatex $BOOK.epub -o $BOOK.pdf
!LuaTeX error (file /tmp/tex2pdf.23440/3f21bef8dd2877aad72f5cddbf00284ca88fa0e7
.jpg): reading JPEG image failed (no marker found)
==> Fatal error occurred, no output PDF file produced!
pandoc: Error producing PDF
[macfarlane@boulder]:(~/Documents)$
해결 방법은 다음과 같습니다. tex 파일을 생성할 수 있는지 확인하십시오.
[macfarlane@boulder]:(~/Documents)$ pandoc \
-s -t latex \
--toc --chapters \
--latex-engine=lualatex $BOOK.epub -o $BOOK.tex
[macfarlane@boulder]:(~/Documents)$
epub 컨테이너에 포함된 이미지 및 기타 미디어를 경로 DIR로 추출하여 필요한 경우 생성하고 --extract-media= DIR 옵션을 사용하여 [LaTeX] 문서의 이미지 참조가 추출된 파일을 가리키도록 조정합니다. ePub 파일도 포함된 현재 디렉터리를 선택합니다. --extract-media=를 추가합니다. 이는 현재 디렉토리($HOME/Documents)에서 추출함을 의미합니다.
[macfarlane@boulder]:(~)$ cd Documents
[macfarlane@boulder]:(~/Documents)$ pandoc \
-s -t latex \
--toc --chapters \
--latex-engine=lualatex \
--extract-media=. $BOOK.epub -o $BOOK.tex
pandoc: extracting ./images/9781501144158.jpg
pandoc: extracting ./images/com-01.jpg
pandoc: extracting ./images/f0003-01.jpg
pandoc: extracting ./images/f0005-01.jpg
[ ----- extract-media logging shortened ---- ]
pandoc: extracting ./images/f0177-01.jpg
pandoc: extracting ./images/f0187-01.jpg
pandoc: extracting ./images/logo.jpg
pandoc: extracting ./images/logo1.jpg
pandoc: extracting ./images/title.jpg
[macfarlane@boulder]:(~/Documents)$
'convert' 유틸리티(imagemagick 프로그램 제품군에서)를 사용하여 새로운 LaTeX 호환 JPEG 이미지를 생성하여 추출된 .jpg 이미지를 제거합니다.
[macfarlane@boulder]:(~/Documents)$ cd images
[macfarlane@boulder]:(~/Documents/images)$ convert logo1.jpg logo1.jpeg
이전에 pandoc 추출된 .jpg 이미지를 새로 생성된 .jpeg 이미지로 바꿉니다.
[macfarlane@boulder]:(~/Documents/images)$ mv logo1.jpeg logo1.jpg
명령줄에서 단일 for 루프를 사용하여 이 작업을 수행할 수 있습니다.
[macfarlane@boulder]:(~/Documents)$
[macfarlane@boulder]:(~/Documents)$ cd images/
[macfarlane@boulder]:(~/Documents/images)$ for i in *.jpg; do convert $i `echo $i | sed 's/jpg/jpeg/'`; done
[macfarlane@boulder]:(~/Documents/images)$ rm -f *.jpg
[macfarlane@boulder]:(~/Documents/images)$ for i in *.jpeg; do mv $i `echo $i | sed 's/jpeg/jpg/'`; done
[macfarlane@boulder]:(~/Documents/images)$ cd ..
[macfarlane@boulder]:(~/Documents)$
첫 번째 명령줄을 다시 실행하세요. 하지만 이번에는 LuaTeX 엔진이 이전에 ePub 이미지를 추출한 디렉토리와 동일한 디렉토리에서 해당 \includegraphics를 찾도록 합니다( --data-dir=DIRECTORY pandoc 데이터 파일을 검색하려면 사용자 데이터 디렉토리를 지정하세요. 이 옵션을 지정하지 않으면 --data-dir= 옵션을 추가하여 기본 사용자 데이터 디렉터리(Unix: $HOME/.pandoc )가 사용됩니다. :
[macfarlane@boulder]:(~/Documents)$ pandoc \
-s -t latex \
--toc --chapters \
--latex-engine=lualatex \
--data-dir=. $BOOK.epub -o $BOOK.pdf
[macfarlane@boulder]:(~/Documents)$