メインコンテンツへスキップ
見出し画像

noteに数式でテーブル(表)を表示する

    八寿

    2021/12/11現在、noteではテーブル(表)の表示には対応していません。
    noteでは、Githubのgist を埋め込むことが出来るため、gist側でテーブルを表示する方法を考えて、以前に下記の記事を書きました。

    新エディタのMarkdown

    noteでは、エディタを改良しており、新エディタを試すことができます。
    新エディタではMarkdownショートカットが追加されたので、テーブルが使用出来るのかと期待したのですが、機能は一部に限定したものでした。

    • ## 大見出し

    • ### 小見出し

    • __強調__

    • **強調**

    • > 引用

    • ```コード```

    • ~~取り消し線~~

    新エディタの数式表現

    新エディタでは数式表現の機能が追加されます。2021/12/12現在ではプレビュー版ですが、新エディタを試すことが出来ます。
    https://note.com/info/n/nfa4a65bd08ea
    noteの数式表示は、KaTeXで表現されています。他ブログの数式表示は MathJax が多いです。

    MathJaxは SVG に対して、KaTeX は HTML と CSS だけで構成されていて描画速度が速いとのことです。

    noteヘルプセンターの数式記法の使い方

    数式によるテーブル表示

    noteのテーブル機能はしばらく追加されそうもありません。
    そこで、数式にはテーブルを表現できる機能がもともと備わっているので、これを応用してテーブルを表示してみます。

    $$
    \begin{array}{c:ccccccc}
    n & 0 & 1 & 2 & 3 & 4 & 8 \\
    \hline
    F_n & 0 & 1 & 1 & 2 & 3 & 5
    \end{array}
    $$

    namp;0amp;1amp;2amp;3amp;4amp;8Fnamp;0amp;1amp;1amp;2amp;3amp;5\begin{array}{c:ccccccc} n & 0 & 1 & 2 & 3 & 4 & 8 \\ \hline F_n & 0 & 1 & 1 & 2 & 3 & 5 \end{array}

    $$
    \begin{array}{c:c}
    \colorbox{yellow}{Title Here} & 
    \text{Sub Title} \\ \hline \\
    \text{Data 1} & 
    \text{SubData For Data 1} \\ & 
    \text{SubData For Data 1} \\ & 
    \text{SubData For Data 1} \\ \\
    \text{Data 2} & 
    \text{SubData For Data 2} \\ & 
    \text{SubData For Data 2} \\ & 
    \text{SubData For Data 2} \\ \\
    \text{Data 3} & 
    \text{SubData For Data 3} \\ & 
    \text{SubData For Data 3} \\ & 
    \text{SubData For Data 3} \\
    \end {array}
    $$

    Title Hereamp;Sub TitleData 1amp;SubData For Data 1amp;SubData For Data 1amp;SubData For Data 1Data 2amp;SubData For Data 2amp;SubData For Data 2amp;SubData For Data 2Data 3amp;SubData For Data 3amp;SubData For Data 3amp;SubData For Data 3\begin{array}{c:c} \colorbox{yellow}{Title Here} & \text{Sub Title} \\ \hline \\ \text{Data 1} & \text{SubData For Data 1} \\ & \text{SubData For Data 1} \\ & \text{SubData For Data 1} \\ \\ \text{Data 2} & \text{SubData For Data 2} \\ & \text{SubData For Data 2} \\ & \text{SubData For Data 2} \\ \\ \text{Data 3} & \text{SubData For Data 3} \\ & \text{SubData For Data 3} \\ & \text{SubData For Data 3} \\ \end {array}

    Tables Generatorを使用する

    数式でテーブル用の数式を考えるのは面倒です。
    実はテーブルを生成してくれるサイトが既にあります。
    https://www.tablesgenerator.com/latex_tables

    日本語による表示も可能なのか試してみます。

    画像

    注意として、noteでは数式表示にはKatexを使用しているので、生成されたテーブルの数式を修正する必要があります。

    \begin{table}[]
    \begin{tabular}{lll}
    \hline
    \textbf{商品コード} & \textbf{商品名} & \textbf{単価} \\ \hline
    S0001          & りんご          & 100円        \\
    S0002          & バナナ          & 150円        \\
    S0003          & パイナップル       & 300円        \\ \hline
    \end{tabular}
    \end{table}

    上の数式を修正します。{table}や{tabular}の属性には対応していません。
    {table}の代わりに{array}にします。{tabular}{lll}の{lll}の部分を{array}の後にパイプ(|)の区切りに{l|l|l}します。

    記法の意味
    「l」は左寄せ、「c」が中央寄せ、「r」が右寄せで列数分書きます。
    縦線の実線はパイプ(|)の区切り 例 {c|c|c}
    縦線の点線はコロン(:)の区切り 例 {c:c:c}
    縦線不要  例 {c:c:c}
    横線は、\hline

    $$
    \begin{array}{l:l:l}
    \textbf{商品コード} & \textbf{商品名} & \textbf{単価} \\ \hline
    S0001 & りんご      & 100円 \\
    S0002 & バナナ      & 150円 \\
    S0003 & パイナップル & 300円 \\
    \end {array}
    $$

    商品コードamp;商品名amp;単価S0001amp;りんごamp;100円S0002amp;バナナamp;150円S0003amp;パイナップルamp;300円\begin{array}{l|l|l} \textbf{商品コード} & \textbf{商品名} & \textbf{単価} \\ \hline S0001 & りんご & 100円 \\ S0002 & バナナ & 150円 \\ S0003 & パイナップル & 300円 \\ \end {array}

    Visual Studio Codeでプレビュー確認

    テーブルのように少し複雑な場合、noteエディタ上で確認するのがしんどいと思います。Visual Studio Codeで拡張機能の「Markdown Preview Enhanced」がKatexをサポートしているので、これならプレビューを見ながら確認できます。

    注意点

    MarkDownのテーブルでは行の交互に背景色が変わりますが、数式のテーブルでは、そこまでサポートしていません。

    Macのブラウザーのスクロールバー表示について、Windowsのブラウザーでは最初からスクロールバーが表示されるのですが、Macでは使用する時にスクロールバーが表示される仕様のため、分かり難いです。
    Macのブラウザー側の問題と思いきや、OS側の問題でした。
    OSのシステム設定でスクロールバーを常に表示することができます。

    マウスで横スクロールさせるには、チルトホイール(ホイールを横に倒す操作)すれば横スクロールします。これを知ってればスクロールバーを常に表示されてなくてもいいのかも知れませんね。

    最後に

    これで、noteでもテーブルを使用することが出来ます。複雑なテーブルも作ろうと思えば作れると思いますが、今回はここまでにしておきます。

    日本人は罫線が大好き

    米国ではレポートが主な文書形式であり、罫線を細かく引いて、そこに数字や文字を印字するといった習慣がない。特に「上下方向の罫線は滅多に使用しない」。それに対し、日本はあちらこちらに罫線を引いて境界を作るのを好む。欧州は、日本と米国の中間といった感じで日本ほど細かくはない。

    最近の傾向では、出来るだけ線を引かない


    この記事が参加している募集

     
     
     

    八寿

     
     
    サイエンスライター。機械学習を学ぶ中で数学の重要性を知るもなかなか理解が進まず、先ずは歴史からと数学の歴史に興味を持つようになる。元Microsoft MVP 2010-2012 Visual Basic

    あなたへのおすすめ