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


131

ソースコードの例を含むいくつかのドキュメントを書かなければなりません。一部の例はIDEから作成され、他の例は適切に作成されます。私の例は主にJavaです。

LaTeXに慣れている人として、Wordでこれを行うのは非常に苦痛です。しかし、これはWordに拘束されます。私が見た唯一のオプションは:

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

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


ラッセル:わかりません。
ウリ

2
これはおそらくスーパーユーザーに適していると思います。ドキュメントに挿入するものがたまたまコードであるという理由だけで、これはプログラミング上の問題にはなりません。
danben

2
@danben:なるほど。Word文書のコード例は、ほとんどのプログラマーが日々の仕事でやっていることになると私は思いました。
Uri

1
Word-the-programまたはWord-the-file-formatに縛られていますか?
Ken

回答:


186

私はマイクロソフトのために無料で働くことを絶対に嫌い、軽蔑します。何十億ドルものお金がこれらのようなものについての適切なガイドを彼らのいまいましいウェブサイトのスクリーンショットで提供しないようにしているのを考えると。

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

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

キャプションを相互参照すると、この問題を解決する方法にコード全体が挿入されますか?
MonsterMMORPG 2015

1
Word 2013では、テキストはコードであり、プレーンテキストとして貼り付けられます。Notepad++のフォーマットを維持する方法はありません
Jose Nobile

2
@JoseNobile Notepad ++でNppExportプラグインを使用する必要があります
NeilenMarais

1
Android Studio、Visual Studio、Eclipseでも動作します。
Teocci 2017年

最初は同じ手法を使用しましたが、テキストボックスを配置するのは非常に面倒なので、1x1のテーブルを使用するように変更しました。「上と下」を試しました。テキストは前後のみになり、Wordは魔法のようにボックスを上下に動かします。キャプションが表示されないこともありました。今日、別のSO QAに基づいてテーブルの使用を開始し、これまでのところうまくいきます。新しいキャプションラベルタイプ「Listing」を作成します。
Oliver

26

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

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

  1. コードスニペットをWord文書に追加します。構文の強調表示により、コードやその他のテキストを簡単に表示して区別できます。
  2. コードスニペットは他のテキストとインラインにする必要があります。
  3. コードスニペットは、余計な手間をかけずにページ間をスムーズに分割します。
  4. コードスニペットは素敵な境界線を持っています。
  5. コードスニペットでは、スペルチェックが無効になります。

私のアプローチは以下のとおりです:

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

    • 1列のテーブルを挿入します。
    • 手順1.からコピーしたテキストをテーブルの列に貼り付けます。Microsoftのワードでこれがどの程度うまく機能するかを示すために、行番号を保持しました。
    • 必要に応じて境界線を適用します。サイズ1ptを使用しました。次のスクリーンショットに示すように、結果のMicrosoftワードスニペットが表示されます。それがページ全体でうまく機能していることに注意してください。これを管理するために追加の作業は必要ありません。「OpenDocument Text」オブジェクトを挿入する場合や「Simple TextBox」を使用する場合に直面します。 Microsoft Wordテーブルに貼り付けられた構文強調表示されたコードスニペット
  3. 要件5を達成するには、以下の手順に従います。

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

フィードバックや改善がある場合や、アプローチで問題が発生した場合はお知らせください。


2
ありがとう!素晴らしく見えます... Mozilla Firefoxが構文の強調表示をコピーしていなかったため、Google Chromeを使用する必要がありました。
loveMeansNothing

これが最良の解決策だと思います。もう1つのヒント:スペルチェックは必要ないが英語で書かない場合は、Open Document Textオブジェクトとしてコードを挿入します。INSERT-OBJECT-に移動し、OpenDocument Textを選択します。開いているドキュメントにコードを挿入し、保存して閉じます。コードは上記のように表示されますが、スペルは完全に無視されます。唯一の欠点は、リストのキャプションに数値を含めたい場合、数値が正しく機能しないことです。確認していない。
user3629892

@ user3629892 Open Documentでは、さまざまなページをうまくラップできないと思いました。
maracuja-juice

単語にコピーするときに、行番号についてもその美しい境界線を取得する可能性はありますか?
Paramesh Korrakuti

1
@ Capt.Krusty-ポイント1、箇条書きのポイント1および5で、Chromeを使用することについてはすでに述べました。しかし、私はあなたとloveMeansNothingが提案したように、「Google Chrome」を追加していきます。
アビシェク

23

Word文書でスタイルを定義し、それをソースコードに使用する必要があります。私は通常、「コード」と呼ばれるスタイルを持っています。これには、小さいポイントサイズのモノスペースフォント、固定サイズのタブ、1行の間隔、前後の段落の間隔などがありません。このスタイルを一度定義すれば、再利用できます。ソースコードを貼り付け、それに「コード」スタイルを適用します。

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

Xcodeのソースコード:

ここに画像の説明を入力してください

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

ここに画像の説明を入力してください

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


しかし、これは自動的に文字列などのキーワード、数字、にスタイルを追加していません
バート

@Bart:一般的にはありませんが、Xcodeを使用するユーザー(Mac OS X、iOSなどの開発用)には、クリップボードにすべての構文カラーリングなどのRTFが含まれており、Wordはこれを受け入れます。他にもこの便利な機能を持つエディターがいる可能性がありますが、私はそれらを知りません。
Paul R

RTFは機能します。そうです。これを以前にNotepad ++からWordに使用したこともあります。ただし、実際のコードスタイル(構文の強調表示を自動的に行うスタイル)を追加する方法があれば非常に便利です。そのようなものは何も存在していないように見えるのはかなり残念です。確かに、インストールしてオンデマンドで強調表示できるアドオンがいくつかありますが、必要に応じてすべてのコードブロックを別のスタイルに簡単に再スタイルできるアドオンはまだ見つかっていません。
Bart

