jpg 이미지를 포함하면 pdflatex의 소스 코드 편집으로 pdf가 생성되지 않습니다.

jpg 이미지를 포함하면 pdflatex의 소스 코드 편집으로 pdf가 생성되지 않습니다.

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.jpegjpgconvertdomain.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)$ 

관련 정보