Bagaimana Anda menempelkan kode yang disorot ke dalam Keynote '13?

16

Saya memberikan banyak presentasi kode berat dengan Keynote. Penyorotan sintaksis membuat ini dapat dibaca.

Di masa lalu saya telah menggunakan alat penyorotan sintaksis berbasis web, dan kemudian menempelkan kode yang lebih mudah dibaca ke dalam presentasi saya.

Ketika saya memutakhirkan ke iWork '13, yang termasuk Keynote 6.1, menempelkan konten menghapus gaya dan warna font.

Misalnya, jika saya mengambil kode warna-warni ini dari GitHub dan menempelkannya ke Keynote, ia menghapus semua pemformatan seperti yang ditunjukkan di sini:

masukkan deskripsi gambar di sini

Apakah ada cara untuk mendapatkan kode yang disorot sintaks ke dalam presentasi ini?

mimming
sumber
Jenny, bisakah Anda memberi tahu kami stabilo yang Anda gunakan untuk melihat dan menyalin kode?
Tony Williams
Menambahkan sumber contoh (GitHub) dan screencap hasilnya.
mimming
Browser apa yang Anda gunakan?
Alan Shutko
@Alan saya menggunakan Chrome 34 ketika saya mengamati perilaku ini
mulai

Jawaban:

13

Jawaban 'singkat'

... adalah aplikasi yang berbeda menyalin teks yang diformat ke clipboard dengan cara yang berbeda, dan aplikasi yang berbeda mendukung menempel dari format yang berbeda. Biasanya Anda akan mendapatkan semacam format 'teks biasa', dan mungkin teks berformat HTML atau RTF di clipboard, dan tergantung pada aplikasi tempel untuk memilih mana yang paling disukai.

Keynote 6.1 pasti mendukung beberapa jenis menempelkan teks yang diformat, karena saya bisa membuatnya bekerja dengan Safari. Tetapi sepertinya tidak berfungsi dengan Firefox atau Chrome (pada saat penulisan). Dari sedikit pengujian, tampaknya semua aplikasi Apple bermain dengan baik bersama (tidak mengherankan di sana), dan beberapa yang lain akan menyalin / menempel ke / dari aplikasi Apple juga (termasuk produk Microsoft Office). Sayangnya ketika Anda menyalin dari Chrome, Anda hanya mendapatkan teks biasa & teks berformat HTML disalin ke clipboard, sehingga akan muncul aplikasi Apple iWork tidak mendukung menempel teks berformat HTML.

Jadi jika salin / tempel tidak menyertakan pemformatan, Anda dapat:

  • Coba peramban lain untuk disalin, seperti Safari; atau
  • Temukan aplikasi perantara untuk ditempelkan ke (yang 'berbicara' baik pemformatan HTML dan dapat menyalin kembali ke dalam format Keynote / etc. Mengerti), seperti Apple sendiri TextEdit.app

Anehnya, Apple sendiri TextEdit.app akan dengan senang hati menempelkan teks yang diformat dari Chrome, dan itu dapat disalin ulang ke clipboard dan disisipkan dengan memformat ke dalam Keynote / Halaman / dll.

Bergantung pada sudut pandang Anda, ini mungkin tampak sebagai batasan (atau kesalahan) di Chrome / Firefox atau di Pages / Keynote / etc, tetapi pada akhirnya mereka tidak berbicara bahasa format yang sama (saat ini).

Saya mendorong siapa pun yang mengalami hal ini untuk mengirim umpan balik kepada pengembang di kedua 'sisi' dengan harapan memperbaiki ini — baik dengan Chrome / Firefox yang mendukung penyalinan RTF / RTFD (atau apa pun yang paling standar / sesuai di luar HTML), atau dengan Aplikasi iWork Apple yang mendukung penyisipan konten HTML.


Lebih dari yang ingin Anda ketahui tentang menyalin ke clipboard

Ketika Anda menyalin beberapa teks ke clipboard, tergantung pada aplikasi, itu mungkin disalin dalam beberapa format. Anda dapat melihat ini menggunakan aplikasi Penampil Clipboard Apple (memerlukan bangunan dalam Xcode).

Misalnya, menyalin dari Google Chrome, clipboard diisi dengan empat salinan terpisah dari informasi yang saya salin — dua teks biasa ( public.utf8-plain-text, NSStringPboardType), dan dua HTML berformat ( public.html, Apple HTML pasteboard type).

Menyalin dari aplikasi lain memberikan berbagai kombinasi jenis format dengan beberapa yang umum lainnya adalah '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, dan seterusnya ...

Seperti yang Anda lihat ada berbagai format teks biasa (dengan berbagai penyandian seperti UTF8 / UTF16), tipe RTF, tipe PDF dan Adobe, tipe gambar. Ada juga sekelompok jenis metadata yang menggambarkan aplikasi yang menyalin data (misalnya com.apple.iWork.TSPNativeMetadata), atau fitur dari teks yang disalin (misalnya com.apple.iWork.TSPDescription), dan apa yang tampaknya dipisahkan teks dan gaya data ( ustldan TEXTsebagai CorePasteboardFlavorTypes, dan mereka com.adobe.indesign-import-setara).

