Школа начинающего книгодела

Аватар пользователя Антонина82

haramuha написал:

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

Нас уже двое!!!!!
Первого сентября начинается новый учебный год. Предлагаю открыть при Либрусеке «Школу книгодела» имени….. (насчёт имени пока не знаю), где новичкам будут растолковываться прописные истины.
Итак. Что надо иметь к первому сентября? Списочек, пожалуйста. Только, чтоб не очень затратный, а то желание пропадёт самому (самой) делать книжки.
1. Компьютер
2.

Комментарии

sd написал:
Так вот же, как раз про возможность редактирования на андройде: AlReader forever!. Сайт этой удивительной программы - Читалка+Редактор: http://www.alreader.com/
Проверьте, подойдет ли к вашему устройству андройдная версия программы и вперед! Но желательно, чтоб структура книги была уже создана, иначе теги придется вставлять самому. Лучше всего эта программа подходит как раз для вычитки.

Добавлю, что лучше ставить текущий Debug: в заглавном посту внизу.
Аватар пользователя alexej36

В стихах иногда встречаются строки, состоящие их одних точек. Скрипт "генеральная уборка" превратит точки в троеточия. Вопрос: что делать? :) Оставить троеточия или вернуть точки?

alexej36 написал:
В стихах иногда встречаются строки, состоящие их одних точек. Скрипт "генеральная уборка" превратит точки в троеточия. Вопрос: что делать? :) Оставить троеточия или вернуть точки?

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

kozlenok написал:

Скрипт "генеральная уборка" сделан для тупых лентяев.

Как мило...

alexej36, по поводу точек в пустой строке стихотворения я бы предложила два варианта:

1. исправить на точки и таки написать предупреждение в history. Я в таких случаях пишу "После выполнения скрипта ГУ необходимо поправить строку в стихотворении ..." (тут уместно было бы задать поисковые слова, если стихотворений в файле больше, чем одно).

2. "Выравнять" количество точек в пустой строке, сделав его кратным 3. И тогда оставить полученные после ГУ многоточия.

Аватар пользователя alexej36

This comment has been deleted.

alexej36 написал:
в сканах расстояние между точками больше чем в троеточии.

Ну, это не может быть ориентиром. ;) Вы же не копию книги делаете. :)

На мой взгляд, это зависит только от предпочтений верстальщика.

alexej36 написал:
В стихах иногда встречаются строки, состоящие их одних точек. Скрипт "генеральная уборка" превратит точки в троеточия. Вопрос: что делать? :) Оставить троеточия или вернуть точки?

Мне встречались только точки визуально разделенные пробелами. Я так и делаю: пишу нужное кол-во точек через неразрывный пробел, тогда скрипт ничего не заменяет. Хороший вариант.

А по поводу выравнивания стихов можете попробовать оформление с помощью стилей. Это перспективно, имхо

Цитата:
пишу нужное кол-во точек через неразрывный пробел, тогда скрипт ничего не заменяет.

Как это не заменяет? Скрипт "генеральная уборка" упорно портит любые отточия. И в стихах и в прозе. Он просто удаляет определенное количество точек, и к концу работы над книгой (при многократном применении скрипта) точка может остаться всего одна. Поэтому все отточия ставлю после работы данного скрипта.

Алексей_Н написал:
Цитата:
пишу нужное кол-во точек через неразрывный пробел, тогда скрипт ничего не заменяет.

Как это не заменяет? Скрипт "генеральная уборка" упорно портит любые отточия. И в стихах и в прозе. Он просто удаляет определенное количество точек, и к концу работы над книгой (при многократном применении скрипта) точка может остаться всего одна. Поэтому все отточия ставлю после работы данного скрипта.

A-a...

Я размечаю стихи после работы скрипта. Равняю их и т.п. А в самом скрипте у мну:
function HandleP(ptr) {
       if (ptr.getAttribute("id").search(re90)>=0) { ptr.removeAttribute("id"); count_90++; }
  s=ptr.innerHTML;
  if (ptr.parentNode.className!="stanza") {
       // куча if'ов
  }
      if (s.search(re19)!=-1 && ptr.parentNode.className=="stanza")         { s=s.replace(re19, re19_); }
  if (ptr.parentNode.className!="stanza") {
      // ещё куча if'ов
  }
.....

Короче, для стихов ничё* уже не правим автоматом. Я это сделал после обработки одной пьесы (ибо нефиг!)



* - дефисы только))
Аватар пользователя alexej36

Взялись бы тогда за доработку скрипта.

alexej36 написал:
Взялись бы тогда за доработку скрипта.

Так там вопрос не в сложности программирования, а в правильном подборе регэкспов... Т.е. какие и в каком порядке. В "Генеральной уборке" уже написано даже более, чем в 99% случаев бывает нужно... Достаточно из этого для себя выбирать по обстоятельствам.

