Соколов Владимир Дмитриевич : другие произведения.

Создание параллельного текста

Самиздат: [Регистрация] [Найти] [Рейтинги] [Обсуждения] [Новинки] [Обзоры] [Помощь|Техвопросы]
Ссылки:


 Ваша оценка:
  • Аннотация:
    создание текста с поабзацным соответствием на двух языках (например, русском и латинском); идея и практические рекомедации

В. Соколов

Создание параллельного двуязычного текста в Word'е

Технология подготовки параллельных текстов

1. Что такое параллельный текст

Издание зарубежных авторов в виде двух параллельных текстов: на языке оригинала и в переводе - широко распространено в мировой и отечественной издательской практике. На левой стороне книжного разворота обычно печатается текст оригинала, а на правой - его перевод. Такие издания преследуют различные цели:
  • а) научные и познавательные
  • б) практические
  • в) учебные.
Научное изучение текстов на 2-х языках помогает не только филологам и писателям выявить особенности оригинала в сравнении с переводом, но и полезно для специалистов в различных областях знаний. В отличие от художественных специальные переводы, особенно при массовой нужде в них, отличаются гораздо худшим качеством, хотя бы в силу того, что переводчики, в основном гуманитарной языковой подготовки, редко владеют специальной номенклатурой даже родного языка или плохо представляют себе реалии переводимого предмета. Параллельный текст помогает специалисту, используя как отправную точку даже корявый перевод, определиться с терминологическим соответствием в разных языках. Такое сличение текстов помогает специалисту как бы активизировать и углубить свои школьные языковые навыки.

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

Наконец, в учебной практике 2-язычный текст позволяет лучше овладеть иностранным языком. Наиболее уязвимый компонент учебной, даже очень хорошей литературы, отсутствие примеров на те или иные правила. Особенно, когда грамматическое явление встречается не настолько часто, чтобы освоить его автоматом, но и не настолько редко, чтобы его можно было игнорировать. Либо когда то или иное грамматическое явление не имеет аналогов в русском языке. Его необходимо не только объяснить, но и путем сравнения многократных примеров довести его понимание до автоматизма.

Следует сказать, что дословный или буквальный перевод особенно в последнем случае терпит полный провал, ибо соответствие между разными языками идет не только на уровне слов, но и на уровне оборотов, фразеологических, синтаксических и житейских конструкций.

Новейшие компьютерные технологии открывают широкие возможности для работы с параллельными текстами, и если они используются не в должной мере (практически вообще не используются), то это по причине отсутствия соответствующих методов и приемов, что в свою очередь имеет причиной то, что воспитанный на чисто технических приоритетах программистский кадровый состав не осознает стиля работы и потребностей гуманитариев.

Самый простой способ параллельного издания текста на языке оригинала и его русского перевода заключался бы в создании 2-х колонной таблицы, в правой колонке которой был бы текст на языке оригинала, а в левой - его перевод. Такой прием однако недостаточен. Во-первых, из-за различия знаковых единиц, приходящихся на один и тот же текст в разных языках. Так, английский текст приблизительно на 1/3 короче соответствующего ему русского. Ясно, что через 3 страницы всякое соответствие между параллельными текстами исчезнет, вследствие чего сравнивать их будет весьма затруднительно, особенно с монитора компьютера. Во-вторых, при достаточно больших объемах текста таблица во многих прикладных пакетах, в частности, в Word'е, "не справляется" с помещенным туда материалом, отчего возникают сбои.

Поэтому нами предлагается разбивать текст на абзацы и соотносить поабзацно оригинал и перевод. Технология подготовки параллельного текста в пакете Word2000 и выше (вплоть до Word2010; более поздние версии уже барахлят вовсю, и сомневаюсь, что вообще в них можно работать с макросами) включает в себя следующие этапы:

  • 1) подготовка текстов - иностранного и соответствующего ему русского -- для дальнейшей работы
  • 2) превращение текстов в одноколонные таблицы
  • 3) сопоставление этих таблиц и создание единой таблицы, в одной из столбцов которой помещается текст оригинала, а в параллельном столбце соответствующий ему русский текст
Следующие этапы предусматривают превращение параллельного текста из Word'овского документа в HTML-файл
  • 4) оформление оглавления и заголовков
  • 5) обработка таблиц для веб-документа

2. Обработка текста

