Latexで画像の下に付けるキャプションのフォントタイプと行幅を変更するコードを教えて下さい。フォントサイズは変更出来たのですが、キャプションの行幅がえらくあいているので詰めたいんです。フォントも「これは図の説明ですよ」というのをはっきりさせたいのでhelveticaかMonacoにしたいのですが。


下に今使っているコードを書いておきます。

\usepackage{graphicx}
\usepackage[small,normal,bf,up]{caption}
\renewcommand{\captionfont}{\small}

\begin{figure}
\centering
\includegraphics[width=2in]{example.jpg}
\caption{5−6行にわたるながーい図の解説。スペースを取りすぎるしバランスがすごく悪い〜〜!}
\label{fig:example}
\end{figure}

回答の条件
  • URL必須
  • 1人1回まで
  • 登録:2007/05/17 11:14:35
  • 終了:2007/05/18 11:02:59

ベストアンサー

id:i_kumagoro No.2

i_kumagoro回答回数170ベストアンサー獲得回数582007/05/18 02:21:30

ポイント70pt

回答できるようになったので、回答として記述させて頂きます。

下記のようなソースでcaptionにだけ行間の調節がかかるようになります(キャプションのテキストはGFDLの一部ですがそれに意味はないです)。

\documentclass[11pt]{article}
\usepackage[small, bf]{caption}
\begin{document}
This is first paragraph.

This is second paragraph.

   \begin{figure}[h]%
    \centering%
    \fbox{figure}%
    \renewcommand{\baselinestretch}{3}%
    \caption{%
    Examples of suitable formats for Transparent copies include plain ASCII
    without markup, Texinfo input format, LaTeX input format, SGML or XML
    using a publicly available DTD, and standard-conforming simple HTML,
    PostScript or PDF designed for human modification. Examples of
    transparent image formats include PNG, XCF and JPG. Opaque formats
    include proprietary formats that can be read and edited only by
    proprietary word processors, SGML or XML for which the DTD and/or
    processing tools are not generally available, and the machine-generated
    HTML, PostScript or PDF produced by some word processors for output
    purposes only.}
    \label{fig:example}
    \end{figure}

This is 3rd paragraph.

This is 4th paragraph.
\end{document}

違いがはっきり分かるようにキャプションの行間を逆に広げていますので適宜調節して下さい。figure環境のhオプションは前後の本文が影響を受けない事を示す為につけているだけなので実際には不要です。

ただし、コメントでも書きましたが、そもそもarticleクラスを使用しただけの状態では画像のような行間にはなりません。私の環境ではcaptionパッケージにnormalオプションを指定するとエラーになったのではっきりしませんが、captionパッケージの設定まわりでおかしくしているのかもしれません。

id:shimarakkyo

ありがとうございます!


指摘されて設定を見直してみました。

\renewcommand{\baselinestretch}{1.5}がドキュメントの中に隠れていました。本文の行幅を1.5に設定したのがfigureにも影響してしまっていたのですね。添削する都合上、その方が便利は便利なのでそれはそのままにしておこうと思います。


ドキュメント全体に有効となるような形でキャプションの行間を調節する事は可能なのでしょうか?無理ならば、ちょっとめんどくさいですが、画像ごとに\renewcommand{\baselinestretch}{1}をはっつけていきます。


Latexに慣れないもので、的を得ない質問になってしまっているにも関わらず、丁寧にお答えいただき本当にありがとうございます。

2007/05/18 05:33:15

その他の回答(1件)

id:KazuhisaNagata No.1

KazuhisaNagata回答回数87ベストアンサー獲得回数42007/05/17 15:37:10

ポイント60pt

\captionに解説文書本体を書いているのが具合悪いのは仕方ないような…

\parbox[length]{解説文}や\makebox[length][pos]{解説文}等を\label以降に入れてあげて、\captionはほんとに図の見出しのみにするのではいけませんか?

http://cns-guide.sfc.keio.ac.jp/2001/11/5/4.html \makeboxの説明

http://www.maekawa.is.uec.ac.jp/doc/documentation/jlatex/revise/... \parboxの説明

id:shimarakkyo

あああ、なるほど!済みませんバカな質問して。まわりにLatex使える人が一人もおらずウェブにあるソースを頼りに思いっきり手探りで書いてるんです。

ただ、今ちょっと使ってみたところ、やはり箱の中のテキストの行幅の制御が出来ない(結局、行と行の間のスペースは変わらない)のです。このコードだと、求めている効果を得るのは難しそうです。

もしよろしければ画像を見て頂けますか?http://f.hatena.ne.jp/shimarakkyo/20070517171921

上にある文章がキャプションの中に放り込んだ文章です。今は行幅が結構空いているの、分かりますでしょうか?これをもっとキチキチに詰めれば完璧なんです。

2007/05/17 17:24:55
id:i_kumagoro No.2

i_kumagoro回答回数170ベストアンサー獲得回数582007/05/18 02:21:30ここでベストアンサー

ポイント70pt

回答できるようになったので、回答として記述させて頂きます。

下記のようなソースでcaptionにだけ行間の調節がかかるようになります(キャプションのテキストはGFDLの一部ですがそれに意味はないです)。

\documentclass[11pt]{article}
\usepackage[small, bf]{caption}
\begin{document}
This is first paragraph.

This is second paragraph.

   \begin{figure}[h]%
    \centering%
    \fbox{figure}%
    \renewcommand{\baselinestretch}{3}%
    \caption{%
    Examples of suitable formats for Transparent copies include plain ASCII
    without markup, Texinfo input format, LaTeX input format, SGML or XML
    using a publicly available DTD, and standard-conforming simple HTML,
    PostScript or PDF designed for human modification. Examples of
    transparent image formats include PNG, XCF and JPG. Opaque formats
    include proprietary formats that can be read and edited only by
    proprietary word processors, SGML or XML for which the DTD and/or
    processing tools are not generally available, and the machine-generated
    HTML, PostScript or PDF produced by some word processors for output
    purposes only.}
    \label{fig:example}
    \end{figure}

This is 3rd paragraph.

This is 4th paragraph.
\end{document}

違いがはっきり分かるようにキャプションの行間を逆に広げていますので適宜調節して下さい。figure環境のhオプションは前後の本文が影響を受けない事を示す為につけているだけなので実際には不要です。

ただし、コメントでも書きましたが、そもそもarticleクラスを使用しただけの状態では画像のような行間にはなりません。私の環境ではcaptionパッケージにnormalオプションを指定するとエラーになったのではっきりしませんが、captionパッケージの設定まわりでおかしくしているのかもしれません。

id:shimarakkyo

ありがとうございます!


指摘されて設定を見直してみました。

\renewcommand{\baselinestretch}{1.5}がドキュメントの中に隠れていました。本文の行幅を1.5に設定したのがfigureにも影響してしまっていたのですね。添削する都合上、その方が便利は便利なのでそれはそのままにしておこうと思います。


ドキュメント全体に有効となるような形でキャプションの行間を調節する事は可能なのでしょうか?無理ならば、ちょっとめんどくさいですが、画像ごとに\renewcommand{\baselinestretch}{1}をはっつけていきます。


Latexに慣れないもので、的を得ない質問になってしまっているにも関わらず、丁寧にお答えいただき本当にありがとうございます。

