ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

マークアップのパブリッシュ

マークアップの概要

このセクションでは、MATLAB® ファイルをマークアップして、コードのパブリッシュ時にコードを見栄えよく表示する方法を説明します。この機能により、シングルソースの MATLAB コードをコードの目的を説明するドキュメンテーションにすることができます。

マークアップは、3 種類の方法で挿入します。

  • [パブリッシュ] タブの書式設定ボタンとドロップダウン メニューを使用してファイルを書式設定します。この方法では、テキスト マークアップを自動的に挿入します。

  • 右クリック メニューの [テキスト マークアップの挿入] リストからマークアップを選択します。

  • マークアップをコメントに直接入力します。

次の表は、テキスト マークアップのオプションをまとめたものです。MATLAB エディターを使用しない場合や、マークアップする際に [パブリッシュ] タブを使わない場合に、この表を参考にしてください。

    メモ:   マークアップを使用するときは、次の点に注意してください。

    • コメント記号 (%) の後に続く空白が、その後に表示されるテキストの形式を決定することがよくあります。

    • 例で示されているように、新しいマークアップを開始するときは直前に空白のコメント行が必要な場合がよくあります。

    • マークアップは、セクション区切りの直後のコメント内でのみ機能します。

出力の結果該当するファイル マークアップの例
セクションとセクション タイトル
%% SECTION TITLE
% DESCRIPTIVE TEXT
%%% SECTION TITLE WITHOUT SECTION BREAK
% DESCRIPTIVE TEXT
テキストの書式設定
% _ITALIC TEXT_
% *BOLD TEXT*
% |MONOSPACED TEXT|
% Trademarks:
% TEXT(TM)
% TEXT(R)
箇条書きリストと番号付きリスト
%% Bulleted List
%
% * BULLETED ITEM 1
% * BULLETED ITEM 2
%
%% Numbered List
%
% # NUMBERED ITEM 1
% # NUMBERED ITEM 2
%
テキストおよびコードのブロック
%% 
% 
%  PREFORMATTED
%  TEXT
% 
%% MATLAB(R) Code
% 
%   for i = 1:10
%       disp x
%   end
% 
外部グラフィックス
% 
% <<FILENAME.PNG>>
%
イメージのスナップショットsnapnow;
LaTeX 式
%% Inline Expression
% $x^2+e^{\pi i}$
%% Block Equation
% $$e^{\pi i} + 1 = 0$$
ハイパーリンク
% <http://www.mathworks.com MathWorks> 
% <matlab:FUNCTION DISPLAYED_TEXT>
HTML マークアップ
%
% <html>
% <table border=1><tr>
% <td>one</td>
% <td>two</td></tr></table>
% </html>
% 
LaTeX マークアップ
%% LaTeX Markup Example
% <latex>
% \begin{tabular}{|r|r|}
% \hline $n$&$n!$\\ 
% \hline 1&1\\ 2&2\\ 3&6\\ 
% \hline
% \end{tabular}
% </latex>
%

セクションとセクション タイトル

コード セクションを使用すると、コードの整理、コメントの追加、コードの部分的実行ができます。コード セクションは 2 つのパーセント記号 (%%) で開始し、セクション タイトル (オプション) がその後に続きます。セクション タイトルは、大きい太字フォントで最上位レベルの見出し (HTML では h1) として表示されます。

    メモ:   タイトルの直後の行にコメントを追加できます。ただし、全体的なドキュメント タイトルを表示する場合は、次のセクションの開始位置 (%% で始まる行) の前に MATLAB コードを追加することはできません。

たとえば、次のコードを使用すると洗練されたパブリッシュ結果を得ることができます。

%% Vector Operations
% You can perform a number of binary operations on vectors.
%%
A = 1:3;
B = 4:6;
%% Dot Product
% A dot product of two vectors yields a scalar.  
% MATLAB has a simple command for dot products.
s = dot(A,B);
%% Cross Product
% A cross product of two vectors yields a third
% vector perpendicular to both original vectors.
% Again, MATLAB has a simple command for cross products.
v = cross(A,B);

コードをエディターで保存して [パブリッシュ] タブで [パブリッシュ] ボタンをクリックすると、MATLAB は、次の図のような出力を生成します。MATLAB は、MATLAB ファイルのセクション タイトルからコンテンツ メニューを自動的に挿入することがわかります。

テキストの書式設定

MATLAB のコメントで選択した文字列をマークアップすると、ファイルのパブリッシュ時に、それらの文字列がイタリック、太字、固定幅のテキストで表示されます。テキストをイタリック、太字、固定幅で表示するには、テキストをそれぞれ _*| で囲みます。

