Как вставить таблицу в латех из эксель
LaTeX повышения квалификации использует Excel2latex для вставки формы
Поскольку часто необходимо вставить относительно большую таблицу данных, если вы хотите использовать почерк, этот проект будет очень большим.
Но этот инструмент, несомненно, значительно повысил эффективность. Жаль только, что это VBA, поэтому его можно использовать только в офисе. Я также надеюсь, что мастер сможет запустить версию продукта для Linux!LaTeXБолее трудно нарисовать таблицу следующим образом: Вот инструмент, который может непосредственно преобразовать таблицу в Excel в формат исходного кода латекса. Это Excel2latex, который написан в макросах Excel, и метод использования также очень прост. Откройте Excel2latex с Excel .xla, и вы увидите новую кнопку в меню Инструменты. Выберите часть таблицы, которую вы хотите преобразовать, и затем нажмите эту кнопку, вы можете получить таблицуLaTeXИсходный код.
Excel2latex может поддерживать Excel 2010. В следующем примере Excel 2010 используется для объяснения того, как его использовать.
Поскольку excel2latex - это макрос, сначала необходимо подтвердить в меню «Параметры файла», «Центр управления безопасностью», «Настройки центра управления безопасностью» параметры макроса, которые вы не выбрали, чтобы отключить все макросы. Если они отключены, измените параметры. Затем перейдите на вкладку File-Options-Add-ons-Manage Add-ons, чтобы загрузить загруженный файл Excel2LaTeX.xla и установите флажок для подтверждения.
Если на данный момент на панели Excel нет вкладки надстройки, как показано ниже, проверьте надстройку в разделе «Параметры файла» «Настройка ленты». Главная вкладка.
После успешного импорта excel2latex вы можете использовать его напрямую. Откройте таблицу, которую вы хотите преобразовать в латексный код, выберите точку содержимого таблицы «Преобразовать таблицу в латекс», появится следующее диалоговое окно:
Есть три основных варианта:
Следует ли создавать среду плавающих таблиц;
Независимо от того, следует ли использовать трехстрочные таблицы booktabs, эта таблица довольно лаконична и красива, и она очень распространена в технических документах, но после проверки не забудьте добавить \ usepackage в область ввода tex-файла, который вставляет таблицу;
Если экранировать символы $ ^ _ \, это символы с определенной ролью в общих текстовых документах;
Часто необходимо вставить математические формулы в фактическую таблицу, например, греческие буквы и $ \ pm $ вставляются в приведенный выше рисунок, а затем escape не проверяется. Эффективно используйте комбинированную текстовую функцию Excel. CONCATENATE может легко составить таблицу с формулами. Конечно, добавление $ непосредственно до и после табличной среды также может перевести всю таблицу в математический режим, но все буквы в таблице будут выделены курсивом по-итальянски. От того, будет ли это хорошо выглядеть, зависит от ваших увлечений.
После настройки вы можете нажать «Копировать в буфер обмена», чтобы скопировать в буфер обмена и вставить его непосредственно в текстовый файл, или выбрать его в поле справа, нажать «Экспортировать все», чтобы экспортировать текстовый файл таблицы, а затем использовать \ input Команда для вставки таблицы:
В этом блоге публикуются заметки и решения, найденные в процессе работы, освоения и жизни в дистрибутиве Debian GNU/Linux.
Перенос таблиц из MS Excel или OpenOffice Calc в LaTeX через Calc2LaTeX
помимо автора этих строк тем, кому нужно переносить или создавать сравнительно простые таблицы из 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" слева, и открываем:
Выбираем интуитивно понятный пукт (команду) в правой части под названием "Main", и нажимаем кнопку "Add".
Теперь кнопку на панели можно переместить или присобачить ей другую иконку (кнопкой Modify):
Так что у вас в Open/LibreOffice Calc должна появиться кнопка для Calc2LateX:
и сейчас мы её начнём неистово тыркать.
Конвертирование таблицы Excel или Calc в LaTeX
Всё готово для старта, и сейчас мы приступим: открываем или создаём таблицу в Calc, выделяем нужные ячейки и жмём кнопку Calc2Latex, которую создали на предыдущем этапе.
Результат Calc2LaTeX
Лучше, чем ждёшь от ёпенсорца, но хуже, чем надеешься получить.- медленный. ОЧЕНЬ медленный плагин - 5 строк, 10 столбцов на Core i5-560M 2.66Ghz заняло 20 секунд.
- нет сохранения цветовой раскраски.
Теперь сравнение того, что было в оригинале:
c тем, что выдал плагин:
то есть таблица, конечно, есть, но страшная, как смерть водолаза и потому требует дальнейшей работы.
Для самых любознательных: эта таблица может представлять интерес для тех, кто решает Online Box-constrained Convex Quadratic Programming - ограниченные конвексные оптимизационные задачи, причём очень быстро (online). Здесь перечислены алгоритмы и их основные характеристики, протестированные автором этих строк. Если кто может эту таблицу расширить - пишите в комментарии.
Эта же таблица в Google Docs:
8 комментариев: |высказаться!| RSS-лента дискуссии.|
Это он, это он - моего сердца чемпион! Поздравляю с выходом из длительного запоя^Wтворческого отдыха, надеюсь, ты и дальше продолжишь радовать нас новыми баянами^Wпостами, пронизанными остроумными примечаниями. Постараюсь не отставать, и самому закинуть что-нибудь эдакое в свой блог.
По теме поста: Calc2LaTeX что-то доверия не вселяет. совсем.
Это он, это он - моего сердца чемпион! Поздравляю с выходом из длительного запоя
Вам бы всё хиханьки да хаханьки, Владимир Иваныч :-)
У меня тут подача на грант + смена универа + переезд в другой город + переподача на визу. Мне, как бы это помягче сказать, не до блога.
ты и дальше продолжишь радовать нас новыми баянами
Бум надеяться. Черновиков не так много осталось, до Декабря баянов будет немного (по одной штуке в месяц).
По теме поста: Calc2LaTeX что-то доверия не вселяет
Почему? Вполне себе приличное решение. Ёпенсорц же!
Плохо одно: медленное оно до ужаса, но работает. Я так таблицу конвертировал - порциями по 6 рядов. Пять минут страданий - и всё готово.
Другие решения всегда рассматриваются. Емакс, интим и прочий брейнфак не предлагать :-)
Ну и пусть медленно. Всё же лучше, чем ручками :)
@Игорь А. Мориков комментирует.
Ну и пусть медленно. Всё же лучше, чем ручками :)
Дизайн сложных таблиц всё равно делается ручками, но данные набивать в Calc/Excel удобнее.
Да, мне тут очень застенчивый Анонимус прислал на почту письмецо, в котором клянётся, что Gnumeric может сохранять таблицы в ЛаТеХ. И по ходу пьесы не врёт. :-)
Гугель подсказал вот что:
У меня Экселя 2010, по понятным причинам, нет - владельцы могут проверить?
Ещё: на стэкэксчендж есть отличный пост в тему генерации таблиц. Не совсем по теме, но могёт пригодиться. Gnumeric там тоже упомянут.
Набрёл ещё на один топик (что-то я поторопился с постом, как выясняется), и там советую datatool:
You could also just export to csv and use the datatool package.
Я много про него слышал, но не пользовал. Гуру datatool в комментариях есть?
(/me напряжённо смотрит в сторону Amorua)
Да, excel2latex не так прост, как кажется. Тут приводят инструкцию в картинках.
Чем csvsimple не угодил? меньше движений руками - больше автоматизации
Чем 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]
и если вам приглянулась она, то эту статью можно дальше не читать.
Нижняя таблица выполнена с помощью пакета booktabs и если результат вам понравился, то мы поговорим о возможностях этого пакета и рассмотрим несколько советов, позволяющих создавать более ясные таблицы.
Бросается в глаза отсутствие в последней таблице вертикальных линий, но оно не связано к booktabs и мы поговорим о нём позже. А вот что к booktabs относится.
Более "говорящие" названия горизонтальных линий -- \toprule , \midrule , \bottomrule (top -- верхний, mid -- средний, bottom -- нижний) -- заменили безликие \hline .
Эти горизонтальные линии различны по толщине: внешние \toprule и \bottomrule толще, чем внутренние ( \midrule и другие -- в booktabs есть ещё несколько видов линий). Это позволяет более чётко отделить таблицу от остального текста.
Увеличенные вертикальные пробелы в заголовке таблицы (между \toprule и \midrule ). Сравните оформление заголовка стандартными средствами
и оформление, использующее booktabs
Кроме того, заголовок в booktabs центрирован по вертикали, что также добавляет ему читаемости.
Полностью, код выглядит так:
Как видим, он не сильно изменился. Чего не скажешь о результате.
А теперь обещанные советы по оформлению таблиц.
- Избегайте лишних горизонтальных линий. Обычно достаточно линий, ограничивающих таблицу сверху и снизу, а также линии, отделяющей заголовок от содержимого таблицы.
- Избегайте вертикальных линий.
- Оставляйте достаточный просвет между строками.
- Если не знаете как выравнивать содержимое колонки, выравнивайте его по левому краю.
Первым советом мы уже вовсю пользуемся. Что касается совета №2, то с разделением колонок хорошо справляются горизонтальные пробелы, так что необходимость в вертикальных линиях возникает редко. Но уж если вы начали их использовать, используйте до конца: таблицы, где одни ячейки заключены в рамочки, а другие нет выглядят некрасиво.
Что касается просвета между строками, то сравните две таблицы:
Первая нам уже знакома, а во второй вертикальный просвет между строками увеличен с помощью команды \arraystretch :
Иногда полезно подогнать левую и правую границы таблицы под текстовое содержимое. Делается это с помощью следующей команды:
Комментарии
Дмитрий Храмов
Компьютерное моделирование и все, что с ним связано: сбор данных, их анализ, разработка математических моделей, софт для моделирования, визуализации и оформления публикаций. Ну и за жизнь немного.
В редакторах документов LaTeX есть визуальные средства для создания таблиц, подобные имеющимся в MS Word. Для оформления сложных (в смысле форматирования) таблиц существует МНОЖЕСТВО пакетов (вот лишь краткая сводка). Кроме того, есть пакеты, позволяющие создавать таблицы на основе массивов данных, например, результатов экспериментов.
Здесь мы рассмотрим только создание таблиц: вручную, визуальными средствами и с помощью импорта данных.
Вручную: tabular и table
Таблицы создаются при помощи окружения tabular , а их расположение в документе и заголовки задаются в окружении table .
Первая строка tabular имеет вид:
Аргумент столбцы задает количество столбцов, выравнивание текста в них и использование вертикальных линий в качестве границ. Реализуются это с помощью следующих символов:
обозначение | значение |
---|---|
l | выравнивание по левому краю |
с | выравнивание по центру |
r | выравнивание по правому краю |
p | колонка заданной ширины с текстом, вертикально выровненным по верхнему краю строки |
| | вертикальная линия |
|| | двойная вертикальная линия |
Внутри окружения tabular записываются строки таблицы, разделенные на ячейки. Для этого используются следующие команды:
обозначение | значение |
---|---|
& | разделитель столбцов |
| конец строки (Можно задать дополнительный пробел перед следующей строкой, указав после величину пробела в квадратных скобках. Например: [6pt] ) | |
\hline | горизонтальная линия |
Примеры:
Пробелы между символами, управляющими отображением столбцов, не нужны, но есть смысл ставить их для лучшей читаемости.
По умолчанию столбцы таблицы будут растягиваться в ширину независимо от того, поместится ли готовая таблица на страницу или нет. Задать ширину столбца можно с помощью p . Ширина указывается в единицах, понятных LaTeX'у, например, в пунктах (pt) или сантиметрах (cm), или в долях ширины текста ( \textwidth ).
Необязательный параметр положение используется для того, чтобы указать расположение таблицы по вертикали относительно базовой линии окружающего текста. Это может быть полезно, если таблица не вынесена из текста, как это обычно бывает, а является частью абзаца. Чтобы указать расположение используются следующие символы:
обозначение | значение |
---|---|
b | выравнивание по нижнему краю |
с | выравнивание по центру (по умолчанию) |
t | выравнивание по верхнему краю |
Для помещения готовой таблицы в документ используется окружение table . Работает оно аналогично окружению figure для рисунков:
Визуальное редактирование: Texmaker, Kile
Создание таблиц вручную — одна из самых скучных операций в LaTeX. Поэтому естественно, что разрабатываются инструменты, упрощающие этот процесс. Так, в редакторе TeXmaker есть визуальный редактор таблиц доступный с помощью меню Помощник -> Быстрая таблица (Wizard -> Quick Tabular). Вот как выглядит в нем набор уже знакомой нам таблицы:
Аналогичное средство есть и в редакторе Kile:
В результате в текст документа будет вставлено готовое окружение tabular с данными.
Если устанавливать редактор не хочется, а упростить создание таблиц нужно, то к вашим услугам онлайновый генератор таблиц.
Импорт данных: csvsimple, pgfplotstable, datatool.
Пусть имеется файл данных testdata.csv
который нужно импортировать в таблицу LaTeX.
Преобразование файла данных в таблицу можно выполнить с помощью пакета csvsimple :
```latex:) \documentclass \usepackage
Заметьте, что мы не только сделали новые заголовки, но и изменили порядок следования столбцов, не меняя ничего в файле данных.
Как видим csvsimple вовсе не так прост. Однако пакет pgfplotstable предлагает еще больше возможностей. Начнем с простейшего примера, в котором аргументами команды \pgfplotstabletypeset являются имя файла данных и разделитель ( col sep ) — запятая ( comma ):
По умолчанию данные округляются до сотых и выравниваются по центру столбца.
Рассмотрим пример посложнее. Здесь командой \pgfplotstableread данные считываются в таблицу \table , свойства которой затем настраиваются с помощью \pgfplotstabletypeset :
Обратите внимание на индивидуальный стиль первого столбца и дополнение числа до требуемого количества знаков после запятой нулями.
Мы вновь переставили столбцы местами. Кроме того, обратите внимание на стили горизонтальных линий, заданные для первой и последней строк таблицы.
Полный список разделителей, доступных в pgfplotstable : space , tab , comma , semicolon , colon , braces , & , ampersand .
Пакет datatool позволяет не только создавать таблицы на основе импортируемых данных, но и строить графики, столбчатые и круговые диаграммы. Здесь самое время остановить перечисление, поскольку объем руководства пользователя к пакету превышает 200 страниц. Вот пример отображения страницы, импортированной с помощью datatool
Импортированные данные будут помещены в таблицу mytable . Выглядит не сложнее csvsimple , не так ли? А теперь — пример манипуляций со столбцами:
До сих пор мы рассматривали импорт данных, не содержащих символы кириллицы. Пусть в нашем распоряжении файл satellites.csv такого содержания:
ИСЗ | Дата запуска | Масса, кг Спутник-1 | 4 октября 1957 | 83,6 Спутник-2 | 3 ноября 1957 | 508,3 Эксплорер-1 | 1 февраля 1958 | 21,5
Поскольку запятая в отечественной традиции используется для отделения целой части числа от дробной, в качестве разделителя ячеек выбран символ '|' . Для отображения кириллицы нужно подключить соответствующие пакеты
Ничто не мешает нам поместить полученную таблицу в окружение table (то же самое можно было сделать и во всех предыдущих примерах импорта). Не забудем указать основной язык документа ( \selectlanguage ) для оформления заголовка таблицы.
Следует отметить, что при работе с файлами данных, содержащими кириллицу могут возникать проблемы. Как правило, они связаны с различием кодировок документа (например, UTF8) и файла (например, windows-1251).
Кроме указанных пакетов, есть немало сторонних инструментов для конвертации таблиц в LaTeX:
Комментарии
Дмитрий Храмов
Компьютерное моделирование и все, что с ним связано: сбор данных, их анализ, разработка математических моделей, софт для моделирования, визуализации и оформления публикаций. Ну и за жизнь немного.
эффект:
Содержание таблицы слишком длинное
можешь использовать \setlength……\end> Отрегулируйте ширину стола, где 0.23mm Используется для контроля ширины стола
Пример кода
эффект:
Содержимое ячейки слишком длинное
Для случая, когда содержимое в ячейке слишком длинное и его нужно обернуть, есть два решения:
- Контролируйте длину каждого столбца: \begin<|p<3.5cm>|p|p|>
- Ручной разрыв строки, т. Е. Между двумя линиями линия не рисуется и не используется \hline Сплит, чтобы он выглядел как клетка.
Способ 1: контролировать длину каждого столбца
по \begin<|p<3.5cm>|p|p|> Контролируйте длину каждого столбца, часть, превышающая длину, будет автоматически переноситься
Пример кода:
эффект:
Способ второй: завернуть вручную
Не добавляйте между двумя строками \hline Равный код строки, разделите содержимое вручную, чтобы содержимое, которое необходимо обернуть, записывалось в код следующей строки.
Пример кода:
Объяснение:
Как видите, хотя второй пример решает проблему разрывов строк, но в этой строке IP с участием Сетевой уровень Два содержимого не отображаются вертикально по центру, потому что эти две ячейки находятся в верхнем ряду. Так что это можно использовать \multirow Экспресс IP Этот контент занимает 8 строк, и результат будет центрирован вертикально, как показано в третьем результате.
нота:
- \multirowЕго необходимо добавить к текущему элементу, чтобы он располагался по центру, а не к заголовку. И первый параметр 8 Происходит потому, что я разделил длинный контент на 8 Строка
- Для ручного разрыва строки вам все равно нужно добавить код разрыва строки после этой строки: \\
эффект:
постскриптум
Эта статья - некоторый код, который я записал о форме LaTex, чтобы я мог использовать его позже, когда мне это понадобится. Пожалуйста, критикуйте и исправляйте любые недостатки и ошибки.っ ゚ Д ゚) っ
Читайте также: