0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

レポート提出のためのPDFが生成できるツール群

Last updated at Posted at 2023-04-25

これはメモ書きです。

レポートはPDFで提出することが多い。そういうときに使える言語やツール、またはそれらを組み合わせた技術をまとめてみる。

リスト

言語、ツール、それらを束ねた組み合わせを示し、以降は組み合わせの良しあしなどを書く。

言語

ツール

  • Pandoc
  • Word
  • pLaTeX, UpLaTeX, LuaTeX, XeTeX, pdftex

それらの組み合わせ

  • LaTeX + Compiler
  • Markdown + LaTeX + Pandoc
  • Markdown + VScodeの拡張機能: Markdown PDF
  • Typst

Markdown + LaTeX + Pandoc

本文はMarkdownで書いて、Pandocの内部でtexファイルに変換、最終的にPDFとして出力する方法。

---
title: いい感じのタイトル
author: Qiita太郎
---

## ヘッダー

オイラーの公式はインラインで書くと $\exp{i\theta} = \cos{\theta} + i \sin{\theta}$ であり、ブロックで書くと

$$
\exp{i\theta} = \cos{\theta} + i \sin{\theta}
$$

このように書いて、

$ pandoc --pdf-engine=lualatex -V documentclass=ltjsarticle -o output.pdf main.pdf

と実行すれば、以下のようなpdfが手に入る。

image.png

下記のような簡単なMakefileを用意するだけでmakeコマンドで全部pdfを生成できて便利。

MD=$(shell ls **/*.md)
PDF=$(MD:.md=.pdf)

all: $(PDF)

%.pdf: %.md
	pandoc --pdf-engine=lualatex -V documentclass=ltjsarticle -o $@ $<

clean:
	rm **/*.pdf

この方法は、Markdownで気楽に書けるのが大変よい。一方で少しだけレイアウトや見た目を変更したいというだけでも、専用のpandocのfilterを作成したりしないといけなかったりして、地獄を見る。レポートのレイアウトや見た目にそこまでシビアではない課題をこなすときに重宝する。

pdfへの変換にはLaTeXのツールセットに依存しているため、ローカルにTexの環境を用意してあげないといけないのが面倒。

LaTeX + Compiler

見た目やレイアウトに要件がある場合には、そのままLaTeXを使うのがよさげ。

日本語を使わなくていいなら、pdftexがコマンド一発でbibliographyまで処理してくれるので楽。日本語を使わないといけないなら、LuaLaTeXがコマンド一発で同じくbibliographyまで処理してくれるので楽。

慣れていないと不必要なpackageを\usepackageしてビルドが通らなかったり、不親切なエラーメッセージに悩ませられたりする。

Typst

Typstはおそらく最近でてきた、レポートなどが書けるツール。

  • CLIを実行すると専用GUIエディターが起動する。
  • Rustで書かれていて、シングルバイナリ(!!!!!!)

Rustの文字列はUTF-8だからか、特に設定しなくても日本語の入出力に対応している。

ドキュメントがすっきりまとまっているので、今から「レポートを書くためにWordから別のものに乗り換えたい」という人にはおすすめしようかなと考えている。

Word

嫌われがちだけど、機能を適切に使いこなせば大変優秀なツール。Gitとの親和性は最悪なので、データ解析やグラフのプロットと同じリポジトリで論文を書くというスタイルは難しい。Word本体の機能に共同編集、同時編集の機能があるようなので、そういった機能を利用したほうがよさそう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?