Перед началом распараллеливания оба текста: русский и текст оригинила (например, английский) должны быть подготовлены, то есть:
  • а) четко отграничены абзацы
  • б) выделены заголовки

Отграничение абзацев. В соответствии с нашей технологией абзац от абзаца должен отделяться пробельной строкой. Проблема состоит в том, что при копировании текстового файла, то есть текста, хранящегося в текстовых редакторах (например, FAR), Word интерпретирует разрыв строки, как конец абзаца. То есть, если сделать видимыми специальные символы, -- а это необходимо при работе над текстом (спецсимволы можно увидеть, включив опции Сервис.Параметры.Вид. поставить галочки в опции ЗнакиФорматирования.Все) - текст будет выглядеть следующим образом:

 []

Такой же вид имеет текст, скопированный в Word из интернета. Значок  []означает символ конца абзаца. Как видим, каждая строка здесь является абзацем. Сам же абзац обозначен пробельной строкой или 2-мя подряд символами конца абзаца. Нужно же, чтобы такой значок был один на абзац, и стоял в его конце. То есть с учетом того, что пробельную строку, как конец абзаца желательно оставить, текст должен иметь вид:

 []

Заканчивается работа с текстом запуском макроса Convert.

3. Некоторые замечания по работе с макросами

Поскольку наша статья предназначена в основном для гуманитариев, считаем нелишним описать процедуру создания макросов, например, на макросе splitPara, о котором речь пойдет в дальнейшем. Вот ее шаги:

1) Открываем окошечко макросов Сервис. Макрос. Макросы. В окошечке Имя набираем splitPara. После чего нажимаем клавишу Создать.

2) Открывается окно Microsoft Visual Basic.

 []

Рис. 1. Таким должно быть окно для внесения текста макроса

3) В правое верхнее окно вставляем текст макроса splitPara. Для этого лучше всего полностью очистить окно и вставить туда текст макроса, как он приводится нами ниже. Либо оставить только первую и последнюю строки (соответственно Sub splitPara() и End Sub), а между ними вставить текст макроса, но без указанных строк, иначе при выполнении макроса будет сбой.

Обратить внимание! Нужно правильно разбивать строки макроса, если будет в этом необходимость. При разрыве строки ставится нижнее тире _. Например, строка

Selection.Find.Execute FindText:="^p^p^?", Forward:=True, Wrap:=wdFindStop

при разрыве будет выглядеть так

Selection.Find.Execute FindText:="^p^p^?", _
Forward:=True, Wrap:=wdFindStop

Некоторые замечания о хранении макросов. Основную роль в предлагаемой технологии имеют создаваемые в пакете Word макросы на основе VisulalBasic. Вновь создаваемый макрос, если специально не оговорить, сохраняется в специальном файле Normal.dot. Это имеет ряд неудобств: при значительном количестве макросов требуемый для данной операции макрос придется выбирать из длинного списка. Поэтому мы предлагаем большинство макросов, относящихся к некоей единой технологии записывать и хранить отдельно. Исключения нужно сделать для макросов, запускаемых через клавиатуру, ибо если мы припысываем совершение такого макроса каким-либо клавишам, то запись его не с Normal.dot не всегда корректна.

Рекомендуется для работы над параллельными текстами создать отдельный файл, где и производить все работы по их созданию. Кроме всего прочего, это позволит при сбое в работе не запарчивать набор обрабатываемого текста, так сказать всегда иметь первоначальный оригинал.

Все макросы, необходимые для создания параллельного текста надлежит записывать в этот файл, который может называться, например, english.doc. Для этого при создании или записи очередного макроса в коробочке для хранения макросов, вызываемую через Сервис.Макрос.Макросы (в случае создания) или Сервис.Макрос.Начать запись (в случае записи) в опции Макросы из вносим english. (рис. 2)

 []

Рис. 2. Диалоговое окно для записи макросов

При работе некоторых макросов очень удобно пользоваться так называемой "горячей" клавишей, то есть запускать макрос не из меню, а нажатием определенной клавиши, например Ctrl+Alt+U. Назначается клавиша при создании макроса. После входа в меню Сервис.Макрос.Начать Запись в появившемся диалоговом окне нажимаем кнопку Клавиша. Появляется диалоговое окно Настройка клавиатуры, в котором заносим нужное сочетание клавиш (Ctrl+Alt+U, которое можно просто набрать с клавиатуры) окошечко Новое сочетание клавиш, после чего нажимаем клавишу Назначить.

