Gruberによって発明されたMarkdownを利用しています。最新のMarkdownアプリケーションの可能性は、長い時間をかけた膨大な量の開発の末に生まれました。脚注その他のリソース簡単な歴史¶1990年代にパソコンが普及して以来、ファイルフォーマットは2つのグループに分かれています。一つは.docや.odtのようなワードプロセッサードキュメント、もう一つは.js、.cpp、.pyのようなコードドキュメントです。それぞれのグループのドキュメントは人間が読むためのテキストを含んでいますが、一つの大きな違いがあります。(つまり、これらのファイルを開いたときに表示されるテキストのみを含んでいる)のに対し、ワードプロセッサードキュメントは、もっと多くの情報を含んでいます。ワードプロセッサードキュメントは、用紙サイズ(A4やレターサイズ)、ブロックごとの書式(見出しのフォントや引用のインデント幅)といった情報を必ず含んでいます。ワード/オフィスドキュメントをPCで開いてみるとその意味が分かりますが、フォントサイズや太さによって見出しがすぐわかるようになっています。これらの文書フォーマットの違いは、ユーザの違いと一致していました。WordやExcel(もしかするとLibreOfficeによる実装も)の使い方しか知りません。一方で、STEM分野から来た人々が自発的にWordやExcelなどのソフトウェアを使うことはほとんどありません。科学者たちは他の道を選択してきました。LaTeXと呼ばれる言語が開発され、大量のコードから整ったPDFファイルを生成することが可能になりました。彼らは、芸術や人文科学の研究者や行政職員などと同じワークフローに従いますが、異なるドキュメント形式を用いるのです。Gruberによって2004年に開始されたとき、それは要するに「いいとこどりできないの?」というものでした。Markdownはワープロ文書の読みやすさと、ソフトウェアコード文書の多目的で使いやすいという利点をあわせ持っています。それは、WordやWriterしか使ったことのない人にも使いやすいものです。text"と入力してからそれを選択し、メニューから「見出し1」を選択して書式設定します。textと入力するだけです。ハッシュ記号が「これは見出しレベル1です」ということを表しています。Gruberによって書かれた小さなスクリプトでした。それは多くの仕様上の矛盾を含んでおり、サポートしていない要素も多くありました。長年にわたり進歩を重ねてきました。次の2つの日付が注目に値します。CommonMarkの開発者たちがMarkdownを、国際的に受け入れられている方法で標準化した。今日では、Markdownの文法にはいくつかの実装が併存しています。脚注、テーブル、いくつかのメタデータに関する拡張を行いました。いくつかの文法を再び拡張しました。ホスティングプラットフォームであるGitHub(Zettlrも、ここにホスティングされています)によって作られた方言であり、最もよく使われている方言の一つです。Markdownのスーパーセットであり、いくつかの要素が追加されています。可能な限り多くの要素を、あいまいさを回避して取り入れようとしています。注目すべきは、CommonMarkは未だに脚注の仕様を含んでいないことです。ZettlrとMarkdown¶Zettlr自体は複数の方言の混合で実装されています。Markdownのみです。加えて、Zettelkasten要素に関してMarkdownを拡張した、追加の要素があります。これについては、Zettelkastenメソッドについての章に記述してあります。Markdownの文法を使って変換を行います。Markdownの文法を使ってMarkdown文書が読み込まれます。ZettlrはMarkdownしか書けないわけではありません。使いたければ、LaTeXコマンドを使用することができます。これらのコマンドはPDFにエクスポートする際に正しく変換されますが、DOCXやODTに変換する場合には無視されます。HTMLに変換する場合には、そのまま残ります。任意の個所でプレーンHTMLコードを使用することもできます。Markdown入門(重要な要素)¶Markdownは数多くのことができますが、この章では最も重要でよく使う要素について説明し、Zettlrでの使い方を見ていきます。見出し用の行を用意し、先頭にハッシュ記号を置きます。6階層までの見出しを作ることができます。6段階目の見出しを作成しますインライン書式¶もちろん、ワープロと同じようにインラインの書式設定を行うことができます。太字、斜体、monospaced(コード)などです。長い引用やリストなど、テキストブロック全体を強調したい場合があります。これもMarkdownではとても簡単にできます。番号無しリストを作るには各行頭に-か*か+を置きます。これらの文字を混ぜて使うことも可能です。番号付きリストを作るには各行頭に1.などを置きます。番号が順番通りになっている必要はありません。エクスポートする度に、コンバーターが自動的に正しい番号を振ってくれます。4の番号を持ったリストとして出力されます。リンクと画像¶リンクはインライン要素で、画像はブロック要素です。これらも上で説明した要素と同じセマンティクスにしたがいます。これらには追加の設定項目があるため注目に値します。リンクの書き方は次の通りです。Zettlrはこの文法で書かれたテキストを自動的にクリック可能なリンクに変換し、アクセスしやすくします。リンク先に移動するにはAltまたはCtrlを押しながらクリックします。画像もエクスクラメーションマーク(!)を頭につけることを除くと、リンクによく似ています。画像もプレーンテキストの文書に含めるわけではないので、もちろんパスが必要となります。文書に画像をリンクする方法は3種類あります。ウェブURLを使用する。https://upload.wikimedia.org/wikipedia/commons/thumb/4/48/Markdown-mark.svg/1000px-Markdown-mark.svg.pngMarkdown。コンピュータ内の絶対パスを使用する。C:\Users\user-name\Pictures\my-image.jpg。コンピュータ内の相対パスを使用する。../img/my-image.png。設定ダイアログの「エディタ」タブで、画像のデフォルトパスを設定することができます。このパスは、エディタに画像を貼り付けた際に使用されます。相対パスは、画像を貼り付けた文書からの相対パスとなります。..は親ディレクトリ(一つ上の階層のディレクトリ)から探すようにZettlrに指定します。文書をクラウドに保存していて複数のデバイスからアクセスする場合には、絶対パスがそれぞれ異なるはずなので(とくにOSが異なる場合)、必然的に相対パスを使用することになるでしょう。リンクはCmd/Ctrl+K、画像はCmd/Ctrl+Shift+Iのショートカットを使って挿入してみてください。クリップボードに有効なパスが入っている場合には、それが自動的に挿入されます。リンクを作るなら、まずURLをクリップボードにコピーして、リンクにしたいテキストを選択して、それからCmd/Ctrl+Kを押すのがベストな方法です。すると、選択していたテキストがリンクに変わり、クリップボードに入っていたリンク先にリンクされます。脚注は、芸術や人文科学の多くの研究者が関心を持っているものです。ここでは、脚注を挿入する基本的なルールと、Zettlrでそれらを取り扱う方法について学びましょう。標準的なMarkdown文法では、脚注は2つの要素を必要とします。一つ目はテキスト中に現れる参照[^x]です。xは一意な識別子です。基本的には、重複しない限り好きなものを使うことができます。普通は連番を付けようとするはずです。(番号は順番通りになっている必要はありません。Markdown文書をエクスポートすれば、Pandocが自動的に脚注の番号を振りなおしてくれます。後から脚注を削除することになっても番号がきちんとあっているかを気にする必要がありません。)脚注の二つ目の要素はブロック要素である、脚注の参照テキストです。ようなフォーマットです。見ての通り、テキスト中の参照と同じ識別子を使い、その後にコロンを置きます。常識的には、文書の一番最後のリストに参照テキストを書きます。参照テキストと脚注参照を行ったり来たりするのは面倒なので、Zettlrはその対策を用意しています。マウスカーソルを脚注参照に合わせると参照テキストが表示されます。AltまたはCtrlを押しながらそれをクリックすると、脚注を編集することができます。Shift+Enterで変更を保存します。フェンスコードブロック¶Zettlrは「フェンスコードブロック」と呼ばれるものもサポートしています。これは、インラインコード要素のブロック要素版です。空の行に三つのバックティック"`"を書くとブロックを開始します。一度、空の行に三つのバックティックを書くとブロックを終了します。この2つの「フェンス」に囲まれた部分は、コードであることを示すために等幅フォントで表示されます。Zettlrはいくつかのスクリプトとプログラム言語について、シンタックスハイライトを提供します。言語の種類を指定するには、それぞれの識別子を開始フェンスのすぐ後に書きます。コードフェンスでJavaScriptのハイライトを行うように指定するには、三つのバックティックのすぐ後に「javascript」の文字を書いて、コードブロックを開始します。今のところ、以下の言語をサポートしています。(括弧の中はZettlrで使用する識別子です。混乱を防ぐため特殊文字を含まないようにしています。(yaml)要望に応じて追加の言語を実装します。必要なものがあれば、利用可能な言語かどうか確認してGitHubにイシューをあげて、追加すべきものを知らせてください。minutesにあります。クリーンであいまいさのないMarkdownを書きたいなら、CommonMarkの仕様を参照してください。Markdownについての「本」を、ここで読むことができます。