
Есть ли способ получить время компиляции TeX (texify, pdflatex и т. д.) некоторыми командами в макросе WinEdt? У меня система Win 7. Есть системная команда time.exe, возвращающая что-то вроде 13:09:43.67. Здесь 44.67 — это секунды и миллисекунды. Как поместить их в строку WinEdt? Мне нужно проанализировать время с точностью до миллисекунд, а не просто секунд.
решение1
В WinEdt есть два макроса для управления прошедшим временем: StartTimer
и GetTimer
.
Первый сбрасывает таймер, который будет использоваться вторым, который возвращает время, прошедшее с момента последнего вызова, StartTimer
в миллисекундах во внутреннем регистре.
Итак, если вы хотите узнать, сколько времени требуется WinEdt для компиляции файла, вы можете сделать следующее:
Создайте файл
Timer.edt
со следующим содержимым:EnterReg(0,"Which compiler do you want to use (e.g. PDFLaTeX)?","Choose the compiler"); PushTagsandRegisters; StartTimer; Exe('%b\Exec\TeX\%!0.edt'); GetTimer(0); Prompt("Elapsed Time (msec): %!0"); PopTagsandRegisters; End;
и сохраните его в каталоге
%b\Macros
, где%b
находится локальная папка AppData WinEdt (обычно она находитсяC:\Users\<user>\AppData\Roaming\WinEdt Team
и может быть извлечена в интерфейсе «Мастера настройки», меню «Параметры»)Показать «Интерфейс параметров» («Параметры» -> «Интерфейс параметров»)
Дважды щелкните пункт «Главное меню» (
MainMenu.ini
откроется локальная копия)Сразу после строк
MENU="TeX_Menu" CAPTION="Te&X" CONFIG_FILTER="Default;MiKTeX;TeX Live"
добавьте строки
ITEM="Timer" CAPTION="Timer" IMAGE="Time" MACRO="Exe('%b\Macros\Timer.edt');" REQ_FILTER=:"%!M=TeX"|"%!M=TeX:STY"|"%!M=TeX:AUX"
НажиматьShift+Ctrl+F9
Вот и все. Теперь у вас есть пункт меню «Таймер» в меню «TeX».
Например, если вы хотите узнать, сколько времени WinEdt тратит на pdlatex
ваш .tex
файл, нажмите на этот элемент, когда .tex
файл находится на переднем плане, и вам будет предложено
и напишите «PDFLaTeX».
После компиляции вам будет предложено что-то вроде