Як вставити виділений синтаксис код в Keynote '13?


16

Я даю чимало важких презентацій з Keynote. Підсвічування синтаксису робить їх читабельними.

Раніше я використовував веб-інструменти для виділення синтаксису, а потім вставляв простіший для читання код у свою презентацію.

Коли я перейшов до iWork '13, який включає Keynote 6.1, вставка вмісту смужок стилю та кольору шрифту.

Наприклад, якщо я беру цей барвистий код з GitHub і вставляю його в Keynote, він видаляє все форматування, як показано тут:

введіть тут опис зображення

Чи є спосіб отримати виділений синтаксис код у цих презентаціях?


Дженні, ти можеш сказати нам, який маркер ви використовуєте для перегляду та копіювання коду?
Тоні Вільямс

Додано приклад джерела (GitHub) та скріншот результату.
наслідування

Який браузер ви використовуєте?
Алан Шутко

@Alan Я користувався Chrome 34, коли спостерігав таку поведінку
імітуючи

Відповіді:


13

Відповідь «коротка»

... полягає в тому, що різні додатки копіюють відформатований текст у буфер обміну по-різному, а різні додатки підтримують вставлення з різних форматів. Зазвичай ви отримаєте якийсь формат "простого тексту", а також, можливо, текст у форматі HTML або RTF у буфері обміну, і це залежно від додатка для вставки, який вам найбільше подобається.

Keynote 6.1 безумовно підтримує певну форму форматування тексту, оскільки я можу це працювати з Safari. Але це, здається, не працює з Firefox або Chrome (на момент написання). Зважаючи на тестування, здається, що всі програми Apple грають чудово разом (тут не дивно), а деякі інші також копіюватимуть / вставляти в / із додатків Apple (включаючи продукти Microsoft Office). На жаль, коли ви копіюєте з Chrome, ви отримуєте скопійований у буфер обміну лише звичайний текст та текст у форматі HTML, тому, схоже, додатки iWork Apple не підтримують вставлення тексту у форматі HTML.

Тож якщо копіювання / вставка не включає форматування, ви можете:

  • Спробуйте скопіювати інший веб-переглядач , наприклад Safari; або
  • Знайдіть проміжну програму, в яку слід вставити (яка "говорить" як у форматуванні HTML, так і можна повторно скопіювати у формат Keynote / тощо зрозуміти), наприклад, власний TextEdit.app від Apple

Дивно, але власний TextEdit.app від Apple з радістю вставить відформатований текст із Chrome, і його можна буде скопіювати у буфер обміну та вставити з форматуванням у Keynote / Pages / тощо.

Залежно від вашої точки зору, це може здатися обмеженням (або помилкою) у Chrome / Firefox або у Pages / Keynote / тощо, але врешті-решт вони просто не розмовляють однаковими мовами форматування (в даний час).

Я б закликав тих, хто відчуває це, надсилати відгуки розробникам з обох "сторін", сподіваючись виправити це - або через Chrome / Firefox, що підтримує RTF / RTFD копіювання (або все, що є найбільш стандартним / підходящим за межами HTML), або автор Програми iWork від Apple, що підтримують вставку вмісту HTML.


Більше, ніж ви хочете знати про копіювання у буфер обміну

Коли ви копіюєте текст у буфер обміну, залежно від програми, він може бути скопійований у кількох форматах. Ви можете бачити їх за допомогою програми Clipboard Viewer від Apple (потрібна побудова в 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як CorePasteboardFlavorTypes та їх com.adobe.indesign-import-еквіваленти).

Я не знаю жодного способу бачити, які типи форматів підтримуються, які програми для вставки, але за допомогою програми Clipboard Viewer ви можете швидко побачити, які типи форматів створюються при копіюванні.


Це було все. У моєму випадку це було перетином Keynote 6.1 та Chrome. Подальше тестування показує, що вміст, скопійований із Safari 7, працює, але Chrome 34 та Firefox 27 не відповідають :(
імітуючи

Я б запропонував вам надіслати звіт про помилки як для Chrome, так і для Firefox (або проголосувати за наявні помилки / запити на функції). Ви отримаєте ще декілька прихильників, якщо зв’яжетесь із відповідними помилками тут, я теж впевнений.
drfrogsplat

Я спробував з десяток інших джерел для копії від стільки ж постачальників, і, схоже, працює лише копіювання з програмного забезпечення Apple. Вміст, скопійований із програмного забезпечення, що не належить Apple, також, здається, працює під час вставки один одного. Іншими словами, це здається помилкою Apple, але я не збираюсь витрачати час на дослідження (чи файли помилок).
імітуючи

Досліджено трохи більше, це не так просто, як "тільки Apple в Apple", оскільки MS Word і Apple TextEdit працюють майже з усім ... але також підозрюємо, що це можна назвати помилкою Apple, оскільки вони не підтримують вставки HTML-текст у додатках iWork.
drfrogsplat

Дякую за це Я намагався скопіювати код з Xcode на Pages. Трохи засмучує використання TextEdit в якості посередника, але принаймні зараз я можу це зробити! Врятували мені купу випадкових ударів головою об стіну! ;-)
mbm29414

7

Це, мабуть, онлайн-підсвітка, яку ви використовуєте.

Я використовую http://markup.su, і він чудово працює з Keynote 6.1 - він автоматично виявляє декілька мов і має ряд "тем".

Якщо це не маркер, то це може бути ваш шаблон або браузер. Мені вдалося взяти ваш код і ідеально вставити його з markup.su в Safari в Keynote.

введіть тут опис зображення


markup.su виділяє речі чудово, але вставлення у текстове поле чи властивість тексту форми у Keynote 6.1 продовжує знімати колір та стиль. : \
наслідування

1
Це дивно, бо він перевіряв мене чудово годину чи дві тому. Тільки копія з Safari, а потім вставка в Keynote працювали для Python та Perl.
Тоні Вільямс

Він працює і на Keynote 6.5.3! (Y)
Рандіка Вішман

1
Він працює на Keynote 6.6.1, але ви повинні скопіювати його з Safari.
лузний

Так, це потрібно скопіювати з Safari. Chrome не працює.
Джейсон Гао

3

Якщо вам не подобається ідея вставлення коду в Інтернеті, подумайте про встановлення пакету python Pygments і генерування виділеного синтаксису в командному рядку:

pygmentize sms_me_last_line.sh

Копіювання з терміналу та вставка в Keynote працювало для мене. Але мені знадобився певний час, щоб знайти елемент форматування для видалення кольору тексту тексту. (Клацніть "Формат" на панелі інструментів, щоб відобразити параметри форматування, натисніть "Текст", "Стиль", а потім натисніть на шестірню, щоб відобразити розширені параметри форматування. У цьому спливаючому вікні ви знайдете "Колір заповнення символів".)


3

Я використовую Vim. Я вважаю цей плагін супер корисним: https://github.com/zerowidth/vim-copy-as-rtf

Таким чином я можу зберігати свої коди однаковим виглядом, коли я їх писав і представляв.


1

Це помилка в Keynote '13:

Вставлення багатого тексту з Xcode в Keynote працює, коли ви вставляєте в існуюче текстове поле.

Це не відбувається, коли ви вставляєте в нове текстове поле.


Чи існує вирішення цього питання, крім того, щоб спочатку набрати текст у ньому?
Роб

Найзручніше, що я знайшов, - це просто створити текстове поле, вибрати його та вставити у нього.
mz2
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.