これはキャプションをサポートしていると思いませんか?
Oliver

@Schollii:キャプションはWordの「オブジェクト」にのみ適用できると思います。私はあなたがコードを1x1テーブルに入れて、それをオブジェクトにすることができると思いますか?
ポールR

11

IDEによって異なります。たとえば、Visual StudioとEclipseの両方で、RTFとしてコピーしてWordに貼り付け、すべての書式を維持できます。

Notepad ++には、「NppExport」と呼ばれるプラグイン(プレインストール済み)があり、RTFにコピーできますが、Notepad ++の構文の強調表示はあまり気にしていません(ただし、確実に通過可能です)。それが行うことは、数十の言語をサポートすることですが、前述のIDEはそれぞれ(他のプラグインなしで)少数に制限されています。


1
私はこれを行うためにVSとEclipseの両方で幸運でした。IDEのエディターを使用して構文の色付け(および私が好きな書式設定)を行ってから、直接単語にカットアンドペーストしました。私は通常、スニペット全体のフォントを固定幅フォントに設定することでフォローアップします(常に私に
出会うとは限り

3

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

挿入>オブジェクト> Opendocumentテキスト

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

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

ここで相互参照を作成し、図表を作成できます。


キャプションを相互参照すると、コード全体が挿入され、この問題を解決する方法は?
MonsterMMORPG 2015





1

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

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

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

ノート:

  • これは、最大で1ページのコードしかかかりません。
  • コードは自動修正されません。
  • それをダブルクリックすることによってのみそれと対話することができます。

1

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


1

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

長所:

  1. より美しく
  2. 管理が簡単で一貫性が高い
  3. 問題が発生しにくい
  4. 外部プラグインやMS Wordマイクロコーディングは必要ありません。
  5. 単純なユーザー(自分など)による扱いが容易になります。

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

手順:

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

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

ここに画像の説明を入力してください

  1. セルの間隔と列の幅を調整して、好みのアスペクトを取得します。(微調整するには、「テーブルプロパティ」を取得する必要があります)。 ここに画像の説明を入力してください

  2. コードスニペット用に「コード」という名前の「段落スタイル」を作成します(https://stackoverflow.com/a/25092977/8533804確認して、すべての手順を実行する必要はありません)。

  3. 以前に作成したスタイルに基づく「Code_numberline」という名前の別の「段落スタイル」を作成します。 ここに画像の説明を入力してください

  4. 新しく作成した「Code_numberline」に、好きな番号付けスタイルを追加します(これにより、行の番号付けが自動化されます)。 ここに画像の説明を入力してください

  5. Code_numberline」を最初の列に、「Code」を3列に適用します。 ここに画像の説明を入力してください

  6. 中央の列に塗りつぶしを追加します。 ここに画像の説明を入力してください

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


それまでは、「テーブルスタイルを保存する」と言っていました。
ヘッスルのマーティン2018

@MartinofHessle、多くの場所にコードスニペットを配置する拡張ドキュメントの場合、このテーブルスタイルを保存するオプションは時間の節約になります。また、私の場合のように、ドキュメント全体でテーブルスタイルを変更する手間が省けます。 IDEとIDLEのスタイルがあります...一方、テーブルを1つだけ使用している場合は、最後のステップを省略できます
Nader Belal

その理由に同意します。それを永続的にするためにnormal.dotにそれを言う方法でしたが、便利な追加でした。私はそれを理解しましたが、それは明白ではありませんでした。
ヘッスルのマーティン2018

@MartinofHessleは私を許してください、しかし私はあなたの最後の声明を理解しませんでした。もう一度簡単に説明してください。
Nader Belal、

1
申し訳ありませんがタイプミス、それをnormal.dotに保存する方法である必要があります。
ヘッスルのマーティン、

1

これを使用してください-http://hilite.me/

hilite.meはコードスニペットをきれいに印刷されたHTML形式に変換し、ブログの投稿、メール、ウェブサイトに簡単に埋め込むことができます。

方法: ソースコードを左側のペインにコピーし、言語と配色を選択して、[ハイライト]をクリックします。右側のペインのHTMLをブログやメールに貼り付けることができるようになりました。外部のCSSファイルやJavaScriptファイルは必要ありません。

Microsoft Word文書の場合:プレビューセクションからコンテンツをコピーし、Microsoft Word文書に貼り付けます。

3つのセクション:ソースコード、HTML、プレビュー


0

単純なコードのフォーマットが必要な場合は、簡単な方法があります。

  1. 単語を開く>タブを挿入>「アドインを入手」をクリック
  2. 「コンテンツミキサー」を検索します3.「追加」をクリックします

次に、コンテンツミキサーの追加が自動的に開きます。そこにコードをコピーして貼り付け、[挿入]をクリックしてワードドキュメントに挿入します。


0

これらの回答は、Webアドインソリューションに比べると古く、非常に退屈なものに見えます。これはOffice 2013以降の製品で利用できます。

私はEasy Code Formatterを使用しています。これにより、テキストをインプレースでコード化できます。また、行番号付けオプション、ハイライト表示、さまざまなスタイルを提供します。スタイルは、https//github.com/armhil/easy-code-formatter-stylesでオープンソース化されているため、スタイルを自分で拡張できます。インストールするには-Microsoft Wordを開き、[挿入]タブに移動するか、[アドインの取得]をクリックして、「Easy Code Formatter」を検索します

ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.