容易さ:アンチワード、reST

文書を準備するとき、遅いオフィススイートを避け、お気に入りのテキストエディターを使用し、プレゼンテーションからコンテンツを分離し、VCSの文書の高い読みやすさと透明性を確保し、テキストバージョンを簡単に比較する方法



最近、彼新しいLibreOfficeのリリース発表についてコメントし、考慮事項をより一貫して作成することを決定しました。



MS Word形式の電子メール文書を受け取ったとしたら、それを記入/修正し、印刷/転送する必要があります。 ほとんどの場合、この文書は定期的に再度送信され、および/またはそれに基づいて更新されたテキストを準備し続ける必要があります。



問題点1:当然、MS OfficeはGNU / Linuxに存在せず、OpenOfficeとその相続人は非常に遅い(特にVimや他の軽量プログラムに慣れている場合)。



問題2:着信ファイルのレイアウトが壊滅的(スペースでのフラッシュ、スタイルなしのフォーマットなど)になることが非常に多いため、通常の変更を行うにはドキュメント全体を実際にやり直す必要があります。



問題3:MS Word形式は不透明で、OpenDocumentは条件付きで透明です。 言い換えれば、オープン形式であっても簡単な方法では簡単に読み取ることができません。つまり、多数のファイルを解凍してXMLを解析する必要があります。 そのため、バージョン管理のために、そのようなドキュメントは透過的ではありません。



どうする? Unix Wayは、単純なテキストで動作する単純なプログラムの形で助けになります。



ツール



ワークフロー

  1. アンチワードは.docを読み取り、プレーンテキストを出力します。
  2. プレーンテキストの編集。
  3. rst2 *ユーティリティは、テキストをreSTマークアップから任意の形式に変換します。
たとえば、MSWord形式のドキュメントを受け取ったので、その中の何かをすばやく修正し、将来のためにテキスト/テン​​プレートを保存したいです。



  $ 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ファイルに簡単に転送することもできます。



注釈




All Articles