Но если есть конкретное ТЗ и вопрос накодить его на js, то всегда пожалуйста.
Аватар пользователя alexej36

Цитата:
скрипт "Генеральная уборка" 10С превращает в 1°С

Это как-то можно исправить?

alexej36 написал:
Цитата:
скрипт "Генеральная уборка" 10С превращает в 1°С

Это как-то можно исправить?

Если в вышеуказанном куске скрипта заменить

       if (s.search(re67)!=-1)         { s=s.replace(re67, re67_); }

на

//       if (s.search(re67)!=-1)         { s=s.replace(re67, re67_); }

то это отменит обработку градусов Цельсия.

А в общем случае, надо понять, что Вы хотите получить:

10С -> 10С

10С -> 10°С

100 или o или OC -> 10°С

С,Oo латинские и русские или только латинские?

и т.д.
Аватар пользователя alexej36

This comment has been deleted.

alexej36 написал:

Регеспы то тут причем? :)
"Генеральная уборка" доработок требует однозначно.

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

This comment has been deleted.

alexej36 написал:
Цитата:
Эт такой мелкий шутк юмора.

Из первого Вашего поста это не следует. С троллями мне не интересно общаться.

Зря Вы это так. Впрочем, вольному воля.


Тем не менее, можно вполне серьерно утверждать, что:


1. Желательно проверять корректность каждой отработки скрипта "генеральная уборка"; хоть он и улучшается, но все нестандартные ситуации не предусмотришь.


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


3. При определенном навыке можно обойтись и без этого скрипта вовсе. Но только при определенном навыке. И все равно см. п. 1.




Вот и все. Просто наболело.
А кто на себя какой шутовской колпак напялил -- его дело. И троллизм здесь никаким боком.
Аватар пользователя V_E

kozlenok написал:

Тем не менее, можно вполне серьерно утверждать, что:
...
3. При определенном навыке можно обойтись и без этого скрипта вовсе. Но только при определенном навыке. И все равно см. п. 1.

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

V_E написал:

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

Вот примерно это я и хотел сказать. А то применение скрипта "генеральная уборка" превращается уже в некую церемонию, которая начинает смахивать на некий религиозный обряд;-) ("Мыши плакали, кололись...")
Да, его применение может оказаться нужным, особенно в некоторых случаях, но не до догматизма же доходить...
Существует же куча других инструментов для обработки текста, неужели нельзя использовать несколько простых скриптов вместо одного сложного?
Причем использовать их именно тогда, когда нужно? А так получается, что в сегоднящнем состоянии (без внесения своих изменений) скрипт "генеральная уборка" годен только для черновой, ну и может быть еще для "промежуточной" чистки fb2-текста перед окончательной ручной вычиткой, но никак не наоборот!
А если кто-то утверждает обратное, то вот ему-то как раз и рекомендуется проверять корректность изменений, вносимых сим скриптом после каждого его прогона.
Аватар пользователя alexej36

Про отступы слева в стихах. Внутри строфы все понятно. А нужно ли это делать во всей строфе?

Я делаю. Вообще стараюсь максимально стихи к бумажным вариантам приближать.

alexej36 написал:
Про отступы слева в стихах. Внутри строфы все понятно. А нужно ли это делать во всей строфе?

Для стихов, я считаю, это крайне важно. Поэтому я бы делала.

Кто нибудь пробовал FBD (Fiction Book Designer) V 3.2 под Wondows 7?

