LaTeX 見栄え良く綺麗に仕上げる方法を教えてください

LaTeX 見栄え良く綺麗に仕上げる方法を教えてください

- H M の投稿
返信数: 14
下記HPのファイルを実行するとPDFが作成されます。
(epsファイルは容量が大きいので添付出来ませんでした。)
http://www.geocities.jp/etctransformation/newpage1.html
http://www.geocities.jp/etctransformation/sample10.pdf
以下を教えてください。
質問1.PDFのP1の表 1の一番左の行の→の位置を揃えて、綺麗に見せる方法を教えてください。
(texは、15行から17行になります。)
質問2.PDFのP2からP4は、動物の絵です。
動物の絵として、P2だけに7つの図を載せると1つの図が小さくなり見づらいです。
しかし、P2からP4に分けると、図1~図3のように図の番号が3つに分かれます。
図を、P2からP4に分けて、タイトルを図1-1、図1-2、図1-2等にすることは可能でしょうか?
(図1-1、図1-2、図1-2には拘らないです。)
また、このような場合、どのようにすると、美しく纏まるのでしょうか?
(図の大きさの調整方法は存じております。綺麗に見せる図のタイトルの付け方方法等を知りたいです。)
宜しくお願い致します。

H M への返信

Re: LaTeX 見栄え良く綺麗に仕上げる方法を教えてください

- Seki Motoki の投稿
解答1. 1列目を2列に分け,左側の列を右寄せに,右側の列を左寄せにするのが良いと思います.1行目は結合させれば良いでしょう.
(蛇足ですが,これは align 環境などが内部で行っているのと同じ処理のはずです)

実際にやってみたら空白が微妙だったので3列に分割してみましたが,2列で空白を調節しても良いと思います.自分が試してみたコードを載せます.

\documentclass{jsarticle}

\usepackage[dvipdfmx]{graphicx}

\begin{document}



\begin{table}

\caption{Table}

\label{table1}

\begin{center}

\begin{tabular}{rclccc}

\hline

\multicolumn{3}{c}{Row1Col1} & Column 2 & Column 3 & Column 4 \\

\hline

PM & $\rightarrow$ & P+M & Cell 1 & Cell 2 & Cell 3 \\

C & $\rightarrow$ & C & Cell 4 & Cell 5 & Cell 6 \\

BGY & $\rightarrow$ & B+G+Y & Cell 7 & Cell 8 & Cell 9 \\

\hline

\end{tabular}

\end{center}

\end{table}

\end{document}



解答2. subfigure 環境を用いれば良いのではないでしょうか?
https://www.biwako.shiga-u.ac.jp/sensei/kumazawa/tex/subfigure.html
Seki Motoki への返信

Re: LaTeX 見栄え良く綺麗に仕上げる方法を教えてください

- H M の投稿
ご回答有難う御座います。
コード試してみました。
→の位置を揃えることが出来ました。

下記の通り、subfigureを使ったのですが、4目の図が表示しません。
どうしたら、良いでしょうか?

%\listfiles
\documentclass{jarticle}
\usepackage{graphicx}
\makeatletter
\renewcommand{\thefigure}{%
\thesection.\arabic{figure}}
\@addtoreset{figure}{section}
\makeatother
\usepackage{subfigure}
\begin{document}
\section{test}
\begin{figure}[h]
\centering\subfigure[1の図]{\includegraphics[height=7.5cm,width=7.5cm]{tiger.eps} \label{fig:fig01}}
\centering\subfigure[2の図]{\includegraphics[height=7.5cm,width=7.5cm]{tiger.eps} \label{fig:fig02}}
\centering\subfigure[3の図]{\includegraphics[height=7.5cm,width=7.5cm]{tiger.eps} \label{fig:fig03}}
\centering\subfigure[4の図]{\includegraphics[height=7.5cm,width=7.5cm]{tiger.eps} \label{fig:fig04}}
\centering\subfigure[5の図]{\includegraphics[height=7.5cm,width=7.5cm]{tiger.eps} \label{fig:fig05}}
\centering\subfigure[6の図]{\includegraphics[height=7.5cm,width=7.5cm]{tiger.eps} \label{fig:fig06}}
\centering\subfigure[7の図]{\includegraphics[height=7.5cm,width=7.5cm]{tiger.eps} \label{fig:fig07}}
\centering
\caption {tiger}
\label {population}
\end{figure}

