最近、彼は新しいLibreOfficeのリリース発表についてコメントし、考慮事項をより一貫して作成することを決定しました。
MS Word形式の電子メール文書を受け取ったとしたら、それを記入/修正し、印刷/転送する必要があります。 ほとんどの場合、この文書は定期的に再度送信され、および/またはそれに基づいて更新されたテキストを準備し続ける必要があります。
問題点1:当然、MS OfficeはGNU / Linuxに存在せず、OpenOfficeとその相続人は非常に遅い(特にVimや他の軽量プログラムに慣れている場合)。
問題2:着信ファイルのレイアウトが壊滅的(スペースでのフラッシュ、スタイルなしのフォーマットなど)になることが非常に多いため、通常の変更を行うにはドキュメント全体を実際にやり直す必要があります。
問題3:MS Word形式は不透明で、OpenDocumentは条件付きで透明です。 言い換えれば、オープン形式であっても簡単な方法では簡単に読み取ることができません。つまり、多数のファイルを解凍してXMLを解析する必要があります。 そのため、バージョン管理のために、そのようなドキュメントは透過的ではありません。
どうする? Unix Wayは、単純なテキストで動作する単純なプログラムの形で助けになります。
ツール
- アンチワード-MS Word形式からテキストを抽出するためのユーティリティ。
- reStructuredText (reST)-テキストのセマンティックマークアップ用の非常にシンプルで非常に強力な言語。
- Docutilsツール (rst2latex、rst2html、rst2odt、rst2xml)およびrst2pdf -reSTからテキストを植字、Webおよび印刷用の一般的な形式にエクスポートするためのユーティリティ。
- ボーナス: rst2a (APIを使用したオンラインコンバーター!)
ワークフロー
- アンチワードは.docを読み取り、プレーンテキストを出力します。
- プレーンテキストの編集。
- rst2 *ユーティリティは、テキストをreSTマークアップから任意の形式に変換します。
$ antiwordtimate.doc> timate.txt $ vim guess.txt $ rst2pdf guess.txt -o guess.pdf
完了し、美しいPDFを表示および印刷できます。 ちなみに、ソースの編集中は、たとえばOkularでPDFを開いたままにしておくと便利です。 reSTからPDFにエクスポートする場合(これは自動的に実行できます)、Okularは開いているページをリセットせずにコンテンツをすぐに更新します。 ほとんどすぐにプレビューができます。 そこに(Okularで)ドキュメントを印刷できます。
私は通常、別のスタイルシートを追加します(同じものはすべてのドキュメントに多かれ少なかれ適しており、特定のドキュメント用に拡張できます)。 rst2pdfのスタイルはJSONで記述されています(ドキュメントを参照)。
結果
問題番号1が解決されました。クロスプラットフォーム、軽量、高速、目立たないツールが使用されています。
問題No. 2は解決されました。悪夢のソースレイアウトはすぐに削除されます。代わりに、テキスト自体を取得します。これは簡単に再注文できます。 必要に応じて、結果をLaTeXに取り込むことができます。
問題3は解決されました。すべてのドキュメント(およびスタイル)はVCSに対して完全に透過的であり、特別なツールなしで読むことができます。 プログラムコードとまったく同じです。 そのため、公式ドキュメントで何かが変更された場合、どの日付でも常に差分を読み取ることができます。 受信ボックスの場合、元のバージョン(できればアンチワード出力)を保存して、それらを拡散し、変更のみを正しいreSTファイルに簡単に転送することもできます。
注釈
- 提案されたユーティリティスタックは、すべての穴を塞ぐわけではありません。 Unix-veyの利点は、コンポーネントを安全に交換できることです。
- ところで、Antiwordは「Word文書をプレーンテキスト、PostScript、PDF、およびXML / DocBookに変換できる」ため、場合によってはreSTを回避することもできます。
- このメモはreSTで記述され、rst2htmlを介してエクスポートされます。 ;-)
- UPD:修正に感謝します :reSTではなく、正しくreST :)