我使用Keynote进行了大量代码演示。语法高亮使它们可读。
过去,我使用基于Web的语法突出显示工具,然后将易于阅读的代码粘贴到演示文稿中。
当我升级到包括Keynote 6.1的iWork '13时,粘贴内容会删除字体样式和颜色。
例如,如果我从GitHub提取此彩色代码并将其粘贴到Keynote中,它将删除所有格式,如下所示:
有没有办法将语法突出显示的代码添加到这些演示文稿中?
我使用Keynote进行了大量代码演示。语法高亮使它们可读。
过去,我使用基于Web的语法突出显示工具,然后将易于阅读的代码粘贴到演示文稿中。
当我升级到包括Keynote 6.1的iWork '13时,粘贴内容会删除字体样式和颜色。
例如,如果我从GitHub提取此彩色代码并将其粘贴到Keynote中,它将删除所有格式,如下所示:
有没有办法将语法突出显示的代码添加到这些演示文稿中?
Answers:
...是不同的应用程序以不同的方式将格式化的文本复制到剪贴板,并且不同的应用程序支持从不同格式进行粘贴。通常,您会得到某种“纯文本”格式,以及剪贴板中的HTML或RTF格式的文本,这取决于粘贴应用程序来选择最喜欢的文本。
Keynote 6.1绝对支持某种格式的文本粘贴,因为我可以将其与Safari一起使用。但这似乎不适用于Firefox或Chrome(在撰写本文时)。通过一点测试,看来Apple应用程序都可以很好地协同工作(在此并不奇怪),还有一些其他应用程序也可以从Apple应用程序(包括Microsoft Office产品)复制/粘贴。不幸的是,当您从Chrome复制时,您只能将纯文本和HTML格式的文本复制到剪贴板,因此看来Apple的iWork应用程序不支持粘贴HTML格式的文本。
因此,如果复制/粘贴不包含格式,则可以:
出乎意料的是,苹果自己的TextEdit.app会很高兴地从Chrome中粘贴格式化的文本,并且可以将其重新复制到剪贴板并粘贴到Keynote / Pages / etc等格式中。
根据您的观点,这在Chrome / Firefox或Pages / Keynote / etc等中似乎是一个限制(或错误),但最终它们根本不讲相同的格式语言(当前)。
我鼓励遇到这种情况的任何人将反馈反馈给开发者双方,以期解决此问题-通过支持RTF / RTFD复制的Chrome / Firefox(或除HTML之外最标准/合适的方法)或苹果公司的iWork应用程序,支持粘贴HTML内容。
当您将某些文本复制到剪贴板时,根据应用程序的不同,可能会以几种格式复制文本。您可以使用Apple的Clipboard Viewer应用程序查看这些内容(需要在Xcode中构建)。
例如,从谷歌浏览器复制,剪贴板获取与信息,我的四个独立的副本填充复制个纯文本(public.utf8-plain-text
,NSStringPboardType
),和两个HTML格式(public.html
,Apple HTML pasteboard type
)。
从其他应用程序复制给格式类型的各种组合,与其他一些常见的是'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
,等...
如您所见,存在多种纯文本格式(具有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中。
我正在使用Vim。我发现这个插件超级有用:https : //github.com/zerowidth/vim-copy-as-rtf
这样,我在编写和展示代码时就可以保持代码外观不变。