?

Log in

No account? Create an account

emacs + latex - Excelsior

Oct. 9th, 2011

09:31 am - emacs + latex

Previous Entry Share Next Entry

Кто чем пользуется для работы с латеком? Я юзаю стандартный латек-мод из 23й версии, не auctex - он мне показался слишком сложным, а бонусов для повседневной работы я не нашел (пожалуйста, разубедите меня, если я не прав). Плюс, я на коленке слабал надстройку над docview, которая параллельно с tex-файлом держит открытым буфер с результирующей pdf-кой и автоматически ревертит его после билда, сохраняя настройки вьюпорта (страница, горизонтальная, вертикальная прокрутка). Впрочем, обо всем по порядку.

Стоковый латек-мод меня устраивает. Особенно умиляет то, как он показывает фрагменты типа \emph{} или _{}. В первом случае текст внутри фрагмента будет отрендерен италиком, а во втором - подстрочным шрифтом. Возможно, можно, чтобы было еще полезнее, но на первый взгляд мне от латек-мода больше ничего и не надо. Видел возможность инлайн-превью в auctex, но и в винде, и в линухе это смотрится настолько ужасно, что ну его нафиг.



Главный вопрос у меня с превьювером получившегося результата. Так как в латеке я еще нуб, мне важно регулярно превьювать свои креативы. Причем желательно, чтобы не надо было после каждого ребилда переоткрывать результирующую pdf-ку. С акробатом мы не подружились - он, собака, лочит файл на запись, поэтому перед каждым ребилдом надо его закрывать. Но, к счастью, вместе с miktex поставилась полезнейшая аппликуха texworks, которая умеет сама определять, что файло изменилось и на лету его перерендеривать (о, боги, спасибо авторам сего тула!).



Это все, конечно, круто, но хочется интеграции в емакс. После гугления я выяснил, что из коробки никто такое не умеет. Впрочем, есть линукс-онли скрипт, который магическим образом взаимодействует с неким dvi-вьювером и делает то же самое, что texworks, но это все равно внешний тул. Поэтому я взял docview и чуть-чуть его подпилил:



Но тут возникает куча проблем. Docview работает следующим образом: 1) конвертирует pdf-ку в картинки, 2) работает как слайдшоу. Причем, функциональность просмотра в нем реально тупая: тормозит, временами отваливается, нет зума, не может на одном экране показать половину одной страницы + половину другой страницы, не запоминает положение в документе и так далее - короче, сплошной жупел. С таким положением дел возникает вопрос - нафига козе баян, если texworks умеет все то же самое, причем без костылей?

Отдельный вопрос любителям почитать pdf-ки из емакса. Кстати, выходите из сумрака. Я знаю, что вы есть - читал про вас в инете. Только не говорите, что вы читаете документы при помощи docview. Или я пропустил что-то очень очевидное?

Tags:

Comments:

[User Picture]
From:deni_ok
Date:October 9th, 2011 08:53 am (UTC)

несколько оффтоп

(Link)
А почему для кода не используется
\usepackage{listings}
(Reply) (Thread)
[User Picture]
From:xeno_by
Date:October 9th, 2011 09:35 am (UTC)

Re: несколько оффтоп

(Link)
Ахез. Мне дали темплейт, в котором юзается CLRS-стиль кода - вот я его и юзаю. Времени на толковое освоение латека нет, поэтому забиваю гвозди отверткой.
(Reply) (Parent) (Thread)
[User Picture]
From:alexott
Date:October 9th, 2011 01:09 pm (UTC)

Re: несколько оффтоп

(Link)
+много за listings, хотя мне кажется, что для такого представления алгоритмов был специальный режим
P.S. и чтобы сразу знал - для графики (диаграммы и т.д.) очень удобный режим Tikz/PGF - можно нарисовать практически все
(Reply) (Parent) (Thread)
[User Picture]
From:xeno_by
Date:October 9th, 2011 01:14 pm (UTC)

Re: несколько оффтоп

(Link)
спасибо за совет про графику! к слову, как обычно в емаксе ваяют презентации? latex + beamer или есть другие опции?
(Reply) (Parent) (Thread)
[User Picture]
From:alexott
Date:October 9th, 2011 01:16 pm (UTC)

Re: несколько оффтоп

(Link)
да, обычно beamer пользуют, хотя вроде были и другие пакеты, но я ими не пользовался
(Reply) (Parent) (Thread)
[User Picture]
From:xeno_by
Date:October 9th, 2011 01:15 pm (UTC)

Re: несколько оффтоп

(Link)
насчет специального режима - мне одногруппница вручила уже наполовину нафигаченную домашку, в которой для вбивания кода юзался пакет clrscode. собственно, на скриншотах именно он и есть.
(Reply) (Parent) (Thread)
[User Picture]
From:xeno_by
Date:October 9th, 2011 09:36 am (UTC)

Re: несколько оффтоп

(Link)
Если продолжать оффтоп, то мне латек вообще очень нравится. По сравнению с вордом гораздо удобнее. Осталось только разобраться с превьюшками и почитать толковую книгу.
(Reply) (Parent) (Thread)
[User Picture]
From:dmitry_vk
Date:October 9th, 2011 09:02 am (UTC)
(Link)
В линуксе многие pdf-просмотровщики (например, evince) сами следят за изменением pdf-файла и перезагружают его, сохраняя положение области просмотра в документе.
(Reply) (Thread)
[User Picture]
From:alexott
Date:October 9th, 2011 09:38 am (UTC)
(Link)
auctex - самый продвинутый, идет в комплекте с емаксом и т.д. Если нужно видеть формулы, то в составе auctex есть preview-latex, который показывает картинки прямо в буфере емакса. Вот моя старая статья на тему latex'а в emacs
(Reply) (Thread)
[User Picture]
From:xeno_by
Date:October 9th, 2011 09:40 am (UTC)
(Link)
На мой взгляд, превьюшки через auctex смотрятся не очень. И в винде, и в линуксе они идут не в строчку с текстом, совершенно другим кеглем, не говоря уже о шрифте. Результат обескураживающий, имхо. За статью спасибо - сейчас почитаю.
(Reply) (Parent) (Thread)
[User Picture]
From:bik_top
Date:October 9th, 2011 12:11 pm (UTC)
(Link)
На скриншоте параграфы набраны в одну строку. Есть полезный лайфхак, предписывающий начинать каждое предложение с новой строки (TeX воспринимает переход на новую строку как обычный пробел). Это сильно упрощает просмотр диффов при использовании системы контроля версий.
(Reply) (Thread)
[User Picture]
From:xeno_by
Date:October 9th, 2011 12:13 pm (UTC)
(Link)
Отличная идея! А то я все никак не мог понять, почему моя одногруппница делает маленькие по ширине строчки...
(Reply) (Parent) (Thread)
[User Picture]
From:bik_top
Date:October 9th, 2011 12:16 pm (UTC)
(Link)
> А то я все никак не мог понять, почему моя одногруппница делает маленькие по ширине строчки...

Возможно, она просто не знает, что в редакторе можно включить «word wrap» :)
(Reply) (Parent) (Thread)
[User Picture]
From:xeno_by
Date:October 9th, 2011 12:17 pm (UTC)
(Link)
Я тоже так думал, если честно )))
(Reply) (Parent) (Thread)
[User Picture]
From:alexott
Date:October 9th, 2011 01:07 pm (UTC)
(Link)
для емакса часто удобней использовать longlines-mode - почти как word wrap, но не по ширине окна, а по установленной границе - это удобно если окна широкие
(Reply) (Parent) (Thread)