Làm thế nào để bạn dán mã cú pháp được tô sáng vào Keynote '13?


16

Tôi đưa ra rất nhiều bài thuyết trình nặng về mã với Keynote. Cú pháp làm nổi bật làm cho những điều này có thể đọc được.

Trước đây, tôi đã sử dụng các công cụ tô sáng cú pháp dựa trên web và sau đó dán mã dễ đọc hơn vào bản trình bày của mình.

Khi tôi nâng cấp lên iWork '13, bao gồm Keynote 6.1, việc dán nội dung sẽ loại bỏ kiểu và màu phông chữ.

Ví dụ: nếu tôi lấy mã đầy màu sắc này từ GitHub và dán nó vào Keynote, nó sẽ xóa tất cả các định dạng như hiển thị ở đây:

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

Có cách nào để lấy mã đánh dấu cú pháp vào các bài thuyết trình này không?


Jenny, bạn có thể cho chúng tôi biết bạn đang sử dụng công cụ tô sáng nào để xem và sao chép mã không?
Tony Williams

Đã thêm một nguồn ví dụ (GitHub) và bản ghi kết quả.
lột xác

Bạn đang dùng trình duyệt nào?
Alan Shutko

@Alan Tôi đã sử dụng Chrome 34 khi tôi quan sát hành vi này
mờ

Câu trả lời:


13

Câu trả lời 'ngắn'

... Là các ứng dụng khác nhau sao chép văn bản được định dạng vào bảng tạm theo các cách khác nhau và các ứng dụng khác nhau hỗ trợ dán từ các định dạng khác nhau. Thông thường, bạn sẽ nhận được một số loại định dạng 'văn bản thuần túy', cũng như có thể văn bản được định dạng HTML hoặc RTF trong bảng tạm và tùy thuộc vào ứng dụng dán để chọn loại nào phù hợp nhất.

Keynote 6.1 chắc chắn hỗ trợ một số loại dán văn bản được định dạng, vì tôi có thể làm điều này để làm việc với Safari. Nhưng nó dường như không hoạt động với Firefox hoặc Chrome (tại thời điểm viết bài). Từ một chút thử nghiệm, có vẻ như tất cả các ứng dụng Apple đều chơi tốt với nhau (không có gì ngạc nhiên) và một vài ứng dụng khác cũng sẽ sao chép / dán vào / từ các ứng dụng Apple (bao gồm cả các sản phẩm của Microsoft Office). Thật không may khi bạn sao chép từ Chrome, bạn chỉ nhận được văn bản đơn giản và văn bản có định dạng HTML được sao chép vào bảng tạm, do đó, nó sẽ xuất hiện các ứng dụng iWork của Apple không hỗ trợ dán văn bản có định dạng HTML.

Vì vậy, nếu sao chép / dán không bao gồm định dạng, bạn có thể:

  • Hãy thử một trình duyệt khác để sao chép từ, chẳng hạn như Safari; hoặc là
  • Tìm một ứng dụng trung gian để dán vào (định dạng 'nói cả định dạng HTML và có thể sao chép lại thành định dạng Keynote / etc hiểu), chẳng hạn như TextEdit.app của chính Apple

Đáng ngạc nhiên, TextEdit.app của Apple sẽ vui vẻ dán văn bản được định dạng từ Chrome và nó có thể được sao chép lại vào bảng tạm và dán định dạng vào Keynote / Pages / v.v.

Tùy thuộc vào quan điểm của bạn, điều này có vẻ như là một hạn chế (hoặc lỗi) trong Chrome / Firefox hoặc trong Pages / Keynote / vv, nhưng cuối cùng, họ chỉ đơn giản là không nói cùng một ngôn ngữ định dạng (hiện tại).

Tôi khuyến khích bất cứ ai gặp phải điều này gửi phản hồi cho các nhà phát triển ở cả hai bên với hy vọng có được bản sửa lỗi này với Chrome / Firefox hỗ trợ sao chép RTF / RTFD (hoặc bất cứ điều gì chuẩn nhất / phù hợp ngoài HTML) hoặc bằng Các ứng dụng iWork của Apple hỗ trợ dán nội dung HTML.


Nhiều hơn bạn muốn biết về sao chép vào clipboard

Khi bạn sao chép một số văn bản vào bảng tạm, tùy thuộc vào ứng dụng, nó có thể được sao chép ở một vài định dạng. Bạn có thể thấy những điều này bằng ứng dụng Trình xem Clipboard của Apple (yêu cầu xây dựng bằng Xcode).

Ví dụ: sao chép từ Google Chrome, bảng ghi tạm được điền với bốn bản sao thông tin riêng biệt mà tôi đã sao chép hai văn bản đơn giản ( public.utf8-plain-text, NSStringPboardType) và hai HTML được định dạng ( public.html, Apple HTML pasteboard type).

Sao chép từ các ứng dụng khác cung cấp cho kết hợp khác nhau của các loại định dạng, với một số những người thông thường khác là 'TEXT' (CorePastboardFlavorType), com.apple.traditional-mac-plain-text, Apple PDF pasteboard type, Apple PICT pasteboard type, public.rtf, NeXT Rich Text Format v1.0 pasteboard type, NeXT RTFD pasteboard type, com.apple.flat-rtfd, com.apple.iWork.TSPNativeData, com.adobe.pdf, com.adobe.indesign-import-ustl, và vân vân ...

Như bạn có thể thấy có nhiều định dạng văn bản đơn giản (với các bảng mã khác nhau như UTF8 / UTF16), các loại RTF, các loại PDF và Adobe, các loại hình ảnh. Ngoài ra còn có một loạt các loại siêu dữ liệu mô tả ứng dụng sao chép dữ liệu (ví dụ com.apple.iWork.TSPNativeMetadata) hoặc các tính năng của văn bản được sao chép (ví dụ com.apple.iWork.TSPDescription) và những gì có vẻ là văn bản tách rời và dữ liệu kiểu ( ustlTEXTnhư CorePasteboardFlavorTypes, và com.adobe.indesign-import-tương đương của chúng ).

Tôi không biết bất kỳ cách nào để xem loại định dạng nào được hỗ trợ bởi ứng dụng nào để dán, nhưng bằng cách sử dụng Trình xem Clipboard, bạn có thể nhanh chóng xem loại định dạng nào được tạo khi sao chép.


Đây chính là nó. Trong trường hợp của tôi, đó là giao điểm của Keynote 6.1 và Chrome. Thử nghiệm thêm cho thấy nội dung được sao chép từ Safari 7 hoạt động, nhưng Chrome 34 và Firefox 27 thì không :(
mờ

Tôi khuyên bạn nên gửi báo cáo lỗi cho cả Chrome và Firefox (hoặc bỏ phiếu cho các yêu cầu tính năng / lỗi hiện có). Bạn sẽ nhận được thêm một vài người ủng hộ nếu bạn liên kết đến các lỗi có liên quan ở đây Tôi chắc chắn cũng vậy.
drfrogsplat

Tôi đã thử với hàng tá nguồn khác để sao chép từ nhiều nhà cung cấp và có vẻ như chỉ sao chép từ phần mềm của Apple hoạt động. Nội dung được sao chép từ phần mềm không phải của Apple dường như cũng hoạt động khi dán vào nhau. Nói cách khác, nó có vẻ như là một lỗi của Apple, nhưng tôi sẽ không dành thời gian để điều tra thêm (hoặc lỗi tệp).
lột xác

Điều tra thêm một chút, nó không đơn giản như "chỉ Apple với Apple", vì cả MS Word và Apple TextEdit đều hoạt động với khá nhiều thứ ... nhưng cũng nghi ngờ đây có thể được gọi là lỗi của Apple vì họ không hỗ trợ dán từ Văn bản HTML trong ứng dụng iWork.
drfrogsplat 17/03/2016

Cảm ơn vì điều đó. Tôi đã cố gắng sao chép mã từ Xcode vào Pages. Có một chút bực bội khi phải sử dụng TextEdit làm trung gian, nhưng ít nhất bây giờ tôi có thể làm được! Tiết kiệm cho tôi một loạt các trường hợp đập đầu vào tường! ;-)
mbm29414

7

Đây có lẽ là công cụ tô sáng trực tuyến bạn đang sử dụng.

Tôi sử dụng http://markup.su và nó hoạt động tốt với Keynote 6.1 - nó tự động phát hiện một số ngôn ngữ và có một số "chủ đề".

Nếu nó không phải là công cụ tô sáng thì đó có thể là mẫu hoặc trình duyệt của bạn. Tôi đã có thể lấy mã của bạn và dán mã từ markup.su trong Safari vào Keynote một cách hoàn hảo.

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


markup.su làm nổi bật những thứ tuyệt vời, nhưng dán vào trường văn bản hoặc thuộc tính văn bản của hình dạng trong Keynote 6.1 tiếp tục lột bỏ màu sắc và kiểu dáng. : \
mờ

1
Điều đó thật lạ khi nó đã kiểm tra tốt đối với tôi một hoặc hai giờ trước. Chỉ cần một bản sao từ Safari và sau đó dán vào Keynote đã hoạt động cho Python và Perl.
Tony Williams

Nó cũng hoạt động trên Keynote 6.5.3! (Y)
Randika Vishman 14/2/2016

1
Nó hoạt động trên Keynote 6.6.1, nhưng bạn phải sao chép nó từ Safari.
luzny

Vâng, nó phải được sao chép từ Safari. Chrome sẽ không hoạt động.
Jason Gao

3

Nếu bạn không thích ý tưởng dán mã trực tuyến của mình, hãy xem xét việc cài đặt gói python Pygments và tạo cú pháp được tô sáng của bạn tại dòng lệnh:

pygmentize sms_me_last_line.sh

Sao chép từ Terminal và dán vào Keynote làm việc cho tôi. Nhưng tôi phải mất một thời gian để tìm ra điều khiển định dạng để loại bỏ màu văn bản nền. (Nhấp vào Định dạng trên thanh công cụ để hiển thị các tùy chọn định dạng, nhấp vào Văn bản, nhấp vào Kiểu, sau đó nhấp vào thiết bị để hiển thị các tùy chọn định dạng nâng cao. Trong cửa sổ bật lên đó, bạn sẽ tìm thấy "Màu ký tự điền".)



1

Đó là một lỗi trong Keynote '13:

Dán văn bản phong phú từ Xcode sang Keynote hoạt động khi bạn dán vào hộp văn bản hiện có.

không khi bạn dán vào một hộp văn bản mới.


Có một cách giải quyết cho vấn đề này ngoại trừ việc gõ văn bản trong đó trước không?
Cướp

Tiện lợi nhất tôi tìm thấy là chỉ cần tạo một hộp văn bản, chọn nó và dán vào nó.
mz2
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.