文法一覧
ここでは, OutlineText の文法を示していきます. 基本的に Markdown と似せていますが, インデントに対する挙動が異なります. 見やすい文章を書くことを注意すれば, OutlineText は自然に解釈し構造化します.
段落
基本的な書き方
段落は, 多くのマークアップ言語と同様に, 特別なマークアップは不要です.
行を連続して書くことで, その行ブロックが段落になります.
段落を分けるときは, このように空行を挟みます.
段落は, 多くのマークアップ言語と同様に, 特別なマークアップは不要です. 行を連続して書くことで, その行ブロックが段落になります.
段落を分けるときは, このように空行を挟みます.
改行
バックスラッシュ`\`を2つ行末に書くと, 改行になります. \\
\\
サザエさんの家系図を見ると, \\
サザエはフネの娘で, \\
タラオはサザエの息子である \\
ことが分かった.
バックスラッシュ\を2つ行末に書くと, 改行になります.
サザエさんの家系図を見ると,
サザエはフネの娘で,
タラオはサザエの息子である
ことが分かった.
見出し
通常の見出し
# Section
# SubSection
Section
SubSection
セクションの見出しは#で始めます.
セクションのレベルはインデントの数で決まります.
そのほかの見出し
# `#`のみの見出し
`#`を先頭にタイトルを書くと,見出しになります.
`_`による見出し
_______________
`_`をタイトルの下に書くことで,見出しになります.
# `#`と`_`による見出し
___________________
`#`と`_`を同時につけても見出しになります.
#のみの見出し
#を先頭にタイトルを書くと,見出しになります.
_による見出し
_をタイトルの下に書くことで,見出しになります.
#と_による見出し
#と_を同時につけても見出しになります.
セクション
このフォーマットにはセクションというものがあります.
このように同じインデント数で始まる要素は同じセクションになります.
インデントのレベルが一つ上がると, セクションの階層が一つ上がります.
インデントをもとに戻すと, また同じセクションに戻ります.
# 見出し
セクションが一つ上がる前に, 見出しを付けるのが通例です.
このフォーマットにはセクションというものがあります.
このように同じインデント数で始まる要素は同じセクションになります.
インデントのレベルが一つ上がると, セクションの階層が一つ上がります.
インデントをもとに戻すと, また同じセクションに戻ります.
見出し
セクションが一つ上がる前に, 見出しを付けるのが通例です.
リスト
順序なしリスト
* レベル1
* レベル2
* レベル3
* レベル2
- レベル1
- レベル2
- レベル3
- レベル2
- レベル2
順序ありリスト
1. レベル1
1.1. レベル2
2. レベル1
- レベル1
- レベル2
- レベル1
(番号).で番号付きリストになります.
最後の.を忘れないでください.
ツリーリスト
+ root
+ file
+ folder
+ file
- root
- file
- folder
- file
アルファベット順序リスト
A. 条件
a. 処理1
b. 処理2
B. 条件
a. 処理3
- 条件
- 処理1
- 処理2
- 条件
- 処理3
ローマ数字順序リスト
I. 第一章
i. 第一節
ii. 第二節
II. 第二章
i. 第一節
- 第一章
- 第一節
- 第二節
- 第二章
- 第一節
組み合わせ
* リスト
1. 順序
2. 順序
* リスト
+ ツリー
+ ツリー
- リスト
- 順序
- 順序
- リスト
- ツリー
- ツリー
- ツリー
定義リスト
中条琢磨:
スポーツ少年. サッカーボールがあれば生きていけると確信している.
中条里美:
琢磨の姉. 料理が得意.
自由奔放な弟の世話に手を焼いてる.
水上さつき:
里美の友達で, 琢磨の元カノ.
非常におとなしいが, 昔は喧嘩番長であったといううわさがある.
- 中条琢磨
スポーツ少年. サッカーボールがあれば生きていけると確信している.
- 中条里美
琢磨の姉. 料理が得意. 自由奔放な弟の世話に手を焼いてる.
- 水上さつき
里美の友達で, 琢磨の元カノ. 非常におとなしいが, 昔は喧嘩番長であったといううわさがある.
テーブル
横ラベル
| ラベル0 | ラベル1 | ラベル2 |
|---------|---------|---------|
| A | B | C |
| D | E | F |
| ラベル0 | ラベル1 | ラベル2 |
|---|---|---|
| A | B | C |
| D | E | F |
縦ラベル
|---------||---|---|
| ラベル0 || A | B |
| ラベル1 || C | D |
| ラベル2 || E | F |
| ラベル0 | A | B |
|---|---|---|
| ラベル1 | C | D |
| ラベル2 | E | F |
縦横ラベル
| ラベル名 || 種類A | 種類B |
|----------||-------|-------|
| ラベル0 || A | B |
| ラベル1 || C | D |
| ラベル2 || E | F |
| ラベル名 | 種類A | 種類B |
|---|---|---|
| ラベル0 | A | B |
| ラベル1 | C | D |
| ラベル2 | E | F |
キャプション付き
|[キャプション付き]
|---------||---|---|
| ラベル0 || A | B |
| ラベル1 || C | D |
| ラベル2 || E | F |
| ラベル0 | A | B |
|---|---|---|
| ラベル1 | C | D |
| ラベル2 | E | F |
リンク
通常のリンク
文章中にこのようにしてリンク[ContentsViewer](http://contentsviewer.work)を張ることが可能です.
文章中にこのようにしてリンクContentsViewerを張ることが可能です.
インラインアンカー
# [[sugoi-title]] すごいタイトル
上のようにアンカーを用意して,
このようにページ内で[リンク](#sugoi-title)を張ることが可能です.
すごいタイトル
上のようにアンカーを用意して,
このようにページ内でリンクを張ることが可能です.
URLとEmailアドレス
URLとEmailアドレスを`<`で囲むことで, リンクになります.
<https://www.google.com/>\\
<fake@example.com>
URLとEmailアドレスを<で囲むことで, リンクになります.
画像
水平線
`-`を3つ以上並べると水平線になります.
--------------------------------------
このように区切られます.
-を3つ以上並べると水平線になります.
このように区切られます.
テキストフォーマット
重要句
文章内で**重要性, 深刻性, 緊急性**を持つ句があるとき`**`で挟みます.
文章内で重要性, 深刻性, 緊急性を持つ句があるとき**で挟みます.
強調句
文章内で周囲の文字列と比較して//強調したい句//があるとき`//`で挟みます.
ふつうは文内の一語または数語に限定され, 文自体の意味に影響します.
文章内で周囲の文字列と比較して強調したい句があるとき//で挟みます. ふつうは文内の一語または数語に限定され, 文自体の意味に影響します.
マーカー
文章内で読み手, 書き手に__意識を向けたい部分__には`__`で挟みます.
文章の重要性などには関係はなくただ__目立たせること__に注意してください.
参考書などに__マーカー__を引く行為に近いです.
文章内で読み手, 書き手に意識を向けたい部分には__で挟みます. 文章の重要性などには関係はなくただ目立たせることに注意してください. 参考書などにマーカーを引く行為に近いです.
打消し線
文章内で打消し線を使用するときは, ~~打ち消したい部分~~を`~~`で囲みます.
文章内で打消し線を使用するときは, 打ち消したい部分を~~で囲みます.
コード
インライン
文章中にこのようにして`Code表記する`ことが可能です.
コード表記内のhtmlタグ`<p>`や,
このフォーマットのマークアップ`[ContentsViewer](./)`は無視されます.
`コード表記内の文字&<>`は自動でエスケープされます.
文章中にこのようにしてCode表記することが可能です.
コード表記内のhtmlタグ<p>や, このフォーマットのマークアップ[ContentsViewer](./)は無視されます.
コード表記内の文字&<>は自動でエスケープされます.
ブロック
このようにして`バッククオートx3`でコードブロックを挿入することができます.
`バッククオートx3`の後ろに属性を追加することでコードをハイライトすることが可能です.
```cpp
#include <iostream>
using namespace std;
int main(){
cout << "Hello World!" << endl;
return 0;
}
```
このようにしてバッククオートx3でコードブロックを挿入することができます.
バッククオートx3の後ろに属性を追加することでコードをハイライトすることが可能です.
#include <iostream>
using namespace std;
int main(){
cout << "Hello World!" << endl;
return 0;
}
コードのハイライトに, 外部ライブラリSyntaxHighlighterを使用しています. 詳細は, SyntaxHighlighterを参照してください.
対応しているコードは以下の通りです.
| Alias | Code |
|---|---|
applescript | AppleScript |
actionscript3 as3 | AS3 |
bash shell | Bash |
coldfusion cf | ColdFusion |
cpp c | Cpp |
c# c-sharp csharp | CSharp |
css | Css |
delphi pascal | Delphi |
diff patch pas | Diff |
erl erlang | Erlang |
groovy | Groovy |
java | Java |
jfx javafx | JavaFX |
js jscript javascript | JScript |
perl pl | Perl |
php | Php |
text plain | Plain |
ps powershell | PowerShell |
py python | Python |
ruby rails ror rb | Ruby |
sass scss | Sass |
scala | Scala |
sql | Sql |
vb vbnet | Vb |
xml xhtml xslt html | Xml |
ブロック
[補足事項]
=======================
ボックスの中では, __通常通りマークアップが使用可能__です.
[入れ子]
============
ボックスを入れ子にすることが可能です.
============
=======================
[ボックスのスタイル :: NOTE]
==============
ボックスのタイトルの横に属性を追加することが可能です.
省略時は, `NOTE`が適用されます.
このほかにも, `CAUTION`, `WARNING`があります.
[:: CAUTION]
============
注意ボックス
============
[:: WARNING]
============
警告ボックス
============
[:: NOTE]
=========
タイトルを省略すると, 属性名がそのままタイトルになります.
=========
==============
ボックスの中では, 通常通りマークアップが使用可能です.
ボックスを入れ子にすることが可能です.
ボックスのタイトルの横に属性を追加することが可能です.
省略時は, NOTEが適用されます.
このほかにも, CAUTION, WARNINGがあります.
注意ボックス
警告ボックス
タイトルを省略すると, 属性名がそのままタイトルになります.
引用ブロック
虐殺の言語の動作原理についてジョンは次のように語った.
>>>
言語の違いによらない深層の文法だから,
そのことばを享受するきみたち自身にはそれが見えない
>>>
虐殺の言語の動作原理についてジョンは次のように語った.
言語の違いによらない深層の文法だから, そのことばを享受するきみたち自身にはそれが見えない
文献参照
このようにして参考にした部分にラベルを振り^[label1]ます.
* 東京都にサザエさん通りがある^[wiki1]のが知られているが, 私は知らなかった.
* 「諸君 私は戦争が好きだ」^[movie1]
文章最後で文献リストを列挙すると振られたラベルとリンクされます.
文献リストは, 参照された順番に並び替えられます.
参照されなかった文献は表示されません.
ラベルには,グループがあります.`^[group.label]`とすることで,グループを指定できます.
省略時は,`cite`というグループになります.
例えば,文章に注釈をつけたい場合は,このようにします^[注.annotation].
----------------------------------------------
# 注釈
[注.annotation]: 注釈とは,既述の文章や専門用語についての補足・説明・解説のこと^[wiki-annotation]
# 参考文献
[label1]: 文献の詳細
[movie1]: Hellsingアニメ 少佐
[wiki1]: [wikipedia-サザエさん](https://ja.wikipedia.org/wiki/%E3%82%B5%E3%82%B6%E3%82%A8%E3%81%95%E3%82%93)
[wiki-annotation]: [wikipedia-注釈](https://ja.wikipedia.org/wiki/%E6%B3%A8%E9%87%88)
このようにして参考にした部分にラベルを振り[1]ます.
文章最後で文献リストを列挙すると振られたラベルとリンクされます.
文献リストは, 参照された順番に並び替えられます.
参照されなかった文献は表示されません.
ラベルには,グループがあります.^[group.label]とすることで,グループを指定できます.省略時は,citeというグループになります.例えば,文章に注釈をつけたい場合は,このようにします[注 1].
注釈
参考文献
- ^ 文献の詳細
- ^ wikipedia-サザエさん
- ^ Hellsingアニメ 少佐
- ^ wikipedia-注釈
数式
インライン
有名なオイラーの公式は,$e^{i\theta}=\cos\theta+i\sin\theta$ です.
有名なオイラーの公式は,$e^{i\theta}=\cos\theta+i\sin\theta$ です.
別行立て
式\eqref{eq:Homogeneous-Transformation}は同次変換の式です. ローカル座標系からワールド座標系への変換です.
```math
\begin{align}
\left[ \begin{matrix} x_w \\ y_w \\ z_w \\ 1 \end{matrix} \right]
=
\left[ \begin{matrix} R_{xx} & R_{xy} & R_{xz} & T_x \\
R_{yx} & R_{yy} & R_{yz} & T_y \\
R_{zx} & R_{zy} & R_{zz} & T_z \\
0 & 0 & 0 & 1 \end{matrix} \right]
\left[ \begin{matrix} x \\ y \\ z \\ 1 \end{matrix} \right]
\label{eq:Homogeneous-Transformation}
\end{align}
```
式\eqref{eq:Homogeneous-Transformation}は同次変換の式です. ローカル座標系からワールド座標系への変換です.
数式は外部ライブラリMathJaxを用いることで実現しています. MathJaxは, html内にあるLateX表記された数式を通常の数式に変換するライブラリです. MathJaxに関する詳しい説明と導入方法は本家サイトMathJaxを参照してください.
コメント
ここまで何か本文が書かれて,
<!-- コメントしたい文章 -->
上のコメント文は表示されません.
<!--
複数行にまたがるような
コメントにも対応しています.
-->
記事本文<!-- に埋まっているコメント -->はコメントアウトされません.
ここまで何か本文が書かれて,
上のコメント文は表示されません.
記事本文<!— に埋まっているコメント —>はコメントアウトされません.
自動エスケープ
本文中, コード内に含まれる, <, >, &は自動的にエスケープされます.
ただし, 本文中においてhtmlタグとして機能する<br><b>bold</b>
などは, エスケープされません.
本文中, コード内に含まれる, <, >, &は自動的にエスケープされます.
ただし, 本文中においてhtmlタグとして機能する
bold などは, エスケープされません.
Htmlタグ
本文でhtmlタグを使用することは可能です.
<p>
このように, pタグで段落を生成することが可能になったりします.
</p>
<div>
<p>
入れ子になっている要素から<button>ボタン</button>を出したりできます.
</p>
<p>ただし, __いかなるこのフォーマットのマークアップ__が機能しないことに注意しましょう.</p>
</div>
|----------|------|
| 頑張れば | <ul>
<li>セル内にリスト</li>
<li>を入れることが可能です</li>
</ul> |
本文でhtmlタグを使用することは可能です.
このように, pタグで段落を生成することが可能になったりします.
入れ子になっている要素からを出したりできます.
ただし, __いかなるこのフォーマットのマークアップ__が機能しないことに注意しましょう.
| 頑張れば |
|
閉じタグが存在するものは必ずそれで閉じてください. htmlタグから出たことを認知できません…
リテラル
継続文字
行末にバックスラッシュ`\`を置くと, そのあとの改行が無視され,
行が継続しているとみなされます.
[長いURL](https://ja.wikipedia.org/wiki/%E8%BB%BD%E9%87%8F%E3%83%9E\
%E3%83%BC%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E8%A8%80%E8%AA%9E)
* このように長い文を含むリストアイテムも, \
バックスラッシュ`\`を置くことで複数行に分けて書くことができる.
行末にバックスラッシュ\を置くと, そのあとの改行が無視され, 行が継続しているとみなされます.
- このように長い文を含むリストアイテムも, バックスラッシュ
\を置くことで複数行に分けて書くことができる.
テキスト置換
| テキスト | 置き換え後 |
|---|---|
(C) | © |
(R) | ® |
(TM) | ™ |
-- | — |
... | … |
-> | → |
=> | ⇒ |
<- | ← |
<= | ⇐ |
' | ’ |
