我使用Keynote進行了大量代碼演示。語法高亮顯示這些內容。
過去,我使用基於Web的語法突出顯示工具,然後將易於閱讀的代碼粘貼到演示文稿中。
當我升級到iWork '13時,包括Keynote 6.1,粘貼內容會去除字體樣式和顏色。
例如,如果我從GitHub上獲取此彩色代碼並將其粘貼到Keynote中,它將刪除所有格式,如圖所示此處:
是否可以將語法突出顯示的代碼添加到這些演示文稿中?
我使用Keynote進行了大量代碼演示。語法高亮顯示這些內容。
過去,我使用基於Web的語法突出顯示工具,然後將易於閱讀的代碼粘貼到演示文稿中。
當我升級到iWork '13時,包括Keynote 6.1,粘貼內容會去除字體樣式和顏色。
例如,如果我從GitHub上獲取此彩色代碼並將其粘貼到Keynote中,它將刪除所有格式,如圖所示此處:
是否可以將語法突出顯示的代碼添加到這些演示文稿中?
...是不同的應用以不同的方式將格式化的文本複製到剪貼板,並且不同的應用支持從不同格式進行粘貼。通常,剪貼板中會提供某種“純文本”格式以及HTML或RTF格式的文本,並且粘貼應用程序可以選擇最喜歡的文本。
主題演講6.1絕對支持某種格式的文本粘貼,因為我可以將其與Safari配合使用。但這似乎不適用於Firefox或Chrome(在撰寫本文時)。通過一點測試,看來Apple應用程序都可以很好地協同工作(在此並不奇怪),還有一些其他應用程序也可以從Apple應用程序(包括Microsoft Office產品)複製/粘貼。不幸的是,當您從Chrome複製時,您只能將純文本& HTML格式的文本複製到剪貼板,因此蘋果的iWork應用程序似乎不支持粘貼HTML格式的文本。
因此,如果復制/粘貼不包含格式,您可以:
令人驚訝的是,蘋果自己的TextEdit.app會很高興地從Chrome瀏覽器粘貼帶格式的文本,並且可以將其重新復製到剪貼板並粘貼到Keynote / Pages / etc等格式中。
根據您的觀點,這可能在Chrome / Firefox或Pages / Keynote / etc中似乎是一個限制(或錯誤),但最終它們根本不會講相同的格式語言(目前)。
我鼓勵所有遇到此問題的人將反饋反饋給開發者雙方,以期解決此問題-使用支持RTF / RTFD複製的Chrome / Firefox(或大多數標準/適用於HTML以外的版本),或Apple的iWork應用支持粘貼HTML內容。
將某些文本複製到剪貼板時,根據應用程序的不同,可能會以幾種格式複製文本。您可以使用Apple的 Clipboard Viewer應用程序(需要在Xcode中構建)來查看這些內容。
例如,從Google Chrome複製時,剪貼板中填充了四個獨立的信息副本複製-兩個純文本( public.utf8-純文本
, NSStringPboardType
)和兩個HTML格式( public.html
, Apple HTML粘貼板類型
)。
從其他應用程序複製會給出各種格式類型組合,其他一些常見的格式是'TEXT'(CorePastboardFlavorType)
, com.apple.traditional-mac-plain-text
, Apple PDF粘貼板類型
, Apple PICT粘貼板類型
, public.rtf
>, NeXT RTF格式v1.0粘貼板類型
, NeXT RTFD粘貼板類型
, com.apple.flat-rtfd
, com .apple.iWork.TSPNativeData
, com.adobe.pdf
, com.adobe.indesign-import-ustl
,等等...
如您所見有多種純文本格式(具有UTF8 / UTF16等各種編碼),RTF類型,PDF和Adobe類型,圖像類型。還有一堆元數據類型,它們描述了複製數據的應用程序(例如 com.apple.iWork.TSPNativeMetadata
)或複製文本的功能(例如 com.apple.iWork .TSPDescription
),似乎是分隔的文本和样式數據( ustl
和 TEXT
作為 CorePasteboardFlavorType
s)以及它們的 com.adobe.indesign-import-等效項。)
我不知道如何查看粘貼應用程序所支持的格式類型,但是使用剪貼板查看器可以快速查看複製時生成的格式類型。
這可能是您正在使用的在線熒光筆。
我使用 http://markup.su,並且與Keynote 6.1配合使用時效果很好-它可以自動檢測多種語言並具有許多“主題”。
如果它不是熒光筆,則可能是您的模板或瀏覽器。我能夠將您的代碼完美地從Safari中的markup.su粘貼到Keynote中。
如果您不喜歡在線粘貼代碼的想法,請考慮安裝 Pygments python軟件包並在命令行中生成突出顯示的語法:
pygmentize sms_me_last_line.sh
從Terminal複製並粘貼到Keynote中對我來說很有效。但是我花了一些時間才能找到用於刪除背景文字顏色的格式設置控件。 (單擊工具欄中的“格式”以顯示格式選項,單擊“文本”,單擊“樣式”,然後單擊齒輪以顯示高級格式選項。在該彈出窗口中,您將找到“字符填充顏色”。)
我正在使用Vim。我發現這個插件超級有用: https://github.com/zerowidth/vim-copy-as-rtf
這樣,我可以在以下情況下保持代碼的外觀不變我正在寫並介紹它們。
這是Keynote '13中的一個錯誤:
在粘貼到現有文本框中時,可以將豐富的文本從Xcode粘貼到Keynote中。
不/ em>粘貼到新文本框中。