たとえば、パブリッシュ時に各テキストを書式化する構文を次の行に示します。

%% Calculate and Plot Sine Wave
% _Define_ the *range* for |x|

商標記号

MATLAB ファイルのコメントが商標を含む場合、出力に商標記号 (™) や登録商標記号 (®) を作成するテキストを含めることができます。

たとえば、ファイルに次のような行を入力したとします。

%% Basic Matrix Operations in MATLAB(R)
% This is a demonstration of some aspects of MATLAB(R)
% software and the Neural Network Toolbox(TM) software.

ファイルを HTML にパブリッシュすると、その HTML は MATLAB Web ブラウザーに表示されます。

箇条書きリストと番号付きリスト

MATLAB では、コメントで箇条書きおよび番号付きリストを使用できます。次の構文を使って箇条書きおよび番号付きリストを生成できます。

%% Two Lists
%
% * ITEM1 
% * ITEM2
%
% # ITEM1
% # ITEM2
%

この例のコードをパブリッシュすると、次の出力が生成されます。

テキストおよびコードのブロック

書式設定済みテキスト

書式設定済みテキストは、固定幅フォントで表示され、空白を保持しますが、長い行を改行しません。コメント記号と書式設定済みテキストの最初の行の間には、空白が 2 つ表示されなければなりません。

次のコードをパブリッシュすると、書式設定済みの段落が生成されます。

%%
% Many people find monospaced texts easier to read:
%
%  A dot product of two vectors yields a scalar.
%  MATLAB has a simple command for dot products.

構文を強調表示したサンプル コード

パブリッシュされたドキュメント内では、実行可能コードの構文は強調表示されています。"サンプル コード" も強調表示できます。サンプル コードはコメント内に表示されるコードです。

サンプル コードを示すには、コメント記号とコードの最初の行の開始部分との間に空白を 3 つ入れなければなりません。たとえば、[パブリッシュ] タブの [コード] ボタンをクリックすると、次のコードがエディターに表示されます。

%%
% Teach your computer to count to ten.
%
%   for i = 1:10
%       disp(x)
%   end
 

このコードを HTML にパブリッシュすると、出力が MATLAB Web ブラウザーに生成されます。

外部グラフィックス

テキスト マークアップを挿入して、MATLAB コードが生成しないイメージをパブリッシュできます。MATLAB には、既定で、コード生成されたグラフィックスがあります。

FILENAME.PNG という一般的なイメージをパブリッシュされた出力に挿入できます。

%%
% 
% <<FILENAME.PNG>>
% 

MATLAB では、FILENAME.PNG は出力場所から外部イメージへの相対パスまたは完全修飾 URL である必要があります。イメージを MATLAB が出力をパブリッシュするフォルダーに保存すると便利です。たとえば、MATLAB は HTML ドキュメントをサブフォルダー html へパブリッシュします。イメージ ファイルを同じサブフォルダーに保存します。出力フォルダーを変更するには、パブリッシュ構成設定を変更します。

surf(peaks) を使用した外部グラフィックスの例

この例では、surfpeaks.jpg を MATLAB ファイルに挿入してパブリッシュする方法を説明します。

surfpeaks.jpg を作成するには、次のコードをコマンド ウィンドウで実行します。

saveas(surf(peaks),'surfpeaks.jpg');

surfpeaks.jpg を含んだ HTML ファイルを MATLAB ファイルから生成するには、次の手順に従います。

  1. 現在のフォルダーにサブフォルダー html を作成します。

  2. このコードをコマンド ウィンドウで実行して、surfpeaks.jpg を作成します。

    saveas(surf(peaks),'html/surfpeaks.jpg');
  3. この MATLAB コードを HTML にパブリッシュします。

    %% Image Example
    % This is a graphic:
    %
    % <<surfpeaks.jpg>>
    %

出力ファイル形式の有効なイメージ タイプ

パブリッシュするときに含めることができるイメージのタイプは、以下の表に示すように、そのドキュメントの出力タイプによって異なります。互換性を最大にするため、MathWorks® では各出力タイプに既定のイメージ形式を使用することを推奨します。

出力ファイル形式既定のイメージ形式含められるイメージのタイプ
docpng

インストールした Microsoft® Office のバージョンがサポートする任意の形式

htmlpng

すべての形式が正常にパブリッシュされます。指定した出力形式が出力ファイルを表示および処理するツールで表示できることを確認してください。

latexpng または epsc2

すべての形式が正常にパブリッシュされます。指定した出力形式が出力ファイルを表示および処理するツールで表示できることを確認してください。

pdfbmp

bmpjpg

pptpng

インストールした Microsoft Office のバージョンがサポートする任意の形式

xmlpng

すべての形式が正常にパブリッシュされます。指定した出力形式が出力ファイルを表示および処理するツールで表示できることを確認してください。

イメージのスナップショット

MATLAB 出力のスナップショットをキャプチャするコードを挿入できます。これは、for ループで各反復後にキャプチャする図を変更する場合などに便利です。

たとえば、次のコードは for ループを 3 回実行し、各反復後に出力を生成します。snapnow コマンドは、コードで生成された 3 つのイメージをすべてキャプチャします。

%% Scale magic Data and Display as Image

for i=1:3
    imagesc(magic(i))
    snapnow;
end

ファイルを HTML に変換すると、次の図のようになります。既定では、HTML のイメージは図に表示されているイメージよりも大きくなります。MATLAB コードによって生成されたイメージをサイズ変更するには、「パブリッシュの出力設定」で説明されているように、[パブリッシュ設定] ペインの [最大イメージ幅][最大イメージ高さ] フィールドを使用します。

LaTeX 式

インライン LaTeX 式

MATLAB では、パブリッシュする任意のコードにインライン LaTeX 式を含めることができます。インライン式を含めるには、LaTeX マークアップをドル記号 ($) で囲みます。

    メモ:   LaTeX 式は、Microsoft PowerPoint® 以外のすべてのパブリッシュ出力形式でサポートされます。

このコードには、LaTeX 式が含まれています。

%% LaTeX Inline Expression Example
%
% This is an equation: $x^2+e^{\pi i}$. It is 
% inline with the text.

サンプル テキスト マークアップを HTML にパブリッシュする場合、出力は次のようになります。

LaTeX 式表示

MATLAB を使用すると、メインのコメント テキストからオフセットしたブロックに LaTeX 記号を挿入できます。式の両側にある 2 つのドル記号 ($$) は、ブロックの LaTeX 式を表します。

このコードはサンプル テキスト マークアップです。

%% LaTeX Equation Example
%
% This is an equation:
%
% $$e^{\pi i} + 1 = 0$$
%
% It is not in line with the text.

HTML にパブリッシュする場合、式は次のようになります。

ハイパーリンク

スタティック ハイパーリンク

MATLAB のコメント内にスタティック ハイパーリンクを挿入して、ファイルを HTML、XML または Microsoft Word にパブリッシュすることができます。Web 上の位置へのスタティック ハイパーリンクを指定する場合は、コード内に完全な URL を含めなければなりません。これは、Web 上の位置を読み手に示す場合に役に立ちます。URL は、パブリッシュしたテキストで表示または非表示にできます。読み手が出力をオンラインで見ていると仮定すると、テキストから URL を取り除き、ハイパーリンクを含めることを検討してください。

URL と置換テキストを山かっこで囲みます。

%%
% For more information, see our Web site:
% <http://www.mathworks.com MathWorks>

コードを HTML にパブリッシュすると、次の出力が生成されます。

URL の後のテキスト MathWorks を取り除くと、出力は次のように変わります。

    メモ:   コードでハイパーリンク テキストを MATLAB コマンド ウィンドウに生成する場合、出力にはハイパーリンクではなく HTML コードが表示されます。

ダイナミック ハイパーリンク

そのリンクをクリックしたときに MATLAB が出力するダイナミック ハイパーリンクを挿入することができます。ダイナミック ハイパーリンクを使用すると、読み手に MATLAB コードやドキュメンテーションを示したり、読み手がコードを実行できるようになります。このリンクは matlab: 構文を使用して実装します。matlab: 宣言に従うコードに空白が含まれている場合は、%20 に置き換えます。

    メモ:   ダイナミック リンクは、HTML を MATLAB Web ブラウザーで表示している場合にのみ動作します。

ダイナミック リンクには、いろいろな使用方法があります。

実行コードへのダイナミック リンク-  ダイナミック ハイパーリンクを指定して、ユーザーがハイパーリンクをクリックしたときにコードを実行できます。たとえば、以下の matlab: 構文では出力にハイパーリンクを作成し、クリックするとリサイクルが有効または無効になります。

%% Recycling Preference
% Click the preference you want:
%
% <matlab:recycle('off') Disable recycling>
%
% <matlab:recycle('on') Enable recycling>

