Это небольшая заметка может пригодится помимо автора этих строк тем, кому нужно переносить или создавать сравнительно простые таблицы из Excel или Calc в LaTeX, потому как создание таблиц в LaTeX это занятие, часто причиняющее адские боли ниже поясницы.
Дизайним таблицы в Calc и переносим их в LaTeX через Calc2LaTeX
Собственно, Calc2LaTeX это расширение, которое транслирует код из Calc в LaTeX. А что там автор тогда заливал в заголовке про Microsoft Excel? Дык Calc-то уже давно открывает любые* таблицы Excel. Создатели LibreOffice гарантируют это :-)Не будемте отвлекаться на мелочи - лучше о том, как всё это установить.
---
любые* - Your Mileage May Vary, как говорят за океаном, но многие таблицы в самом деле хорошо поддерживаются OpenOffice Calc.
Установка Calc2LaTeX
Для установки идём на сайт и скачиваем плагин (или вот тут моё зеркало).После этого запускаем Calc и идём в меню Tools -> Extension Manager, где нажимаем кнопку Add (Добавить). Добавляем плагин:
Some day, I will try to add this button to the extension.Разумеется, этот знаменательный день, пламенно обещанный автором jarom аж в 2009 году, наступит тогда же, когда мир во всём мире, линукс на десктопе и всеобщая экономическая стабильность. Поэтому нам придётся попотеть и ускорить наступление оного счастья собственными мозолистыми руками:
Tools -> Customize -> Toolbars (или Menu, если мы хотим добавить Calc2latex в пункт меню)Нажимаем кнопку "Add... ". Далее прокручиваем список "Category" до "OpenOffice.org Macros" слева, и открываем:
My Macros -> Calc2LaTeX -> Calc2LaTeXВыбираем интуитивно понятный пукт (команду) в правой части под названием "Main", и нажимаем кнопку "Add".
Теперь кнопку на панели можно переместить или присобачить ей другую иконку (кнопкой Modify):
Так что у вас в Open/LibreOffice Calc должна появиться кнопка для Calc2LateX:
и сейчас мы её начнём неистово тыркать.
Конвертирование таблицы Excel или Calc в LaTeX
Всё готово для старта, и сейчас мы приступим: открываем или создаём таблицу в Calc, выделяем нужные ячейки и жмём кнопку Calc2Latex, которую создали на предыдущем этапе.Результат Calc2LaTeX
Лучше, чем ждёшь от ёпенсорца, но хуже, чем надеешься получить.- сохраняет базовое форматирование содержимого ячеек (полужирный, курсив)
- можно задать метку и заголовок
- можно включить или выключить линовку строк таблицы
- экранирование LaTeX-символов типа & # и &
- медленный. ОЧЕНЬ медленный плагин - 5 строк, 10 столбцов на Core i5-560M 2.66Ghz заняло 20 секунд.
- нет сохранения цветовой раскраски.
Как и многий другой опенсорц, плагин, конечно, работает, только очень медленно и несколько коряво. Никакого цветового оформления можно не ждать, но полужирное и курсивное начертание будут переданы. Для того, чтобы сконвертировать первые пять (5!) столбцов, на Core i5-560M 2.66Ghz ушло 20 секунд.
Теперь сравнение того, что было в оригинале:
то есть таблица, конечно, есть, но страшная, как смерть водолаза и потому требует дальнейшей работы.
Для самых любознательных: эта таблица может представлять интерес для тех, кто решает Online Box-constrained Convex Quadratic Programming - ограниченные конвексные оптимизационные задачи, причём очень быстро (online). Здесь перечислены алгоритмы и их основные характеристики, протестированные автором этих строк. Если кто может эту таблицу расширить - пишите в комментарии.
Эта же таблица в Google Docs:
8 комментариев: |высказаться!| RSS-лента дискуссии.|
Это он, это он - моего сердца чемпион! Поздравляю с выходом из длительного запоя^Wтворческого отдыха, надеюсь, ты и дальше продолжишь радовать нас новыми баянами^Wпостами, пронизанными остроумными примечаниями. Постараюсь не отставать, и самому закинуть что-нибудь эдакое в свой блог.
По теме поста: Calc2LaTeX что-то доверия не вселяет... совсем.
@iv_vl комментирует...
Это он, это он - моего сердца чемпион! Поздравляю с выходом из длительного запоя
Вам бы всё хиханьки да хаханьки, Владимир Иваныч :-)
У меня тут подача на грант + смена универа + переезд в другой город + переподача на визу. Мне, как бы это помягче сказать, не до блога.
ты и дальше продолжишь радовать нас новыми баянами
Бум надеяться. Черновиков не так много осталось, до Декабря баянов будет немного (по одной штуке в месяц).
По теме поста: Calc2LaTeX что-то доверия не вселяет
Почему? Вполне себе приличное решение. Ёпенсорц же!
Плохо одно: медленное оно до ужаса, но работает. Я так таблицу конвертировал - порциями по 6 рядов. Пять минут страданий - и всё готово.
Другие решения всегда рассматриваются. Емакс, интим и прочий брейнфак не предлагать :-)
Ну и пусть медленно. Всё же лучше, чем ручками :)
@Игорь А. Мориков комментирует...
Ну и пусть медленно. Всё же лучше, чем ручками :)
Дизайн сложных таблиц всё равно делается ручками, но данные набивать в Calc/Excel удобнее.
Да, мне тут очень застенчивый Анонимус прислал на почту письмецо, в котором клянётся, что Gnumeric может сохранять таблицы в ЛаТеХ. И по ходу пьесы не врёт. :-)
Гугель подсказал вот что:
I’ve just been trying out the Excel2Latex add-in for converting tables from Excel (2010) into LaTeX.
У меня Экселя 2010, по понятным причинам, нет - владельцы могут проверить?
Ещё: на стэкэксчендж есть отличный пост в тему генерации таблиц. Не совсем по теме, но могёт пригодиться. Gnumeric там тоже упомянут.
Набрёл ещё на один топик (что-то я поторопился с постом, как выясняется), и там советую datatool:
You could also just export to csv and use the datatool package.
Я много про него слышал, но не пользовал. Гуру datatool в комментариях есть?
(/me напряжённо смотрит в сторону Amorua)
Да, excel2latex не так прост, как кажется. Тут приводят инструкцию в картинках.
Чем csvsimple не угодил? меньше движений руками - больше автоматизации
@yanchick комментирует...
Чем csvsimple не угодил?
Тем, что это добавляет промежуточный шаг, чего бы очень не хотелось. Calc2latex это plug-and-play - воткнул таблицу в Calc и получил выхлоп в LaTeX.
меньше движений руками - больше автоматизации
Не спорю, но здесь не тот случай, чтобы автоматизировать. Хотя решение с CSV достойное.
@virens
You could also just export to csv and use the datatool package.
Много слышал, ни разу не пользовался. У него документация на 400 страниц.
Наилучшее решение, как по мне, это сохранить в csv, а потом воспользоваться pdfplotstable, вроде
\pgfplotstabletypeset[col sep=comma]{файл.csv}
Вот еще интересный вариант
Отправить комментарий