2007/05/18 05:33:15
  • id:i_kumagoro
    回答できないのでコメントにて。baselinestretchで何とかなると思います。しかし、画像を見る限りでは論文投稿用の原稿で、指定されたスタイルファイルを使用しているように見受けられます。そのような場合は、フォントや行間などはいじるべきではありません。例えば
    http://www.sciencemag.org/feature/contribinfo/prep/TeX_help/index.dtl
    に、scienceの投稿用のスタイルファイルやそれでタイプセットしたものがありますが、画像と同じくらい行間があいているのが分かると思います。(もっとも、scienceの場合はfigure環境を使うなという事になっていますが。)
    投稿目的ではないのであれば、articleドキュメントクラス等を使えばいいと思います(使っていて行間が空いているのであれば、質問文に書いた以外の設定が悪さをしていると思います)。
  • id:KazuhisaNagata
    えーと、そうするとfigure環境内で\baselineskipが(たとえば図と見出しの位置関係を変更するために)変更されているようなので、\parbox[0.7\textwidth]{\setlength{\baselineskip}{20pt}解説文}等とすればどうなります?こちらでテストしたらparbox内の行間が変更されるようです。なお、20ptは適当なので修正してください。ちなみにこちらの環境はwin用のweb2c7.5.5で、articleスタイルにオプションなしでした。
  • id:shimarakkyo
    i_kumagoroさん、回答ありがとうございます。
    わざわざすみません。回答拒否の設定を変更致しましたので、今後は回答出来ると思いますが今回はポイントの送信で対応させて頂きます。

    ドキュメントクラスは \documentclass [11pt] {article} を使用しています(サイエンスのテンプレも使おうかと最初は思ったのですが、ドラフトを書く分には不都合だったのでやめました)。

    baselinestretchですが、キャプションのテキスト「だけ」\renewcommand{\baselinestretch}{1}として詰める事は出来るんでしょうか?
  • id:shimarakkyo
    KazuhisaNagataさん、ありがとうございます。

    作ってみました。「惜しい!」事になってます(http://f.hatena.ne.jp/shimarakkyo/20070518011828)。

    \begin{figure}[h]
    \centering
    \includegraphics[width=11cm]{pict/patternAssociation.jpg}
    \caption{A pattern association network}
    \label{fig:patternAssoc}
    \parbox{0.9\textwidth}{\setlength{\baselineskip}{2}解説文だらだらと}
    \end{figure}

    環境はマックOSX10.4.9インテル2.16GHz。pdftexで作っています。念のため、以下に設定をコピペします。

    \usepackage{graphicx}
    \usepackage{wrapfig}
    \usepackage{subfigure}
    \usepackage{url}
    \setlength{\oddsidemargin}{0.cm}
    \setlength{\evensidemargin}{0.cm}
    \setlength{\topmargin}{0.cm}
    \setlength{\headheight}{0.cm}
    \setlength{\headsep}{0.cm}
    \setlength{\topskip}{0.5cm}
    \setlength{\textheight}{22cm}
    \setlength{\textwidth}{16.5cm}

    \usepackage[small,normal,bf,up]{caption}
    \renewcommand{\captionfont}{\small}

    \newenvironment{Abstract}
    {\begin{center}\textbf{Abstract}
    \end{center} \begin{quote}}
    {\end{quote}}

    \setlength{\parindent}{0ex}
    \setlength{\parskip}{1ex}
    \newcommand{\dd}{\mbox{d}}
  • id:i_kumagoro
    回答のコメントへのコメントです。
    \def\mycaption#1{\renewcommand{\baselinestretch}{3}\caption{#1}}
    とプリアンブルに書いておけば\captionの代わりに\mycaptionを使用するだけだし、変更する際も一ヶ所変えればすむのでそれ程面倒ではないと思います。
  • id:shimarakkyo
    KazuhisaNagataさん、i_kumagoroさん
    お世話になりました。ありがとうございます。おかげさまで、一つ利口になりました。m(_ _)m

    同時に、さすがにもう少しきちんと参考書か何かを見て最低限Latexの基本的な作りを押さえておく必要があるな、と感じました。(「The Not So Short Introduction to LATEX」のページ数の多さにくらっときて、面倒くさがって「どこかからテンプレを採ってきてtry&errをしてればなんとかなるさー」と思っていたのですが、甘かったです。)


    もし何か、お勧めの英語の参考書等、ご存知でしたら教えて頂ければ幸いです。
  • id:KazuhisaNagata
    あぁ、終わってる上にi kumagoroさんが正しく終わらせてるorz。

    で終わらせるのも何なので、初心者向けの本の紹介を。

    えーと、初心者にお勧めはLamportの「文書処理システムLaTeX2e」と奥村晴彦の「LaTeX美文書作成入門」です。LamportはLaTeXの作者で基本的なコマンドの辞書として、奥村先生のはそれより程度が若干上(オリジナルのdocumentclassを作ったりしてる)になります。これらの本を通読すればLaTeXの基本は抑えたといって良いかと。また、コンパニオン本やKnuthの本は奥村先生の本を見てから読むと良いのでは。
    また、同じく奥村先生のTeX Wiki(http://oku.edu.mie-u.ac.jp/~okumura/texwiki/)を調べると日本語と英語の本のリストがあったと思いますし、その他の程度の高い内容が揃ってますよ~。
  • id:shimarakkyo
    \parboxも便利そうな機能なので教えて頂いて有り難かったです。

    おっしゃっている本はこれですね、http://www.amazon.com/LaTeX-Document-Preparation-System-2nd/dp/0201529831

    今度本屋さんで手に取ってみます。色々ありがとうございます。
  • id:i_kumagoro
    私自身は英語で入門したわけではないので「お勧めの英語の参考書」は特にありません。ですが、ある程度の量の文章を読む必要があるので、ページ数の多さにくらっときて面倒くさがるくらいであればまずは日本語の入門書を読まれた方がよいのではと思います。書籍であればKazuhisaNagataさんが挙げられたもの、ネット上で公開されているものとしては
    http://tex.dante.jp/typo/index.php?%B9%A5%A4%AD%B9%A5%A4%ADLaTeX2e%BD%E9%B5%E9%CA%D4
    http://www.h4.dion.ne.jp/~latexcat/intro/intro-index.html
    等があります。また、ちょっと古いですが
    http://www-s.eng.maritime.kobe-u.ac.jp/~nomura/hobby/jlshort/jlshort.html
    にThe Not So Short Introduction to LaTeX2eの日本語訳があります。
  • id:shimarakkyo
    おおおおおー、ありがとうございます!

    英語の本と言ったのはただ単に、そのだったら近所の本屋さんで手に取って見る事が出来るからです(現在海外にいます)。教えて頂いたページで基本は押さえられそうなので、時間を作って読みます。本当にありがとうございます。

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません