マークダウン記法でサクッとスライドを作れるVS Codeの拡張機能「Marp」を使って、ゼミ発表資料を作成していきたいと思います。
一番最後にMarkdownファイルのテンプレコードの全文を載せています。↓
【Marp】ゼミ発表用スライドのテンプレmdを作る - 理系のおともの備忘録
なお、デザインのCSSについては別記事にまとめる予定です。
拡張機能のインストール
VS Codeの拡張機能「Marp for VS Code」をインストールします。
VS Codeの「拡張機能」の検索窓で「Marp for VS Code」を探し、インストールします。
(以下、23/11/2追記)
Markdownファイル内でHTMLが有効になるよう設定します。MarpではHTMLタグを記述してスライドをよりカスタマイズすることができます。オンにしておきましょう。
「Ctrl」+「,」で設定を開き、検索窓にて「Markdown › Marp: Enable HTML」を探します。チェックを入れてください。
もう一つ。数式を表示させるライブラリを指定します。恐らくデフォルトですが、同じく設定で「Markdown › Marp: Math Typesetting」を探し、「mathjax」を設定します。
テンプレの中身
テンプレの基本設定
まず最初にファイルの基本的な書式設定を行います。ファイルを新規作成して「タイトル.md」で保存します。
そのmdファイルを開き、一番最初に以下を記述します。
コード例
---
marp: true
math: mathjax
theme: default
size: 16:9
---
意味
なお、Marpでは,スライドの区切りを「---」で表します。
LaTeX(MathJaX)のマクロ定義
数式をよく使う必要があれば、ここでLaTeX(MathJax)のマクロを定義しておきます
(LaTeXを使える環境を想定しています)。マクロ定義については過去記事を...
briboo-pc.hatenablog.jp
コード例
$$
% 一例です
\newcommand{\bs}[1]{\boldsymbol{#1}}
\newcommand{\pp}[2]{\partial{#1}/\partial{#2}}
$$
意味
コマンド定義です。テンプレにはよく使うものを設定して、スライドごとに都度追加する方針にしたいと思います。
表紙ページ
タイトルと、日付や自分の所属、名前を入れてみます。
コード例
# ほげほげおよびほげほげに関するほげほげ
yyyy/mm/dd 第n回発表
ほげほげ研究室
ほげ山ほげ太郎
意味
- # ほげほげ:タイトル,見出し1
- そのほかの文字:地の文
2ページ目
ページ番号をつけます。ヘッダーもつけときます。
コード例
---
<!-- paginate: true -->
<!-- header: 第n回発表 ほげ山 -->
# ページタイトル
## サブタイトル
地の文
意味
- <!-- paginate: true -->:ページ番号を付与
- <!-- header: ヘッダーほげほげ -->:ヘッダーを設定
- ## :サブタイトル、見出し2
なお、Marpでの「<!-- hogehoge -->」はコメントアウトの他に、特殊な命令を入れるとそのページ以降に命令を適用できるようになる意味を持ちます。
3ページ目以降
3ページ目以降は区切り線とタイトルと文の繰り返しなだけなのでテンプレに含める意味が薄い気がしますね。
コード例
---
# ページタイトル
## サブタイトル
地の文
テンプレ完成コード全文
今までのコードをつなげたものです。
!
改ページの「---」の上は必ず空行にします。そうでないと改ページだと認識されません。
(10/30追記:↑と言ったものの下記で空行を忘れていたので修正しました。)
---
marp: true
theme: default
size: 16:9
---
$$
% 一例です
\newcommand{\bs}[1]{\boldsymbol{#1}}
\newcommand{\pp}[2]{\partial{#1}/\partial{#2}}
$$
# ほげほげおよびほげほげに関するほげほげ
yyyy/mm/dd 第n回発表
ほげほげ研究室
ほげ山ほげ太郎
---
<!-- paginate: true -->
<!-- header: 第n回発表 -->
# ページタイトル
## サブタイトル
地の文
---
# ページタイトル
## サブタイトル
地の文
テンプレ完成画像
一応テンプレができました!
ただ、見栄えがイマイチなのでCSSを今後作っていきたいと思います。
(2024/4/2追記)
タイトルスライドのカスタマイズについてはこちら!
*1:HTML、Markdown版のLaTeXの一種です。webで数式を表示させる際によく用いられます。基本的にはLaTeXと同じ記法で書けますが、一部制限されているものもあります。