用户可以通过菜单 "View/Tables(查看/表格)"查看 "Multiplets(多重)"表。Multiplets "表包括名称(默认情况下,Mnova 将按照字母顺序为 multiplets 命名,但用户可以在 "Multiplet Manager(多重管理器)"中更改顺序)、化学位移(ppm)、范围(ppm)、氢原子数、积分值、类别、耦合常数值(Hz)、多重类型(可在此更改)和积分计算方法等信息。

在 "设置报告 "下拉菜单中选择 "设置表",即可添加/删除列。
点击 "设置类型 "按钮,可更改表格中所有选定多分量的类型:

单击"过滤 "按钮,在下拉菜单中选择要在表格中显示的多胞胎类型。在下面的示例中,我们只显示杂质和人工制品多重粒子(但不显示化合物多重粒子):

双击多重数据表中的任何单元格都将显示 "多重数据管理器",用户可通过该管理器编辑相应的多重数据信息。
用户可以通过点击"报告表"选项(在 "报告多重 "下拉菜单中)将 "多重 "表粘贴到波谱上,也可以使用"删除 "图标从该表中删除多重。 删除 "图标红叉。
最后,用户可以通过点击"报告多重 "按钮获得多重报告列表。
右键单击多线程框并选择 "报告多线程 "或在 "多线程分析 "功能区选择 "报告多线程 "也可获得相同的结果。
如何选择多联式报告的日志模板?
只需在多线表上选择 "设置报告",即可选择多线表报告的格式。这将显示带有下拉菜单的 "多重报告 "对话框,允许用户选择所需的模板(JACS、Royal Society of Chemistry、Angewandte 或任何其他自定义报告)、使用扩展溶剂名称、将peantaplets 作为pent 或将赋值包含在报告中。

您还可以按升序对多重谱段进行排序,并选择化学位移值的小数位数。
在这里,您还可以将多重微粒报告为范围,甚至可以合并多重微粒报告(部分报告为范围, 其他报告为化学位移)。为此,请将多重子的类别(在多重子管理器对话框中)重命名为 "mx"(x 为任意字母),这样该特定多重子将作为化学位移而不是多重子范围进行报告。
您可以按照升序和所需的小数位数报告J耦合值。取消选中 "Reduce J List(减少 J 列表)"选项可显示所有退化耦合常数,如果您想在报告中包含这些耦合常数,请选中 "Add assigned coupling atoms(添加分配的耦合原子)"选项。请注意,如果赋值表中报告的匹配耦合常数的值低于数字分辨率的一半,则耦合伙伴信息 将不会添加到多重报告中。如果在赋值中发现一个以上的 J,则不会添加耦合原子。
您可以以纯文本或 HTML 格式报告多重序列。
用户可以通过在多重表格上选择 "复制多重 "将多重报告复制到剪贴板上。
然后只需使用 Ctrl+V 或 Cmd+V 即可将多重报告粘贴到另一个文档中。

按照菜单 "工具/报告/文档中的所有多谱点",可在文档的每个波谱页生成多谱点报告。

如何创建新的 "多谱段报告 "格式?
用户可以通过菜单 "脚本/编辑脚本 "更改或创建自己的多重谱报告模板。
下面是如何在 Mnova 图形用户界面中添加新的多重报告格式。
1.按照菜单 "工具/编辑脚本 "启动 "脚本编辑器"。

2. 编写自己的脚本或编辑 Mnova 脚本文件夹(Mnova\examples\scripts)下的示例 "customMultipletReporter.qs"。请不要忘记在脚本中加入以下句子,以便将报告程序添加到程序中:
Env.MultipletReportersArray.push(new MyMultipletReporter());
我们在脚本中创建了一个变量,用于保存已知报告程序的列表。要查看该列表,只需在编辑器中键入
print(Env.MultipletReportersArray)

请参阅下面的脚本编辑方法。

3. 将生成的脚本(例如 "My Multiplet Reporter")保存到 Mnova 可以找到的目录中,然后重启 Mnova。要添加新的脚本目录,请使用菜单 "文件/首选项/脚本/目录":

4. 脚本将自动添加到 Mnova GUI 中(例如,"Multiplet Table/Report Special/Setup" 菜单)。这样您就可以为分析选择 "Multiplet 报告 "格式。当然,您也可以根据需要添加不同的脚本。

