Если я напишу следующий код:

var   script = @"\delta  D_sin M_max M_min";
var range1 = objPara2.Range;
range1.OMaths.Add(range1);
OMathFunction myFunction = range1.OMaths[1].Functions.Add(
range1, WdOMathFunctionType.wdOMathFunctionBox);
OMathBox myBox = myFunction.Box;
myBox.E.Range.Text = script; 
myBox.E.BuildUp();

Это дает вывод в следующем формате.

□(δ  D_sin⁡M_max M_min)

В идеале sin, max, min должен быть нижним индексом. но поскольку они присутствуют в признанных математических функциях библиотеки слов, она рассматривает функции как есть. После явного удаления функций, открыв слово с помощью «Файл-Параметры-Проверка-Параметры автозамены-Математическая автоматическая коррекция-Распознанные функции». Только тогда вы получите результат, как и ожидалось. Но с кодом, нет возможности удалить функции. OMathAutoCorrect.Функции.Элемент имеет Добавить (), но не Удалить ()

Кроме того, \delta необходимо преобразовать в "\u03B4", тогда мы получим ожидаемый греческий символ.

Если вы удалите мин из Распознанных математических функций из "Параметры файла-Проверка правки-Параметры автозамены-Автоматическая коррекция математики-Распознанные функции". Выберите функцию «мин» и удалите ее. Теперь, когда вы запустите свой код, он будет вести себя как обычный текст.

Я хочу знать, можем ли мы удалить эти распознанные функции из кода (C #)

0