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

Я написал длинный роман, используя программу, которую написал сам. Это создает подходящий источник LaTeX, который я могу использовать для создания красивого PDF-файла.

Разметка, кроме привычного деления на Part/Chapter/Scene, используется для расстановки акцентов, обработки прямой речи (которой я пользуюсь часто, иногда даже вложенной) и для вывода определенных фраз «странными шрифтами».

Все идет нормально.

Теперь моя проблема в том, что мне нужно преобразовать все это в формат, подходящий для Kindle, поскольку я хочу самостоятельно публиковать на Amazon.

Я видел стандартные инструменты (например, Kindle Create), но, похоже, в них отсутствуют все виды форматирования, которые я использую, а их ввод (если я хочу включить перекомпоновку) ограничен форматом Microsoft .docx, который я не использую. уметь производить.

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

Вопрос: какая «подходящая разметка» доступна для нового рендеринга?

В идеале он должен:

  • обрабатывать стандартные заголовки (легко; почти каждая разметка делает).
  • обрабатывать оглавление и некоторые ограниченные перекрестные ссылки (это также стандартно).
  • обрабатывать изменение шрифта «на лету» (начертание шрифта, а не только полужирный/курсив).
  • обрабатывать (возможно, вложенную) прямую речь, возможно, отслеживая говорящего.
  • выведите профессионально выглядящую электронную книгу для Kindle (mobi, epub или azw3/4).
  • если возможно, сгенерируйте из того же источника также PDF (не обязательно).

Существует ли такой зверь?


ОБНОВЛЯТЬ:

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

Что мне действительно нравится в LaTeX, так это то, что можно использовать такие вещи, как \tqt{Yesterday my boss said: \tqt{jump!} and I had to jump.}определение (вложенного) фрагмента прямой речи, и он будет преобразован в соответствии с вашим (глобальным) выбором.

В своей книге я использую:

«Yesterday my boss said: “jump!” and I had to jump.»

но это можно легко (и глобально!) преобразовать в другой стиль, например:

— Yesterday my boss said: «jump!» and I had to jump.

Это (опять же, AFAIK) невозможно ни в простом HTML, ни в программах, обычно используемых для редактирования книг (MSWord, kindle-create, Caliber или Sigil).

Другие варианты использования семантической маркировки могут включать:

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

«Обычные» языки разметки (например, Markdown) на самом деле не подходят для этого, даже если они имеют множество функций, в основном бесполезных для написания романов (перекрестные ссылки, списки, таблицы, математика, ...).

Я думаю о том, чтобы определить (и реализовать) что-то самостоятельно.

Дайте мне знать, если есть интерес.

Приветствуются любые комментарии.

