От Markdown к .odt и наоборот: возможный рабочий процесс письма без отвлекающих факторов?

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

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

Есть ли способ сделать это?

В качестве альтернативы, есть способ написать полноэкранный режим непосредственно в файле .odt, сохраняя сноски (поскольку в FocusWriter и TextRoom нет этой функции)?

Если это то направление, в котором вы движетесь, надеюсь, вы слышали о Pandoc . Преобразование не будет безупречным - вам определенно придется немного почистить. Но наградой, которую вы получите, будет возможность очень легко выводить результаты в различные форматы. Я бы предложил преобразовать .odt в файл HTML и преобразовать файл HTML в уценку, используя Pandoc в качестве отправной точки.
@AnandaMahto спасибо за ваш комментарий. Я слышал о Pandoc, но не знал, как преобразовать .odt в markdown . На самом деле, я попробую промежуточный шаг, который вы предлагаете, и сообщу, если он сработает.
Являются ли библиографические примечания раздельными (как в приложении в конце) или вкрапленными (как сноски)? Если первое, вы можете просто оставить это в .odt и работать над остальными в Markdown (при условии, что вы можете преобразовать остальное, не теряя сносок).
Различные предлагаемые решения, вероятно, намного проще и лучше, но стоит отметить, что файл odt, по сути, представляет собой заархивированный файл, состоящий из нескольких частей, в котором простой текст является одной частью. Вы можете просто разархивировать его, взять только текстовый компонент и делать с ним все, что хотите. Однако при таком подходе теряется все форматирование, поэтому вам придется добавлять его с нуля в любом новом формате, который вы выберете.
Ctrl+Shift+j = полноэкранный режим LibreOffice.

Ответы (4)

Ваш первый вариант — это, действительно, Pandoc , о котором уже упоминалось. Его использование довольно просто. Я сам сделал некоторые преобразования в этом направлении, и это блестяще. Он включен в репозитории Debian, поэтому я думаю, что установка не будет проблемой.

Вы действительно хотите сначала преобразовать в HTML:

pandoc OdtFile.odt -o HtmlFile.html

а затем продолжите создание файла уценки таким же образом:

pandoc HtmlFile.html -o MarkDown.text

и да, вы можете вернуться от уценки к odt таким же образом. Вы также можете применить свой собственный набор стилей, упомянув файл odt шаблона стиля, README расскажет вам, как это сделать.

Вы также можете счесть полезным сохранять абзацы с флагом, --wrap=noneт. е. предотвращать разрывы паров pandoc с новой строкой через каждые 72 символа.

Чтобы предотвратить нечетное форматирование HTML (например, вы получаете, где исходный документ имеет встроенные ссылки: pandoc наделяет их в выходном тексте уценки тегами html с подчеркиванием), укажите версию уценки как markdown_github-raw_html с -t markdown_github-raw_html. (Может быть предпочтительнее изменить формат ссылки исходного документа по умолчанию в приложении Office, которое его создало, если вы можете).

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

Результатом первой команды является pandoc: Cannot decode byte '\xc6': Data.Text.Encoding.Fusion.streamUtf8: Invalid UTF-8 stream, по крайней мере, в версии Ubuntu (1.12.2.1). Какую версию вы используете для этого? odt2htmlХотя в комплекте есть еще одна программа, unoconvкоторая работает хорошо.
Я получаю аналогичную ошибку: pandoc: Cannot decode byte '\x9d': Data.Text.Encoding.Fusion.streamUtf8: Invalid UTF-8 stream.
Какой версией программы вы пользуетесь? Можете ли вы прислать мне пример файла, который выдает такую ​​ошибку?
Pandoc работает только в режиме utf8. Если у вас есть другая кодировка в вашем письме, вы должны хорошо преобразовать ее с помощью вашего редактора или с помощью iconv. Кроме того, вы должны использовать перед файлом свои тексты, чтобы знать кодификацию.
Только что попробовал этот вариант и отлично работает, за исключением того факта, что изображения и таблицы из ODT не конвертируются в md (хотя я использую изображения в качестве ссылок).

Я играл с odt2txt. Он удаляет все форматирование, оставляя только простой текст, идеально подходящий для различий, и приемлемую отправную точку для вашей разметки, и если вы объедините это с предложением @AnandaMahto использовать Pandoc для его обратного преобразования, у меня есть несколько уродливых документов, чтобы попробовать это на.

Вы изучали WriteMonkey ? Кажется, нет плагина, который бы делал то, что вы хотите, но это надежная среда уценки без отвлекающих факторов.

Если преобразование в html, а затем в MD работает, это может быть идеальной средой редактирования для вас. WriteMonkey экспортирует MD в MS Word, который затем можно будет открыть в LibreOffice, когда вы закончите.

Чтобы дополнить ответ Undespairable, эти команды из командной строки преобразуются из уценки в HTML, а затем из HTML в ODT.

pandoc .\some-file.md -f markdown -t html -s -o .\some-file.html    

pandoc .\some-file.html -f html -t odt -o .\some-file.odt

См. также: https://www.pandoc.org/getting-started.html .