Wie fügen Sie syntaktisch hervorgehobenen Code in Keynote '13 ein?

16

Ich gebe mit Keynote eine Menge Code-Präsentationen. Syntaxhervorhebung macht diese lesbar.

In der Vergangenheit habe ich webbasierte Syntax-Hervorhebungswerkzeuge verwendet und dann den einfacher zu lesenden Code in meine Präsentation eingefügt.

Beim Upgrade auf iWork '13, das Keynote 6.1 enthält, werden durch das Einfügen von Inhalten Schriftstil und -farbe entfernt.

Wenn ich beispielsweise diesen farbenfrohen Code aus GitHub nehme und in Keynote einfüge, werden alle Formatierungen entfernt, wie hier gezeigt:

Bildbeschreibung hier eingeben

Gibt es eine Möglichkeit, syntaktisch hervorgehobenen Code in diese Präsentationen einzufügen?

Mimming
quelle
Jenny, kannst du uns sagen, mit welchem ​​Textmarker du den Code anzeigst und kopierst?
Tony Williams
Es wurde eine Beispielquelle (GitHub) und ein Screencap des Ergebnisses hinzugefügt.
Mimming
Welchen Browser benutzen Sie?
Alan Shutko
@ Alan Ich habe Chrome 34 verwendet, als ich dieses Verhalten
bemerkte

Antworten:

13

Die "kurze" Antwort

... ist, dass unterschiedliche Apps formatierten Text auf unterschiedliche Weise in die Zwischenablage kopieren und unterschiedliche Apps das Einfügen aus unterschiedlichen Formaten unterstützen. In der Regel erhalten Sie eine Art 'Nur-Text'-Format sowie möglicherweise HTML- oder RTF-formatierten Text in der Zwischenablage, und es liegt an der Einfüge-App, zu entscheiden, welches am besten gefällt.

Keynote 6.1 unterstützt definitiv einige Arten des Einfügens von formatiertem Text, da dies mit Safari funktionieren kann. Aber es scheint nicht mit Firefox oder Chrome zu funktionieren (zum Zeitpunkt des Schreibens). Nach einigem Testen scheinen die Apple-Apps alle gut zusammen zu spielen (keine Überraschung), und einige andere kopieren / fügen sie ebenfalls in die Apple-Apps ein (einschließlich Microsoft Office-Produkte). Leider wird beim Kopieren aus Chrome nur Text im Nur-Text- und HTML-Format in die Zwischenablage kopiert, sodass es den Anschein hat, als würden Apples iWork-Apps das Einfügen von HTML-formatiertem Text nicht unterstützen.

Wenn das Kopieren / Einfügen keine Formatierung enthält, können Sie entweder:

  • Verwenden Sie einen anderen Browser zum Kopieren, z. B. Safari. oder
  • Suchen Sie eine Zwischenanwendung zum Einfügen (die sowohl HTML-Formatierung als auch Formatierung von Keynote / etc versteht), wie z. B. Apples eigene TextEdit.app

Überraschenderweise fügt Apples eigene TextEdit.app formatierten Text problemlos aus Chrome ein und kann erneut in die Zwischenablage kopiert und mit Formatierung in Keynote / Pages / etc eingefügt werden.

Abhängig von Ihrer Sichtweise scheint dies eine Einschränkung (oder ein Fehler) in Chrome / Firefox oder Pages / Keynote / etc zu sein, aber am Ende sprechen sie einfach nicht die gleichen Formatierungssprachen (derzeit).

Ich möchte jeden, der dies erlebt, dazu ermutigen, Feedback an die Entwickler auf beiden Seiten zu senden, in der Hoffnung, dass dies behoben wird - entweder mit Chrome / Firefox, das RTF / RTFD-Kopieren unterstützt (oder was auch immer über HTML hinaus Standard / angemessen ist), oder per Apples iWork-Apps unterstützen das Einfügen von HTML-Inhalten.


Mehr als Sie über das Kopieren in die Zwischenablage wissen möchten

Wenn Sie Text in die Zwischenablage kopieren, wird er je nach Anwendung möglicherweise in einigen Formaten kopiert. Sie können diese mit Apples Clipboard Viewer- Anwendung anzeigen (erfordert die Erstellung von Xcode).

Zum Beispiel das Kopieren von Google Chrome, wird die Zwischenablage mit vier separaten Kopien der Informationen , die ich kopierte zwei Klartext (bevölkert public.utf8-plain-text, NSStringPboardType) und zwei im HTML - Format ( public.html, Apple HTML pasteboard type).

Das Kopieren von anderen Anwendungen gibt verschiedene Kombinationen von Formattypen, mit einigen anderen gewöhnlichsten zu sein '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, und so weiter ...

Wie Sie sehen, gibt es eine Vielzahl von Nur-Text-Formaten (mit verschiedenen Codierungen wie UTF8 / UTF16), RTF-Typen, PDF- und Adobe-Typen sowie Bildtypen. Es gibt auch eine Reihe von Metadatentypen, die die Anwendung beschreiben, mit der die Daten (z. B. com.apple.iWork.TSPNativeMetadata) kopiert wurden , oder die Merkmale des kopierten Texts (z. B. com.apple.iWork.TSPDescription) und die scheinbar getrennten Text- und Stildaten ( ustlund TEXTals CorePasteboardFlavorTypes sowie deren com.adobe.indesign-import-Entsprechungen).