Обратить внимание. 1. Нужно назначить такое сочетание, которое бы не отбирало значение у уже имеющихся привычных значений, например, Ctrl+S, которое означает сохранение текста. Поэтому лучше всего это делать через сочетания Ctrl+Alt+(какой-нибудь символ). 2. Макросы, которые должны работать через "горячую клавишу", необходимо сохранять не вместе с вспомогательным файлом english, а в Normal.dot.

Итак, для преобразования текста в форму, удобную для дальнейшей работы с ним нами разработан макрос Convert (см. приложение).

Обратить внимание! Перед запуском макроса убедиться, что все абзацы разделены пробельной строкой. Для английских тектов проблема облегчается тем, что они традиционно разделяют абзацы пробельной строкой, и поэтому для взятого из интернета англицского текста можно запускать макрос Convert без дополнительной обработки текста. Русские тексты обозначают границу абзаца другими способами. Чаще всего с помощью красной строки, которую Word интерпретирует как пробелы, спецсимвлом которых является точка на уровне середины строки. Например, для текста взятого из библиотеки Мошкова (lib.ru) красная строка включает 5 пробелов перед каждым абзацем. Поэтому перед запуском макроса Convert необходимо заменить макрозаменой (Правка.Заменить Напраление: Везде) конец абзаца с пятью пробелами после на два подряд специмвола абзаца  []. Эту операцию иногда нужно повторять несколько раз, пока не появится сообщение Поиск докумената закончен. Произведено замен 0

Кроме того, после завершения работы макроса желательно удалить 2 пробельные строки подряд, для чего заменить 3 подряд символа конца абзаца на 2.

4. Превращение текстов, которым предстоит запараллелиться, в одноколонные таблицы

Подготовленный текст оригинала разбивается на абзацы и превращается в одноколонную таблицу. Осуществляется это так: текст "выбирается", то есть затеняется движением курсора при нажатой клавише Shift или, если файл содержит только данный текст командой "Правка. Выделить все", затем это превращается в таблицу командой "Таблица. Преобразовать. Преобразовать в таблицу."

Обратить внимание! При преобразовании в числе колонок указать "1", разделитель "Знак абзаца"

Можно это сделать и с помощью макроса column02. Суть этого макроса в том, чтобы в каждой колонке язык набора соответствовал языку текста. Для английского и русского это безразлично. Если в опции Сервис.Язык выбраны эти языки, то отображение на экране будет адекватным. А вот для французского, немецкого и др. европейских языков либо будут искажаться некоторые звуки этих языков, например,  [], если выбран Русский, либо русские буквы, если выбран, например, Немецкий

Обратить внимание! 1) Перед запуском макроса убедиться, что все абзацы разделены пробельной строкой. 2) В конце таблицы должно быть вставлено несколько пустых, то есть без текста, рядов: это своеобразный "пояс безопасности"

Далее можно приступить к созданию параллельного текста, как это описано в предыдущей статье.

Обратить внимание! Если текст большой, более 100 страниц, то лучше его распараллеливать фрагментами по 50-60 страниц, иначе Word работает медленно.

Аналогичная операция проводится с русским текстом.

Обратить внимание! По техническим причинам в конце получившейся таблицы нужно вставить около 20 пустых рядов

После этого русский текст забирается в карман (Таблица. Выделить. Таблица), курсор помещается в тот файл, где содержится текст оригинала, а именно в знак конца 1-го ряда, после чего вываливается содержимое кармана (Правка. Вставить)

Обратить внимание! Курсор должен быть в виде черточки, а не выделения (рис. 3)

 []

Рис. 3. Вид курсора перед вставкой столбца

5. Создание параллельного тектса

Таким образом у нас получается текст, где на каждый абзац оригинала приходится абзац русского текста. Если бы деление на абзацы в каждом из этих текстов совпадало, то наша задача была бы выполненной. Однако на практике такого почти никогда не бывает, разве что при работе с Библией, где одни и те же абзацы, да еще и пронумерованные совпадают во всех языках. Поэтому нужно просмотреть весь текст и привести в соответствие абзацы в правой и левой колонках. Для этих целей нами разработан макрос splitPara (Разбить абзац), поскольку наиболее частый случай, когда одному абзацу в одном тексте соответствуют 2 в параллельном ему варианте.