Saya tidak tahu cara melihat jenis format mana yang didukung oleh aplikasi mana untuk menempel, tetapi menggunakan Clipboard Viewer Anda dapat dengan cepat melihat jenis format yang dihasilkan pada penyalinan.

drfrogsplat
sumber
Ini dia. Dalam kasus saya, itu adalah persimpangan Keynote 6.1 dan Chrome. Pengujian lebih lanjut mengungkapkan bahwa konten yang disalin dari Safari 7 berfungsi, tetapi Chrome 34 dan Firefox 27 tidak :(
mimming
Saya sarankan Anda mengirimkan laporan bug ke Chrome dan Firefox (atau memilih permintaan bug / fitur yang ada). Anda akan mendapatkan beberapa pendukung lagi jika Anda menautkan ke bug yang relevan di sini saya yakin juga.
drfrogsplat
Saya sudah mencoba dengan selusin sumber lain untuk salinan dari banyak vendor, dan sepertinya hanya menyalin dari karya perangkat lunak Apple. Konten yang disalin dari perangkat lunak non-Apple juga tampaknya berfungsi ketika saling menempel. Dengan kata lain, sepertinya bug Apple, tapi saya tidak akan meluangkan waktu untuk menyelidiki lebih lanjut (atau mengajukan bug).
mimming
Diselidiki sedikit lebih, tidak sesederhana "hanya Apple ke Apple", karena MS Word dan TextEdit Apple keduanya bekerja dengan cukup banyak segalanya ... tetapi juga curiga ini bisa disebut bug Apple karena mereka tidak mendukung penyisipan dari Teks HTML di aplikasi iWork.
drfrogsplat
Terima kasih untuk ini. Saya mencoba menyalin kode dari Xcode ke Halaman. Agak frustasi karena harus menggunakan TextEdit sebagai perantara, tetapi setidaknya sekarang saya bisa melakukannya! Menyelamatkan saya banyak contoh head-bang-melawan-the-wall! ;-)
mbm29414
7

Ini mungkin stabilo online yang Anda gunakan.

Saya menggunakan http://markup.su dan berfungsi baik dengan Keynote 6.1 - ia mendeteksi sejumlah bahasa secara otomatis dan memiliki sejumlah "tema".

Jika bukan penyorot maka mungkin templat atau browser Anda. Saya dapat mengambil kode Anda dan menempelkannya dari markup.su di Safari ke Keynote dengan sempurna.

masukkan deskripsi gambar di sini

Tony Williams
sumber
markup.su menyoroti hal-hal hebat, tetapi menempel ke bidang teks atau properti teks bentuk di Keynote 6.1 terus mengupas warna dan gaya. : \
mimming
1
Itu aneh karena diuji untuk saya satu atau dua jam yang lalu. Hanya salinan dari Safari dan kemudian tempel ke Keynote berfungsi untuk Python dan Perl.
Tony Williams
Ini juga berfungsi pada Keynote 6.5.3! (Y)
Randika Vishman
1
Ini berfungsi pada Keynote 6.6.1, tetapi Anda harus menyalinnya dari Safari.
luzny
Ya itu harus disalin dari Safari. Chrome tidak akan berfungsi.
Jason Gao
3

Jika Anda tidak menyukai gagasan menempelkan kode Anda secara online, pertimbangkan untuk menginstal paket python Pygments dan menghasilkan sintaks yang disorot di baris perintah:

pygmentize sms_me_last_line.sh

Menyalin dari Terminal dan menempel ke Keynote bekerja untuk saya. Tapi butuh beberapa saat untuk menemukan kontrol pemformatan untuk menghapus warna teks latar belakang. (Klik Format di bilah alat untuk menampilkan opsi pemformatan, klik Teks, klik Gaya, lalu klik roda gigi untuk menampilkan opsi pemformatan tingkat lanjut. Dalam munculan itu Anda akan menemukan "Character Fill Color".)

ithos67
sumber
3

Saya menggunakan Vim. Saya menemukan plugin ini sangat berguna: https://github.com/zerowidth/vim-copy-as-rtf

Dengan cara ini saya dapat menjaga kode saya terlihat sama ketika saya sedang menulis dan mempresentasikannya.

qhwa
sumber
1

Ini adalah bug di Keynote '13:

Menempelkan teks kaya dari Xcode ke Keynote berfungsi saat Anda menempel di kotak teks yang ada.

Ini tidak ketika Anda paste ke kotak teks baru.

mz2
sumber
Apakah ada solusi untuk ini kecuali mengetik teks terlebih dahulu?
Rob
Yang paling nyaman yang saya temukan adalah dengan hanya membuat kotak teks, pilih, dan rekatkan ke dalamnya.
mz2