Каждый из нас знает, насколько MS Word удобный инструмент для подготовки небольших документов. И каждый из тех, кто сталкивался с подготовкой документа, количество страниц в котором превышает сотню (плюс необходимо придерживаться строгих требований к форматированию), знает об основных недостатках этого инструмента. Мне пришлось в своей жизни столкнуться с версткой 500 страничного документа, причем количество и расположение рисунков таблиц и формул в нем постоянно менялось от версии к версии. Я бы хотел поделиться своими «лайфхаками», которые мне пришлось применить при верстке этого документа. Некоторые из них мне подсказали друзья; на некоторые наткнулся на форумах; некоторые придумал сам.
Эти простые хитрости помогут вам при верстке диссертации дипломной работы или отчета.
В данной статье рассмотрены решения проблем:
- создание списка литературы
- Склонения перекрёстных ссылок на рисунки таблицы и формулы
- Перенос таблиц на новую страницу
- Вставка формул
Список литературы
Когда дело доходит до подготовки кандидатской диссертации, список литературы резко становится больной темой. Форматировать список по ГОСТ 7.0.5–2008 вручную становится очень тяжело. Самые продвинутые пользователи знают, что можно сделать список литературы в виде нумерованных абзацев с закладками, на которые в тексте можно делать перекрестные ссылки и в несложных случаях добиваться желаемого. Но при большом списке источников ручные и полуавтоматические методы работают все хуже и хуже. Также продвинутые пользователи знают, что в Word можно делать библиографии, но не по ГОСТу, присутствует несколько «американских» стилей. Слава богу на просторах интернета мне попался det-random с его самописным стилем который умеет формировать список литературы по ГОСТ 7.0.5–2008, нумеровать ссылки в тексте по порядку упоминания и различать формат для англоязычных и русскоязычных источников Страница проекта на гитхабе: gost-r-7.0.5-2008.
Список литературы будет выглядеть следующим образом:
Склонение перекрёстных ссылок
Одна из основных проблем в том, что MS Word не умеет склонять перекрестные ссылки. Это является результатом того, что в германских языках отсутствуют склонения. Microsoft Office — это американская программа, поэтому американцам не надо, чтобы была ситуация, когда нужно учитывать склонение слов по падежам. Иногда это может привести к забавным результатам, например, «На Рисунок 1.1. представлено…», «В Таблица 5.4 рассматривается…» или «С учетом Формула (2.2) …» и т. д. Решить эту проблему можно следующим образом.
Название рисунка вставляется стандартными средствами.
Вставка рисунка: Вставка->Ссылка->Название->Подпись (рисунок).
Подпись к рисунку обычно имеет следующий вид:
Рисунок {STYLEREF 1 \s} {SEQ Рисунок \* ARABIC}
Где первое поле в фигурных скобках ссылается на номер главы, а второе — это уникальное значение счётчика количества рисунков. Ссылка на рисунок, таблицу или формулу вставляется с помощью инструмента «Перекрестная ссылка».
Вставляется, естественно, «Рисунок 1.1». Затем выделяем часть вставленного текста, а именно «Рисунок», делаем ее скрытой (тоже самое можно сделать через меню Формат -> Шрифт). Потом дописывается перед номером слово в нужном падеже. При обновлении поля скрытая часть текста остается скрытой.
Перенос таблиц
Согласно многим требованиям, если таблица переносится на другую страницу, то заголовок на продолжении должен повторять название таблицы, а иногда необходимо приписывать к названию таблицы слово «продолжение», т. е. быть вида: «Название таблицы… Продолжение». Но ни одна версия MS Word не вставляет новый заголовок в разорванную таблицу.
Для решения этой проблемы придумал следующий трюк. Я добавляю еще оду строку в самое начало таблицы и объединяю все ячейки в ней, затем делаю невидимыми границы, после чего вставляю название таблицы. И уже затем делаю повтор этой ячейки при переносе на другую страницу.
Причем слово «продолжение» закрываю белым прямоугольником в цвет страницы без границ. Выглядит это примерно так, волнистыми линями обозначены невидимые границы.
Результат будет выглядеть примерно так. При переносе отобразится первые 2 строки, одна из которых — это название таблицы, а вторая — название колонок.
Ниже представлен образец VBA кода для создания заголовка таблицы:
Sub Table_head()
Dim myTable As Word.Table
Selection.InsertRowsAbove 1
Set myTable = Selection.Tables(1)
myTable.Cell(1, 1).Merge MergeTo:=myTable.Cell(1, myTable.Columns.Count)
With myTable.Cell(1, 1)
.Borders(wdBorderTop).Color = wdColorWhite
.Borders(wdBorderRight).Color = wdColorWhite
.Borders(wdBorderLeft).Color = wdColorWhite
End With
Selection.TypeText ("Таблица ")
Selection.Style = ActiveDocument.Styles("Название таблицы")
Selection.Range.Fields.Add Selection.Range, Type:=wdFieldEmpty, Text:="STYLEREF 1 \s", PreserveFormatting:=False
Selection.TypeText (".")
Selection.Range.Fields.Add Selection.Range, Type:=wdFieldEmpty, Text:="SEQ Таблица \* ARABIC", PreserveFormatting:=False
End Sub
Формулы
Формулы лучше вставлять в таблицу с невидимыми границами с одной строкой и двумя столбцами. Делаю это с помощью макроса и в итоге получаю таблицу, в первом столбце которой по центру стоит надпись: «Место для формулы,», а во втором — по центру находятся круглые скобки. В первый столбец заношу формулу, во второй с помощью команды «Название» ее номер. Ссылаюсь на формулу с помощью команды «Перекрестная ссылка» и получаю при этом номер формулы в круглых скобках (ячейка таблицы воспринимается программой как новая строка).
Образец вставки VBA кода для вставки формулы представлен ниже.
Sub formula()
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=1, NumColumns:=2
Selection.Tables(1).Columns(1).Width = CentimetersToPoints(14)
Selection.Tables(1).Columns(2).Width = CentimetersToPoints(2.5)
Selection.Tables(1).Cell(1, 1).Range.Text = "Место для формулы/уравнения"
Selection.Style = ActiveDocument.Styles("Формулы и уравнения")
Selection.MoveRight Unit:=wdCell, Count:=1
Selection.Style = ActiveDocument.Styles("Формулы и уравнения")
Selection.TypeText ("(")
Selection.Range.Fields.Add Selection.Range, Type:=wdFieldEmpty, Text:="STYLEREF 1 \s", PreserveFormatting:=False
Selection.TypeText (".")
Selection.Range.Fields.Add Selection.Range, Type:=wdFieldEmpty, Text:="SEQ Формула \* ARABIC", PreserveFormatting:=False
Selection.TypeText (")")
End Sub
Надеюсь, эти простые трюки будут вам полезны.
Комментарии (56)
tzlom
15.12.2015 10:57+9Всегда удивляли люди которым нужен большой документ по ГОСТу но которые используют для этого ворд/опеноффис.
Поставил LaTeX, скачал шаблон и сам ГОСТ можно не читать — всё уже сделано правильно за вас, и сломать это гораздо сложнее.radiolok
15.12.2015 12:38+4Нельзя просто так взять и перевести всех причастных к большому документу на LaTeX.
Поставить Libreoffice то было не самой простой задачей даже с учетом того, что он выглядит примерно так же как и MSoffice 2003.
Pand5461
15.12.2015 15:11и сам ГОСТ можно не читать — всё уже сделано правильно за вас, и сломать это гораздо сложнее.
Вы, когда под Windows программы устанавливаете, тоже всегда «Далее» жмёте, не читая?
Вдруг «за вас» сделано неправильно или ГОСТ обновили? Не такие эти стандарты сложные, лучше результат бибтеха лишний раз проверить, чем потом иметь проблемы.
И да, я знаю, что документы, которые требуют оформлять по ГОСТу очень часто вообще не читают, но это не повод подставляться.
RusakovMxL
15.12.2015 11:04+3А мне понравилась статья. Давно искал, но было скучно читать мануал по ворду. Особенно с таблицами. Автору спасибо!
madhead
15.12.2015 12:59зануда-modeОдна из основных проблем в том, что MS Word не умеет склонять перекрестные ссылки. Это является результатом того, что в романских языках отсутствуют склонения. Microsoft Office — это американская программа, поэтому американцам не надо, чтобы была ситуация, когда нужно учитывать склонение слов по падежам.
Раз программа MS Office «американская», то, скорее всего, она ориентируется на носителей английского языка. Который принадлежит к германским языкам, а не к романским. В романских языках, вроде, есть склонения.Zenker
16.12.2015 01:34Да и в германских языках склонений хватает. По крайней мере, в том же немецком.
Jenyay
15.12.2015 15:32+3Такой способ нумерации рисунков жутко корежит текст, когда переходишь в режим показа непечатных символов. Я в свое время наткнулся на способ, который не добавляет мусор в этот режим. Я его в свое время описал тут — jenyay.net/blog/2010/05/26/avtomaticheskaya-numeraciya-risunkov-i-formul-v-worde Там сначала описан тот же метод, что предложил автор, а потом второй.
Meklon
15.12.2015 15:46+4Угу. Я сейчас диссертацию пишу. Медицинский ВУЗ. Вы врача-руководителя представили? Мне надо руководителю на правки с отслеживанием отдавать. Моё мнение — и в Word и в Libreoffice можно жить. Библиография нормально делается автоматически в Mendeley или Zotero. Нормальное использование стилей тоже решает почти все проблемы. Просто надо ими пользоваться.
radiolok
15.12.2015 16:17А уже существует нормальный плагин mendeley-libreoffice?
А то когда начинал писать диссертацию, найденный плагин очень бодро падал. Так что как и в случае с магистерской обхожусь встроенными средствами автоматической библиографии самого Libreoffice. Которые, кстати, не самые плохие. По крайней мере единожды оформив в .odt шаблоне оформление библиографии дальнейшая работа особых затруднений не вызывает. Количество ссылок на книги кстати как раз приближается к сотне.
Про стили: Оформленный с помощью стилей 100-страничный .odt в libreoffice конвертируется в LaTeX с помощью writer2latex расширения лишь с небольшими косметическими правками. Аналогично и в doc. В последнем правда приходится с помощью MS office открыть/закрыть каждую формулу, чтобы все полностью стало на свои места. Но один раз перед подготовкой к отправке в редакцию это сделать можно во время последней проверки.
sahe
15.12.2015 16:07Я проблему со склонениями всегда решал созданием новой подписи вида Рис. и Табл. и последующим использованием при подписывании рисунков и таблиц. Я даже не думал, что этому можно посвятить статью…
Breathe_of_fate
15.12.2015 16:11+1Полезная информация, спасибо. Как раз начиналась попоболь со списком литературы.
Да, кстати, если вставить в Гугл.Транслейт оформленный пункт из списка литературы, он его преобразует по ГОСТ. Студенты показали :)Meklon
15.12.2015 16:24Это как? О_о
Breathe_of_fate
15.12.2015 16:29Взяли статью на английском языке, полезли туда в список литературы, копируем, вставляем в гугл.транслейт и получаем ссылку по ГОСТ. На английском работает, на русском не проверял.
Meklon
15.12.2015 16:33+1Есть удобный вариант из scholar.google.com. При тыке в цитирование, он вываливает ГОСТ и другие основные, плюс позволяет сохранить в bibtex и прочие форматы.
RomanArzumanyan
15.12.2015 16:45Возможно, для некоторых статей это работает, но в общем случае — нет. Например:
«F. Bossen, B. Bross, K. Shuring, and D. Flinn, “HEVC Complexity and
Implementation Analysis”, IEEE Trans. Circuits Syst. Video Technol.,
vol. 22, no. 12, pp. 1694–1695, Dec. 2012»
было переведено как:
«Ф. Bossen, Б. Bross, К. Shuring и D. Флинн, „Сложность и HEVC
Анализ реализации “, IEEE Trans. Схемы Сист. Видео Technol.,
том 22, нет. 12, стр. 1694-1695, декабрь 2012»Breathe_of_fate
15.12.2015 17:34Видимо. Вот конкретно сейчас не найду ссылки, а дипломник при мне делал.
zv347
15.12.2015 18:08+4Верстал как-то сборник трудов конференции на 400 страниц. Аарргх! Это ад просто.
Как мы шутили, на таких объемах уже начинают проявляться релятивистские эффекты.
Главная проблема была в том, что ворд не хранит разбивку на страницы, и при каждом открытии выполняет ее заново. И, зараза, в каждой версии (даже из «новых») делает это немножко по-разному. Так и пришлось делать все строго на одном компьютере.
Ну и, предвосхищая возможные вопросы — в редколлегии я был единственным, кто про латех просто хотя бы слышал.splav_asv
15.12.2015 22:33Может стоило бы использовать что-то вроде Adobe InDesign для окончательной верстки, разу уж LaTeX не вариант. Всё же Word это не программа верстки.
Sergey6661313
15.12.2015 18:49Основная проблема диссертации — то что их {жирным} надо {/жирным} писать. (жалко у меня теги не доступны)
Вот когда вы действительно будете писать для себя/потомков вам будет не до гостов…
iagsav
15.12.2015 21:48После долгих мучений с Word, мучений с Zotero, мучений с OpenOffice при создании текста диссертации решил остановиться на
Latex + TexStudio + JabRef (для литературы) + Git. Студенты мои приучаются работать в Latex — поставил требование сдавать отчёты,
оформленные только в нём (рамочки красивые тоже можно делать). Это в некоторой степени наводит красоту на их тексты и выглядит не так уродливо, как в word.Meklon
15.12.2015 22:27В Latex с таблицами мороки много. В медицине формул мало, много текста и таблиц с фотографиями.
Meklon
15.12.2015 22:31Mendeley имеет удобную интеграцию во все подряд и облачную синхронизацию. JabRef чем-то лучше? Zotero сыроват.
ikashnitsky
15.12.2015 23:32Zotero сыроват
Хотелось бы с этого места поподробнее. Использую Zotero регулярно. Претензий почти нет. Mendeley попробовал — есть несовместимые с нормальной работой косяки (типа работы только онлайн и невозможности развернуть синхронизацию с произвольным облаком)
iagsav
16.12.2015 01:02+1Она мне эта синхронизация и не нужна. Текстовый файлик со списком литературы — это здорово
0xd34df00d
16.12.2015 01:57И так вполне себе облачно.
Meklon
16.12.2015 10:36Тоже верно. Делать git pull на новой машине? Mendeley все очень удобно хранит с поиском, веб-интерейсом и прочим.
0xd34df00d
16.12.2015 15:07На совсем новой — git clone :)
Если и так все латех-документы в системе контроля версий, то добавление туда же библиографии выглядит логично и последовательно. Было бы несколько странно хранить кусок проекта отдельно от проекта.
Я совсем раньше пользовался JabRef (нам его рекомендовали на кафедре в вузе).
Потом попробовал KBibTex (JabRef оставался единственным Java-приложением у меня, хотелось избавиться), он интересный, у него прямо в интерфейсе торчат поиски по всяким сервисам поиска статей, да и какие-то другие мелочи-ништяки были.
А потом стал просто редактировать .bib руками, копируя bibtex-цитату из google scholar, например, в подавляющем большинстве случаев этого хватает.
А нужности веб-интерфейса для системы управления литературой я не очень понимаю, если честно.
ikashnitsky
15.12.2015 23:36Удобную вставку нумерованных формул в MS Word можно настроить в качестве шаблона (ссылка)
leggiermente
Спасибо! Но не кажется ли Вам, что для вёрстки диссертации с формулами есть более подходящие инструменты?
AADogov
Честно говоря, я предвидел этот вопрос. И даже хотел дать небольшой комментарий по этому поводу в самой статье.
Дело в том, что Word сегодня из наиболее доступных средств для работы с документами. И когда наступает время (зачастую внезапно) подготовить такой документ, первое что придет на ум среднестатистическому человеку это Word. Далеко не каждый аспирант знает про LaTeX и как им пользоваться, а если и знает, то этого может не знать его научный руководитель и коллеги, которые тоже могут приложить руку к созданию дисера.
Не спорю, если производство документов поставлено на поток, то луче пользоваться для этого профессиональными инструментами верстки. Но изучать и разбираться в LaTeX, для того чтобы 1 раз на нем подготовить диплом или дисер. Так же глупо, как и постоянно верстать большие документы в по ГОСТУ в Word.
И еще может быть личная «вкусовщина»: кто-то профи в Word и терпеть не может LaTeX, а кому-то не нравится Word с его постоянными глюками и меняющимся от версии к версии интерфейсом, и предпочитает делать даже небольшие документы в LaTeX.
xtotdam
Спасибо за статью! Однако в контексте
выглядит примерно как «Но изучать и разбираться в предмете, для того чтобы 1 раз о нем подготовить диплом или дисер.», извините. Я могу говорить только за себя, но мне приходилось делать 5+ курсовых и диплом, не считая тезисов на конференции, все примерно на одну тему (развитие исследований, усложнение моделей, я физик-теоретик). Ворд удобен, да, но впихнуть список литературы на 50+ пунктов и после этого еще править текст и добавлять/убирать статьи кажется мне нереальным.
xtotdam
Более того,
отнюдь не всегда верно. Для гуманитарных направлений — не знаю, вероятно. Для естественнонаучных — скорее неверно, так как, разбирая статьи, книги или просто роясь в интернете (а многие англоязычные учебные материалы сверстаны в LaTeX/Beamer, я молчу про статьи) рано или поздно задаешь себе вопрос «А как у них получилось так красиво и единообразно, а ссылки всегда на правильную статью?».AADogov
А здесь я с вами не соглашусь. Поскольку единицы из моих коллег (я тоже Физик) знают про существование LaTeX. Я не говорю уже про гуманитариев. Есть несколько нескольких фриков. Поскольку все материалы из интернет скачиваются в формате pdf и в чем они подготовлены не знающему человеку понять трудно. Если совсем, то в обязанности ученого обычно не входит верстка статей, его задача — написание. А вёрсткой уже занимаются редакция журнала.
qbertych
Присоединяюсь. Физик, из всех коллег в latex'е работали человека два (хотя слышали про него почти все).
Одна из проблем latex'а — это совместное редактирование текста. Чтобы изменения было видно, их приходится раскрашивать вручную (и при этом не забыть их все раскрасить). При этом все равно у вас будут соавторы, которые техом не пользуются (их в среднем процентов 80 =) ), и им придется редактировать текст либо на бумажке, либо в pdf. Если статья пишется в ворде, то обе проблемы исчезают автоматически.
Имхо, техом имеет смысл пользоваться либо для векторных рисунков, либо для трехэтажных формул.
xtotdam
На эту тему можно было бы
устроить замечательную священную войнунаписать еще много, но я все-таки воздержусь =) Могу только поблагодарить свою научную группу, которая работает с LaTeX и направила меня в верную сторону и поделиться наблюдением, что многие мои однокурсники перешли на LaTeX с Ворда в процессе обучения. А вообще, для каждого дела — свой инструмент.splav_asv
Скорее обратное. LaTeX — обычный текст. Можно использовать стандартные системы контроля версий вроде git. Там и автор комита есть, и история правок, и откаты изменений, и слияния. В общем не совместная работа, а сказка.
qbertych
Хм, а git это хорошо. Но с ним тоже надо уметь работать. На практике это действует до первого соавтора, который ни тем ни другим не пользуется, после чего сводится либо к ворду, либо к пдфкам.
0xd34df00d
Несколько несправедливо, что неумение пользоваться латехом сводится к ворду, а неумение пользоваться вордом к латеху не сводится :(
0xd34df00d
К слову о git: а не придуман ли уже какой-то workflow для случая, когда есть некоторая большая работа (кандидатская диссертация, например), которая весьма пересекается с рядом статей поменьше? Или, например, когда ведётся одновременная работа над несколькими публикациями, в одной из которых, например, больше раскрывается теоретическая часть работы, в другой — много вычислений и графиков, а третья работа — скажем, раскрывает общую идею из соображений здравого смысла и с не настолько строгой «физической» точки зрения.
Иными словами, как управляться со статьями, разделяющими достаточно общего материала?
splav_asv
LaTeX вроде бы неплохо умеет делать include. Просто общие куски выносятся отдельно и все работы вокруг данно темы лежат в одном месте.
0xd34df00d
Математик. Вокруг латех знают просто все.
Более того, бывшие сокурсники и знакомые, занимающиеся физикой (МФТИ) тоже знают про латех.
Более того, коллеги с физическим бекграундом, работающие со мной в зарубежной фирме, знают про латех и даже добровольно в нем пишут не то что дипломы, а зачатки идеек на обсуждение на тим митингах.
leggiermente
Ну так добавили бы disclaimer про LaTeX.
Проблема MS Word (как и любых WYSIWYG-редакторов), что с увеличением объёма документа растёт сложность редактирования документа и внетекстовых объектов (формул, изображений, таблиц). Эта сложность идёт не из-за недостатка опыта, она неустранима вследствие принципов WYSIWYG. В LaTeX (при грамотном его использовании), сложность редактирования не изменяется с увеличением объёма.
Диссертация (и хороший диплом — тоже) требует месяцы работы с текстом (не full-time, естественно). Оставлять на самый последний этап всё возрастающие сложности в редактировании документа, мягко говоря, неразумно. Перед сдачей финального текста и так не до того.
Потратить в самом начале два-три часа на изучение азов вёрстки в TeX'е гораздо проще, чем неопределённое время на многократно возросшую сложность работы в последние дни и часы. Так что использование LaTeX в случае диссертаций и дипломов — экономия времени и нервов.
Pand5461
А что именно там приводит к неустранимой сложности? Конкретно в Word, на мой дилетантский взгляд, просто на вид вынесены инструменты низкоуровневого форматирования, а «правильные» упрятаны, поэтому большинство не знает, как правильно сделать ту же нумерацию рисунков/таблиц/формул. Но можно же, в принципе, сделать и вставку формул/рисунков сразу с нумерацией по кнопочке (в ОО.о для нумерованных формул даже специально клавиатурное сочетание есть), и для библиографии свою приблуду — номера страниц в колонтитулах правильно расставлять этот Word умеет же.
potan
Мне было проще изучить LaTex даже для оформления домашних работ и презентаций в десяток страниц.
Если чего-то не получалось, я всегда мог нагуглить пример и скопипастить. А в ворде (что микрософтовском, что в libreoffice) и проблемы удавалось решить только «методом тыка». Более того, если один раз проблему удавалось решить, через месяц имея старый документ, повторить то-же решение я не мог.
ZloAlien
Неоднократно сталкивался с тем, что в Word большой документ отображается нормально, а печатается с глюками. В LaTeX таких проблем не наблюдал, хотя объем и сложность печатаемого материала были аналогичными. Самое страшное, что справиться с такими глюками у меня не получилось. Так что, если не хотите столкнуться с ситуацией, когда, к примеру, набранную диссертацию невозможно распечатать — не используйте Word.
OnYourLips
Инструменты есть.
Но нужен один инструмент для всего документа, включая те места. где формул нет.
И по моему мнению продукт от Microsoft самый удобный.