如何在Matlab中发布时删除目录?
我没有看到在发布文档中执行此操作的选项。对于非常简短的出版物,目录似乎是多余的。
答案 0 :(得分:3)
我不知道如何禁用目录。这个解决方案避免了目录,同时保持了运行代码的单元格格式,这是以没有部分标题为代价的 - 而是用简单的粗体文本替换它们。
但是如果部分未命名,则不会生成... 所以一个解决方案是从
修改所有部分的开始%% Title in table of contents
到
%%
% *Title not in table of contents*
第一部分标题可以作为文档的标题保存,如果所有其他部分都以这种方式更改,则不会生成TOC。
答案 1 :(得分:2)
而不是从
修改所有部分的开始(参见RTL的回答)
%% Title in table of contents
到
%% % *Title not in table of contents*
您可能更喜欢
%%
% <html><h2>Title not in table of contents</h2></html>
为了比较两者,下面提供了对应于以下示例的输出:
%% Minimal working example
%% Title in table of content
%
% Bla bla 0
%%
% *Title not in table of contents 1*
%
% Bla bla 1
%%
% <html><h2>Title not in table of contents 2</h2></html>
%
% Bla bla 3
输出:
使用<html><h2>
时,可以看到标题的格式看起来更接近实际的Matlab参考。
答案 2 :(得分:1)
这可以通过使用自定义&#39;样式表&#39; (正如它在&quot;出版物&#39;的文档中所提及的那样)。注意:这些是&#39; xsl&#39; 转换和不&#39; css&#39;类型样式表。
xsl样式表文件定义了从内部解析的XML DOM表示到html格式的转换,此转换是生成TOC的原因。
我的默认xsl文件位于:
C:\Program Files\MATLAB\R2014a\toolbox\matlab\codetools\private\mxdom2simplehtml.xsl
您的位置可能相似。如果您不确定,可以通过在Matlab&#39;发布&#39;中设置断点来找到默认xsl的路径。函数并观察它从哪里加载其默认样式表。
将此文件复制到您的工作文件夹并进行编辑。生成TOC的部分如下所示:
<xsl:if test="count(cell/steptitle[not(@style = 'document')])">
<xsl:call-template name="contents">
<xsl:with-param name="body-cells" select="$body-cells"/>
</xsl:call-template>
</xsl:if>
删除此部分或使用XML注释将其注释掉。
然后使用&#39;样式表发布&#39;选项以引用修改后的xsl文件。