web-dev-qa-db-ja.com

ソースコードの例をMicrosoft Word文書に挿入する最良の方法は何ですか?

ソースコードの例を含むドキュメントをいくつか作成する必要があります。いくつかの例はIDEから作成され、他の例は適切に作成されます。私の例は主にJavaにあります。

LaTeXに慣れている人として、Wordでこれを行うのは非常に苦痛です。ただし、これにはWordが必要です。私が見た唯一のオプションは次のとおりです。

  1. 文書に書き込むかコピーしてから、固定タイプのフォントを使用し、書式設定を調整して、Wordが大文字を使用しないようにしてください。言うまでもなく、これはがらくたのように見えます。
  2. IDEからソースコードのスクリーンショットをコピーして貼り付けます。少なくとも色を保ちます。ただし、フォントサイズを変更すると、混乱してしまいます。私もページの境界を越えてめちゃくちゃです。そして、それを認めましょう、Wordはドキュメント上の複数の画像を管理するのに向いていません。
  3. HTMLを記述します(実際にはオプションではありません)

これを行うためのより良い(そして理想的にはポータブルな)方法はありますか?少なくとも、LaTeX環境に似た逐語的なスタイルがありますか? RTFとしてコピーアンドペーストできるきれいなプリンターが少なくともありますか?

118
Uri

数十億ドルを費やした後でも、このようなものについての適切なガイドをスクリーンショットで表示することはできません。

とにかく、構文の色付けにNotepad ++を使用し、キャプションを付けることができるTextBoxを使用したWord 2010のクイックガイドを次に示します。

  1. 挿入/テキストボックス/シンプルテキストボックスを選択します
    01Word
  2. デフォルトのテキストボックスが挿入されます
    02Word
  3. NPPに切り替え、コードの構文の色付けに使用する言語を選択し、プラグイン/ NPPExport/RTFをクリップボードにコピーします
    03npp
  4. Wordに戻り、テキストボックスに貼り付けます-小さすぎる可能性があります...
    04Word
  5. ...そのため、サイズを変更する必要がある場合があります
    05Word
  6. テキストボックスを選択して右クリックし、[キャプションの挿入...]を選択します。
    06Word
  7. [キャプション]メニューで、まだ持っていない場合は、[新しいラベル]をクリックし、新しいラベルを[コード]に設定して[OK]をクリックします...
    07Word
  8. ...次に、[キャプション]ダイアログで、ラベルを[コード]に切り替え、[OK]をクリックします
    08Word
  9. 最後に、新しく作成したキャプションボックスにキャプションを入力します
    09Word
172
sdaau

Wordドキュメントでstyleを定義し、それをソースコードに使用する必要があります。通常、「コード」と呼ばれるスタイルがあります。これは、小さなポイントサイズの固定幅フォント、固定サイズのタブ、単一行の間隔、段落の前後の間隔がないなどです。このスタイルを一度定義して再利用するだけです。ソースコードを貼り付けて、「コード」スタイルを適用します。

一部のエディター(MacのXcodeなど)では、アプリケーション間でコピー/貼り付けするときにクリップボードにRTFだけでなくテキストも追加することに注意してください。WordはRTFを認識し、書式設定、構文の色付けを保持しますなど.

Xcodeのソースコード:

enter image description here

Wordにコピーして貼り付けます。

enter image description here

(注:Wordの "コード"スタイルでスペルチェックを無効にすることをお勧めします。)

22
Paul R

私は最近この投稿に出会い、いくつかの有用なヒントを見つけました。しかし、私は自分のニーズに合ったまったく異なるアプローチを使用することになりました。私はこのアプローチを選んだ理由とそのアプローチの理由を共有しています。投稿は私が思っていたよりも長いですが、スクリーンショットは常に役立つと思います。うまくいけば、答えは誰かに役立つでしょう。

