数字公式
This commit is contained in:
@@ -49,14 +49,14 @@ export default {
|
||||
|
||||
replaceWMathContent(inputHtml, callback) {
|
||||
// 使用正则表达式查找所有 <wmath> 标签,并提取 data-latex 的内容
|
||||
var str = inputHtml.replace(/<wmath data-latex="([^"]+)">[^<]*<\/wmath>/g, function(match, latexContent) {
|
||||
var str = inputHtml.replace(/<wmath data-latex="([^"]+)">[^<]*<\/wmath>/g, function (match, latexContent) {
|
||||
// 返回 <wmath> 标签,内容替换为 data-latex 的值
|
||||
return `<wmath data-latex="${latexContent}">${latexContent}</wmath>`;
|
||||
});
|
||||
|
||||
|
||||
// 调用回调函数并传递处理后的结果
|
||||
callback(str);
|
||||
|
||||
|
||||
// 输出结果到控制台
|
||||
console.log('Processed HTML:', str);
|
||||
}
|
||||
@@ -65,37 +65,37 @@ export default {
|
||||
,
|
||||
// **解析 MathJax 公式,获取 LaTeX**
|
||||
async extractMathJaxLatex(cell, callback) {
|
||||
console.log('cell at line 67:', cell)
|
||||
console.log('cell at line 67:', cell)
|
||||
return new Promise((resolve, reject) => {
|
||||
// Step 1: First, process the math content and extract LaTeX from <wmath> tags
|
||||
let updatedContent = cell.innerHTML; // Start with the cell's inner HTML
|
||||
console.log('cell content at the start:', updatedContent);
|
||||
|
||||
|
||||
// Find all <wmath> elements
|
||||
const wmathElements = cell.querySelectorAll('wmath');
|
||||
wmathElements.forEach((element) => {
|
||||
// Get the LaTeX content from the data-latex attribute
|
||||
const latexContent = element.getAttribute('data-latex');
|
||||
console.log('LaTeX content from data-latex:', latexContent);
|
||||
|
||||
|
||||
// Replace the <wmath> tag with its LaTeX content wrapped in $$...$$
|
||||
updatedContent = updatedContent.replace(element.outerHTML, `<wmath data-latex="${latexContent}">${latexContent}</wmath>`);
|
||||
});
|
||||
|
||||
|
||||
console.log('updatedContent after processing wmath tags:', updatedContent);
|
||||
|
||||
|
||||
// Step 2: Now extract content without the outer <span> tags
|
||||
updatedContent = this.extractContentWithoutOuterSpan(updatedContent);
|
||||
console.log('updatedContent after extractContentWithoutOuterSpan:', updatedContent);
|
||||
|
||||
|
||||
// Step 3: Call the callback function with the final updated content
|
||||
// callback(updatedContent);
|
||||
|
||||
|
||||
// Resolve the promise with the final content
|
||||
resolve(updatedContent);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
,
|
||||
renderLatex(latexString) {
|
||||
@@ -112,7 +112,7 @@ export default {
|
||||
extractContentWithoutOuterSpan(cell) {
|
||||
console.log('cell at line 90:', cell)
|
||||
var str = ''
|
||||
if(!cell){
|
||||
if (!cell) {
|
||||
return ''
|
||||
}
|
||||
// 获取单元格的 HTML 内容
|
||||
@@ -753,7 +753,7 @@ export default {
|
||||
// 2️⃣ 将 <p> 内容转换为数组,并处理内容
|
||||
let parsedData = Array.from(paragraphs).map(p => {
|
||||
let text = p.innerHTML.trim(); // 获取内容,去除两端空格
|
||||
text= this.transformHtmlString(text)
|
||||
text = this.transformHtmlString(text)
|
||||
// 3️⃣ **正确移除 <o:p>(Word 复制的无效标签)**
|
||||
text = text.replace(/<\/?o:p[^>]*>/g, "");
|
||||
|
||||
@@ -1948,18 +1948,39 @@ export default {
|
||||
}
|
||||
}
|
||||
});
|
||||
let latexEditorBookmark = null; // 用于记录插入点
|
||||
let activeEditorId = null; // 当前激活的编辑器 ID
|
||||
|
||||
// 在编辑器工具栏中添加 "LateX" 按钮
|
||||
ed.ui.registry.addButton('LateX', {
|
||||
text: 'LateX', // 按钮文本
|
||||
// className: 'custom-button-blue', // 添加自定义类
|
||||
// shortcut: "Ctrl+J",
|
||||
onAction: function () {
|
||||
window.open('/LateX?id=4477', '_blank', 'width=600,height=400');
|
||||
// 1. 获取当前光标位置
|
||||
const latexEditorBookmark = ed.selection.getBookmark(2); // 获取光标位置
|
||||
const editorId = ed.id; // 保存当前编辑器 ID
|
||||
console.log('activeEditorId:', editorId);
|
||||
|
||||
// 在新页面中插入 MathLive 编辑器
|
||||
// formulaWindow.document.write(``);
|
||||
}
|
||||
// 2. 生成一个随机的 ID,用于 wmath 标签
|
||||
const uid = 'wmath-' + Math.random().toString(36).substr(2, 9);
|
||||
|
||||
// 3. 创建一个 <wmath> 标签并插入到光标处
|
||||
const wmathHtml = `<wmath contenteditable="false" data-id="${uid}" data-latex=""><Info >Insert formula here</Info></wmath>`;
|
||||
ed.insertContent(wmathHtml); // 在光标位置插入 wmath 标签
|
||||
|
||||
// 4. 打开公式编辑器窗口,并传递光标位置、编辑器 ID 和 wmathId
|
||||
const url = `/LateX?editorId=${editorId}&wmathId=${uid}`;
|
||||
// vueInstance.openLatexEditor({
|
||||
// editorId:editorId,
|
||||
// wmathId:uid,
|
||||
// });
|
||||
window.open(url, '_blank', 'width=600,height=460,scrollbars=no,resizable=no');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ed.ui.registry.addButton('myuppercase', {
|
||||
text: 'A', // 按钮文本
|
||||
|
||||
|
||||
Reference in New Issue
Block a user