Ich weiß nicht, welche Formattypen von welchen Anwendungen zum Einfügen unterstützt werden, aber mit dem Clipboard Viewer können Sie schnell feststellen, welche Formattypen beim Kopieren generiert werden.

drfrogsplat
quelle
Das war's. In meinem Fall war es der Schnittpunkt von Keynote 6.1 und Chrome. Weitere Tests haben ergeben, dass Inhalte, die aus Safari 7 kopiert wurden, funktionieren, Chrome 34 und Firefox 27 jedoch nicht :(
13.03.14
Ich würde vorschlagen, dass Sie einen Fehlerbericht sowohl an Chrome als auch an Firefox senden (oder für vorhandene Fehler / Funktionsanfragen stimmen). Sie werden noch ein paar Unterstützer finden, wenn Sie auf die relevanten Bugs verlinken, da bin ich mir auch sicher.
Drfrogsplat
Ich habe es mit einem Dutzend anderer Quellen für die Kopie von genau so vielen Anbietern versucht, und es scheint, als würde nur das Kopieren von Apple-Software funktionieren. Inhalte, die von Software anderer Hersteller kopiert wurden, scheinen auch beim Einfügen ineinander zu funktionieren. Mit anderen Worten, es scheint ein Apple-Fehler zu sein, aber ich werde mir nicht die Zeit nehmen, weitere Nachforschungen (oder Dateifehler) anzustellen.
Mimming
Etwas genauer untersucht, ist es nicht so einfach wie "nur Apple zu Apple", da MS Word und Apples TextEdit mit so ziemlich allem arbeiten ... aber auch vermuten, dass dies als Apple-Fehler bezeichnet werden könnte, da sie das Einfügen von nicht unterstützen HTML-Text in iWork-Apps.
Drfrogsplat
Danke dafür. Ich habe versucht, Code von Xcode in Pages zu kopieren. Es ist ein bisschen frustrierend, TextEdit als Vermittler verwenden zu müssen, aber jetzt kann ich es zumindest! Hat mir ein paar Instanzen gerettet, die gegen die Wand schlagen! ;-)
mbm29414
7

Dies ist wahrscheinlich der von Ihnen verwendete Online-Textmarker.

Ich benutze http://markup.su und es funktioniert gut mit Keynote 6.1 - es erkennt automatisch eine Reihe von Sprachen und hat eine Reihe von "Themen".

Wenn es nicht der Textmarker ist, ist es möglicherweise Ihre Vorlage oder Ihr Browser. Ich konnte Ihren Code aus markup.su in Safari perfekt in Keynote einfügen.

Bildbeschreibung hier eingeben

Tony Williams
quelle
markup.su hebt tolle Inhalte hervor, aber das Einfügen in ein Textfeld oder die Texteigenschaft einer Form in Keynote 6.1 entfernt weiterhin Farbe und Stil. : \
Mimming
1
Das ist seltsam, da es vor ein oder zwei Stunden für mich in Ordnung war. Nur eine Kopie von Safari und dann ein Einfügen in Keynote funktionierten für Python und Perl.
Tony Williams
Es funktioniert auch mit Keynote 6.5.3! (Y)
Randika Vishman
1
Es funktioniert mit Keynote 6.6.1, aber Sie müssen es aus Safari kopieren.
Luzny
Ja, es muss von Safari kopiert werden. Chrome funktioniert nicht.
Jason Gao
3

Wenn Sie die Idee, Ihren Code online einzufügen, nicht mögen, sollten Sie das Pygments- Python-Paket installieren und die hervorgehobene Syntax in der Befehlszeile generieren:

pygmentize sms_me_last_line.sh

Das Kopieren vom Terminal und Einfügen in Keynote hat bei mir funktioniert. Es dauerte jedoch eine Weile, bis ich das Formatierungssteuerelement zum Entfernen der Hintergrundtextfarbe gefunden hatte. (Klicken Sie in der Symbolleiste auf Format, um die Formatierungsoptionen anzuzeigen, klicken Sie auf Text, klicken Sie auf Stil, und klicken Sie dann auf das Zahnrad, um erweiterte Formatierungsoptionen anzuzeigen. In diesem Popup finden Sie "Zeichenfüllfarbe".)

ithos67
quelle
3

Ich benutze Vim. Ich fand dieses Plugin super nützlich: https://github.com/zerowidth/vim-copy-as-rtf

Auf diese Weise kann ich meine Codes beim Schreiben und Präsentieren gleich aussehen lassen.

qhwa
quelle
1

Es ist ein Fehler in Keynote '13:

Das Einfügen von Rich-Text aus Xcode in Keynote funktioniert, wenn Sie in ein vorhandenes Textfeld einfügen.

Es tut nicht , wenn Sie in ein neues Textfeld einfügen.

mz2
quelle
Gibt es eine Problemumgehung dafür, außer dass Sie zuerst Text eingeben?
Rob
Am bequemsten ist es, ein Textfeld zu erstellen, es auszuwählen und darin einzufügen.
mz2