
私は友人が LaTeX を使用して短編小説集を作成するのを手伝っています。物語は著者から MS Word で受け取ります。残念ながら、これは世界中のほとんどの人が知っている唯一のテキスト エディターです。心配する数学コンテンツはなく、プレーン テキストのみです。ただし、Word はプレーン テキストの一部を他の文字に変換する傾向があります。これまでに気付いたのは、引用符と 2 つです...
。
さまざまな入力エンコーディングを使用しても成功しなかったため、提案されたアプローチを使用しようとしました。さまざまなストーリー間で変更する必要があるかもしれないと感じているため、パッケージ オプションではなく をinputenc
使用しています。\inputencoding
では、これを処理するための推奨されるアプローチは何でしょうか? 理想的には、これらの文字を適切な LaTeX 対応の文字にマッピングする方法があればよいと思います。
ノート:
- 私は個人的には頭いい著者が閉じ引用符を忘れて、その後の引用符がすべて間違っている場合があるので、引用符は使用しないでください。これが早い段階で見つかった場合は、.tex ファイルに貼り付ける前に Word ドキュメントで簡単に修正できます。ただし、多くの場合、この問題に気付く前に、編集者が .tex ファイルに大幅な編集を加えています。したがって、
csquotes
特定の開き引用符と閉じ引用符を使用するのではなく、 でこの問題を処理することをお勧めします。
参考文献
MS Word 文書からコピーして貼り付けるときにアポストロフィを正常に表示するにはどうすればよいですか?一部の文字を一度だけ変換するスクリプトが用意されていますが、可能であれば、ソースの .tex ファイルにそれらの文字をそのまま残しておくことをお勧めします。
これは良い参考資料だと思いましたfontenc と inputenc。
コード:
\documentclass{article}
\usepackage{inputenc}
\usepackage{csquotes}
\MakeOuterQuote{"}
%\inputencoding{utf8}
%\inputencoding{latin1}
%\inputencoding{ansinew}
\inputencoding{cp1252}
\begin{document}
"It's too late now…" (should have \ldots\ before end quote)
“Please, sir, don’t.” (should have left and right quotes)
\end{document}
答え1
入力に関する質問について
この例は、utf8 ドキュメントにコピーし、inputenc エンコーディングをそれに応じて utf8 として宣言すれば問題なく動作します。ansinew も同様です。
イメージ内の出力をどうやって取得するのか、私にはまったく想像がつきません。作成することはできますが、標準ファイルではできないと思います。どのファイルも、非 ASCII 文字を疑問符に置き換えません。
引用について
直線引用符 (") はドイツ語の tex 文書で有効で、ブレークポイントやハイフンの追加など、多くの便利な用途に使用されます。したがって、私は実際の引用符には使用せず、スマート引用符付きの Word ファイルを好みます。(ドイツ語の) スマート引用符付きの Word から、\MakeAutoQuote{„}{“}
Tex 文書で使用する tex にコピーすると、引用符がグループを作成するため、Word 文書内のスマート引用符が正しくバランスされていない場合は警告またはエラーが表示され、ほとんどのエラーを回避できます。ただし、Word ファイルは完璧ではないため、単純なコピー & ペーストでは十分ではありません。常に結果を読んで確認する必要があります。
答え2
これは私が時々行う種類の仕事です。さて、これを解決するために使用できるツールはほとんどありません。おそらく、最善かつ自動的な方法は を使用することですpandoc
が、正直なところ、十分にテストしておらず、まだ満足のいく経験がありません。別の選択肢は、@Bernard が提案することを行うことです。
AbiWord
以前は、doc ファイルを開いて int 形式でエクスポートしていましたLateX
が、ドキュメント構造が考慮されず、すべての発音区別符号が ASCII モードでコード化されるため、私にとっては良い解決策ではありませんでした。ただし、英語の短いテキストの場合は良い選択肢になるかもしれません。
私の経験上、テキストを渡すのに最も効果的なWord
のLaTeX
は崇高なテキスト 2はい、他の人にとっては愚かで最善の解決策ではないかもしれませんし、ましてや自動的ではありませんが、かなりうまく機能します。
最初の利点私が見つけたのは、エンコードを処理できるということです。希望するエンコード (またはほぼ希望するエンコード) を使用してファイルを開き、必要なエンコードに再エンコードできます。通常、私はすべてを utf8 に設定します。必要なエンコードで再度開いたり保存したりしても、Texmaker で試したときのような奇妙な記号は表示されません。(この場合、utf8 に設定し、ファイルを開くたびに、別のエンコードであるかどうかを知らせます)。
2つ目の利点これは、カラー スキームと構文に関係しています。デフォルトでは Monokai と呼ばれるきれいなスキームを使用しますが、私は Monokai bright に切り替えるために使用します (違いは、強調表示された選択に使用される色で、Monokai bright では、デフォルトでは灰色ではなくオレンジ色になります)。LaTeX の構文は目に優しく、引用符も簡単に検出できます。もちろん、 または でも同じことを実現できますが、vim
ここemacs
では非常に簡単です。一般的な引用符と間違った引用符がある場合"
、このカラー スキームの Sublime Text は、その間のテキストを鮮やかなピンク色で強調表示します。そのため、修正が必要な場所が非常に簡単にわかります。残念ながら、作成者または編集者が引用符を閉じるのを忘れた場合、それらは色で表示されませんが、エディターでは、それらをすべて簡単に見つけることができます。引用符が ASCII モード ( `` '') で正しく構成されている場合、テキストは白ではなく黄色で表示されます。
3つ目の利点リアルタイムでカーソルを同時に使用し、省略記号など多くのものをすばやく修正できる正規表現を使用する機能です。Word...
で書き込みを選択し、[Ctrl]+[D]
( [Cmd]+[D]
Mac では) を使用して文書内のすべての出現箇所を選択し、選択したら\ldots
書き込みのみに変更します。つまり、変更は 1 つの選択ではなく、すべての選択に対して一度に適用されます。高速で簡単です。
これを実現するために特別なツールは必要ありませんが、必要に応じてエディタを拡張して直接コンパイルしたり、より多くのツールを入手したりすることもできます。パッケージコントロールこれにより、LaTeXTool
パッケージやその他のものを簡単に取得できます。
このエディターは Web を扱う人々の間で非常に人気があるのは知っていますが、他にも興味深い機能がいくつかあると思いますのでLaTeX
、試してみて納得できるかどうか確認してください。
補遺
前に述べたように、これをすべて正しく実現するために、私は通常、inpuntenc
( 付きutf8
) とfontenc
( 付きで、T1
数学のない西ヨーロッパ言語には十分です) の両方のパッケージを使用します。
答え3
パンドックは、ファイルを LaTeX ファイルに変換できるコマンドライン ツールですdocx
。省略記号や引用符の処理に関しては、LaTeX エディターの検索と置換機能を使用するのが最善の方法だと思います。