Cách tốt nhất để chèn các ví dụ mã nguồn vào tài liệu Microsoft Word là gì?


131

Tôi phải viết một số tài liệu sẽ bao gồm các ví dụ mã nguồn. Một số ví dụ sẽ được viết từ IDE và những ví dụ khác sẽ được viết tại chỗ. Các ví dụ của tôi chủ yếu bằng Java.

Là một người đã quen với LaTeX, làm điều này trong Word là vô cùng đau đớn. Tuy nhiên, tôi bị ràng buộc với Word cho điều này. Các tùy chọn duy nhất tôi đã thấy là:

  1. Viết hoặc sao chép vào tài liệu, sau đó sử dụng phông chữ cố định, sắp xếp định dạng và hy vọng rằng Word không viết hoa cho bạn. Không cần phải nói, điều này trông giống như tào lao.
  2. Sao chép và dán ảnh chụp màn hình của mã nguồn từ IDE. Ít nhất tôi giữ được màu sắc. Tuy nhiên, nếu tôi thay đổi kích thước phông chữ của mình, tôi sẽ bị rối. Tôi cũng bị lừa qua các ranh giới trang. Và hãy thừa nhận, Word không tuyệt vời trong việc quản lý nhiều hình ảnh trên một tài liệu.
  3. Viết HTML (không thực sự là một tùy chọn ở đây)

Có một số cách tốt hơn (và lý tưởng di động) để làm điều này? Có ít nhất một số loại phong cách nguyên văn tương tự như môi trường LaTeX? Có ít nhất một số máy in đẹp mà tôi có thể sao chép và dán như RTF không?


Russel: Không chắc tôi hiểu.
Uri

2
Tôi nghĩ rằng điều này có lẽ thích hợp hơn cho superuser. Chỉ vì điều bạn đang chèn vào tài liệu xảy ra là mã không biến điều này thành một câu hỏi lập trình.
danben

2
@danben: Tôi đoán thế. Tôi chỉ hình dung rằng các ví dụ mã trong các tài liệu word là điều mà hầu hết các lập trình viên cuối cùng làm trong công việc hàng ngày của họ.
Uri

1
Bạn có bị ràng buộc với định dạng Word-the-chương trình hoặc Word-the-file không?
Ken

Câu trả lời:


186

Tôi hoàn toàn ghét và coi thường làm việc miễn phí cho Microsoft, vì sau tất cả hàng tỷ đô la, họ VẪN không có hướng dẫn thích hợp về những thứ như thế này bằng ảnh chụp màn hình trên trang web chết tiệt của họ.

Dù sao, đây là một hướng dẫn nhanh trong Word 2010, sử dụng Notepad ++ để tô màu cú pháp và TextBox có thể được chú thích:

  1. Chọn Chèn / Hộp văn bản / Hộp văn bản đơn giản
    01 ô
  2. Một hộp văn bản mặc định được chèn
    02 ô
  3. Chuyển sang NPP, chọn ngôn ngữ để tô màu cú pháp cho mã của bạn, đi tới Plugins / NPPExport / Sao chép RTF vào clipboard
    03npp
  4. Chuyển về từ và dán vào hộp văn bản - nó có thể quá nhỏ ...
    04 ô
  5. ... vì vậy bạn có thể phải thay đổi kích thước của nó
    05 ô
  6. Chọn hộp văn bản, nhấp chuột phải vào nó, sau đó chọn Chèn chú thích ...
    06 ô
  7. Trong menu Phụ đề, nếu bạn chưa có, hãy nhấp vào Nhãn mới và đặt nhãn mới thành "Mã", nhấp OK ...
    07 ô
  8. ... sau đó trong hộp thoại Chú thích, chuyển nhãn thành Mã và nhấn OK
    08 ô
  9. Cuối cùng, nhập chú thích của bạn vào hộp chú thích mới được tạo
    09 ô

Khi bạn chú thích chéo tham chiếu, nó sẽ chèn toàn bộ mã để giải quyết vấn đề này?
MonsterMMORPG