请注意,当您选择 "多重报告 "选项时,在此对话框中选择的多重格式将始终适用;但您也可以为单个报告选择任何其他格式(无需更改默认格式),只需按照 "工具/报告/多重 "菜单,为该报告选择所需的格式即可。
让我们看看如何从示例 "customMultipletReporter.qs"(存储在 Mnova 的 "example/scripts "文件夹中)中创建新的多重报告脚本:
/******************************************************************************************************
版权所有 (C) 2009 Mestrelab Research S.L. 保留所有权利。
该文件是 MNova 脚本工具包的一部分。
MNova 软件的授权用户可自由使用本文件,但本文件按原样提供,不作任何形式的保证。
不作任何形式的保证,包括设计、适销性和适用于特定用途的保证。
特定用途的保证。
*****************************************************************************************************/
var MyMultipletReporterSettingsKey = new String("MyMultipletReporter/Custom Message");
/* 创建自定义多重报告器 */
函数 MyMultipletReporter()
{
MultipletReporter.call(this);
varsetts=new Settings(Application.mainWindow.scriptHandler.settings);
this.customMessage = setts.value( MyMultipletReporterSettingsKey, "My Multiplet Reporter" );
this.name = "My Multiplet Reporter";
this.onlyElementName=false;
// 定义字体大小和字体家族
this.font = "<font style=\"font-size: 10pt; font-family:Times New Roman\">";
this.nucleusTemplate="%1";
// 报告标题。%1 将替换为 nucleusString,%2 将替换为频率,%3 将替换为溶剂
this.header = this.customMessage+" %1 NMR (%2 MHz, %3) δ";
//this.header = "Custom %1 NMR (%2 MHz, %3) δ ";
// 多重模板。%1 - delta, %2 - category, %3 - nH
this.reportRange = true; // 设置为 true 可获得多分量范围而非 delta。
this.withoutJsTemplate = " %1 (%2, %3H)"; // 不带 J 的多重模板
this.withJsTemplate = " %1 (%2, %4, %3H)"; // 带 J 的多分段模板
this.rangeTemplate = "%1 – %2";
// J 的列表模板。%1 - J 的列表
this.jListTemplate = "<i>J</i> = %1";
this.jPrecision = 1; // J 的精度
this.deltaPrecision = 2; // delta 精确度
this.mSeparator = ", "; // 多重分隔符
this.jSeparator = ", "; // J 分隔符
this.start = "<html><head><title>Multiplet Report</title></head><body>" + this.font;
this.end = ".</font></body></html>";
}
MyMultipletReporter.prototype = new MultipletReporter();
MyMultipletReporter.prototype.toString = function() { return "MyMultipletReporter()"; }
//这一行将我的自定义报告器添加到报告器列表中,这意味着该报告器可被 reportMultipletsUser 或 automaticMultipletReport 等一般函数使用,并可用于从多重表生成报告
Env.MultipletReportersArray.push(new MyMultipletReporter());
//取消这一行可使该报告器成为默认报告器,保存的设置将被忽略,用户将无法从 MNova 中修改报告器
//Env.DefaultMultipletReporter = "My Multiplet Reporter";
// 此函数可用于生成多重报告
function customReportMultipletsUser(createItem)
{
var multipletTable = new MultipletTable(nmr.multipletTable()); // 获取多子表
var spectrum;
if(multipletTable.isValid())
spectrum = new NMRSpectrum(multipletTable.spectrum()); // 获取当前显示在多频谱表中的频谱
否则
spectrum = new NMRSpectrum(nmr.activeSpectrum());
if( spectrum.isValid() )
{
var reporter = MultipletReporter.getReporterByName("My Multiplet Reporter");
return reporter.report(spectrum, createItem);
}
否则
返回未定义;
}
// 取消这行内容,使用之前的函数来报告多重条目,而不是默认的函数
//Env.ReportMultipletsUser = customReportMultipletsUser;
//设置我的报告器的函数
function customReportMultipletsUserSetup()
{
var rep = MultipletReporter.getReporterByName("My Multiplet Reporter");
var diag = new Dialog();
diag.title = "自定义设置";
var lEdit = new LineEdit();
lEdit.text = rep.customMessage;
diag.add(lEdit);
if(diag.exec())
{
rep.customMessage = lEdit.text;
settings.setValue( MyMultipletReporterSettingsKey, rep.customMessage );
}
}
//取消这一行,使用前一个函数设置报告多路复用器
//Env.ReportMultipletsUserSetup = customReportMultipletsUserSetup;
首先,我们要将 "Multiplet Reporter "的名称和显示在 Multiplet 报告开头的信息(customMessage)分别改为 "My Report"(我的报告)和 "My Journal"(我的日志)(请参阅下面用黄色高亮显示的文本
/* 创建自定义多重报告器 */
函数 MyMultipletReporter()
{
MultipletReporter.call(this);
varsetts=new Settings(Application.mainWindow.scriptHandler.settings);
this.customMessage = setts.value( MyMultipletReporterSettingsKey, "My Journal" );
this.name = "我的报告";
this.onlyElementName=false;
this.onlyElementName=false;将 false 改为 true 后,我们将只获得元素名称而不包含原子质量(例如:H、C 而不是1H、13C)。
函数:this. font= "<font style=\"font-size: 10pt; font-family:Times New Roman\">";将定义多重报告的字体大小和字体族。
我们将把多重报告的字体更改为 14pt 和 Arial:
// 定义字体大小和字体族
this.font = "<font style=\"font-size: 14pt; font-family: Arial\">";
this.header = this.customMessage+ "%1 NMR (%2 MHz, %3) δ";这一行用于打印报告的标题,其中 %1 是原子核(H 或 C),%2 是波谱仪的频率(以 MHz 为单位),%3 是溶剂,后面跟一个 delta 符号(δ)。例如:"1HNMR (500 MHz,CDCl3) δ"。
让我们修改报告标题,将 "delta "符号改为斜体:
// 报告标题。%1 将替换为 nucleusString,%2 将替换为频率,%3 将替换为溶剂
this.header = this.customMessage+" %1 NMR (%2 MHz, %3) <i>δ</i>";
我们还可以修改报告多重信息的方式
// 多重模板。%1 - delta, %2 - category, %3 - nH
this.reportRange = true; // 设置为 true 可获得多倍数据范围而非 delta。
this.withoutJsTemplate = " %1 (%2, %3H)"; // 不带 J 的多重模板
this.withJsTemplate = " %1 (%2, %4, %3H)"; // 带 J 的多分段模板
this.rangeTemplate = "%1 – %2";
句子:this.reportRange = true 用于获取多态范围而非化学位移。
函数:this.withJsTemplate = " %1 (%2, %3H)" 和 this.withJsTemplate = " %1 (%2, %4, %3H)" 用于通过改变 %1、%2、%3H 或 %4 的位置来定制多 重子报告的外观(其中,%1 表示化学位移;%2 表示多重子类型(s、d、t 等);%3H 表示氢原子数;%4 表示耦合常数值)。正如您所看到的,第一行显示的是不含耦合常数的多重影(而最后一行显示的是含耦合常数的多重影)。
因此,如果您需要获得类似这样的结果(日文格式),请参阅下文:
1H NMR (300 MHz, Solvent)δppm 6.43-6.22 (1 H, m), 3.17 (1 H, q, J = 7.15 Hz) 等...
您应该修改这两行,如下所示:
this.withoutJsTemplate = %1 (%3H, %2)";
this.withJsTemplate = " %1 (%3H, %2, %4 Hz)";
如果您希望获得类似的结果
1H NMR(300 MHz,溶剂) δ ppm 1.23(d,J= 1.2 Hz,3 H),等等...
只需将原始行替换为
this.withoutJsTemplate = %1 (%2, %3H)";
this.withJsTemplate = " %1 (%2, %4 Hz, %3H)";
您还可以自定义耦合常数格式:
// J 的列表模板。%1 - J 的列表
this.jListTemplate = "<i>J</i> = %1";
this.jPrecision = 1; // J 的精度
this.deltaPrecision = 2; // delta 精确度
this.mSeparator = ", "; // 多重分隔符
this.jSeparator = ", "; // J 分隔符
this.start = "<html><head><title>Multiplet Report</title></head><body>" + this.font;
this.end = ".</font></body></html>";
}
要获得普通而非"斜体 "的耦合常数符号,只需修改脚本,删除斜体格式(<i>J</i>)。如果希望使用"粗体",只需键入
this.jListTemplate = "<b>J</b> = %1";
添加一个上标,例如3J:
this.jListTemplate = "<sup>3</sup><i>J</i> = %1";
以下段落将用于自定义耦合常数列表的外观:
第二行用于显示耦合常数值的精确度,下一行用于显示化学位移的精确度,其余两行将打印多 晶点和耦合常数值之间的分隔符(逗号、冒号、点等)。
如果需要按降序获取耦合常数,请将下面一行中的 "true"替换为 "false":
var jList = new JList(multiplet.jList());
jList.sort(true);
要获得升序排列的 multiplet 范围,只需将下面脚本中的 rangeMin 替换为 rangeMax 即可:
shiftStr = this.rangeTemplate.argDec(multiplet.rangeMax, 0, 'f', this.deltaPrecision).argDec(multiplet.rangeMin, 0, 'f', this.deltaPrecision);
只需去掉两个斜线符号(在这句话之前),就可以选择一种多重报表格式作为默认格式,而不允许用户修改:Env.DefaultMultipletReporter = "My Multiplet Reporter";)。请注意,如果这样做,按照菜单 "Multiplets Table/Report Special/Setup "操作时将不会出现任何对话框。
//取消这一行可使该报告器成为默认报告器,已保存的设置将被忽略,用户将无法从 MNova 中修改报告器。
Env.DefaultMultipletReporter = "My Multiplet Reporter";
事实上,变量"Env " 包含多个环境变量,可用于自定义 Mnova 行为。在脚本编辑器中输入print(Env),就能得到可用变量的列表。在下面的示例中,我们只定义了 "Multiplet 报告 "的 "设置"。其余变量均为 "未定义"。

您可以通过取消脚本中这一行的注释来定义"DefaultMultipletReport "变量:
Env.DefaultMultipletReporter = "My Multiplet Reporter";
这样,用户就无法修改多重报告了。
通过取消脚本中的这一行,可以定义 "ReportMultipletUser "变量:
Env.ReportMultipletsUser = customReportMultipletsUser;
定义此变量后,"多联报告 "和 "复制特例 "将有一种格式,而 "多联表 "顶部的报告将有另一种不同的格式(默认格式)。
ReportMultipletUserSetup "是在菜单 "Multiplet Table/Report Special/Setup "中为 "Multiplet 报告 "定义的变量。
MultipletLabelFunctions "是不同的选项(显示在"Multiplet Properties "对话框中),允许用户自定义显示在多栏中的信息。
|