Это лучший вопрос для tex.se. Смотрите этот вопрос.
@JG: Я был на этом пути, и я могу заверить вас, что это никуда не приведет (по крайней мере, для меня): НИ ОДНО из миллиона предложенных «решений», кажется, не может справиться с изменением шрифта. ВСЕ решения, кажется, касаются математического рендеринга, который мне не нужен, а не написания романов. Именно по этой причине я изучаю возможность отказа от LaTeX в пользу какой-либо другой разметки, если это возможно. Альтернатива — вручную импортировать все в MSWord и переформатировать с нуля (забыв о семантической разметке). Вопрос: существует ли язык разметки, предназначенный для написания романов?
Тогда не знаю, что посоветовать. Я пишу свои романы в LyX, у которого есть собственный формат файла .lyx, из которого вы должны экспортировать в файл другого типа, чтобы люди без LyX могли читать. Он также может импортировать LaTeX, после чего вы можете экспортировать либо в .pdf (который у вас уже есть), либо в .docx, а затем преобразовать его в .epub с помощью другой программы. Но, надеюсь, есть лучшее решение.
Возможно, вам повезет больше, если вы попытаетесь создать OpenDocument (который может открыть Word, или вы можете использовать другое программное обеспечение, которое понимает OpenDocument и может создавать файлы .docx для выполнения преобразования), а затем настроить способ преобразования OpenDocument в Word. Тем не менее, я не уверен, можно ли считать OpenDocument «разметкой», хотя это XML (как и .docx).
Является ли экспорт документа вашей единственной заботой? Есть несколько вариантов конвертации из LaTeX в Word — все они такие ужасные? Кроме того, предположим, что вы можете найти инструмент, который корректно и плавно обрабатывает изменение шрифта, но как это поможет, когда читатель меняет шрифт на своем Kindle?
На мой взгляд, лучше думать об этом, имея в виду конечную цель: создание хорошо настроенной электронной книги или устройства. Форматирование имеет большое значение, даже если читатель позже изменит шрифт/размер: например, когда мне нужно преобразовать .pdf или .doc в .epub , если я забуду настроить его в конвертере электронных книг, это будет отстой, независимо от того, сколько Я бы отрегулировал настройки чтения электронных книг. Я надеюсь, что программа, которую я упомянул в своем ответе, может быть полезной.
«Современная разметка», кажется, относится к определенному языку, но идея Google, что это может быть, не более ясна, чем моя. Что вы имели в виду под «современной разметкой», пожалуйста? Вы не пытаетесь заново изобрести велосипед? «Разметка, помимо обычного деления на Части/Главы/Сцены, используется для расстановки акцентов, обработки прямой речи (которую я использую часто, иногда даже вложенной) и для вывода определенных фраз «странными шрифтами»…» читается как самое расплывчатое описание всех приложений для редактирования/DTP/разметки/WP, без какой-либо ощутимой специфики.
@RobbieGoodwin: если вы знаете о «приложении для редактирования/DTP/разметки/WP», способном правильно отображать (как в редакторе, так и в печати) несколько видов прямой речи (обычную, мысленную, призрачную, чудовищную и т. д.) и выделять на экране вхождения имен персонажей Меня бы очень заинтересовал указатель. ТиА
@TiA Конечно, нет. Вашим «приложением для редактирования/DTP/разметки/WP» будет, например, QuarkXPress или Adobe InDesign, но при этом вам будет наплевать на правильный рендеринг, что бы вы ни имели в виду под «и в редакторе, и в печати». Как может любое программное обеспечение… или любой человек? редактор... узнаешь свою обычную, мыслящую, призрачную, звериную и т. д. виды прямой речи? Как может какое-либо программное обеспечение… выделять вхождения имен персонажей? Создайте такую ​​вещь, и вы станете очень, очень богатым, очень, очень быстро.
Не могли бы вы вернуться и сказать, что вы имели в виду под «современной разметкой», пожалуйста? Не могли бы вы вернуться назад и объяснить, какое значение имеет длина вашего романа, или то, что это роман, или что он подходит для самостоятельной публикации? Какое значение это может иметь для любого программного обеспечения для письма, печати или публикации?
@RobbieGoodwin: «Как может какое-либо программное обеспечение… или любой человек-редактор… распознавать вашу обычную, мыслящую, призрачную, звериную и т. д. виды прямой речи? Как любое программное обеспечение может… выделять вхождения имен персонажей?» - если я правильно интерпретирую вопрос, именно здесь появляется разметка : специальные теги между обычным текстом не отображаются как выходные данные, а скорее сообщают программному обеспечению, что «следующая строка произнесена призраком», «следующее слово является именем персонажа» и т. д., после чего программное обеспечение применяет соответствующее форматирование.
@FH Извините, это не забавно. Если вы или ZioByte можете объяснить, что на самом деле здесь спрашивают, сделайте это. А до тех пор, как вы определяете «Современный…» в отличие от любой другой разметки, использовавшейся за последние 500 лет? Как, по-вашему, тема «длинный роман» что-то меняет? Как, по-вашему, тема, "пригодная для самостоятельной публикации", что-то меняет? В целом вы правильно интерпретируете, что «разметка» определяет типографику, и помимо этого простого факта, что вы предлагаете?
Откуда «редактирование/DTP/разметка/WP…», способное корректно отображать (как в редакторе, так и при печати) несколько видов речи (обычную, мыслящую, призрачную, звериную и т. д.) и выделять экранные вхождения имен персонажей…» в? Что такое "и в редакторе, и в печати"? Какое значение для языка разметки может иметь "нормальный, думающий, призрак, зверь..."? "Стиль 1, Стиль 2..." да, и вы не видите разницы? Я предлагаю ни один язык разметки не может справиться с этими различиями без ввода деталей Любое количество текстовых процессоров, например, MS Word, может обрабатывать такие различия, а обработка текстов не выполняет разметку.
@RobbieGoodwin: я не могу ответить ни на один из вопросов из вашего первого комментария. У меня есть только догадка о той части, о которой я говорил, а именно разметка для разных видов речи + подсветка имен. Приведем пример: «Как может «нормальный, мыслящий, призрак, зверь…» иметь значение для языка разметки?» - наценка может быть Alfred said: {ghost:Boohoo!} Margaret did not like this: {beast:Roarrrr!}. Это можно представить в виде вывода, например: «Альфред сказал: «Бу-у-у!» Маргарет это не понравилось: «Рорррр!» Конечно, информация о том, как "призрак", "зверь" и все остальные будут вынесены...
... - простое оформление, такое как использование прописных букв, курсива, различных шрифтов и т. д.; вставка/замена символов, например, использование кавычек вместо кайр и т. д., должна предоставляться отдельно, как дополнительный ввод помимо самого текста разметки.
@RobbieGoodwin: я подозреваю, что основным источником путаницы является ваше предположение, что все это должно работать «без вашего ввода деталей». Я не думаю, что это требование в заданном вопросе. Дело не в том, что программное обеспечение каким-то образом угадывает, как оно должно что-то отображать, а в том, что автор не беспокоится о том, как что-то будет отображаться во время написания. «Семантической маркировки», как упоминалось в вопросе, должно быть достаточно; какая семантика соответствует какому конкретному результату, можно решить позже, тем самым следуя принципу «разделения содержания и представления».
FH Мне жаль указывать на это, и вы, похоже, пытаетесь не просто изменить или улучшить стандартную нотацию разметки, но полностью переопределить как нотацию, так и ее цель. Если это то, чего вы хотите, хорошо, и почему бы не сказать об этом? Если это не то, что вы хотите, что я пропустил?
@RobbieGoodwin: Что такое «стандартная нотация разметки»? Существует много разных нотаций разметки с разными возможностями и разными целями. Насколько я понял из вопроса и собственного ответа ОП, они просто ищут нотацию разметки, которая была определена с самой целью представления структуры истории (главы, абзацы, ...), прямой речи (вложенные блоки и разные стили), выделение специальных терминов (имен персонажей), а также некоторые другие аспекты.
Извините, но все еще не понимаю, и, пожалуйста, кто-нибудь думает, что из заявленных ZioByte идеалов MS Word не справится?
@RobbieGoodwin: Как вы добиваетесь переключения между стилями прямой речи, показанными в вопросе, например, в Word? Возьмем пример из вопроса, как сказать Word, что предложение Вчера мой босс сказал: прыгай! и мне пришлось прыгать. это прямая речь, а что там, прыгай! является вложенной прямой речью таким образом, что Word автоматически ставит правильные знаки, такие как «» и «»? Позже, как вы заставляете Word изменить стиль маркировки прямой речи, чтобы внешняя прямая речь просто начиналась с длинного тире, а внутренняя прямая речь заключалась в «»?
@FH Кажется, вы хотите изменить форму колеса, сделав его овальным. Переключения между «стилями прямой речи» не существует, но автор выбирает французский или вкусностей красным, английским или злодеев белым, а других синим. «Вчера мой босс сказал: прыгай!» не прямой; это сообщенная речь, неправильно расставленная. Что может означать «вложенная прямая речь» в английском письме или редактировании, печати или общих публикациях? Как приложение может размещать такие отметки, как «» и «», и почему приложение должно запрашивать это? Какая может быть необходимость в том, чтобы язык разметки вмешивался в изменения, о которых вы говорите?
@ФХ; ZioByte Может ли кто-нибудь из вас просто попробовать использовать MS Word или любой другой современный текстовый процессор вместо того, чтобы пытаться представить, почему Word может вам не помочь? Если здесь есть хоть один человек, который на своем конкретном опыте считает, что MS Word и многие другие текстовые процессоры не могут выполнить все требования FH и ZioByte, пожалуйста, сделайте шаг вперед и скажите, какие и почему нет…
@RobbieGoodwin: «Не существует переключения между стилями прямой речи» - и вот вам ответ, почему «MS Word или любой другой современный текстовый процессор» не подходит для этой задачи. "автор выбирает французский или лакомства в красном" - что, если автор захочет решить, что это "красный" после завершения текста? «Что может означать «вложенная прямая речь»» — пожалуйста, обратитесь к общим руководствам по стилю, таким как это или это , чтобы увидеть примеры вложенных цитат. «Как приложение может ставить отметки типа «» и «» — я понимаю...
... не совсем вижу проблему. Если текст «семантически помечен» как прямая речь, и приложение знает, какие метки размещать на каком уровне вложенности прямой речи, почему приложение не может размещать такие метки? «Почему приложение должно запрашиваться?» - это просто. Потому что на момент написания это не играет роли, просто важно, что предложение X является прямой речью. Как именно это отображается, с помощью каких знаков можно решить после того, как текст будет готов. Честно говоря, я не думаю, что это какое-то диковинное требование. Концепция чего-либо ...
... разделение содержания и представления хорошо зарекомендовало себя.
@FH Чего вы надеетесь достичь, неясно. Хуже того: «Если текст «семантически помечен» как прямая речь, и приложение знает, какие метки размещать на каком уровне вложенности прямой речи, почему приложение не может размещать такие метки?» вызывает настоящие вопросы: как и почему? Мне жаль говорить, что не только то, что вы предлагаете, является простой чушью, но и тот факт, что вы продолжаете предлагать это, становится все более оскорбительным. Если вы хотите заново изобрести велосипед, так и скажите. В противном случае, пожалуйста, представьте подробный случай или перестаньте биться головой и моими ушами о реальности.
@FH Кажется довольно очевидным, что если вы пробовали что-либо из этого, ваши усилия были без обучения. Даже по прошествии всего этого времени, пожалуйста, опишите реальную проблему, а не постинг о воображаемых заботах. Пожалуйста?
@FH Почему тебе так трудно увидеть, что весь твой взгляд задом наперёд… и если бы это было неясно, многие участники не застрелили бы меня? Опять же, почему бы либо не представить подробное дело, либо перестать биться головой и моими ушами о реальность?