ファイルを HTML にパブリッシュした結果は次のようになります。

ハイパーリンクの 1 つをクリックすると、MATLAB はそれに従って recycle コマンドを設定します。ハイパーリンクをクリックした後、コマンド ウィンドウで recycle を実行して、目的の設定になっていることを確認します。

ファイルへのダイナミック リンク-  読み手のシステムの matlabroot からのファイルの位置が既知な場合は、ファイルへのリンクを指定できます。各読み手が MATLAB をインストールした場所を知る必要はありません。たとえば、publish の関数コードへのリンクは次のようになります。

%%
% See the 
% <matlab:edit(fullfile(matlabroot,'toolbox','matlab','codetools','publish.m')) code> 
% for the publish function.

次に、ファイルを HTML にパブリッシュします。

code リンクをクリックすると、MATLAB エディターが開き、関数 publish のコードが表示されます。読み手のシステムで MATLAB はコマンドを実行します (このコマンドはコマンド ウィンドウに表示されません)。

MATLAB 関数リファレンス ページへのダイナミック リンク-  matlab: 構文を使用して、MATLAB 関数リファレンス ページへのリンクを指定できます。たとえば、読み手が MATLAB をインストールして実行しているとします。publish リファレンス ページへのリンクを指定します。

%%
% See the help for the <matlab:doc('publish') publish> function.

ファイルを HTML にパブリッシュします。

publish ハイパーリンクをクリックすると、MATLAB ヘルプ ブラウザーが開き、関数 publish のリファレンス ページが表示されます。読み手のシステムで MATLAB はコマンドを実行します (このコマンドはコマンド ウィンドウに表示されません)。

HTML マークアップ

HTML マークアップを MATLAB ファイルに挿入できます。HTML マークアップは [パブリッシュ] タブのボタンでは生成されないため、手動入力しなければなりません。

    メモ:   HTML コード用のテキストマーク アップを挿入すると、指定された出力ファイル形式が HTML の場合にのみ HTML コードが変換されます。

次のコードは HTML のタグ付けがあります。

%% HTML Markup Example
% This is a table:
%
% <html>
% <table border=1><tr><td>one</td><td>two</td></tr>
% <tr><td>three</td><td>four</td></tr></table>
% </html>
%

コードを HTML にパブリッシュする場合、MATLAB は 1 行 2 列の表を作成します。表には、値 onetwothreefour が含まれています。

セクションで、<html> で始まり </html> で終わるコマンド ウィンドウ出力を生成する場合、MATLAB はパブリッシュする出力にソース HTML を含めます。たとえば、次のコードをパブリッシュすると、MATLAB は disp コマンドを表示して HTML コードから表を作成します。

disp('<html><table><tr><td>1</td><td>2</td></tr></table></html>')

LaTeX マークアップ

LaTeX マークアップを MATLAB ファイルに挿入できます。LaTeX マークアップは [パブリッシュ] タブのボタンでは生成されないため、手動入力しなければなりません。

    メモ:   LaTeX コード用のテキスト マークアップを挿入すると、指定された出力ファイル形式が LaTeX の場合にのみ LaTeX コードが変換されます。

以下のコードは、LaTeX マークアップの例です。

%% LaTeX Markup Example
% This is a table:
%
% <latex>
% \begin{tabular}{|c|c|} \hline
% $n$ & $n!$ \\ \hline
% 1 & 1 \\
% 2 & 2 \\
% 3 & 6 \\ \hline
% \end{tabular}
% </latex>

ファイルを LaTeX にパブリッシュする場合、エディターは LaTeX マークアップを含んだ新しい .tex ファイルを開きます。

% This LaTeX was auto-generated from an M-file by MATLAB.
% To make changes, 
% update the M-file and republish this document.

\documentclass{article}
\usepackage{graphicx}
\usepackage{color}

\sloppy
\definecolor{lightgray}{gray}{0.5}
\setlength{\parindent}{0pt}

\begin{document}

    
    

\section*{LaTeX Markup Example}

\begin{par}
This is a table:
\end{par} \vspace{1em}
\begin{par}

\begin{tabular}{|c|c|} \hline
$n$ & $n!$ \\ \hline
1 & 1 \\
2 & 2 \\
3 & 6 \\ \hline
\end{tabular}

\end{par} \vspace{1em}



\end{document}

MATLAB には、このファイルを LaTeX プログラムでコンパイルするときに必要な追加マークアップが含まれています。

詳細

この情報は役に立ちましたか?