Меня интересует возможность набирать LaTeX , чтобы получить форматированный математический вывод в моих проектах MacOS .Я пытался использовать знаменитую библиотеку iosMath CocoaPod, а также видел ее работу на их официальных примерах Repository на GitHub.Я использую Xcode 10, Swift 4.2 на MacOS Mojave (10.14).Используя руководство, данное в ответе на этот Вопрос , я смог успешно включить библиотеку и заставить ее визуализировать Математический текст , используя латекс в любых проектах iOS успешно.Но это дает большие конфликты и проблемы в macOS. После успешной установки CocoaPod в моем собственном проекте Я попытался следовать парадигме , приведенной в их официальном примере macOS , с несколькими пробами и ошибками, но все это привело к сбою.Я описываю все, что я пытался, следующим образом:
- Как мы видим, в примерах проектов использовались XIB вместо раскадровок, но при испытании того же кода и механизмов на iOS вРаскадровки работают просто отлично .
- В соответствии с инструкциями, приведенными в их примерах проектов, я пробовал использовать пользовательский вид как на iOS, так и на macOS (т.е. UIView и NSView соответственно) и прикрепил этот пользовательский видпользовательский класс MTMathUILabel в Identity Inspector в Раскадровка И затем, конечно, связал его с IBOutlet типа MTMathUILabel в моем файле кода,Он успешно работает в случае iOS, но не работает в macOS. Даже когда я использую MTMathUIView Пользовательский класс в Identity Inspector of Storyboard.
- В соответствии с их файлом примера macOS Я набрал аналогичный код в моем ViewController.Swift, как указано ниже:
</p>
<code>var mathViewCode: MTMathUILabel = MTMathUILabel()
@IBOutlet weak var mathViewIB: MTMathUILabel!
override func viewDidLoad() {
super.viewDidLoad()
mathViewIB.latex = "\\lim_{x\\to\\infty}\\left(1 + \\frac{k}{x}\\right)^x = e^k"
mathViewCode.latex = "\\int_{-\\infty}^{\\infty} \\! e^{-x^2} dx = \\sqrt{\\pi}"
self.view.addSubview(mathViewCode)
}
</code>
- Когда из Код выше Я выполняю только программно с именем MTMathUILabel Variable Code, затем просто пустое окно открывается без какого-либо вывода в нем.Но когда я пытаюсь использовать переменную IBOutlet для печати латекса в Custom NSView (чей Custom Class в Инспекторе атрибутов был установлен в MTMathUIView , а не MTMathUILabel, потому что тогдапроисходит сбой) приложение снова открывается с пустым окном , но на этот раз со следующим предупреждением:
Не удалось установить (contentViewController) пользователяопределенное проверенное свойство в (NSWindow): - [NSView setLatex:]: нераспознанный селектор, отправленный экземпляру 0x60000330d7c0
- Если в инспекторе удостоверений Storyboard для настраиваемого NSView я установил для настраиваемого класса значение MTMathUIView , тогда Интерфейсный Разработчик Не Сбой , но он также не работает, и если я установлю его на MTMathUILabel затем Интерфейсный Разработчик Сбои со следующей ошибкой:
IB Designables: Не удалось отобразить экземпляр MTMathUILabel: Агент бросилисключение.
- Однако в вышеприведенном сценарии (где для настраиваемого класса настраиваемого NSView Storyboard в инспекторе атрибутов установлено значение MTMathUILabel) приложение успешно компилируется, но после сбоя выдает следующую ошибку во время выполнения:
Поток 1: EXC_BAD_INSTRUCTION (code = EXC_I386_INVOP, subcode = 0x0)
Как видите, я пытался следовать подходам, приведенным в ихофициальный пример проекта macOS , но в моем случае ничего не работает, хотя их пример проекта успешно компилируется и хорошо запускается в моем Xcode.
Пожалуйста, помогите мне с этим Библиотека iosMath , потому что я действительно хочу использовать его из-за его Прекрасного вывода и замечательные функции или, пожалуйста, предложите какую-нибудь другую библиотеку математики набрать LaTeX в моих приложениях Mac, которые действительно работают на macOS с Swift . Огромное спасибо Заранее !!