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}

ファイルを images フォルダと doc と同じフォルダに入れて試してみました。ファイル拡張子ありとなし、 と ありとなし[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 に抽出し、必要に応じてパスを作成し、[LaTeX] ドキュメント内の画像参照を調整して、抽出されたファイルを指すようにします (オプション --extract-media= DIR を使用)。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)$ 

抽出された .jpg イメージを破棄するには、`convert' ユーティリティ (imagemagick プログラム スイートから) を使用して新しい LaTeX 互換の JPEG イメージを作成します。

[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 データ ファイルを検索するためのユーザー データ ディレクトリを指定します。このオプションが指定されていない場合は、デフォルトのユーザー データ ディレクトリが使用されます。これは、Unix では $HOME/.pandoc です)。--data-dir= オプションを追加します。:

[macfarlane@boulder]:(~/Documents)$ pandoc \
    -s -t latex \
    --toc --chapters \
    --latex-engine=lualatex \
    --data-dir=. $BOOK.epub -o $BOOK.pdf
[macfarlane@boulder]:(~/Documents)$ 

関連情報