Я так понимаю, Вам нужно 10С -> 10°С
Тогда не нужно закомментировать (//), а делаем следующее:
ищем в скрипте
// градус Цельсия
то что под ним закоммит (//), а ставим новое:

var re67 = new RegExp("(\\\d)(\\\s|"+nbspEntity+"){0,1}[CС]([^A-zА-яЁё]){0,1}","g");
var re67_ = "$1"+nbspChar+"°C$3";

получим 10С -> 10 °С
если надо без пробела после цифры, то просто
var re67 = new RegExp("(\\\d)(\\\s|"+nbspEntity+"){0,1}[CС]([^A-zА-яЁё]){0,1}","g");
var re67_ = "$1°C$3";

получим 10С -> 10°С


Кстати, такое: 10 С -> 10°С, тоже будет иметь место
Во всех случаях С большое и не важно, кириллическое или латинское

Vadi написал:
Я так понимаю, Вам нужно 10С -> 10°С

Нет. Нам нужно, чтобы 10С скрипт не переводил самовольно в 1° С.

golma1 написал:
Vadi написал:
Я так понимаю, Вам нужно 10С -> 10°С

Нет. Нам нужно, чтобы 10С скрипт не переводил самовольно в 1° С.

Ну, тогда первый вариант - просто закоммитить строку
// if (s.search(re67)!=-1) { s=s.replace(re67, re67_); }

Vadi написал:
golma1 написал:
Vadi написал:
Я так понимаю, Вам нужно 10С -> 10°С

Нет. Нам нужно, чтобы 10С скрипт не переводил самовольно в 1° С.

Ну, тогда первый вариант - просто закоммитить строку
// if (s.search(re67)!=-1) { s=s.replace(re67, re67_); }

В "Генуборке" эта строка выглядит так:

//  градус Цельсия
var re67 = new RegExp("(\\\d)(\\\s|"+nbspEntity+"){0,1}[oо0°](\\\s){0,1}[CС]([^A-zА-яЁё]){0,1}","g");
var re67_ = "$1"+nbspChar+"°C$4";

Насколько я могу читать регэкспы, тут идёт речь лишь о замене обычного пробела на неразрывный. Или?

golma1 написал:
Vadi написал:
golma1 написал:
Vadi написал:
Я так понимаю, Вам нужно 10С -> 10°С

Нет. Нам нужно, чтобы 10С скрипт не переводил самовольно в 1° С.

Ну, тогда первый вариант - просто закоммитить строку
// if (s.search(re67)!=-1) { s=s.replace(re67, re67_); }

В "Генуборке" эта строка выглядит так:

//  градус Цельсия
var re67 = new RegExp("(\\\d)(\\\s|"+nbspEntity+"){0,1}[oо0°](\\\s){0,1}[CС]([^A-zА-яЁё]){0,1}","g");
var re67_ = "$1"+nbspChar+"°C$4";

Насколько я могу читать регэкспы, тут идёт речь лишь о замене обычного пробела на неразрывный. Или?


Я писал 2 сообщения, о двух различных участках кода:
if (s.search(re67)!=-1)         { s=s.replace(re67, re67_); }
и
//  градус Цельсия
var re67 = new RegExp("(\\\d)(\\\s|"+nbspEntity+"){0,1}[oо0°](\\\s){0,1}[CС]([^A-zА-яЁё]){0,1}","g");
var re67_ = "$1"+nbspChar+"°C$4";

Закомментировав первый - мы вообще не будем делать 10С -> 1 °С
Второй кусок - это переменные: само регулярное выражение и то, на что будем менять найденный кусок текста.
Ищем: Цифра + может_быть_пробел + что-то_из_oо0° + С_кир_латинск_исключая_другие_буквы = $1 + $2 + $3 + $4
После замены : Цифра + обяз_неразрыв_пробел + °С
Из-за "что-то_из_oо0°" оно нолик и сжирает, превращая его в °

После некоторых раздумий себе я оставил вариант

//  градус Цельсия
var re67 = new RegExp("(\\\d)(\\\s|"+nbspEntity+"){0,1}[CС]([^A-zА-яЁё]){0,1}","g");
var re67_ = "$1"+nbspChar+"°C$3";

который меняет С после цифры на неразрыв_пробел + °С

Vadi написал:

После некоторых раздумий себе я оставил вариант

//  градус Цельсия
var re67 = new RegExp("(\\\d)(\\\s|"+nbspEntity+"){0,1}[CС]([^A-zА-яЁё]){0,1}","g");
var re67_ = "$1"+nbspChar+"°C$3";

который меняет С после цифры на неразрыв_пробел + °С

Понятно. А я именно этой ситуации хочу избежать. Потому что во фразе типа: В доме по ул. Мира 100 С. Петров увидел... такое исправление мне ни к чему.

В любом случае спасибо.

golma1 написал:

Понятно. А я именно этой ситуации хочу избежать. Потому что во фразе типа: В доме по ул. Мира 100 С. Петров увидел... такое исправление мне ни к чему.

И это самый простой вариант - закомментировать // if (s.search(re67)!=-1)         { s=s.replace(re67, re67_); }

Vadi написал:
golma1 написал:

Понятно. А я именно этой ситуации хочу избежать. Потому что во фразе типа: В доме по ул. Мира 100 С. Петров увидел... такое исправление мне ни к чему.

И это самый простой вариант - закомментировать // if (s.search(re67)!=-1)         { s=s.replace(re67, re67_); }

Спасибо, так и сделаю. Вчера уже собиралась пробовать, но раз Вы подтверждаете, то можно и без проб. :)

golma1 написал:
Vadi написал:
golma1 написал:

Понятно. А я именно этой ситуации хочу избежать. Потому что во фразе типа: В доме по ул. Мира 100 С. Петров увидел... такое исправление мне ни к чему.

И это самый простой вариант - закомментировать // if (s.search(re67)!=-1)         { s=s.replace(re67, re67_); }

Спасибо, так и сделаю. Вчера уже собиралась пробовать, но раз Вы подтверждаете, то можно и без проб. :)

)) Честно говоря, я нигде не нашел толкового описания записи регэкспов FBE: разбираюсь только по коду и методом проб-ошибок...

