Help us understand the problem. What is going on with this article?

MarkdownからInDesignへのデータ変換方法覚え書き

More than 1 year has passed since last update.

Installと変換

基本的には、Pandocと呼ばれるスクリプトを使用して.mdからicml形式に変換する。
Pandocは色々な形式を変換できるので、今回のMarkDownからicml形式だけ覚えてるだけでなく、色々調べておくのもいいだろう。

Install

Pandoraのページは、Pandoc - Installingになる。
Installに関しては、Windows版、Mac版、どちらもあるのでRelease pandoc 1.17.0.2 · jgm/pandocからダウンロードする。
Macの場合はpkg形式のファイルなので、ダウンロードしたら、該当のファイルをダブルクリックしていけば、Installできる。

変換

Pandocの使用に関しては、基本的にコマンドラインの入力になる。
基本的なコマンドは次の通り:

pandoc input.md -s -o  output.icml

InDesignへの読み込みは、配置(command+d)で行える。

変換時の段落スタイルに関して

icmlで段落スタイルが指定されるので、xmlを編集できるeditorでInDesignの段落指定名称とicmlで指定された段落スタイル名を合わせる必要がある。
予め、icmlの段階で変換しておく方法もあるが、結構深いところまで変換してあげないといけないので、現実的ではない。icmlから読み込んだ段階で原稿はFinalという意識を持っておく必要がある。
InDesignに読み込んで著者校正を出す場合などはInDesgin>PDF書き出し>著者校正という流れが現状ではいいだろうと思われる。

画像の大きさについて

通常、Markdownの画像挿入方法は、[画像のキャプション](imgソース)という方法で挿入するが、これで変換すると画像の大きさは100%で挿入されるため、InDesign上ではエラーになりやすい(ぶっちゃけて言えば、枠外に表示されていじれない)。
なので、Markdownで画像が挿入された場合、HTMLのimgタグを使い、画像の大きさを指定する必要がある。
簡単に言えば、次のように指定する。

<img src="画像のソース" width=25%>

という感じで、画像の大きさをパーセント表示で設定し、変換すれば、問題ないだろう。
ちなみに画像の大きさはソース元で確認をし、適切なパーセント設定をすることを忘れずに。
通常、画面のスナップショット程度であれば、25%程度の設定で問題ないと思う。

Markdown文法の画像指定からHTMLの画像指定の変換に関して

先ほども解説したが、Markdownの画像挿入方法は、[画像のキャプション](imgソース)という方法で挿入されているが、これをHTML形式に変換しなければならない。
その場合、Search&Replaceの作業を行わないといけないが、それをどうやって行うかが問題になってくる。
正規表現を使える人間であれば対して難しくはないが、ここではその方法を簡単に解説する。
まずは前文となる[画像のキャプション]を正規表現を使って次のように検索する。この際、キャプションが抜けてしまうが、どのみちInDesignに変換した時点でキャプションは全て抜け落ちてしまうので、気にしてもしようがない。
どうしてもキャプションが必要な場合は、別途ファイルを保存しておくようにすればいい。

!\[.+?\]\(

すると!からのキャプションとimgの前括弧までが検索される。
次にこの部分の置き換えを次のように記載する。

<img src="

これで前半分まではSearch&Replaceが行われた。
次に、後ろ半分の検索を行う。
たとえば画像がjpgの場合は、次のように検索する。

.jpg)

そして置き換え文字列は次のようにする。

.jpg" width=25%>

画像がpngやtiffなどがある場合も上記の設定を変えてあげれば問題ないだろう。
プログラムやスクリプトを使うともう少しエレガントな方法で検索できるので、スクリプトが組める方は挑戦してみてほしい。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away