\end{document}


H M への返信

Re: LaTeX 見栄え良く綺麗に仕上げる方法を教えてください

- 和田 勇 の投稿
誰も応答しないので ....

詳しくは調べていませんが、 \centerring の効果によるものもあるかもしれませんが、提供のソースでは一ページの描画領域は 327pt (114mmくらい) 縦 592pt (207 mm くらい)になっています。

    \typeout{\the\textwidth} などででバックしてください。

ですので 通常横幅が 7.5cm の図を横に二つ並べて表示できません。

    \fbox{\subfigure{.....}} などで描画領域の大きさを把握できます。

それゆえ七つの 高さ 7.5cm の図とそれぞれのキャプション分描画に必要となり、オーバ領域に描画されてしまったため表示されていないだけだと思います。

もし一ページに7つ表示するというのであれば 4cm x 4cm くらいかしら?


和田 勇 への返信

Re: LaTeX 見栄え良く綺麗に仕上げる方法を教えてください

- H M の投稿
ご回答有難う御座います。
>もし一ページに7つ表示するというのであれば 4cm x 4cm くらいかしら?
もし1ページに7つ表示すると、図が小さくなって見ずらいです。
従いまして、P2からP4に分けて、タイトルを図1-1、図1-2、図1-3等にしたいです。
(別の方法でもいいです。目的は7つの図をある1つの塊であるとしたいのです。)
可能でしょうか?

H M への返信

Re: LaTeX 見栄え良く綺麗に仕上げる方法を教えてください

- 飯島 徹 の投稿
figure環境内の7つの図はすべてひとかたまりのものとしてLaTeXは認識するので複数のページに分割して図を表示させるのは不可能です。
figure環境を複数にして次のような感じではいけないのでしょうか?

\documentclass[dvipdfmx]{jarticle}
\usepackage{graphicx}
\makeatletter
\renewcommand{\thefigure}{%
\thesection.\arabic{figure}}%
\@addtoreset{figure}{section}%
\makeatother
\usepackage{subfigure}
\begin{document}
\section{test}
\begin{figure}[ht]
\centering
\subfigure[1の図]{\includegraphics[height=6cm,width=6cm]{tiger.eps} \label{fig:fig01}}
\subfigure[2の図]{\includegraphics[height=6cm,width=6cm]{tiger.eps} \label{fig:fig02}}
\subfigure[3の図]{\includegraphics[height=6cm,width=6cm]{tiger.eps} \label{fig:fig03}}
\end{figure}
\begin{figure}[ht]
\centering
\subfigure[4の図]{\includegraphics[height=6cm,width=6cm]{tiger.eps} \label{fig:fig04}}
\subfigure[5の図]{\includegraphics[height=6cm,width=6cm]{tiger.eps} \label{fig:fig05}}
\subfigure[6の図]{\includegraphics[height=6cm,width=6cm]{tiger.eps} \label{fig:fig06}}
\end{figure}
\begin{figure}[ht]
\centering
\subfigure[7の図]{\includegraphics[height=6cm,width=6cm]{tiger.eps} \label{fig:fig07}}
\caption {tiger}
\label {population}
\end{figure}

図\ref{fig:fig03}の図は3番目の図であり,
図\ref{fig:fig07}の図は\pageref{fig:fig07}ページにある.
\end{document}
飯島 徹 への返信

Re: LaTeX 見栄え良く綺麗に仕上げる方法を教えてください

- H M の投稿
ご回答有難う御座います。

教えて頂きましたコードを実行すると下記PDFになります。
P2,3に図1.1-1、図1.1-2等の表示がないのですが、無い方が良いのでしょうか?
(7枚の図は、同じ種類の絵なので、図1.1-1、図1.1-2と区分する方がおかしいので、、)
このようなケースでは、最後のページだけに、図1.1と表示するのが普通のやり方でしょうか?

http://www.geocities.jp/etctransformation/tiger.pdf

H M への返信

Re: LaTeX 見栄え良く綺麗に仕上げる方法を教えてください

- 飯島 徹 の投稿
最初の3個の図のキャプションを「図1-1」
次の3個の図のキャプションを「図1-2」
次の1つの図のキャプションを「図1-3」
とし続く図のキャプションは「図2」「図3」「図4」…のように(場合によっては「図4-1」「図4-2」…)したいということでしょうか?

適当なカウンタを作りそれを図1-1、図1-2、図1-3の枝番に利用して枝番の使用・不使用の変更の度に\thefigureを書き換えるくらいしか思いつきません。
飯島 徹 への返信

Re: LaTeX 見栄え良く綺麗に仕上げる方法を教えてください

- H M の投稿
ご回答有難う御座います。

>適当なカウンタを作りそれを図1-1、図1-2、図1-3の枝番に利用して枝番の
>使用・不使用の変更の度に\thefigureを書き換えるくらいしか思いつきません。
わかりました。そのようにして、ページ毎に入れます。


図の下に(a)〇〇、、(b)〇〇、、(c)〇〇、、とか注釈を入れると、縦のスペースが小さくなり、図が小さくなってしまいます。

http://www.geocities.jp/etctransformation/tiger.pdf


下記PDFのように、図の左上に(a)~(g)を入れることはできないでしょうか?
そして、更に図の下の(a)〇〇、、(b)〇〇、、(c)〇〇、、とか注釈のスペースは可能な限り取らないようにしたいです。

http://www.geocities.jp/etctransformation/fig7.pdf
H M への返信

Re: LaTeX 見栄え良く綺麗に仕上げる方法を教えてください

- 飯島 徹 の投稿
図の番号用のカウンタをさらに用意してtabular環境などを利用すれば図の番号と図を横に並べることができると思います。
飯島 徹 への返信

Re: LaTeX 見栄え良く綺麗に仕上げる方法を教えてください

- H M の投稿
ご回答有難う御座います。
>tabular環境などを利用すれば図の番号と図を横に並べることができると思います。
下記の通り、コードを作成しました。
\documentclass{jarticle}
\usepackage{graphicx}
\begin{document}
\begin{figure}[ht]
\centering
\begin{tabular}{cc}
\Large(a) & {\includegraphics[height=8.5cm,width=10cm]{tiger.eps}} \\
\Large(b) & {\includegraphics[height=8.5cm,width=10cm]{tiger.eps}} \\
\Large(c) & {\includegraphics[height=8.5cm,width=10cm]{tiger.eps}} \\
\label{fig:fig3}
\end{tabular}
\end{figure}
\end{document}

すいません。(a)(b)(c)の位置を、tigerの頭の位置まで上げて、太字にする方法を教えてください。

H M への返信

Re: LaTeX 見栄え良く綺麗に仕上げる方法を教えてください

- 飯島 徹 の投稿
こんな感じでしょうか?

\documentclass{jarticle}
\usepackage{graphicx}
\begin{document}
\begin{figure}[ht]
\centering
\begin{tabular}{cc}
\raisebox{-\height}{\Large\textbf{(a)}} & \raisebox{-\height}{\includegraphics[height=8.5cm,width=10cm]{tiger.eps}} \\
\raisebox{-\height}{\Large\textbf{(b)}} & \raisebox{-\height}{\includegraphics[height=8.5cm,width=10cm]{tiger.eps}} \\
\raisebox{-\height}{\Large\textbf{(c)}} & \raisebox{-\height}{\includegraphics[height=8.5cm,width=10cm]{tiger.eps}} \\
\label{fig:fig3}
\end{tabular}
\end{figure}
\end{document}
H M への返信

Re: LaTeX 見栄え良く綺麗に仕上げる方法を教えてください

- Yamamoto Munehiro "munepi" の投稿
山本宗宏です。


以下のような \sublabel コマンドぐらいを使いこなせば、
期待した出力と機能が得られないでしょうか?

以下のLaTeX文章から得られるPDFファイルを添付しておきます。

何かのご参考になれば幸いでございます。



%%%%% ここから
%#!ptex2pdf -l
\documentclass[dvipdfmx]{jsarticle}
\usepackage{graphicx}
\makeatletter
\newcommand\sublabel[2]{%
  \immediate\write\@auxout{\string\newlabel{#1}{{\thefigure #2}{\thepage}}}%
}

\newcommand\figref[1]{\figurename\kern.25zw\ref{#1}}
\makeatother
\begin{document}
\section{subfigureパッケージを意地でも使わないゾ!}

どの程度そのサブキャプションやらの機能を必要とするかで、
実装が違ってくると思います。

個人的には、subfigureパッケージの機能は、
(コードを見れば、「なんだか長いなー」と思うので、)
大抵の利用状況でsubfigureを読み込むまで必要ないと思います。

subfigureやらsubcaptionやらで、
「別途カウンターを定義して、ふがふが、」
という処理はいくらでも書けますけれども、
実際は、ここで定義した\texttt{\textbackslash sublabel}コマンドの機能程度を
使いこなすだけで、期待する出力および機能は十分にみたされないでしょうか?

こんなふうに記述します。

\begin{figure}[h]
\hfil
\begin{minipage}{.33\textwidth}
\centering
\includegraphics[width=.33\textwidth]{tiger.eps}\par
(a) 虎一郎
\end{minipage}\hfil
\begin{minipage}{.33\textwidth}
\centering
\includegraphics[width=.33\textwidth]{tiger.eps}\par
(b) 虎次郎
\end{minipage}\hfil
\begin{minipage}{.33\textwidth}
\centering
\includegraphics[width=.33\textwidth]{tiger.eps}\par
(b) 虎三郎
\end{minipage}
\caption{虎虎三兄弟}
\label{f1}
\sublabel{f1a}{(a)}
\sublabel{f1b}{(b)}
\sublabel{f1c}{(c)}
\end{figure}

このように書いておくと、\figref{f1}の参照はいつもどおりですが、
\figref{f1a}や\figref{f1c}も簡単に参照できて、期待した参照の出力を得られていると思います。

また、ここで定義した\texttt{\textbackslash sublabel}コマンドだと、
出力に潰しがききます。同一文章で(i), (ii), (iii)のような図の部分番号が
(普通の人が書く論文では、統一されているはずだと思うのですが、
実際に、現場で学術学会誌なんかを組版していると、
(a)とつかったり、(i)をつかったりとめちゃめちゃなことがあって、
そういう場合に subfigure コマンドだったり、subcaption コマンドだったりなんか、
使っていたら、面倒臭すぎてしかたないし、
学術論文の組版は、1つの記事だけで終わっちゃうので、
たいして汎用性なんか持たせるよりも、効率的な手抜きをしつつ、
生産性とマークアップを最大限に効果を上げる必要があると思うので、)
混ざっている場合でも、以下のように記述ができて、全く同一に利用できます。

\begin{figure}[h]
\centering
\includegraphics[width=.33\textwidth]{tiger.eps}\par
(i) 虎四郎
\vskip3mm
\includegraphics[width=.33\textwidth]{tiger.eps}\par
(ii) 虎五郎
\vskip3mm
\includegraphics[width=.33\textwidth]{tiger.eps}\par
(iii) 虎六郎
\caption{別の虎虎三兄弟}
\label{f2}
\sublabel{f2i}{(i)}
\sublabel{f2ii}{(ii)}
\sublabel{f2iii}{(iii)}
\end{figure}

このように書いておくと、\figref{f2}の参照はいつもどおりですが、
\figref{f2ii}や\figref{f2iii}も簡単に参照できて、
期待した参照の出力を得られていると思います。

当たり前ですが、途中で図1つだけあっても、以下のように普通に記述できます。

\begin{figure}
\centering
\includegraphics[width=.7\hsize]{tiger.eps}
\caption{六兄弟を生んだお父さん虎}
\label{f3}
\end{figure}

以上であれば、標準的な\LaTeXe からほとんど汚さずに、
お手軽に図の子にキャプションやラベルも与えられると思います。

以上はあくまでも個人的な見解です。

\end{document}
%%%% ここまで