Процедура весьма проста. В то место, где нужно разбить абзац, помещается курсор (рис. 2), обязательно за пробелом, где должно произойти разделение и запускается выполнение указанного макроса (текст макроса смотри ниже): В меню выбирается Сервис. Макрос. Макросы. Затем в коробочке Макрос курсор наводится на нужный макрос (splitPara) и дается команда Выполнить.

 []

Рис. 4. Положение курсора перед разбивкой абзаца

Обратить внимание! Если в конце таблице не будет пустой строки, при выполнении макроса будет удалена последняя строка. Поэтому если появится табличка с предупреждением "А ТАМ ЧТО-ТО ЕСТЬ", нужно уйти в конец таблицы и вставить пустые строки.

Некоторые замечания при работе с макросом splitPara

  1. 1. Очень часто возникает ситуация, когда абзацу в одной колонке противостоит отсутствие текста в другой. То есть нужно сдвинуть всю колонку, где есть текст на один абзац вниз и выровнять ее с параллельной колонкой. В этом случае перед запуском макроса splitPara необходимо поставить любой знак (например, пробел) перед первой буквой абзаца. После этого поместить курсор после пробела и выполнять макрос в обычном режиме. Образующуюся при этом над текстом пустую строку удалить.
  2. 2. Как мы уже писали, в конце таблицы помещаются пустые строки - "пояс безопасности". Если этот пояс исчерпывается, то при очередном запуске макроса splitPara появляется предупредительная табличка "А ТАМ ЧТО-ТО ЕСТЬ". В этом случае необходимо уйти в конец таблицы и добавить несколько пустых строк.
  3. 3. После окончания работы могут остаться пустые строки. Удалить их можно макросом remove_tail. Курсор ставится в начало строки, с которой нужно удалить остальную часть таблицы и запускается макрос.
Еще один очень полезный макрос для упорядочения материала в таблице -- para. Очень часть абзацы настолько велики, особенно в научных публикациях, что поабзацное сопоставление параллельных текстов довольно-таки затруднено. Поэтому имеет смысл разбить такой абзац на 2 , в каждом столбце. Макрос запускается из файла, содержащего параллельный текст. В том месте, где нужно разбить абзац ставим после пробела, например, в русской части какой-нибудь символ, который явно не встречается ни в русском, ни в иностранном тексте, например, +. Затем помещаем курсор после пробела в соответствующем месте иностранного текста и запускаем макрос para.

 []

Рис. 5. Положение курсора перед разбивкой абзаца на два Заметим, что макрос para мы снабдили горячей клавишей Ctrl+Alt+U.

6. Оформление оглавления

После всех предыдущих операций параллелльный текст отливается в форму одной большой таблицы, заголовки при этом являются такими же строками таблицы, как и другие его элементы. Подобная форма удобна для хранения, да и для работы с иностранным текстом в среде Word, однако для иных целей, в частности, создания веб-документа и размещения его в глобальных сетях, требуется четко выделить заголовки.

Это осуществляется излагаемыми ниже операциями. Отметим сразу, что ради простоты изложения мы ограничиваемся работой только с заголовками так называемого 2-го уровня, то есть названиями глав и параграфов. Заголовки 1-го уровня: то есть частей, томов и т. п. нетрудно сформировать вручную. Заголовкам 2-го уровня мы присваиваем встроенную в Word'е стиль "Заголовок 2".

Операции разработанной нами технологии очень просты и почти самоочевидны, однако нужно соблюдать их последовательность.

1. Выделяем заголовки из таблицы и присваиваем им стиль "Заголовок 2". Для этого используем макрос chapter01. Поскольку в разных текстах количество строк в заголовках может различаться (чаще всего либо одна, либо две строки), макрос предусматривает 2 случая выделения заголовков: одно- и двухстрочные. Макрос запускается для каждого заголовка отдельно. При запуске макроса появляется диалоговое окочешко, куда нужно внести либо цифру 1, либо 2 в зависимости от количества строк в заголовке, либо 0, и тогда произойдет отказ от выполнения макроса. Последнее необходимо, когда мы ищем название заголовка макрокомандой, а подобное название встречается в тексте. Допустим слово "Глава" может быть не только Глава 1 или Глава 2, но и Глава семейства.

Данному макросу желательно приписать "горячую клавишу".