Ответы (2)

Я не смог найти подходящую разметку, поэтому начал кодить сам.

Очень предварительная версия доступна на GitLab .

Любая обратная связь будет ОЧЕНЬ приветствуется.

Вау круто! Предполагается ли, что «\@<что-то>» в файле Readme ссылается на кажущиеся случайными профили пользователей? Возможно, вам нужно избежать их для Readme.
Спасибо @Secespitus, конечно, привязка пользователей не предназначена, но мне не удалось найти подходящее заклинание, чтобы отключить эту конкретную «магию». Я обновил README.md, добавив дополнительную информацию, и удалил "@", но указатель пользователя сохраняется :(
Потрясающий! Какая отличная идея @ZioByte. Я не слишком увлекаюсь программированием, но, насколько я могу судить, это похоже на начало потрясающего проекта. В ближайшие дни сообщу, если на ум придет какой-то полезный отзыв

Мой лучший друг при конвертации электронных книг — это Calibre.

Я использую его в основном для загрузки файлов .epub на свой Kobo (обычно конвертируя из .pdf или .doc ).

У вас так много возможностей для управления форматированием. Вы также можете экспортировать в .mobi и просматривать его на своем Kindle, если он у вас есть (или просто проверить данный предварительный просмотр).

Calibre также имеет встроенный ридер для электронных книг.

Доступные настройки

Надеюсь, это может помочь. Здесь вы можете найти бесплатную программу:

https://calere-ebook.com/download

Спасибо @CashewsFuel, я очень хорошо знаком с Caliber и Sigil (которые я сейчас использую для ручного преобразования), но это не то, что я ищу. Я хотел бы иметь какую-то «семантическую» маркировку, которая (AFAIK) недоступна. Типичным примером может служить прямая речь, в которой выбор разных стилей невозможен (не говоря уже о вложенности и/или дифференциации в зависимости от говорящего). Я обновлю вопрос, чтобы отразить это. Спасибо.
@ZioByte теперь я точно понимаю всю картину. Это зверь точно. Я надеюсь, что вы найдете его! Напишите если да, мне тоже интересно
Я начал разработку (см. мой собственный ответ). Мы будем признательны за ваши отзывы.