LibreOffice & OpenOffice Tutorial
This tutorial describes how to use IDAutomation’s barcode fonts in Apache OpenOffice and LibreOffice by The Document Foundation. The solutions described here are compatible with LibreOffice 5, OpenOffice 4.0 and Star Office 8.
Prepare Office for the Use of Barcode Fonts
The following will prepare LibreOffice and OpenOffice applications such as Calc, Base, Impress or Writer for use with IDAutomation’s barcode fonts.
Barcode Creation in Calc
Barcode Mail Merge Creation in Writer
To create barcodes in a Writer mail merge using macros, it is necessary to use Calc as the data source. The field used for the data source in Writer should be the column in Calc where the formula has been applied, which is used to format the data to the barcode font. IDAutomation suggests using the last column of the spreadsheet in order to avoid any merging problems. To set up the Calc spreadsheet with the macros, please refer to the Calc Tutorial.
Barcode Creation in Base
The Following Barcode Macros are Available:
The barcode macros listed below are supplied in the file named » IDAutomationVB.bas » which is provided in the download package.
For all functions listed below, the DataToEncode is the string data type. Other data types, such as numbers or dates, may need to be converted to the string data type to be properly encoded. All parameters are required. For example, use Code128(«123456»; 0; 0) instead of Code128(«123456»). For all number symbologies, such as POSTNET and UPC, dashes or spaces may be imputed for easier readability, the dashes and spaces will be filtered out before the barcode is generated. For UPC-A, UPC-E & EAN-13, the +2 and +5 add-on codes may be created by adding the data to the end of the string.
| Function | Font to Use | Notes |
| Code128(DataToEncode; ReturnType; ApplyTilde) | IDAutomationC128 | |
| not applicable | IDAutomation_Uni_C128HR (DataToEncode; ApplyTilde) Returns text for Code 128 barcodes, such as for GS1-128. Required Font: Text Font | |
| Code-39 | IDAutomation_Uni_C39 (DataToEncode; N_Dimension; IncludeCheckDigit) Example: Required Font: IDAutomation_Uni | |
| Codabar | IDAutomation_Uni_Codabar (DataToEncode; N_Dimension; CodabarStart; CodabarStop) Example: Как создать штрих-код в Ubuntu через графический интерфейс?Я использовал barcode приложение, которое является автономной программой для запуска библиотеки штрих-кодов только в режиме CLI. Итак, какой хороший программный графический интерфейс используется для создания штрих-кода в Ubuntu 12.04. Я пришел в KBarcode но похоже нет версии для Ubuntu 12.04 Также я прихожу к TBarCode/X но последняя версия для Ubuntu была для Ubuntu 11.04 ОБНОВЛЕНИЕ: я не хочу инструменты CLI, я уже использовал большинство из них прежде, я просто хочу GUI. Я предпочитаю не использовать расширение Libreoffice, так как приложение должно использоваться в какой-то встроенной среде и не предпочитает устанавливать libroffice только для создания штрих-кода! Для завершающего голосования: не могли бы вы сказать, как это слишком широко? Тогда я думаю, что все вопросы по программному обеспечению должны быть закрыты как слишком широкие. Для downvoters: Не могли бы вы оставить комментарий по причине понижения 4 ответаЭто было извлечено из другого ответа здесь: Это было первоначально отправлено как часть ответа Mark Kirby, и было первоначально Mark Kirby отсюда. Он был извлечен и помещен здесь в своем собственном ответе по запросу ОП, потому что они требовательны к тому, чтобы «Никакие решения CLI» не были в ответе, который они принимают. Это не Вики сообщества, потому что я добавил дополнительные предварительные требования и информацию о программе с графическим интерфейсом, которую программное обеспечение может содержать / установить / собрать Вот подборка программ для Unix и Linux, которые я нашел. Эти программы только для CLI, OP запрашивает GUI Основные особенности GNU Barcode: DATHOДоступные типы штрих-кодов: EAN13 и EAN8, EAN128, UPCa и UPCe, код расширения 2- и 5-значный, Code39, Code93, CODE128, чередование 2 из 5, промышленный, матричный, Codabar. Код 11, PZN, DBP-штрих-коды Прямая печать с сервера Все обычные 1D и 2D типы штрих-кодов On-Tap / UNIXOn-Tap VMS или UNIX программное обеспечение для штрих-кодирования работает как отдельная программа и напрямую переводит (фильтрует) ваш текст в штрих-коды. После того, как On-Tap запрограммирует штрих-код вашего файла, вы можете отправить его на любой принтер в любой точке вашей сети. On-Tap позволяет печатать штрих-коды VMS или UNIX из существующих приложений за считанные минуты. Просто поместите специальный символ запуска до и после информации, которую вы хотите штрих-код. Когда вы печатаете, вместо информации, которую вы пометили, появятся штрих-коды. Он даже позволяет изменять символы запуска и контролировать интервал вокруг каждого штрих-кода. Ни одно другое программное обеспечение для штрих-кодов не обладает такими гибкими функциями. Студия штрих-кодаlibdmtxСайт был офлайн для обслуживания, позже добавлю описание Библиотека кодирования штрих-кода, поддерживающая более 50 символов, включая Код 128, Матрицу данных, USC OneCode, EAN-128, UPC/EAN, ITF, QR-код, Код 16k, PDF417, MicroPDF417, LOGMARS, Maxicode, GS1 DataBar, Aztec, составные символы и Больше. Zint имеет графический интерфейс, благодаря пользователю @Thomas W. Следуйте инструкциям по сборке и установке. Когда закончите, запустите: с & в конце (раскошелиться на задний план) В качестве небольшого дополнения, вот плагин libre офисный штрих-код в Простое расширение для создания штрих-кодов UPC-A, EAN-13, ISBN, JAN, Bookland Standard 2of 5, Interleaved 2 of 5, Code128 в LibreOffice Draw. Программирование LibreOffice Base. Часть 3Сегодня мы рассмотрим использование диалоговых окон при редактировании данных в LibreOffice Base (OpenOffice Base). Как мы выяснили в предыдущих сообщениях, Форма LibreOffice Base (OpenOffice Base) — это фактически экземпляр текстового редактора LibreOffice (OpenOffice) Writer. Для организации оконного интерфейса внутри Формы используется Диалоги — которые удобно создаются во встроенным визуальном интерфейсе, но не имеют поддержки для связи с таблицами базы данных. Эту связь будем организовывать макросами OO Basic. Начнем по-порядку. Создадим две таблицы в базе данных: products orders Создадим форму orders, добавим в форму элемент Form с именем orders. А также Table Control с источником данных orders. Как это сделать рассматривалось в Части 2 серии сообщений. При задании свойств колонки date обратите, пожалуйста, внимание на отмеченные на рисунке стрелками свойства, которые позволяют отображать данные в нужном формате и использовать выпадающий календарь для выбора конкретной даты.
Теперь прямо в таблице можно добавлять и изменять данные. До определенного момента это удобно, похоже на привычную работу клиента с табличным процессором. Но в какой-то момент начинаются проблемы, также характерные для работы с табличными процессорами. Данные можно изменить случайно, даже не заметив этого. А заметив невозможно откатить все как было. Места для новых колонок мало, и может образоваться неприятная горизонтальная прокрутка. Заголовки колонок также имеют ограничение по размеру (иначе не поместятся по горизонтали), и это не позволяет дать подробное описание данных. В качестве полумеры можно рядом с таблицей разместить обычные поля для ввода данных (Text Control, Numeric Control и т.д.). В качестве источника данных задать соответствующие поля таблицы orders и все будет работать. При навигации по набору данных будут меняться данные в полях ввода. При изменении данных в полях ввода будут меняться данные в таблице базы данных. Но выглядеть это решение будет не очень красиво. Поэтому реализуем такой функционал при помощи Диалогов. У Диалогов есть одно существенное ограничение. Поля ввода Диалогов не связаны с таблицей базы данных. Поэтому заполнение полей ввода Диалога из таблицы базы данных, и сохранение полей ввода в таблицу базы данных нужно будет делать макросом OO Basic. Впрочем, это и хорошо, т.к. позволяет рассмотреть возможности программирования OO Basic (до этого в моих сообщениях была описана работа только со средой, но все это было подготовкой к сегодняшнему сообщению). Чтобы вызвать на экран редактор Диалогов, необходимо выбрать в меню Tools->Macros->Organize Macros->LibreOffice Basic->Organizer->Dialog->New|Edit|Delete. Хотелось бы иметь более быстрый способ добраться до этого редактора. После чего откроется редактор диалога (увы, не самый удобный), в котором мы создадим поля с именами полей таблицы базы данных. Как Вы помните Диалоги не связываются автоматически с таблицами базы данных поэтому мы напишем макрос, который сделает это. И в качестве соглашения об именовании определим имена полей ввода и полей таблицы базы данных одинаковыми. Редактор с готовой формой будет выглядеть примерно так:
Далее, добавим в Диалог две кнопки. Имена кнопкам дадим произвольные, но начинающиеся с подчеркивания, чтобы отличить их от полей базы данных. Каждой кнопке в палитре свойств можно задать действие. Зададим одой кнопке действие OK — она закроет Диалог с подтверждением действия. А второй — Cancel — она закроет диалог без подтверждения действия. Закроем редактор Диалогов, и вернемся в редактор Формы. Создадим кнопку, вызывающую диалог и назначим ей процедуру-обработчик Order_Edit, в которой будем заполнять Диалог из таблицы базы данных FromBaseToDialog(oForm, oDialog), и сохранять данные из Диалога таблицу базы данных FromDialogToBase(oDialog, oForm). Предполагается, что Диалог был сохранен в библиотеке Standard под именем dialogOrder. Естественно, Вы можете выбрать другие имена. Имена контролов, начинающиеся с подчеркивания пропускаются и не обрабатываются. Также не обрабатываются имена, начинающиеся с Label, которые используются для текстовых заголовков полей. Учимся работать в LibreOffice Writer правильноЭта статья по сути будет клоном первой статьи «Учимся работать в Microsoft Word правильно», только про LibreOffice Writer. В ней мы также научимся создавать в LO Writer гибридную систему нумерованных и ненумерованных заголовков, и я покажу вам, насколько в LO Writer это делать проще и быстрее. Для этой и последующих статей предполагается, что мы работаем по ГОСТ 7.32-2001, и далее он упоминаться больше не будет. В этой статье также будет проведено сравнение работы с заголовками в MS Word и LO Writer, как это было сделано в прошлой статье для работы с изображениями. Кроме того мы научимся работать в LO Writer со сложной нумерацией рисунков. Здесь мы также будем наследовать свои стили «Нумерованный заголовок 1-5» и «Структурный элемент отчета» от стилей «Заголовок 1-5». Напомню, что стиль во Writer создается в панели «Стили и форматирование» с помощью пункта контекстного меню «Создать. ». Во вкладке «Управление»: 1. Задаем имя стиля «Нумерованный заголовок 1»; 2. Устанавливаем автообновление; 3. Устанавливаем следующий стиль «Основной текст»; 4. Наследуем стиль от «Заголовок 1»; 5. Помещаем стиль в категорию «Стили пользователя». Если вдруг LO Writer самовольно решит перенести стиль в другую категорию – ничего страшного, это ни на что не влияет. Во вкладке «Отступы и интервалы»: 1. Устанавливаем отступ первой (красной) строки 1,25 см. Галку «Автоматически» не устанавливать, иначе Writer будет наследовать значения отступов из стиля «Заголовок 1». 1. Установим обычный «Liberation Serif» – это свободный аналог «Times New Roman». Динозавров, пользующихся Windows XP, заставьте установить шрифт «Liberation Serif» в их систему. Во вкладке «Положение на странице»: 1. Включите автоматическую расстановку переносов. В LO Writer она устанавливается для каждого стиля индивидуально – это преимущество №1 LO Writer по сравнению в MS Word в данной статье. Ключевой вкладкой для нас здесь является вкладка «Структура и нумерация». На данной вкладке мы устанавливаем связь между создаваемым стилем «Нумерованный заголовок 1» и одним из предустановленных нумерованных списков. Сразу хочу отметить, что, в отличие от MS Word, все нумерованные списки в LO Writer являются многоуровневыми, и в нем нет необходимости создавать собственный многоуровневый список, достаточно для целей нумерации заголовков немного поправить структуру одного из стилей «Нумерованный список 1-5» (и это преимущество LO Writer №2 при работе с заголовками). В данном случае мы сделаем это со стилем «Нумерованный заголовок 1». Итак, на вкладке «Структура и нумерация»: 1. Устанавливаем стиль нумерации «Нумерованный список 1». Обратите внимание, что при следующем редактировании кнопка «Изменить стиль» станет доступна только после того, как мы еще раз дернем выпадающий список «Нумерация». Это небольшая недоработка разработчиков; 2. Нажмем на кнопку «Изменить стиль» и установим первые пять уровней, как мы делали это в Word: на каждом уровне в поле «Разделитель – После» убираем точку, и в поле «Все уровни» устанавливаем текущий уровень. После этого по аналогии настраиваем стили «Нумерованный заголовок 2-5», наследуя их от стилей «Заголовок 2-5», и используя в качестве стиля нумерации уже настроенный стиль «Нумерованный список 1». Аналогично настраиваем стиль «Структурный элемент отчета» с той лишь разницей, что в поле «Стиль нумерации» устанавливаем «Нет», а на вкладке «Эффекты шрифта» в поле «Эффекты» выбираем «Прописные буквы». Нам не нужно настраивать оглавление как в MS Word. Writer автоматически подхватывает все уровни заголовков и понимает, что их следует использовать. И это преимущество LO Writer №3. Единственное, что нам следует сделать – это поменять заголовок оглавления. Оглавление настраивается в пункте меню «Вставка – Оглавление и указатели – Оглавление указатель или библиография. »: В поле «Заголовок» мы стираем слово «Оглавление» и пишем слово «Содержание». После нажатия на кнопку «ОК» наше содержание будет выглядеть примерно так: Далее мы можем настроить стиль «Заголовок оглавления», кликнув правой кнопкой мыши по слову «Содержание», и выбрав в контекстном меню «Стили – Изменить стиль. ». Настроив шрифт, выравнивание по центру и прописные буквы мы получим то, что соответствует нашей цели: Единственное, что осталось отметить: нумерованные списки в LO Writer работают иначе, чем в MS Word. Любой заголовок на самом деле может иметь любой уровень, который регулируется с помощью контекстного меню «Повысить на один уровень» / «Понизить на один уровень». При добавлении заголовка он изначально всегда получает Уровень 1 (то есть заголовок будет выглядеть: «1 Устройство синхрофазотрона»). Затем заголовку можно задать любой уровень. При нажатии на «Понизить на один уровень» получится «1.1 Устройство синхрофазотрона». В конце данной статьи мне бы хотелось рассмотреть работу в Для настройки сложной нумерации в окне «Вставить название» следует нажать кнопку «Параметры. ». В открывшемся окне «Параметры названия» нужно выбрать «Уровень 1», если мы хотим иметь нумерацию рисунков типа «Рисунок 1.1», выбрать «Уровень 2», если хотим иметь «Рисунок 1.1.1» и т. д. Также в окне «Вставить название» есть замечательная кнопка «Авто. », которая позволяет забыть о подписях рисунков после настройки их автодобавления. Для настройки автодобавления подписей следует установить галку «Изображение LibreOffice Writer» и установить те же настройки, что и в окнах «Вставить название» и «Параметры названия». И это преимущество LO Writer №5. По правде говоря, данное сравнение явно не в пользу MS Word. Мы начинаем понимать, что возможности LO Writer гораздо шире, хоть он и совершенно свободный и бесплатный. В конце статьи я оставляю ссылку на шаблон Normal.ott, в котором содержится структура заголовков, созданная в данном уроке. Шаблон можно добавить с помощью пункта меню «Файл – Создать – Шаблоны. ». Затем нажать на кнопку «Импорт. » и выбрать категорию «Мои шаблоны», после чего выбрать файл Normal.ott из локации, в которую Вы его загрузили. В следующей статье я расскажу, как работать с макросами в Microsoft Word. Большой объем работы в ноябре все-таки подстегнул меня на доведение их до ума. Найдены возможные дубликатывопрос есть. а как у либра с таблицами в доковских файлах? прошлой весной нашел он пятак» но в нашей пустыне встречаются не только лишь насекомые и ящерицы. вот в чем фикус-пикус. есть конторы которые богатые и покупают мелкомягкий офис. и тамошним ты как тот чукча из анекдота (который армяну говорил что это его жена а армян все равно не понимает и лезет к жене чукчи) долдонишь что у тебя опенофис а они не понимают. а у нас дирик зажлобил купить мелкомягкий офис и велел осваивать опенофис. Так что же? Может ворд и не необходим? Может тот Либрари лучше для целей школьника/студента Подскажите, пожалуйста, как посмотреть какое место в тексте определенно с данным стилем. Т.е. я выбираю стиль, а в редакторе подсвечивается текст с заданным стилем. Вроде в Word такое можно сделать. А вы используете какие либо расширения для libreoffice? все равно не поможет. я тебе могу доку скинуть вордовскую, это типа личное дело школьника. так вот у меня аж глаз задергался когда я увидел это поделие, а вроде как и образованный человек делал. люди никогда не будут делать доки правильно. Я уже перерос идеализм и скептицизм. Наступил реализм: поможет тому, кто захочет помочь себе. Сие творение уже научилось ставить запятые перед «а» и «но»? Есть много куда более объективных и весёлых поводов для хейта ОпенОфиса Наша победа! Сообществу быть!Уважаемые подписчики, спешу вас обрадовать @SupportCommunity разрешил создать сообщество посвящённое Office. Спасибо вам за поддержку)) Сообщество будет посвящено MS Office, Libreoffice и Google docs. Я хочу чтобы сообщество приносило пользу многим, дабы облегчить работу офисному брату)) Тех кто владеет Libreoffice и Google docs призываю вас быть активней, сообществу понадобятся модераторы, чтобы следить за порядком и публиковать полезные посты. Рисуем в Word/Excelвсе перечислять не буду, думаю и так понятно. Если выделить фигуру у ней есть белые точки, которые меняют ее размер, для большинства фигур есть зеленая точка, которая поворачивает фигуры. Внимание лайфхак! Если перетаскивать размерные точки и зажать Shift то фигура будет изменяться пропорционально, если зажать Ctrl то также будут перетаскиваться точки на противоположной стороне фигуры (как бы симметрично) При перемещении фигуры если зажать Shift то фигура будет перемещаться по 1 оси, если Ctrlто при отпускании кнопки мыши фигура скопируется. Фигуры можно группировать и разгруппировывать (выпадающее меню при выборе нескольких фигур через зажатый Ctrl, пункт «Группировать»), например для удобства их масштабирования, перемещения, копирования. также можно выставлять «передвигать» фигуру на передний либо на задний план(выпадающее меню, пункт « на передний план», «на задний план»), на один «слой» вперед или на один назад. Изначально каждая новая фигура рисуется поверх предыдущих. Есть еще о чем рассказать в этом направлении, про заливки, про прозрачность, про кривые, если эта тема будет интересна расскажу поподробнее. Стилизованный автомат AUG проволока для Вейпа Стилизованное изображение девушки Основные правила типографики при работе в Microsoft WordСегодня мы разберем основные правила типографики. Как говорит нам врикипедия, Типографика (от греч. τύπος — отпечаток + γράφω — пишу) — искусство оформления при помощи наборного (не рисованного) текста, базирующееся на определённых, присущих конкретному языку правилах, посредством набора и вёрстки. Некоторые из этих правил, которые постоянно нарушают при написании текстов в MS Word как школьники, так и вполне взрослые люди, мы сейчас и разберем. Все нижеперечисленные правила применяются полностью и исключительно для облегчения восприятия печатного текста читателем, облегчения набора текста автором и совместимости с другими текстовыми редакторами. 1. Не используйте перевод строки для создания интервала до и после абзаца. Вместо этого настройте несколько стилей для разных элементов текста (заголовки, основной текст, таблица, рисунок), и в каждом из них настройте необходимые интервалы до и после абзацев. Этим вы избавите себя от необходимости регулярно создавать интервалы; 2. Не переходите на новую страницу с помощью многократного перевода строки – велика вероятность того, что при открытии вашего документа в другой версии программы, текст будет начинаться не с новой страницы. Для перехода на новую страницу используйте функцию «разрыв страницы» (Ctrl + Enter); 3. Для выравнивания по ширине используйте функции выравнивания содержимого (Ctrl +L, Ctrl +E, Ctrl + R, Ctrl + J). Лучше всего применить одну из этих функций один раз для каждого стиля в тексте, и затем просто назначать новым фрагментам уже настроенные стили; 4. Не используйте дефисы или тире, набранные вручную, для маркированного списка. Просто единожды воспользуйтесь функцией «Определить новый маркер…» и настройте стиль для маркированных списков; 6. Не используйте двойные и более пробелы – пользуйтесь автоматической расстановкой переносов; 7. Не делайте границы таблиц жирными. Человеческий взгляд должен цепляться за содержимое таблицы, а не за границы ее ячеек; 9. Не используйте функцию «Уравнение» для вставки в текст отдельных букв греческого алфавита. Для этого существует функция «Символ». Использование уравнений для вставки одного символа – это наиглупейшее действие, потому что этим вы попросту нагружаете документ; 1. Не вставляйте в документ изображения огромного разрешения. Уменьшайте их перед вставкой с помощью растровых редакторов (например, GIMP). Нет смысла использовать изображения, превышающие по ширине 1280 px, т.к. качество изображения, ограниченного полями документа и напечатанного на бумаге, от этого не повысится, а скорость обработки документа на слабых компьютерах значительно упадет; 2. Если вам лень пользоваться растровыми редакторами для соединения нескольких изображений в одно (рисунок 1а, 1б, 1в, 1г), используйте таблицу со скрытыми границами для вставки в нее всех изображений вместо использования плавающих рисунков, иначе документ не будет правильно отображаться в LO Writer и других версиях MS Word. О плавающих рисунках в MS Word, не привязанных к конкретному символу, просто забудьте; 3. Не комбинируйте текст с растровыми изображениями. Идентификаторы рисунка (а, б, в…) или указатели на элементы схемы (1, 2, 3…) должны быть выполнены в растре, на самом рисунке, а не рядом с ним или поверх него. Если хотите пользоваться рисованием в MS Word («Вставка – Фигуры») – пользуйтесь, но только затем переводите полученное таким образом гибридное изображение (фигуры + текст + растр) в растр. Шанс, что ваше гибридное изображение правильно откроется в LO Writer или другой версии MS Word стремится к нулю. 4. Не вставляйте в документ MS Word графики, полученные в MS Excel или таких программах как Grapher. Вместо этого, перед вставкой в документ MS Word, экспортируйте графики из приложений, работающих с вектором, в растр. Этим вы избавите ваших соавторов от лицезрения «крякозябр» на подписях к осям графиков по причине отсутствия у соавторов необходимых шрифтов. 1. В конце заголовков точка не ставится. Никогда, ни при каких обстоятельствах. Она может быть только между предложениями, составляющими заголовок, внутри него. Если вам выслали текст, в конце заголовков которого поставлены точки, можете сразу быть уверены, что за этим человеком придется переделывать абсолютно всё; 2. Для тире используйте «–» (Alt+0150) или «—» (Alt+0151), а не дефис «-». Дефис ставится исключительно в наречиях, междометиях, сложных прилагательных, сложных существительных и между числительными. Популярно и подробно об этом написано здесь. 3. В книжной верстке в качестве базовых кавычек используйте «», а не «» или “”; 4. Используйте для обозначения градуса «°» (Alt+0176), а не «0» или «o» в верхнем регистре; 5. Для функции «умножить» используйте символ «∙» (Alt+0183), а не «*». Знак «∙» исполь-зуется в математических формулах; 6. Для функции «умножить» используйте символ «×» (Alt+0215), а не «х». Знак «×» используется при указании габаритных размеров; 7. Важные сокращения: КПД, а не к.п.д., но вуз; 1. В MS Word раскладка клавиатуры меняется с помощью «Win + Space». Традиционное для Windows «Shift + Alt» включает режим управления с клавиатуры. Зачем они так сделали я не знаю; 2. «Shift +F3» – замена выделенных строчных букв прописными и наоборот; 3. «Ctrl + A» – выделить все; 4. «Ctrl + A» + «F9» – обновить все поля; 5. «Ctrl + Shift + Space» – неразрывный пробел; 6. «Shift + Enter» – перевод строки без смены абзаца; 7. «Ctrl + Plus» – перевод выделенного текста в нижний регистр; 8. «Ctrl + Shift + Plus» – перевод выделенного текста в верхний регистр; 9. «Alt + 0178» и «Alt + 0179» – 2 и 3 в верхнем регистре. Полезно при наборе единиц измерения и тем, что регистр не сбрасывается при вставке с помощью функции «Сохранить только текст» или при применении функции «Очистить все» на панели «Стили»; 10. «Alt + F11» – вызов редактора Visual Basic For Applications; И последнее. Если вам кажется, что выравнивать текст по центру, делать жирными границы таблиц и использовать «гомик санс» – это стильно и круто, просто убейтесь и не отравляйте фактом своего существования жизнь нормальных людей. В следующий раз мы рассмотрим работу со списком литературы. Основы программирования в Microsoft Word. Работа с макросамиВ этом уроке мы разберем среду для редактирования макросов, изучим некоторые базовые команды и научимся запускать макросы с помощью горячих клавиш. Основное меню для работы с макросами расположено в «Вид – Макросы». Как записывать макрос мы разбирать не будем, потому что это слишком просто и описано уже миллион раз. Вместо этого мы будем учиться писать макросы самостоятельно. Макросы в MS Word пишутся на упрощенной реализации языка Visual Basic – VBA или сисярпе. В данном уроке мы написание макросов на сисярпе разбирать не будем – я этого языка попросту не знаю, т. к. не питаю особенно теплых чувств к разработкам Microsoft. Для данного урока я написал следующие макросы, помогающие исключить из работы всплывающие окна с последующим выбором из списков (что отнимает уйму времени): 1. Для вставки нумерации рисунков и таблиц (бывает полезно, когда приходится оживлять чужой документ, набранный на печатной машинке производства Microsoft); 2. Для вставки подписей к рисункам и таблицам вида «Рисунок 1 – » и «Таблица 1 – »; 3. Для вставки ссылок на нумерацию рисунков и таблиц вида «° Велик соблазн хранить все макросы в отдельном шаблоне global_macros.dotm, как это описано здесь. Но, как выяснилось, работает это только в MS Office for MAC. Под Windows, после переноса файла global_macros.dotm в папку STARTUP (C:\Documents and Settings\< Настроек, подобных «Личные параметры – Расположения файлов» в Microsoft Word 2013 for Windows я не обнаружил (возможно, это уже реализовано в MS Word 2016 или 365). Поэтому, в качестве более универсального решения, я рекомендую добавлять макросы в базовый шаблон Normal.dotm с помощью редактора Microsoft Visual Basic for Applications, который открывается из MS Word с помощью комбинации клавиш «Alt + F11». Из-за проблем с кодировкой копировать код с русскими буквами нужно только при включенной русской раскладке. Более хирургические варианты решения этой проблемы описаны тут. Итак, с помощью контекстного меню «Insert – Module» к шаблону «Normal» добавляем новый модуль, в который мы будем копировать скрипт. Этот эффект лично у меня проявился не сразу (через несколько дней после начала работы с макросами, изначально все назначенные горячие клавиши работали как надо), но он исчез сразу после того, как я переименовал все процедуры. Теперь настроим горячие клавиши для запуска макросов. Для этого переходим в «Файл – Параметры – Настроить ленту – Сочетания клавиш: Настройка. » В данном примере мы теперь можем добавить подпись к таблице комбинацией клавиш «Ctrl + Shift +ю». Теперь разберем три из шести написанных макросов для рисунков (макросы для таблиц абсолютно аналогичны). В принципе, программирование на бейсике особо ничем не отличается от программирования на остальных языках. Современный бейсик похож на Python и Ruby тем, что в нем используются отступы. Комментарии (неисполняемые строки) начинаются с одинарной кавычки. Как я уже упоминал, процедура в VBA начинается со слова Sub, и заканчивается End Sub. Переменная объявляется с помощью команды Dim, значение переменной устанавливается с помощью команды Set. Пожалуй, это все, что нам необходимо знать для того, чтобы начать писать простейшие скрипты. Писать скрипты можно непосредственно в редакторе Microsoft Visual Basic for Applications (он «на лету» исполняет скрипт и показывает ошибки), но мне для демонстрации проще делать это в текстовом редакторе Notepad++. Опишем скрипт InsertImageSequence.bas (вставить номер рисунка). В целом для написания собственных скриптов вам понадобится научиться работать с полями и текстом. Логика написания скрипта такая: 1. Нам нужно добавить поле, которое выводит номер последовательности. Посмотреть вид этого поля можно в контекстном меню «Коды / значения полей», кликнув по полю, полученному традиционным способом, правой кнопкой мыши; 2. Далее необходимо указать место, в которое мы хотим вставить текст / поле. В данном случае это текущее местонахождение выделения / курсора. Все основные операции с текстом в VBA замечательно описал Биллиг Владимир Арнольдович, и для понимания работы с объектами Range и Selection, которые мы будем использовать, я рекомендую прочитать его статью; 3. Необходимо в выделение добавить поле с присвоенным ему типом (в данном случае SEQ). Для этого мы будем использовать метод Add, описанный в документации Microsoft. Как обозначаются типы полей в скриптах описано здесь. В данном случае нам необходимо узнать, как обозначается в скрипте тип поля SEQ (wdFieldSequence), чтобы указать его в качестве параметра Type метода Add. Также необходимо указать параметры, которые мы посмотрели в пункте 1. В итоге у нас получается что-то типа этого Элементарно. Здесь просто добавились некоторые методы из статьи Биллига для добавления текста до и после поля. Наконец, рассмотрим скрипт InsertRefToImage.bas (добавить ссылку на изображение). Что использовалось для написания последнего скрипта: Все эти замечательные рецепты ищутся в обыкновенном google по запросу, начинающемуся на «word macro» или «word vba». В следующей статье мы рассмотрим основные правила типографики и работу со списком литературы в MS Word. Учимся работать в Microsoft Word правильно. Работа с рисункамиСегодня я продолжаю цикл статей о правильной работе в MS Word. В этот раз я расскажу о работе с изображениями и начну рассказывать о работе с полями. В комментариях к предыдущей статье меня многие упрекали в том, что я не написал о том, как формировать документ без применения перевода пустых строк и выравнивать заголовки без помощи пробелов. В данной статье я частично исправлю допущенную оплошность, и продемонстрирую формирование документа с помощью стилей на примере изображений. Также в этой статье я проведу сравнение между MS Word и LibreOffice Writer с тем, чтобы показать преимущества и недостатки каждого из них при работе с изображениями. В этот раз начнем с LibreOffice Writer. Сначала предварительно подготовим места под изображения. В соответствии с ГОСТ 7.32-2001 они должны быть выравнены по центру. Вместо того, чтобы выравнивать каждое изображение с помощью функции «Центрировать по горизонтали (Ctrl + E)» или выравнивать на глаз с помощью пробелов, обратим внимание на правую боковую панель, которая с недавних пор появилась во Writer. Эта панель, в числе прочего, содержит в себе вкладку «Стили и форматирование». Нам мой взгляд вызов этой панели гораздо удобнее (преимущество Writer №1), чем вызов аналогичной панели в MS Word с помощью «Alt + Clrl +Shift +S» или «нанокнопки» в правом-нижнем углу меню «Стили». В панели «Стили и форматирование» создаем стиль «Место рисунка» во Writer на основе стиля «Базовый», нажимая на пункт «Создать» в контекстном меню. Для этого нам потребуется подредактировать вкладки «Управление», «Отступы и интервалы» и «Выравнивание»: 1. Устанавливаем новому стилю имя «Место рисунка»; 2. Включаем его автообновление; 3. Устанавливаем стилем абзаца, следующего за рисунком, стиль «Основной текст»; 4. Устанавливаем интервал после абзаца 1.00 см, чтобы зрительно отделить текст документа от рисунка и подписи к нему; 5. Наконец, на вкладке «Выравнивание» устанавливаем выравнивание объекта по-центру. Таким образом мы создали стиль «Место рисунка», которым следует назначать все абзацы, в которые попадут рисунки. Последние окажутся выравненными по центру. При вставке изображения с помощью пункта меню «Вставка – Изображение» Writer добавляет его с привязкой к абзацу (недостаток Writer №1). При этом мы видим якорь в левом-верхнем углу. Изображение нельзя оставлять в таком виде, потому что без четкой привязки к конкретной строке или символу оно будет постоянно сдвигаться, пока мы будем править документ. Нам это совершенно не подходит, и нужно что-то гораздо более простое, а именно – привязка «Как символ». Чтобы текст просто находился сверху и снизу изображения, которое было бы абсолютно статичным. Данное действие несомненно избавит Вас и ваших соавторов от будущих проблем. Далее разберем, каким образом во Writer реализована автоматическая нумерация рисунков. Для добавления нумерации необходимо сделать правый клик по изображению и вызвать контекстное меню, в котором выбрать пункт «Вставить название. ». В форме «Вставить название» мы: 1. Пишем текст подписи изображения; 2. Выбираем категорию «Рисунок»; 3. Назначаем нумерацию арабскими цифрами; 4. Устанавливаем в виде разделителя между нумерацией и подписью по ГОСТ 7.32-2001 тире (а не дефис!). Тире устанавливается с помощью комбинации клавиш «Alt + 0150»; 5. Устанавливаем положение подписи: «Снизу» рисунка. После нажатия на кнопку «ОК» мы увидим что-то типа этого: Затем этими стилями приходится заменять все стили «Название объекта». Как видно на рисунке, во время вставки нумерации и подписи к изображению, вокруг него и подписи автоматически создается фрейм, который задает подписи границу слева. Это очень удобно, потому что как раз это соответствует нашему ГОСТ 7.32-2001 (преимущество Writer №3). MS Word при вставке подписи к изображению просто помещает ее снизу изображения, и ее левый край оказывается ограничен левым полем документа. Ранние версии MS Word помещали подпись в отдельный фрейм, что было еще хуже. Далее мы научимся пользоваться перекрестными ссылками. Во Writer они добавляются с помощью пункта меню «Вставка – Перекрестная ссылка. ». На вкладке «Перекрестные ссылки» мы должны выбрать: 2. Вставить ссылку на: «Нумерация», чтобы вставить в текст просто порядковый номер рисунка. И это является преимуществом Writer №4, т. к. в MS Word ссылку на номер рисунка можно вставить только в виде «Название объекта + порядковый номер объекта» («Постоянная часть и номер», «Рисунок 1», «Таблица 1»). И, самое главное, «Рисунок» и «Таблица» не склоняются, потому что это просто перевод английских «Figure» и «Table», у которых склонений нет. А нам-то нужно писать: «На рисунке 3 изображен синхрофазотрон. » или даже просто «(см. рисунок 3)», но «рисунок», а не «Рисунок». В свое время именно это сподвигло меня на формирование 500-страничного документа именно во Writer, а не в MS Word. Теперь разберем работу с изображениями в MS Word. Сначала настроим стиль «Место рисунка» аналогично тому, как мы сделали это во Writer. Напоминаю, что создать стиль в MS Word можно нажав на кнопку в левом-нижнем углу меню «Стили». В MS Word базовые настройки стилей вынесены в одно окно: 1. Задаем имя стиля «Место рисунка»; 2. В качестве базы для наследования выбираем стиль абзаца «Обычный»; 3. Стиль следующего абзаца устанавливаем «Название рисунка», который также необходимо предварительно настроить. Интервал до и после абзаца задается в пункте «Абзац» подменю «Формат» снизу формы «Создание стиля»; 4. Выставляем выравнивание по центру; 5. Как обычно не забываем установить галку напротив «Обновлять автоматически». В MS Word добавление рисунка в документ осуществляется через вкладку меню «Вставка – Рисунки». Рисунок при этом сразу вставляется с привязкой «как символ». Это преимущество MS Word №1. Подпись к рисунку в MS Word добавляется с помощью пункта контекстного меню «Вставить название. ». В итоге мы получаем подпись к рисунку со стилем «Название объекта», который тут же приходится менять на стиль «Название рисунка». Цифра «1» выделена темно-серым цветом. Это означает, что цифра является полем (переменной, счетчиком). При добавлении следующей подписи к рисунку, новое созданное поле будет содержать цифру «2». Также необходимо отметить, что в контекстном меню содержится пункт «Коды/Значения полей», нажатие на который позволяет увидеть код поля. Это может пригодиться при последующей работе с макросами. Видно, что в данном случае мы имеем sequence (последовательность) со встроенным именем «Рисунок» и арабской нумерацией. В принципе, никто не мешает нам создать свое поле с произвольными параметрами с помощью пункта меню «Вставка – Экспресс-блоки – Поле. ». На работе с полями MS Word мы подробно остановимся в следующей статье о макросах, но, в принципе, использование полей неплохо описано в статье некой Татьяны Сущенко. Перекрестные ссылки в MS Word вставляются с помощью пункта меню «Вставка – Перекрестная ссылка». При вставке ссылки необходимо выбрать: 1. Тип ссылки: «Рисунок» (после этого появятся рисунки на выбор); 2. Вставить ссылку на: «Постоянная часть и номер». Обозначенная выше проблема со вставкой перекрестной ссылки в виде «Постоянная часть и номер» в MS Word, на данный момент, решается двумя способами. Первый способ широко известен. Пишем, например, «см. рисунок» и добавляем дальше перекрестную ссылку в том виде, как это позволяет делать MS Word. Затем просто выделяем слово «Рисунок» прямо по ссылке и нажимаем «Ctrl + Shift + H», скрывая эти буквы. Они оказываются подчеркнуты пунктирной линией, и становятся видны только в режиме «Отобразить все знаки», но не видны в режиме просмотра, и не видны принтеру. Второй способ работает следующим образом. Выделяем номер рисунка, нажимаем «Вставка – Закладка», называем закладку, например, «Рисунок_1» (пробелы в названиях закладок запрещены). После этого создаем перекрестную ссылку не на рисунок, а на закладку рисунка (которая, фактически, оказывается в том же месте, что и номер рисунка). При добавлении перекрестной ссылки выбираем «Вставить ссылку на: текст закладки». У второго способа, не смотря на его сложность, есть один неочевидный плюс: перекрестную ссылку на рисунок невозможно вставить программным способом с помощью макроса, потому что название поля REF для перекрестной ссылки на рисунок MS Word назначает случайным образом. А вот ссылку на закладку можно вставить в виде поля REF, если знать имя закладки, которое только что назначили мы сами («Рисунок_1»). Безусловно, оба вышеприведенных способа – это просто костыли, которые приводят к необходимости кучи дополнительной работы. Хочу сразу предупредить, что в этой статье сознательно не была упомянута работа со сложной нумерацией рисунков типа «1.1», где первая цифра – номер главы. Статья и так получилась безумно длинной и перегруженной информацией. Для понимания работы сложной нумерации рисунков нам необходимо будет предварительно разобрать работу с главами и понять основные принципы использования полей. Также работа с главами не совсем коррелирует с многоуровневыми списками на основе стилей, наследованных от стилей «Заголовок 1-5», что вызывает определенные проблемы. В частности, именно из-за этого я в своих работах просто отказался от использования сложной нумерации, хотя это и не соответствует ГОСТ 7.32-2001, в котором нумерация рисунков должна включать в себя номер раздела. Последнее, что хотелось бы отметить: поля в MS Word не всегда обновляются автоматически. Ручное обновление полей осуществляется с помощью комбинации клавиш «Ctrl +A» и «F9». По сравнению MS Word и LibreOffice Writer в части работы с изображениями подводим итог: Можете расценивать это как хотите, но совсем не исключено, что в других аспектах MS Word покажет себя лучше. В следующих статьях мы рассмотрим работу с полями, макросами, и разберем возможные способы обхода проблем со сложной нумерацией рисунков, включающей номер главы. Также будет представлен новый шаблон, включающий в себя несколько простых макросов, позволяющих ускорить работу с таблицами, изображениями и перекрестными ссылками. Позже мы также рассмотрим: • Совместную работу в word, передачу шаблона, копирование текста; • Переворот страницы в альбомную, границы разделов; • Вставку таблиц из excel; • Работу с маркированными и нумерованными списками; • Создание и использование списка литературы, ссылки на элементы списка литературы; • Совместимость MS Word и LibreOffice Writer; • Бестолковые локации MS Word, его косяки. Учимся работать в Microsoft Word правильноТак уж получилось, что по долгу службы мне часто приходится использовать MS Word для написания научно-технических отчетов. В течение 10 лет на работе я практически ежедневно сталкиваюсь с тем, что компьютер вместе с этим довольно мощным редактором текстов люди преимущественно используют в качестве аналога пишущей машинки. В принципе, этого хватает для написания служебной или объяснительной записки, но когда человек начинает таким же образом формирование реферата, научно-технического отчета или написание книги, такая работа, в силу необходимости регулярной редактуры ранее написанного, очень быстро становится пыткой. И такой же пыткой становится редактирование текста человеком, умеющим работать в MS Word, после правок, внесенных человеком, работать в нем не умеющем. Здесь я постараюсь отразить основные вехи того, как делать правильно, и как делать не следует. Далее я покажу, что текстовый редактор MS Word изначально разрабатывался программистами и для программистов, а не для прочих людей. Впрочем, со мной вполне согласна Светлана Семененко. Вначале сделаем небольшое отступление и упомянем тот факт, что работать в текстовом редакторе необходимо исключительно в режиме правки или «Отобразить все знаки» (Ctrl + *). Делать это нужно по той простой причине, что иначе Вы просто не будете видеть многие служебные знаки, которые требуются для правильной ориентации по документу и правильного понимания того, чем на самом деле является конкретное место документа (списком, основным текстом или заголовком). Вы также не будете понимать, что в данном месте находится такая важная и полезная вещь как неразрывный пробел (Shift + Ctrl + Space) или перевод строки без создания нового абзаца (Shift + Enter). Первое используется преимущественно для добавления в текст единиц измерения физических величин, второе нужно значительно реже. Вы также не будете видеть сколько вы отбили случайным образом лишних пробелов и сделали лишних переводов строки. Последнее вообще рекомендуется делать только в случае необходимости создания нового абзаца, а не для перехода на новую страницу – для этого существует функция «Вставить разрыв страницы» (Ctrl + Enter). Документ с кучей пустых строк смотрится отвратительно и по-разному открывается в различных версиях MS Word (вы рискуете не увидеть начало новой порции текста там, где вы это задумали, и количество страниц также может отличаться). Итак, вернемся к программированию. Книга или научно-технический отчет – это документ, имеющий много уровней сложности. Это обстоятельство сразу же налагает некоторые ограничения и устанавливает определенные требования при работе с текстовым редактором. Первое из таких требований: необходимо соблюдать принцип DRY, как это делают программисты при написании кода, потому что если этого не делать, то мы просто устанем править подобные элементы по одному. В MS Word есть весь необходимый инструментарий для соблюдения принципа DRY, и главный элемент этого инструментария – встроенные классы с их методами, которые мы можем использовать при объявлении переменных. В современных версиях MS Word практически все возможные действия с классами оформлены в виде набора функций, вынесенного в меню (зачастую не слишком удачно). Первое, что необходимо освоить начинающему работать в текстовом редакторе – использование стилей (Alt + Ctrl + Shift + s). Представленная изначально система ненумерованных заголовков исходного шаблона Normal.dotm (который находится в папке C:\Users\< В MS Word присутствуют базовые (!) стили заголовков (Заголовок 1, Заголовок 2, Заголовок 3…). Но это совсем не означает, что нам нужно их использовать в исходном виде. От них необходимо наследоваться – вот вам и второе требование из мира программирования. Для того, чтобы настроить свою гибридную систему заголовков нам нужно запомнить две основные локации: Главная – Многоуровневый список – Определить новый многоуровневый список Необходимо сразу отметить, что обыкновенные маркированный и нумерованный списки в силу их примитивности и ограниченной сферы применения (нет связи с уровнями оглавления, невозможно переопределить принцип нумерации, невозможно установить символ после номера) мы будем использовать только для создания списков внутри разделов, не участвующих в формировании основной структуры документа. Итак, сначала создадим новые стили для нумерованных заголовков. Начнем со стиля «Нумерованный заголовок 1». Для этого внизу панели «Стили» нажимаем на кнопку «Создать стиль». Откроется примерно такое окно. Что необходимо здесь отметить: 1. Изначально «Нумерованный заголовок 1» создается совершенно ненумерованным. Это совсем нестрашно, и решаемо на следующем этапе настройки во время создания связки с многоуровневым списком; 2. Стиль устанавливаем обязательно «Связанный (абзац и знак)»; 3. Основан на стиле: «Заголовок 1» – то самое наследование. То есть все свойства стиля «Заголовок 1» будут также использоваться в стиле «Нумерованный заголовок 1» кроме тех, которые вы сами переопределите; 4. Стиль следующего абзаца: «Основной текст». Это стиль следующей после заголовка строки. Я рекомендую использовать стиль «Основной текст» в качестве стиля для базового текста документа вместо стиля «Обычный» для лучшей совместимости с LibreOffice; 5. Не забудьте поставить галочку «Обновлять автоматически». Это позволит автоматически менять вид документа после обновления данного стиля без необходимости нажатия клавиш «Ctrl +A» и «F9»; 6. Все остальные настройки – это некая эзотерика, которая позволяет привести вид заголовка к его прообразу в ГОСТ 7.32-2001 (цвет, размер шрифта, выравнивание, отступы, кернинг, интерлиньяж). Далее мы просто создаем подобным же образом стили «Нумерованный заголовок 2» – «Нумерованный заголовок 5». Как правило, пяти уровней нумерованных заголовков хватает для создания сложного документа объемом 300-500 страниц. Наследуемся при этом от соответствующих базовых стилей заголовков «Заголовок 2» – «Заголовок 5». Вторым этапом настройки системы гибридных заголовков будет настройка многоуровневого списка. Для этого мы выбираем любую строку и назначаем ей только что созданный стиль «Нумерованный заголовок 1». Далее переходим в Главная – Многоуровневый список – Определить новые многоуровневый список, нажимаем кнопку «Больше >>» и видим примерно такое окно. Здесь необходимо отметить следующее: 1. Применить ко всему списку – структура многоуровневого списка должна проходить через весь документ; 2. Ключевой момент – связываем уровень 1 с только что созданным стилем «Нумерованный заголовок 1»; 3. Формат номера – просто число, без всяких точек. Точками отделяются только уровни, как вещает нам наш американский стандарт. То есть, не «1. Текст заголовка», а «1 Текст заголовка». Такой подход интересен тем, что он практически не используется в издательском деле. Смысл подхода заключается в минимизации необходимого количества служебных знаков в документе без потери понимания его смысла; 4. Символом после номера назначаем пробел вместо знака табуляции, чтобы не иметь регулярных проблем с расстоянием между номером и заголовком. Далее связываем уровни 2-5 с соответствующими стилями «Нумерованный заголовок 2» – «Нумерованный заголовок 5». Обратите внимание на формат номера: два числа, разделенные точкой, в конце точки нет. К вышеприведенным четырем пунктам добавляется только настройка нумерации: для уровня 2 выставляем «Нумеровать заново: Уровень 1», чтобы нумерация не была сквозной. Последним этапом будет настройка оглавления. В «Ссылки – Оглавление – Настраиваемое оглавление – Параметры» мы выставляем уровни заголовков, которые должны отображаться в автособираемом оглавлении. В данном случае мы выставили первый уровень для стилей «Нумерованный заголовок 1» (по левому краю, строчными буквами) и «Структурный элемент отчета» (например, ВВЕДЕНИЕ, РЕФЕРАТ, ЗАКЛЮЧЕНИЕ – заглавными буквами и по-центру, также наследуется от «Заголовок 1»). Теперь в автособираемом оглавлении оба этих заголовка окажутся на одном уровне. Наконец, я напишу ради чего все это делается. Дело в том, что если устанавливать Уровень 1 для стиля «Заголовок 1» и любого другого стиля, для этого другого стиля MS Word уровень попросту сбрасывает. Если устанавливать Уровень 1 для двух стилей, наследованных от одного («Заголовок 1»), то этого не происходит. Само собой, люди, которые занимались разработкой стандарта, совершенно не в курсе этих проблем. И, мало того, что они не имеют практически никакого представления об эстетике (заголовки одного уровня разными буквами с разным выравниванием), им к тому же абсолютно по-барабану, каким образом вы будете реализовывать этот стандарт с помощью текстового редактора (многие вещи, как вы убедились, реализовываются достаточно нетривиально, если вы хотите хоть немного автоматизировать процесс формирования документа, и по этой причине стандарт, безусловно, требует, как минимум доработки). В итоге мы настроили свою собственную систему заголовков, соответствующую ГОСТ 7.32-2001, и определили уровни автособираемого оглавления, для которых они будут применяться (например, может быть назначено два заголовка первого уровня – нумерованный и ненумерованный, внешне выглядящие совершенно по-разному – вот ради чего и затевалось создание своей системы заголовков с помощью наследования). Далее необходимо сохранить наши правки стилей и перезаписать стандартный шаблон Normal.dotm, чтобы мы могли применять созданные стили во всех новых документах. Для этого нажимаем «Файл – Сохранить как», и сохраняем файл в любое место как шаблон с поддержкой макросов Normal.dotm. Затем закрываем MS Word, переходим в папку C:\Users\< В следующих статьях я расскажу о правильной работе с таблицами, рисунками, ссылками, полями и макросами, научу обходить проблемы, спровоцированные разработчиками госстандартов, и также научу пользоваться необходимыми горячими клавишами, чтобы документ соответствовал основным требованиям типографики и не поджигал задницу вашего преподавателя. Также мы научимся делать все вышеперечисленное в свободном редакторе LibreOffice, и я покажу его несомненные преимущества по сравнению с монструозным детищем компании Microsoft. | |





















































