2. Затем формируем содержание командой Вставка.Оглавление и указатели.Оглавление. Если мы формируем содержание "для себя", то есть для работы с текстом в Word'е, то в опции Показать номера страниц оставляем флажок, если для последующей подготовки в *.html-файл, то флажок убираем кликом мышки. На этом формирование содержания дя работы в Word'е заканчивается. Для подготовки же веб-документа необходим еще ряд операций. Сначало содержание нужно превратить из "поля" в простой текст, для чего мы копируем его в буфер, открываем любой текстовый файл в Far'е и помещаем содержимое буфера туда. Затем не сохраняя текстового файла, опять копируем его в буфер и переносим на прежнее место в Word.

После чего запускаем макрос sod. Перед запуском макроса выбираем содержание, следя при этом, чтобы в выборку попали только заголовки 2 уровня, и не символ абзаца последней строки. Данный макрос должен снабдить заголовки содержания определенными тэгами. После запуска макроса появляется диалоговое окно, которое спрашивает название. Если файл должен быть одним *.html-документом, то ставим 0. Тогда ссылки будут идти на части этого документа. Если каждая глава будет отдельным файлом, то ставим названия этого файла, которое должно быть у веб-документа, а макрос автоматически проставить к нему порядковый номер. Например, мы издаем книгу Рикардо. Поставив в названии ricardo, мы получим ссылки на файлы ricardo1.html, ricardo2.html, ricardo3.html и т. д. Можно вообще не ставить никакого названия, тогда будут файлы 1.html. 2.html. 3.html и т. д.

Второе диалоговое окно, возникающее при запуске макроса, спросит с какого номера начинать нумерацию. Дело в том, что Word некорректно работает с большими файлами, поэтому необходимо разбивать их на несколько частей. Допустим содержание книги с 60-главами приходиться распределять на 3 файла. Тогда при обработке 2-го файла начальный номер должен быть не 1, а, допустим, 21.

3. Следующий пункт - расстановка тэгов заголовков на заголовках 2-го уровня. Это делается с помощью макроса sod02. Данный макрос, кроме, собственно говоря тега заголовка, снабжают его "якорем" - то есть тэгом, "притягивающим ссылки" именно к данному заголовку. Этот тэг необходим, если в одном веб-документе имеется несколько глав, причем номер "якоря" должен соотвестствовать номеру ссылки. Поэтому важно, чтобы макросы sod и sod02 применялись только к заголовками одного уровня (2-го в нашем случае). В принципе нет никаких технических сложностей распространить это правило на заголовки всех уровней, но это потребует больше времени на предварительную подготовку текста.

Обратить внимание! Перед запуском макроса в диалоговом окне Найти и заменить снять форматирование, кликнув на соответствующую опцию. Вообще-то Visual Basic предусматривает соотвествующую команду Selection.Find.ClearFormatting, которую рекомендуется помещать перед Selection.Find, однако наши многочисленные попытки использовать этот прием не увенчались успехом, поэтому лучше произвести эту операцию вручную. При этом необходимо провести хотя бы один поиск, иначе установки в поисковом диалоговов окне вернуться в начальную позицию.

4. Наконец макросом multiTableHTML готовим под веб-страницу параллельный текст. Данный макрос превращает таблицу в набор абзацев, с теми тэгами, которые в веб-документе позволят увидеть данную текст в том же табличном формате, что и в doc.-файле.

Обратить внимание! 1) Перед запуском макроса multiTableHTML необходимо оформить тэгами все выделения в тексте 2) во избежание накладок стили заголовков всех уровней делать без графических выделений: курсива, полужирного и т. д. Данные правила не относятся, если мы не готовим параллельный текст как веб-документ. 3) Перед запуском макроса привести документ в обычный вид (Вид.Обычный)

Макросы

Несмотря на довольно-таки длинные тексты идеи макросов чрезвычайно просты.

Действие макроса convert основано на том, что пробельная строка (два символа абзаца  [] подряд) заменяется на какой-нибудь символ, заведомо невстречающийся в тексте. Например, $, # или набор букв типа zzzz. Затем все знаки абзаца заменяются макрозаменой на пробел, после чего выбранный знак-заменитель (zzzz) снова делается либо знаком абзаца, либо пробельной строкой.

Идея макроса column02 состоит в преобразовании текста в одноколонную таблицу. Символ конца абзаца при этом используется как знак разделителя ячеек. Необходимо обратить внимание, что в левой колонке язык текста должен быть языком оригинала ("французский", "немецкий" и т. д.), а в правой "русский". Для английского языка данное различие несущественно, но для прочих европейских обязательно.

