Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pdfmakerに索引作成機能を追加 #660

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions doc/NEWS.ja.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Version 2.1.0の主な変更点

* config.ymlの``makeindexcommand``と``makeindexoptions``をサポートしました。

# Version 2.0.0の主な変更点

## 新機能
Expand Down
5 changes: 4 additions & 1 deletion doc/NEWS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# Version 2.1.0

* Add parameters ``makeindexcommand`` and ``makeindexoptions`` in config.yml.

# Version 2.0.0

## New Features
Expand Down Expand Up @@ -535,4 +539,3 @@ To support language parameter for syntax highlighting, if you use review-ext.rb
* add headline level 5 and 6 (paragraph, subparagraph)
* escape all dash
* add ``begin{alltt}..\end{alltt}`` into ``\reviewemlist``, ``\reviewlist`` and ``\reviewcmd``

11 changes: 8 additions & 3 deletions doc/config.yml.sample
Original file line number Diff line number Diff line change
Expand Up @@ -217,8 +217,8 @@ epubmaker:
#
# NCX目次の見出しレベルごとの飾り(配列で設定)。EPUB3ではNCXは作られない
# ncxindent:
#-
#- -
#-
#- -
# フックは、各段階で介入したいときのプログラムを指定する。自動で適切な引数が渡される
# プログラムには実行権限が必要
# ファイル変換処理の前に実行するプログラム。スタイルシートのコンパイルをしたいときなどに利用する。
Expand Down Expand Up @@ -289,6 +289,12 @@ epubmaker:
#
# LaTeX用のdvi変換コマンドのオプションを指定する
# dvioptions: "-d 5"
#
# LaTeX用の索引作成コマンドを指定する
# makeindexcommand: "mendex"
#
# LaTeX用の作品作成コマンドのオプションを指定する
# makeindexoptions: "-c -g -U"

# 以下のパラメータを有効にするときには、
# pdfmaker:
Expand Down Expand Up @@ -317,4 +323,3 @@ pdfmaker:
# 奥付を作成するか。trueを指定するとデフォルトの奥付、ファイル名を指定するとそれがcolophon.htmlとしてコピーされる
colophon: true
# pdfmaker:階層を使うものはここまで

2 changes: 2 additions & 0 deletions doc/format.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -654,6 +654,8 @@ Re:VIEW のタグ範囲を超えて何か特別な行を挿入したい場合、
* `@<icon>{識別子}` : インラインの画像を出力します。
* `@<m>{数式}` : インラインの数式を出力します。
* `@<raw>{|ビルダ|〜}` : 生の文字列を出力します。
* `@<idx>{〜}` : 文字列を出力し、文字列を索引に登録します。
* `@<hidx>{〜}` : 文字列を出力せずに、文字列を索引に登録します。

## 著者用タグ(プリプロセッサ命令)

Expand Down
3 changes: 2 additions & 1 deletion doc/format.md
Original file line number Diff line number Diff line change
Expand Up @@ -731,6 +731,8 @@ Note: `//raw` and `@<raw>` may break structured document easily.
@<icon>{samplephoto}:: inline image
@<m>{a + \alpha}:: TeX inline equation
@<raw>{|html|<span>ABC</span>}:: inline raw data inline. `\}` is `}` and `\\` is `\`.
@<idx>{text}:: print the text and register it to the index
@<hidx>{text}:: register the text to the index without printing it
```

## Commands for Authors (pre-processor commands)
Expand Down Expand Up @@ -850,4 +852,3 @@ Sample layout file(layout.html.erb):
</body>
</html>
```

9 changes: 9 additions & 0 deletions doc/pdfmaker.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,15 @@ dvicommand: dvipdfmx
dvioptions: "-d 5"
```

## 索引を出力するには

config.yml で makeindexcommand オプションを指定すると、索引が出力されるようになります。このオプションには "mendex" などの索引作成コマンドを指定してください。コマンドオプションは makeindexoptions オプションで指定できます。

```yaml
makeindexcommand: mendex
makeindexoptions: "-c -g -U"
```

## 旧来の pLaTeX を使用するには

既存のドキュメントについて、利用しているマクロやパッケージが upLaTeX でうまく動かない、あるいはこれまでと異なる紙面ができてしまう場合は、pLaTeX に戻したいと思うかもしれません。
Expand Down
11 changes: 11 additions & 0 deletions doc/pdfmaker.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,17 @@ dvicommand: dvipdfmx
dvioptions: "-d 5"
```

## How to print the index

If you specify `makeindexcommand` option in config.yml, the index will be printed.
Specify a command such as "mendex" to this option.
You can specify the command options by `makeindexoptions` option.

```yaml
makeindexcommand: mendex
makeindexoptions: "-c -g -U"
```

## How to use old pLaTeX

You also use pLaTeX with Re:VIEW 2.0.
Expand Down
13 changes: 10 additions & 3 deletions lib/review/pdfmaker.rb
Original file line number Diff line number Diff line change
Expand Up @@ -183,11 +183,19 @@ def generate_pdf(yamlfile)
warn "command configuration is prohibited in safe mode. ignored."
else
texcommand = @config["texcommand"] if @config["texcommand"]
makeindexcommand = @config["makeindexcommand"] if @config["makeindexcommand"]
dvicommand = @config["dvicommand"] if @config["dvicommand"]
dvioptions = @config["dvioptions"] if @config["dvioptions"]
texoptions = @config["texoptions"] if @config["texoptions"]
makeindexoptions = @config["makeindexoptions"] if @config["makeindexoptions"]
dvioptions = @config["dvioptions"] if @config["dvioptions"]
end
2.times do
system_or_raise("#{texcommand} #{texoptions} book.tex")
end
if File.exist?("book.idx")
system_or_raise("#{makeindexcommand} #{makeindexoptions} book.idx")
end
3.times do
2.times do
system_or_raise("#{texcommand} #{texoptions} book.tex")
end
call_hook("hook_aftertexcompile")
Expand Down Expand Up @@ -399,4 +407,3 @@ def call_hook(hookname)
end
end
end

11 changes: 11 additions & 0 deletions templates/latex/layout.tex.erb
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,11 @@
<%= @config["usepackage"] %>
<%- end -%>

<%- if @config["makeindexcommand"] -%>
\usepackage{makeidx}
\makeindex
<%- end -%>

\begin{document}

\reviewmainfont
Expand Down Expand Up @@ -308,6 +313,12 @@
<%= @input_files["POSTDEF"] %>
<%- end -%>

<%- if @config["makeindexcommand"] -%>
\cleardoublepage
\phantomsection
\printindex
<%- end -%>

%%% profile
<%- if @config["profile"] -%>
<%= @custom_profilepage %>
Expand Down