1
Trong Word 2013, văn bản là mã được dán dưới dạng văn bản thuần túy, không có cách nào giữ được định dạng của Notepad ++
Jose Nobile

2
@JoseNobile bạn cần sử dụng plugin NppExport trong Notepad ++
NeilenMarais

1
Nó cũng hoạt động với Android Studio, Visual Studio và Eclipse.
Teocci

Ban đầu tôi đã sử dụng kỹ thuật tương tự nhưng sau đó đã đổi sang sử dụng bảng 1x1 vì tôi thấy rằng các hộp văn bản là một nỗi đau đối với vị trí. Tôi đã thử "trên và dưới" để văn bản chỉ có trước và sau và Word sẽ di chuyển hộp lên hoặc xuống một cách kỳ diệu, đôi khi chú thích sẽ không hiển thị, thật là đau. Bắt đầu sử dụng các bảng ngày hôm nay dựa trên một QA SO khác, cho đến nay vẫn hoạt động tốt. Tôi tạo một loại nhãn phụ đề mới "Liệt kê".
Oliver

26

Gần đây tôi đã xem qua bài đăng này và tìm thấy một số gợi ý hữu ích. Tuy nhiên, cuối cùng tôi đã sử dụng một cách tiếp cận hoàn toàn khác phù hợp với nhu cầu của mình. Tôi đang chia sẻ cách tiếp cận và lý do của tôi về lý do tại sao tôi chọn phương pháp này. Bài viết dài hơn tôi muốn, nhưng tôi tin rằng ảnh chụp màn hình luôn hữu ích. Hy vọng, câu trả lời sẽ hữu ích cho ai đó.

Yêu cầu của tôi là như sau:

  1. Thêm đoạn mã vào một tài liệu từ, với đánh dấu cú pháp để dễ nhìn và phân biệt mã và văn bản khác.
  2. Đoạn mã sẽ được nội tuyến với văn bản khác.
  3. Đoạn mã sẽ vượt qua các trang một cách trơn tru mà không cần thêm bất kỳ nỗ lực nào.
  4. Đoạn mã sẽ có một đường viền đẹp.
  5. Đoạn mã sẽ bị vô hiệu hóa kiểm tra chính tả.

