Я даю много кодовых презентаций с Keynote. Подсветка синтаксиса делает их читабельными.
В прошлом я использовал веб-инструменты для подсветки синтаксиса, а затем вставлял более удобный для чтения код в свою презентацию.
При обновлении до iWork '13, который включает в себя Keynote 6.1, при вставке содержимого стирается стиль и цвет шрифта.
Например, если я возьму этот красочный код из GitHub и вставлю его в Keynote, он удалит все форматирование, как показано здесь:
Есть ли способ получить выделенный синтаксисом код в этих презентациях?
Ответы:
«Короткий» ответ
... в том, что разные приложения по-разному копируют форматированный текст в буфер обмена, а разные приложения поддерживают вставку из разных форматов. Обычно в буфере обмена вы получаете некий формат «простого текста», а также, возможно, текст в формате HTML или RTF, и приложение для вставки выбирает, какой файл ему больше нравится.
Keynote 6.1 определенно поддерживает некоторые виды вставки форматированного текста, так как я могу заставить это работать с Safari. Но, похоже, он не работает с Firefox или Chrome (на момент написания). После небольшого тестирования кажется, что все приложения Apple хорошо сочетаются друг с другом (что неудивительно), и некоторые другие тоже будут копировать / вставлять в / из приложений Apple (включая продукты Microsoft Office). К сожалению, когда вы копируете из Chrome, вы получаете только простой текст и текст в формате HTML, скопированный в буфер обмена, поэтому может показаться, что приложения Apple iWork не поддерживают вставку текста в формате HTML.
Поэтому, если копирование / вставка не включает форматирование, вы можете:
Удивительно, но собственный TextEdit.app от Apple с радостью вставит отформатированный текст из Chrome, и его можно будет снова скопировать в буфер обмена и вставить с форматированием в Keynote / Pages / etc.
В зависимости от вашей точки зрения, это может показаться ограничением (или ошибкой) в Chrome / Firefox или в Pages / Keynote / etc, но в итоге они просто не говорят на одних и тех же языках форматирования (в настоящее время).
Я бы посоветовал всем, кто испытывает это, отправлять отзывы разработчикам с обеих сторон в надежде исправить это - либо с Chrome / Firefox, поддерживающими копирование в формате RTF / RTFD (или с любым другим стандартом / уместным, кроме HTML), либо Приложения Apple iWork, поддерживающие вставку HTML-контента.
Больше, чем вы хотите знать о копировании в буфер обмена
Когда вы копируете некоторый текст в буфер обмена, в зависимости от приложения, он может копироваться в нескольких форматах. Вы можете увидеть их с помощью приложения Apple Clipboard Viewer (требуется сборка в Xcode).
Например, при копировании из Google Chrome буфер обмена заполняется четырьмя отдельными копиями копируемой мной информации - двумя текстовыми (
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 - он автоматически определяет несколько языков и имеет несколько «тем».
Если это не маркер, то это может быть ваш шаблон или браузер. Я смог взять ваш код и вставить его из markup.su в Safari в Keynote.
источник
Если вам не нравится идея вставки кода в сеть, рассмотрите возможность установки пакета Python Python и создания выделенного синтаксиса в командной строке:
Копирование из терминала и вставка в Keynote работали для меня. Но мне потребовалось некоторое время, чтобы найти элемент управления форматированием для удаления цвета фона текста. (Нажмите «Формат» на панели инструментов, чтобы отобразить параметры форматирования, нажмите «Текст», нажмите «Стиль», затем щелкните шестерню, чтобы отобразить дополнительные параметры форматирования. В этом всплывающем окне вы найдете «Цвет заливки символов».)
источник
Я использую Vim. Я нашел этот плагин очень полезным: https://github.com/zerowidth/vim-copy-as-rtf
Таким образом, мои коды будут выглядеть одинаково, когда я писал и представлял их.
источник
Это ошибка в Keynote '13:
Вставка форматированного текста из Xcode в Keynote работает при вставке в существующее текстовое поле.
Это не когда вы вставляете в новое текстовое поле.
источник