Например, насколько я понял, в скрипте "Ген. уборка" нет пока поддержи поиска по инлайн-тэгам. Т.е. вот такое превращение: 100[оО0]C -> 100°С, только для sup, осуществить пока нельзя...

Сканирую журнал Новый мир 1988-11. Выложила стихи Кострова,сейчас взялась за роман : Владимир Крупин "Спасенье погибших". Обложка у журнала вся в пятнах от влажности,и на неё что-то ставили с липким круглым дном.) Такую прикреплять стыдно.) Может кто-нибудь сможет привести её в порядок? Если появятся желающие на сканы,тоже с радостью отдам.(цв.,600)

Аватар пользователя PrePress

arina.militsa написал:
Сканирую журнал Новый мир 1988-11. Выложила стихи Кострова,сейчас взялась за роман : Владимир Крупин "Спасенье погибших". Обложка у журнала вся в пятнах от влажности,и на неё что-то ставили с липким круглым дном.) Такую прикреплять стыдно.) Может кто-нибудь сможет привести её в порядок? Если появятся желающие на сканы,тоже с радостью отдам.(цв.,600)

А не проще взять более менее приличную обложку от другого номера, скажем http://dic.academic.ru/pictures/wiki/files/78/Novyj_mir_1988_7.jpg и просто "пририсовать" № 11 и правильный ISSN?

Где можно скачать пакет утилит fb2utils-0.6.0 ?, валидатор нужен.)

Аватар пользователя remembecoventry

arina.militsa написал:
Где можно скачать пакет утилит fb2utils-0.6.0 ?, валидатор нужен.)

http://ge.tt/1QJdUhW/v/0

WARNING: Line 11: empty tag: Some errors found Одиннадцатая строка-это язык.ru.Скажите,что ему не нравится?

arina.militsa написал:
WARNING: Line 11: empty tag: Some errors found Одиннадцатая строка-это язык.ru.Скажите,что ему не нравится?

Соседняя строчка скорее всего. Внешний валидатор немножко по-другому строки считает. Тег date ("дата текстом" рядом с названием в режиме D) пустой видимо. Можно прописать год издания, написания или перевода. Или плюнуть. Это не страшно.

Точно, "дата текстом" - не было прописано, проставила год выхода: OK. This file is good. Спасибо.)

"О сколько нам открытий чудных.." даёт ФБЕ, о людях в том числе. У меня вопрос к тому,кто конвертил из doc. два детектива Э.Ролле,отсканенные,распознанные и вычитанные мной: Что,рука не поднялась вписать мой ник в Описание? Смешно и гадливо,не знаю чего больше.)

Ээээ... не мешало бы где-то это отметить, хотя бы в аннотации. Телепаты все в отпуске, знаете ли...
Специально проверила оба файла, о том, кто сканировал - ни слова.
Конвертила не я, не умею
ЗЫ: Там переводчик нигде не упоминался, а то в сети я не нашла?..

В любом случае вы числитесь в заливших оба файла.
Хотите - переправлю из заливших в отсканировавшие?

Аватар пользователя remembecoventry

arina.militsa написал:
"О сколько нам открытий чудных.." даёт ФБЕ, о людях в том числе. У меня вопрос к тому,кто конвертил из doc. два детектива Э.Ролле,отсканенные,распознанные и вычитанные мной: Что,рука не поднялась вписать мой ник в Описание? Смешно и гадливо,не знаю чего больше.)

Вопрос, очевидно, ко мне. В ваших doc-файлах никакой информации о вашей работе нет. Прописывайте свой ник и работу в аннотации или в самом файле — и ваше участие будет отмечено в history.

Вот как-нибудь так—

Цитата:
Scan, OCR, SpellCheck: arina.militsa

Без этой информации ничего никуда вписать невозможно.

Файлы отличные, спасибо вам за них большое.

Задумался как изобразить


извращ изыск такой.
Кроме как стихами с неразрывными пробелами на ум ничё не приходит. Может есть у кого другие идеи?

В любом случае сделать примечание, а там скан страницы.
Часть читалок, в том числе и сайтовская, херят лесенку.

sem14 написал:
В любом случае сделать примечание, а там скан страницы.

+1.

sem14 написал:
В любом случае сделать примечание, а там скан страницы.
Часть читалок, в том числе и сайтовская, херят лесенку.

М-м-м.. Т. е. прямо в примечание воткнуть картинку? А чё, можно. Только тогда комментарием сделаю, а то как сноска внизу страницы оно будет по-моему страшненько выглядеть. Спасибо за идейку. :))

http://lib.rus.ec/b/156665/read
Посмотрите примечания...

sem14 написал:
http://lib.rus.ec/b/156665/read
Посмотрите примечания...

Посмотрел. Ну да, нормальный выход. Так и сделаю.

Страницы

X