ReloadModifiedDocuments = true
InverseSearchCmdLine = lyxeditor.cmd "%f" %l
EnableTeXEnhancements = true
UseTabs = true
Так вот. В файле SumatraPDF-settings.txt проверяем наличие этих переменных (слов, стоящих слева от знака равенства), если они там есть, мы проверяем совпадения значения (слов, стоящих справа от знака равенства) найденных в этом файле переменных из приведенного списка со значениями таких же переменных из этого списка. Если бы в приведенном списке значение какой-либо переменной отличалось от значения соответствующей переменной, в файле, нужно было бы переделать значение этой переменной на такое же, как из приведенного выше списка. Если бы какой-либо переменной из списка вместе со своим значением не было в файле, нам бы просто нужно было скопировать переменную вместе с ее значением в файл. Ну, лично я ничего не менял в этом файле: все перечисленные в списке переменные уже существовали в файле и всем этим переменным в файле присвоились соответствующие значения, приведенные в списке, непосредственно при установке SumatraPDF. Закрываем, сохраняем изменения. Все, SumatraPDF после этого станет настроена. Переходим к настройке LyX. Итак, открываем программу LyX, если до сих пор она не была открыта или по каким-то причинам была закрыта. Идем в Инструменты>Настройки...>Пути. В текстовое поле Канал сервера LyX вписываем
Далее идем в Инструменты>Настройки...>Обработка файлов>Конверторы. Там в области под словосочетанием Определения конверторов выбираем левой кнопкой мышки LaTeX (pdflatex) -> PDF (pdflatex). Далее удаляем из текстового поля Конвертер его содержимое и вставляем (ну, или вписываем руками) следующее:
А из текстового поля Дополнительно удаляем его содержимое. Нажимаем кнопку
, нажимаем
В настоящий момент там так: И, наконец, в папке
SETLOCAL enabledelayedexpansion
set file=%1
set row=%2
REM remove quotes from variables
set file=!file:"=!
set row=!row:"=!
%comspec% /q /c (@echo LYXCMD:revdvi:server-goto-file-row:%file% %row%)> \\.\pipe\lyxpipe.in&&type \\.\pipe\lyxpipe.out
endlocal
код этого батника я взял отсюда, когда перешел по ссылке на странице на английском языке, содержание которой я здесь пересказываю (ссылка на эту страницу дана мной здесь, только выше). Честно говоря, про создание батника на странице на английском языке рассказано намного раньше, чем это сделано у меня, но какая разница? Кстати, код этого батника натолкнул меня на мысль, как вводить команды в командную строку, чтобы они с этой строки вводились в открытое окно программы LyX, что послужило почвой для написания вот этой статьи. А до этого я пробовал вставлять команды из командной строки в окно программы LyX, беря эти команды из мануала, например, пытался выполнить из командной строки такую команду:
, но у меня ничего не получалось. Ну, и вот, возвращаясь к поиску, связанному с LyX. Как этим пользоваться? А очень просто. Вот если мы сделали предпросмотр открытого файла .lyx, то при нажатии Навигация>Forward search на короткое время в соответствующем окне SumatraPDF выделяется фиолетовым (по крайней мере, у меня) цветом несколько строк, содержащих то же слово, около соответствующему которому в окне LyX в настоящий момент мигает курсор. При двойном щелчке в окне SumatraPDF фокус переносится в окно LyX и там начинает мигать курсор, при этом при щелчке в разных местах окна SumatraPDF курсор начинает мигать в разных местах окна LyX. Ничего более конкретного о связи положения курсора в LyX со строками, выделяемыми в SumatraPDF, ровно как и о связи положения двойного щелчка в SumatraPDF с местом в окне LyX, в котором начинает мигать курсор, сказать не могу. Так, задача довольно-таки сложная, поэтому давайте я здесь еще приведу перевод той страницы, содержание которой я тут пересказываю, сделанный браузером Гугл: вдруг я что-то упустил. Итак.
=================================================================
Из MyNotes Обновленодляпоследнейверсии2.3.32019 Пользователям MiKTeX рекомендуется выполнить обновление до последней версии перед установкой LyX 2.3.3+ для Windows. Если у вас есть постоянная установка SumatraPDF, вам нужно только установить -inverse-search ONCE, равно как и с помощью вкладок, нам не нужно тратить время на решение, какой сеанс адресовать. Обратите внимание, что в SumatraPDF можно иметь несколько окон и сессий, но это выходит за рамки этого ответа. InverseSearchCmdLine = постоянно хранится в SumatraPDF-settings.txt. Он не должен настраиваться редактором, если вам не нужно переустанавливать или иным образом заменять SumatraPDF-settings.txt (сделайте резервную копию!)
Настройки в SumatraPDF
Заметное отличие состоит в том, что мы возвращаемся к более стабильному cmd-файлу Okular (Okular использует точно такую же систему вызовов, что и SumatraPDF), что позволяет избежать ненужных вызовов. SumatraPDF должен быть установлен таким образом, чтобы он функционировал из любого системного вызова, как SumatraPDF, это означает, что он должен быть «в пути» (если используется переносная версия, SumatraPDF.exe должен быть временно добавлен в путь пользователя до первого вызова Lyx) Запустите SumatraPDF и перейдите в «Настройки»> «Дополнительные параметры». Это откроет файл SumatraPDF-settings.txt в NotePad, теперь, проверив записи, проверьте или измените следующее.
ReloadModifiedDocuments = true
InverseSearchCmdLine = lyxeditor.cmd "%f" %l
EnableTeXEnhancements = true
UseTabs = true
Помните, что% l - это строчная буква L, и не забудьте нажать CTRL + S (Сохранить файл). Если вам нужно добавить c: ... LyX \ bin \ к этому InverseSearchCmdLine , значит, вы неправильно установили LyX. Файл .cmd находится в папке bin, которая ДОЛЖНА быть в системном пути.
Настройки в LyX
Следуйте инструкциям SyncTeX в https://wiki.lyx.org/LyX/SyncTeX.
Мои заметки из-за этого уникального метода вызова канала [1], используемого LyX в Windows , иногда требуется, чтобы рабочий файл и его путь НЕ ДОЛЖНЫ ИМЕТЬ ПРОБЕЛ, Так что, если это не сработает, вам нужно будет поднять любые проблемы с поддержкой LyX. Если они предоставляют более простой способ вызова активного сеанса LyXserver с удаленным путем в кавычках, то оставьте комментарий ниже. Проблема в том, что LyXserver ожидает два последовательных значения: 1) SyncTeX предоставил .tex имя файла 2), за которым следует номер строки, поэтому, когда имя файла содержит пробелы, первая часть может быть недействительной как имя файла, а вторая часть явно не является числом , Это может работать, если имена файлов анализируются как более старый формат 8.3, но большинство современных файлов Windows используют формат LFN. файл lyxeditor.cmd пытается обойти эти проблемы. Заметные различия по сравнению с любым другим подходом Не добавляйте ненужные и устаревшие -reuse-instance или -inverse-searchопции / директивы (они не нужны и замедляют правильный -forward-searchзапрос.)
• Добавьте каталог, в котором находится SumatraPDF.exe, в строку префикса PATH. (Это не нужно для постоянной установки, но может помочь для портативного использования).
• Установите для линии LyXServer pipe \\.\pipe\lyxpipe( НЕ использовать кнопку обзора).
Инструменты → Настройки → Обработка файлов → Конвертеры
• Выберите формат LaTeX (pdflatex) -> PDF (pdflatex)
• Установите для конвертера ввода значение pdflatex -interaction=nonstopmode -synctex=1 $$i
• Это изменение необходимо, чтобы MikTeX или TeX Live создали файл FILE.synctex.gz.
Выйдите и вернитесь, чтобы проверить, что он модифицирован, мне потребовалось несколько изменений, чтобы сбросить его и закрепить от одного сеанса к другому.
• В разделе «прямой поиск» задайте для команды ввода PDF значение SumatraPDF -forward-search "$$t" $$n "$$o"
Инструменты → Настройки → Обработка файлов → Форматы файлов
• Выберите формат PDF (pdflatex)
• Установите для поля «Просмотр» значение «Пользовательский» с помощью команды SumatraPDF
• Возможно, вам придется закрыть все окна SumatraPDF и использовать «Документ → Просмотр».
• Вы можете установить команду обратного поиска непосредственно в SumatraPDF, перейдя в «Настройки → Дополнительные параметры», как указано выше, и установить обратный поиск. В этом случае вы уменьшаете команду «Просмотр» до
SumatraPDF
ЛЮБЫЕ проблемы с этим вызовом Inverse Search должны возникать при поддержке Lyx, так как это их рекомендуемый метод, а не мой!
[1] В принципе, использование именованных каналов в памяти ускоряет и уменьшает необходимость вызывать приложение через параметры командной оболочки, однако, подобно методам DDE или D-bus, оно незнакомо большинству пользователей и может быть проблематичным для устранения проблем.
Примечание. Убедитесь, что у lyx открыт файл, Enable Forward/Reverse button is active then compile and view finally right click and select about 6 options downвыполните поиск вперед.
Места не 1 на 1 (страницы могут показаться "выключенными"). Это может помочь увидеть прямой поиск, установив в SumatraPDF-settings.txt
Чтобы вернуться на соответствующую страницу, просто дважды щелкните любое место в SumatraPDF, чтобы он вызывал lyxeditor.cmd. =================================================================
Как видно, здесь имеются-таки некоторые нюансы, неупомянутые мной. Впрочем, мне, когда я это все настраивал, эти нюансы просто не понадобились.
Комментариев нет:
Отправить комментарий