私の要件は次のとおりです。

  1. コードスニペットをWord文書に追加し、構文の強調表示を使用して、コードと他のテキストを簡単に表示および区別できるようにします。
  2. コードスニペットは他のテキストとインラインにする必要があります。
  3. コードスニペットは、余分な労力をかけずにページ間でスムーズに分割されます。
  4. コードスニペットにはNiceボーダーが必要です。
  5. コードスニペットでは、スペルチェックを無効にする必要があります。

私のアプローチは次のとおりです。

  1. 上記の構文強調表示要件1を達成するには、外部ツールを使用します。上記のメモ帳プラスプラスを使用できます。ただし、ここにあるツールを使用します- http://www.planetb.ca/syntax-highlight-Word 。これにより、行番号を使用するオプションと、非常に優れた構文強調表示が提供されます。構文の強調表示を実現する手順は次のとおりです。
    • 上記のchromeで提供されているWebサイトを開き、テキスト領域にコードスニペットをコピーします。これを示すためにサンプルXMLを使用します(ここからのXMLサンプル- http://www.service-architecture.com/articles/object-oriented-databases/xml_file_for_complex_data.html )。
    • ドロップダウンメニューから言語を選択します。
    • [ハイライト表示]ボタンをクリックします。構文が強調表示されたコードスニペット(この場合は選択したXMLサンプル)を含む新しいタブが開きます。例として下の画像をご覧ください。 Image shows a sample xml being pasted in the textarea, language selected as XML and the button.
    • 行番号をオフにするには、クロムでページを調べます。次に、スタイルの下で、次の図に示すように、「。dp-highlighter ol」の「margin」プロパティの選択を解除します。行番号を保持する場合は、次の手順に進みます。
    • 構文が強調表示されたコードを選択して、コピーをクリックします。これで、コードをMicrosoft Wordに貼り付ける準備ができました。 Result of syntax-highlighted XML この情報を提供してくれたこのブログに感謝します- http://idratherbewriting.com/2013/04/04/adding-syntax-highlighting-to-code-examples-online-and-in-in-Microsoft- Word /
  2. 上記の要件2、3、4を達成するには、Microsoft Wordの表を使用してコードスニペットを挿入します。手順は次のとおりです。

    • 単一列の表を挿入します。
    • 手順1でコピーしたテキストをテーブル列に貼り付けます。これがMicrosoft Wordでどのように機能するかを示すために、行番号を保持しました。
    • 必要に応じて境界線を適用します。サイズ1ptを使用しました。結果のMicrosoft Wordスニペットは、次のスクリーンショットに示すように表示されます。ページ全体でどれだけうまく分割されるかに注意してください-これを管理するのに余分な労力は必要ありません。「OpenDocument Text」オブジェクトを挿入する場合、または「Simple TextBox」を使用する場合に直面します。 Syntax-highlighted code snippet pasted in Microsoft Word Table
  3. 要件5を達成するには、次の手順に従います。

    • テーブル全体またはテキストを選択します。
    • [レビュー]タブに移動します。 [言語]で、[校正言語]を選択します。新しいポップアップが表示されます。
    • [スペルチェックや文法をチェックしない]を選択します。次に、[OK]をクリックします。 Disable spell-check
    • 結果のテキストではスペルチェックが無効になっています。最終結果は下の画像に示されており、すべての要件を満たしています。 Final Result - meets all the 5 requirements.

フィードバックや改善がある場合、またはアプローチに問題がある場合は提供してください。

15
abhishek

IDEに依存します。たとえば、Visual Studioと Eclipse の両方を使用すると、RTFとしてコピーしてWordに貼り付け、すべての書式設定を維持できます。

Notepad ++ には、RTPにコピーできる「NppExport」(プリインストール済み)というプラグインがありますが、Notepad ++の構文の強調表示についてはあまり気にしません(ただし、間違いなく合格です)。前述のIDEは少数の言語(他のプラグインなし)に制限されていますが、何十もの言語をサポートしています。

11
Cᴏʀʏ

これはこの答えに関連しています: https://stackoverflow.com/a/2653406/931265 オブジェクトを作成することで、すべての問題が解決しました。

挿入>オブジェクト> Opendocument Text

これにより、ドキュメントウィンドウが開き、テキストが貼り付けられ、必要に応じて書式が設定され、閉じられます。

結果は図です。オブジェクトを右クリックし、「キャプションを追加」を選択します。

相互参照を作成し、図表を作成できるようになりました。

3
rickfoosusa

Macでは、vimを使用したこのソリューションは素晴らしいと思います。

https://github.com/zerowidth/vim-copy-as-rtf

2
qed

これは私がやったことです。

最終結果: enter image description here

https://stackoverflow.com/a/25092977/1161594

1
USer22999299

私はあなたのすべての方法を試しましたが、私にはうまくいきませんでした。実際、MS Word Tablesを使用して簡単な方法を作成しました。

長所:

  1. より美しく
  2. 管理しやすく、一貫性が向上
  3. 問題が発生しにくい
  4. 外部プラグインやMS Wordマイクロコーディングは不要です。
  5. 単純なユーザー(自分など)での処理が簡単です。

短所:誰かが私のトリックを改善できるかもしれませんが、コードの色付けは維持されません。

手順:

  1. 3x3テーブルを挿入します。私の場合は、テーブルの合計幅を常にフリーページの幅と等しくします(テーブルスタイルをテストするには、3行最小)。

  2. 目に見えない境界線を使用( "境界線なし"オプション)、「グリッド線の表示」オプションを有効にしますこの側面が必要です。 これらの行はテーブルのグリッドを見るためのものであり、印刷されないことに注意してください。

enter image description here

  1. セルの間隔と列の幅を調整して、好みのアスペクトを取得します。 (微調整のために「Table Properties」を取得する必要があります)。 enter image description here

  2. 段落スタイル」を「Code」という名前で作成しますあなたのコードスニペットのために(check https://stackoverflow.com/a/25092977/8533804アイデアを得るために、従う必要はありませんそれのすべて)

  3. Paragraph Style」という名前の別の「Code_numberline」を作成します。以前に作成されたスタイルに基づきます。 enter image description here

  4. 新しく作成した「Code_numberline」に、好みの番号付けスタイルを追加します(これにより、行番号付けが自動化されます)。 enter image description here

  5. Code_numberline」を最初の列に適用し、「Code」を3列。 enter image description here

  6. 中央の列に塗りを追加します。 enter image description here

  7. そのテーブルスタイルを保存してお楽しみください!

1
Nader Belal

Ms.WordでプラグインSyntax Highlightを使用できます https://store.office.com/syntax-highlighter-WA104315019.aspx? assetid = WA104315019 。私はそのステップに従い、それは仕事です

1
ynz

Wordでは、「Paste Keep Source Formatting」を使用して、色を使用してコードとコメントを区別するコードを貼り付けることができます。ただし、貼り付けたコードを使用して新しいスタイルを作成すると、Wordは自動的に色分けされたテキストを削除し、黒(または自動既定色)に変更します。スタイルの適用はドキュメント形式の要件への準拠を保証する最良の方法であるため、Wordはソフトウェアプログラムのドキュメント化にはあまり役立ちません。残念ながら、Open Officeの方が優れていることは思い出せません。最善の回避策は、デフォルトのシンプルなテキストボックスを使用することです。

1
user10128757

これにはOpen Xml Sdkを使用できます。 htmlに色と書式が設定されたコードがある場合。 Altchunksを使用して、Word文書に追加できます。この投稿を参照してください OpenXML(* .docx)ドキュメントにHTML文字列を追加 これが役に立てば幸いです!

1
Mohamed Alikhan

まだコードスニペットを追加する簡単な方法を探している場合。

[挿入]> [オブジェクト]> [ドキュメントを開く]> [コードを貼り付ける]> [保存して閉じる]に簡単に移動できます。

これをマクロに入れて、簡単なアクセスバーに追加することもできます。

ノート:

  • これには、最大oneページのコードしかかかりません。
  • コードはnotautocorrectedになります。
  • ダブルクリック itでのみ、interactができます。
0
Meatyflesh