Cách tiếp cận của tôi được liệt kê dưới đây:

  1. Sử dụng công cụ bên ngoài để đạt được yêu cầu tô sáng cú pháp 1 ở trên. Người ta có thể sử dụng notepad plus plus như mô tả ở trên. Tuy nhiên, tôi sử dụng công cụ có mặt ở đây - http://www.planetb.ca/syntax-highlight-word . Điều này cho tôi tùy chọn sử dụng số dòng, cũng như tô sáng cú pháp rất hay (Vui lòng sử dụng Google Chrome cho bước này, vì tô sáng cú pháp không được sao chép khi sử dụng Mozilla Firefox, cũng được chỉ ra bởi một số nhận xét của người dùng). Các bước để đạt được cú pháp tô sáng được liệt kê dưới đây:
    • Mở trang web được cung cấp ở trên bằng chrome và Sao chép đoạn mã trong vùng văn bản. Tôi sẽ sử dụng một XML mẫu để chứng minh điều này (mẫu XML từ đây - http: //www.service-arch architecture.com/articles/object-oriented-database/xml_file_for_complex_data.html ).
    • Chọn ngôn ngữ từ menu thả xuống.
    • Nhấp vào nút "Hiển thị đánh dấu". Nó sẽ mở một tab mới, với đoạn mã được tô sáng theo cú pháp, trong trường hợp này là mẫu XML mà chúng tôi đã chọn. Xem hình ảnh dưới đây ví dụ. Hình ảnh cho thấy một xml mẫu được dán trong vùng văn bản, ngôn ngữ được chọn là XML và nút.
    • Để tắt số dòng, kiểm tra trang bằng chrome. Sau đó, theo kiểu, bỏ chọn thuộc tính "lề" trong ".dp-highlighter ol", như trong hình bên dưới. Nếu bạn muốn giữ số dòng, hãy đến bước tiếp theo.
    • Chọn mã được đánh dấu cú pháp và nhấp vào sao chép. Bây giờ mã của bạn đã sẵn sàng để dán vào Microsoft word. Kết quả của XML được tô sáng cú pháp Cảm ơn blog này đã cung cấp thông tin này - http://idratherbewriting.com/2013/04/04/adding-syntax-highlighting-to-code-examples-online-and-in-microsoft-word/ .
  2. Để đạt được các yêu cầu 2, 3 và 4 ở trên, hãy sử dụng bảng trong Microsoft word, để chèn đoạn mã. Các bước được liệt kê dưới đây:

    • Chèn một bảng với cột đơn.
    • Dán văn bản đã sao chép từ bước 1. trong cột bảng. Tôi đã giữ các số dòng để cho thấy điều này hoạt động tốt như thế nào với Microsoft word.
    • Áp dụng đường viền, như bạn muốn. Tôi đã sử dụng kích thước 1pt. Kết quả đoạn từ Microsoft sẽ xuất hiện như được hiển thị trong ảnh chụp màn hình bên dưới. Lưu ý cách nó phá vỡ độc đáo trên trang - KHÔNG cần thêm nỗ lực để quản lý việc này, điều mà bạn sẽ phải đối mặt nếu chèn đối tượng "OpenDocument Text" hoặc nếu sử dụng "Simple TextBox". Đoạn mã được tô sáng bằng cú pháp được dán trong Bảng Microsoft Word
  3. Để đạt được yêu cầu 5, hãy làm theo các bước dưới đây:

    • Chọn toàn bộ bảng hoặc văn bản.
    • Chuyển đến tab Xem lại. Trong Ngôn ngữ, chọn "Ngôn ngữ chứng minh". Một cửa sổ bật lên mới sẽ được trình bày.
    • Chọn "Không kiểm tra chính tả hoặc ngữ pháp". Sau đó, bấm OK. Vô hiệu hóa kiểm tra chính tả
    • Văn bản kết quả đã vô hiệu hóa kiểm tra chính tả. Kết quả cuối cùng được hiển thị trong hình dưới đây và đáp ứng tất cả các yêu cầu. Kết quả cuối cùng - đáp ứng tất cả 5 yêu cầu.

Vui lòng cung cấp nếu bạn có bất kỳ phản hồi hoặc cải tiến hoặc gặp phải bất kỳ vấn đề nào với cách tiếp cận.


2
Cảm ơn! Trông thật tuyệt ... Tôi đã phải sử dụng Google Chrome vì Mozilla Firefox không sao chép cú pháp tô sáng.
loveMeansNoth

Tôi nghĩ rằng đây là giải pháp tốt nhất. Một mẹo nữa: nếu bạn không muốn kiểm tra chính tả nhưng bạn không viết bằng tiếng Anh, hãy chèn mã dưới dạng đối tượng Văn bản Tài liệu Mở. Chuyển đến CHERTN - ĐỐI TƯỢNG - và chọn Văn bản OpenDocument. Chèn mã vào tài liệu đã mở, sau đó lưu và đóng. Mã được hiển thị như trên nhưng chính tả bị bỏ qua hoàn toàn. Hạn chế duy nhất có thể là số không hoạt động chính xác, nếu bạn muốn đưa nó vào chú thích cho danh sách. Havent đã kiểm tra mà.
dùng3629892

@ user3629892 Tôi nghĩ rằng với Tài liệu mở, bạn không thể bao bọc độc đáo trên các trang khác nhau.
maracuja-Juice

Có khả năng nào có được đường viền đẹp đó cho số dòng trong khi sao chép sang từ không.
Paramesh Korrakuti

1
@ Capt.Krusty - Ở điểm 1, điểm 1 và 5, tôi đã đề cập đến việc sử dụng Chrome. Nhưng, tôi sẽ tiếp tục và thêm "Google Chrome" như bạn và loveMeansNoth đề xuất.
abhishek

23

Bạn cần xác định một kiểu trong tài liệu Word của bạn và sử dụng kiểu đó cho mã nguồn. Tôi thường có một kiểu gọi là "Mã" có phông chữ đơn cách ở kích thước điểm nhỏ, các tab kích thước cố định, khoảng cách dòng đơn, không có khoảng cách trước / sau đoạn văn, v.v. Bạn chỉ cần xác định kiểu này một lần rồi sử dụng lại. Bạn dán mã nguồn của mình và áp dụng kiểu "Mã" cho nó.

Lưu ý rằng một số trình soạn thảo (ví dụ Xcode trên Mac) thêm RTF cũng như văn bản vào bảng tạm khi sao chép / dán giữa các ứng dụng - Word nhận ra RTF và giữ lại định dạng, tô màu cú pháp, v.v.

Mã nguồn trong Xcode:

nhập mô tả hình ảnh ở đây

Sao chép và dán vào Word:

nhập mô tả hình ảnh ở đây

(Lưu ý: nên tắt tính năng kiểm tra chính tả theo kiểu "Mã" trong Word.)


Tuy nhiên, điều này không tự động thêm kiểu vào từ khóa, số, chuỗi, v.v.
Bart

@Bart: nói chung, không, nhưng đối với những người sử dụng Xcode (cho Mac OS X, iOS, v.v.) thì clipboard chứa RTF với tất cả các màu cú pháp, v.v. và Word chấp nhận điều này. Có thể có những biên tập viên khác cũng có tính năng hữu ích này, nhưng tôi không biết về chúng.
Paul R

RTF hoạt động, vâng, tôi đã sử dụng điều này trong quá khứ cũng như sử dụng Notepad ++ sang Word. Tuy nhiên, sẽ rất tuyệt nếu có một cách để thêm một kiểu mã thực , tức là một kiểu làm nổi bật cú pháp tự động. Khá là xấu hổ không có gì như thế tồn tại. Cấp, có một số tiện ích bạn có thể cài đặt có thể làm nổi bật theo yêu cầu, nhưng tôi vẫn chưa tìm thấy tiện ích nào có thể dễ dàng định kiểu lại tất cả các khối mã của bạn với một kiểu khác nếu bạn muốn.
Bart

Tôi không nghĩ rằng điều này hỗ trợ chú thích phải không?
Oliver

@Schollii: Tôi nghĩ rằng chú thích chỉ có thể được áp dụng cho các đối tượng của Google trong Word. Tôi đoán bạn có thể đặt mã vào bảng 1x1, sau đó sẽ biến nó thành một đối tượng?
Paul R

11

Nó phụ thuộc vào IDE. Ví dụ, cả Visual Studio và Eclipse sẽ cho phép bạn sao chép dưới dạng RTF và dán vào Word, giữ tất cả định dạng của bạn.

Notepad ++ có một plugin có tên là "NppExport" (được cài đặt sẵn) cho phép bạn sao chép vào RTF, mặc dù tôi không quan tâm lắm đến việc làm nổi bật cú pháp của Notepad ++ (mặc dù chắc chắn nó có thể qua được). Những gì nó làm là hỗ trợ hàng tá ngôn ngữ, trong khi các IDE đã nói ở trên chỉ giới hạn ở một số ngôn ngữ (không có các plugin khác).


1
Tôi đã rất may mắn với cả VS và Eclipse khi thực hiện điều này - sử dụng trình soạn thảo của IDE để thực hiện tô màu cú pháp (và bất kỳ định dạng nào tôi thích), sau đó cắt và dán trực tiếp vào từ. Tôi thường theo dõi nó bằng cách đặt phông chữ trên đoạn mã thành phông chữ có chiều rộng cố định (nó không phải lúc nào cũng xuất hiện với tôi)
heckj

3

Điều này có liên quan đến câu trả lời này: https://stackoverflow.com/a/2653406/931265 Tạo một đối tượng giải quyết tất cả các vấn đề của tôi.

Chèn> Đối tượng> Văn bản Opendocument

Điều này sẽ mở một cửa sổ tài liệu, dán văn bản của bạn, định dạng nó theo cách bạn muốn và đóng nó.

Kết quả là một con số. Nhấp chuột phải vào đối tượng và chọn 'thêm chú thích'.

Bây giờ bạn có thể tạo các tham chiếu chéo, tạo một bảng số liệu.


Khi bạn chú thích chéo tham chiếu, nó sẽ chèn toàn bộ mã cũng như làm thế nào để giải quyết vấn đề này?
MonsterMMORPG





1

Nếu bạn vẫn đang tìm kiếm một cách đơn giản để thêm đoạn mã.

bạn có thể dễ dàng đi đến [Chèn]> [Đối tượng]> [Văn bản Opendocument]> dán mã của bạn> Lưu và Đóng.

Bạn cũng có thể đặt cái này vào một macro và thêm nó vào thanh truy cập dễ dàng của bạn.

ghi chú:

  • Điều này sẽ chỉ mất tối đa một trang mã.
  • Mã của bạn sẽ không được tự động sửa .
  • Bạn chỉ có thể tương tác với nó bằng cách nhấp đúp vào nó.

1

Trong Word, có thể dán mã sử dụng màu để phân biệt các nhận xét với mã bằng cách sử dụng "Dán giữ định dạng nguồn." Tuy nhiên, nếu bạn sử dụng mã được dán để tạo kiểu mới, Word sẽ tự động loại bỏ văn bản được mã hóa màu và thay đổi chúng thành màu đen (hoặc bất kể màu mặc định tự động là gì). Vì áp dụng một kiểu là cách tốt nhất để đảm bảo tuân thủ các yêu cầu định dạng tài liệu, Word không hữu ích lắm cho việc lập tài liệu cho các chương trình phần mềm. Thật không may, tôi không nhớ Open Office trở nên tốt hơn. Cách giải quyết tốt nhất là sử dụng hộp văn bản đơn giản mặc định.


1

Tôi đã thử tất cả các phương thức của bạn, nhưng chúng không hiệu quả với tôi, thực tế tôi đã tạo ra một phương pháp dễ dàng hơn bằng cách sử dụng Bảng MS Word .

Ưu điểm:

  1. Đẹp hơn
  2. Dễ quản lý & nhất quán hơn
  3. Ít gặp vấn đề
  4. Không cần plugin bên ngoài hoặc mã hóa vi mô MS Word.
  5. Dễ dàng xử lý hơn bởi những người dùng đơn giản ( như bản thân tôi ).

Nhược điểm: Nó sẽ không duy trì màu mã mặc dù ai đó có thể cải thiện thủ thuật của tôi.

Các bước:

  1. Chèn bảng 3x3, trong trường hợp của tôi, tôi luôn làm cho tổng chiều rộng của bảng bằng với chiều rộng của trang miễn phí ( tối thiểu 3 hàng để kiểm tra kiểu bảng ).

  2. Sử dụng đường viền vô hình ( tùy chọn " Không biên giới " ) và kích hoạt tùy chọn " Xem đường lưới ". nó nên có khía cạnh này Hãy lưu ý rằng những dòng đó là để bạn xem lưới của bảng và sẽ không được in.

nhập mô tả hình ảnh ở đây

  1. Thực hiện các điều chỉnh về khoảng cách giữa các ô và chiều rộng của cột để có được khía cạnh bạn thích. ( Bạn sẽ phải vào " Thuộc tính bảng " để tinh chỉnh ). nhập mô tả hình ảnh ở đây

  2. Tạo " Kiểu đoạn văn " với tên " " chỉ cho đoạn mã của bạn ( kiểm tra https://stackoverflow.com/a/25092977/8533804 để có ý tưởng, bạn không phải tuân theo tất cả ý tưởng đó)

  3. Tạo một " Kiểu đoạn văn " khác với tên " Code_numberline " sẽ dựa trên kiểu đã tạo trước đó. nhập mô tả hình ảnh ở đây

  4. Trong " Code_numberline " mới được tạo, thêm kiểu đánh số mà bạn thích (điều này sẽ tự động đánh số dòng). nhập mô tả hình ảnh ở đây

  5. Áp dụng " Code_numberline " cho cột đầu tiên và " Code " cho cột 3. nhập mô tả hình ảnh ở đây

  6. Thêm một điền vào cột giữa. nhập mô tả hình ảnh ở đây

  7. Lưu kiểu bàn đó và tận hưởng!


Tuyệt vời cho đến khi, bạn nói Lưu kiểu bàn đó .
Martin của Hessle

@MartinofHessle, tốt cho các tài liệu mở rộng, nơi bạn sẽ điền vào đó bằng các đoạn mã ở nhiều nơi, tùy chọn lưu kiểu bảng này là tiết kiệm thời gian, bên cạnh đó cho phép bạn sửa đổi kiểu bảng trong suốt tài liệu không gặp rắc rối, như trong trường hợp của tôi trong đó tôi có một phong cách cho IDE và IDLE ... mặt khác, nếu bạn chỉ sử dụng một bảng, thì bạn có thể bỏ qua bước cuối cùng
Nader Belal

Tôi đồng ý với lý do tại sao. Đó là cách nói với normal.dot để làm cho nó tồn tại, đây sẽ là một bổ sung hữu ích. Tôi đã tìm ra nó nhưng nó không rõ ràng.
Martin của Hessle

@MartinofHessle tha thứ cho tôi, nhưng tôi không hiểu câu nói cuối cùng của bạn. Bạn có thể lặp lại nó một lần nữa trong điều kiện đơn giản hơn?
Nader Belal

1
Xin lỗi lỗi đánh máy, đáng lẽ phải làm thế nào để lưu nó vào normal.dot .
Martin của Hessle

1

Sử dụng cái này - http://hilite.me/

hilite.me chuyển đổi các đoạn mã của bạn thành định dạng HTML được in đẹp, có thể dễ dàng nhúng vào các bài đăng trên blog, email và trang web.

Cách thực hiện: Chỉ cần sao chép mã nguồn vào khung bên trái, chọn ngôn ngữ và bảng màu và nhấp vào "Đánh dấu!". Bây giờ có thể dán HTML từ khung bên phải vào blog hoặc email của bạn, không yêu cầu tệp CSS hoặc Javascript bên ngoài.

Đối với tài liệu Microsoft Word: Sao chép nội dung từ phần Xem trước và dán vào tài liệu Microsoft Word của bạn.

3 phần: Mã nguồn, HTML và Xem trước


0

Có một cách dễ dàng nếu bạn muốn định dạng mã đơn giản.

  1. Mở từ> Chèn tab> bấm vào "Nhận bổ trợ"
  2. tìm kiếm "Trình trộn nội dung" 3.nhấp vào "Thêm"

Sau đó, trình trộn nội dung add sẽ tự động mở và bạn có thể sao chép dán mã của mình vào đó và nhấp vào "Chèn" để chèn nó vào tài liệu word.


0

Những câu trả lời này có vẻ lỗi thời và khá tẻ nhạt so với giải pháp bổ trợ web; có sẵn cho các sản phẩm kể từ Office 2013.

Tôi đang sử dụng Easy Code Formatter , cho phép bạn mã hóa văn bản tại chỗ. Nó cũng cung cấp cho bạn các tùy chọn đánh số dòng, tô sáng, các kiểu khác nhau và các kiểu được mở nguồn tại đây: https://github.com/armhil/easy-code-formatter-ststyle để bạn có thể tự mở rộng kiểu dáng. Để cài đặt - mở Microsoft Word, hãy chuyển đến Chèn Tab / nhấp vào "Nhận bổ trợ" và tìm kiếm "Trình định dạng mã dễ dàng"

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.