LINUX.ORG.RU

TexWorks scripts примеры

 


0

1

TexStudio с трудом стал ворочаться на моем ноуте, beamerом пользоваться вообще невозможно. Стал искаль полегче редактор и нашел TexWorks. Я видел его давно и он был какой то недоделанный. Сейчас вполне хорош и летает быстро. Вопрос о горячих клавишах. Я привык к комбинациям как в пакете Mathematica, например Ctrl+/ это дробь \frac{}{}. В TexStudio настраивается легко, а в TexWorks это делается через скрипты, которые пишутся в QTScript, Lua или Python (судя по руководству). Я не программист и программить не умею. Нашел описание на 300 страниц, думаю что не одолею. Готовых примеров чтоб переделать для себя не нашел. Есть коллекция скриптов здесь https://github.com/TeXworks/texworks/issues/261 , но как то не нашел какой можно легко переделать. Может кто имеет опыт писания таких скриптов? Мне достаточно одного скрипта для примера, что выше. Под другие, я дкмаю, сам переделаю.

Ответ на: комментарий от bookman900

В том то и дело, что нет. Там можно настроить горячие клавишы для меню, но не для операторов теха.

rustamych ★★★
() автор топика
Ответ на: комментарий от bookman900

Нашел пример в самом Texworks. Есть скрипт для выделения текста в жирном шрифте по комбинации клавиш - Toggle Bold. Его легко переделать под себя. Например то, что я хотел выглядит так

// TeXworksScript
// Title: frac
// Shortcut: Ctrl+/
// Description: Encloses the current selection in \frac{}{}
// Author: Jonathan Kew
// Version: 0.3
// Date: 2010-01-09
// Script-Type: standalone
// Context: TeXDocument

function addOrRemove(prefix, suffix) {
  var txt = TW.target.selection;
  var len = txt.length;
  var wrapped = prefix + txt + suffix;
  var pos = TW.target.selectionStart;
  if (pos >= prefix.length) {
    TW.target.selectRange(pos - prefix.length, wrapped.length);
    if (TW.target.selection == wrapped) {
      TW.target.insertText(txt);
      TW.target.selectRange(pos - prefix.length, len);
      return;
    }
    TW.target.selectRange(pos, len);
  }
  TW.target.insertText(wrapped);
  TW.target.selectRange(pos + prefix.length, len);
  return;
};

addOrRemove("\\frac{", "}{}");

rustamych ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.