Идея макроса splitPara исходит из наиболее частого случая несоответствия параллельных текстов, а именно содержание абзаца в одной колонке распылено на 2 в параллельной, с соотвествующим смещением всего дальнейшего текста. Чтобы привести текст в строгое поабзацное соответствие, длинный абзац разбивается на две части, верхняя из которых соотносится с абзацем в параллельной колонке, а нижняя - следующему. Затем сверху данного ряда надстраивается новый. Верхний абзац переносится вертикально в пустую ячейку этого ряда, а нижний остается на прежнем месте. Потом нужно перейти в параллельную колонку и "подтянуть" все абзацы параллельного текста, начиная с места разрыва, на один ряд вверх.

Поскольку при выполнении макроса column02 в конец вставляется с запасом несколько пустых строк, то макросом remove_tail этот хвост, если он остается, убирается.

Идея макроса para состоит в следующем. Абзац разбивается возвратом каретки на 2 в обоих частях текста. Надстраивается ряд сверху, куда помещаются верхние абзацы, нижние остаются в прежнем ряду. То есть ряд разбивается на 2.

Макросом chapter01 отделяем заголовок от таблицы. Разбиваем таблицу, так чтобы ее часть до заголовка, сам заголовок и после заголовка представляли собой отдельные таблицы. Затем таблицу с заголовком преобразуем в текст и присваиваем ему стиль "Заголовок 2". Границу между текстом оригинала и русским заголовком обозначаем символом "/". Следует подчеркнуть, что если паралелльный текст готовится для использования в Word'е, то эта операция излишня. Она имеет смысл при последующем преобразовании параллельного текста в HTML-документ.

Идея макроса sod состоит в превращении содержания в список, каждая строка содержания при этом становится пунктом списка. Поэтому мы символ конца абзаца заменяем на соответствующие для веб-документа тэги списка. Кроме того, содержание самой строки мы обрамляем тэгами сноски. Номер сноски ставится по порядку. Сносок будет ровно столько, сколько абзацев в списке. Чтобы при выполнении макроса не захватить "лишние" абзацы, мы для текста содеражания открываем новый документ, который по завершении действия макроса закрываем без сохранения, а то что получилось, возвращаем в исходное место основного файла.

Идея макроса sod02 состоит в присвоении всем заголовкам текста, выполненным в стиле "Заголовок 2" тэгов заголовка 2-го уровня. Для этого мы считаем, сколько заголовков в тексте. Это делается командой макрозамены: текст очередного "Заголовка 2" мы заменяем на его же. Когда все замены закончены, то сколько раз была произведена подобная замена, столько в тексте и соответсвующих заголовков. Поскольку макросом chapter01 каждый заголовок делается отдельным абзацем, то следущим шагом мы выбераем подряд все абзацы, оформленные в стиле "Заголовок 2", после чего до и после абзаца ставятся соответствующие тэги, а также номер заголовка, которые должен соответствовать номеру ссылки на него в оглавлении.

Обратить внимание! Чтобы не произошло путаницы с номерами, макрос sod02 должен работать только с заголовками 2-го уровня, то есть в выборку мы не должны включать заголовки более высокого уровня, заголовкам же более низкого уровня вообще не следует присваивать стиль.

Идея макроса multiTableHTML в расстановке соответствующих указателей (тэгов) для "опознания" таблицы редакторами HTML. Перед таблицей ставится тэг table, а после - тэг /table. Перед содержимым каждой ячейки, в том числе и пустой, ставится тэг td, а после -- /td. Кроме того, в начале каждого ряда помещается -- tr, а в конце -- /tr. Затем таблица превращается в текстовый файл командой Таблица.Преобразовать.Преобразовать в текст, разделителем между ячейками при этом служит знак абзаца (возврат каретки).

Приложения

Тексты упоминаемых в статье макросов
Примеры паралелльного латинско-русского текста
Примеры паралелльного английско-русского текста

К началу страницы

Рецензии


 Ваша оценка:

Связаться с программистом сайта.

Новые книги авторов СИ, вышедшие из печати:
О.Болдырева "Крадуш. Чужие души" М.Николаев "Вторжение на Землю"

Как попасть в этoт список
Сайт - "Художники" .. || .. Доска об'явлений "Книги"