Come si incolla il codice evidenziato dalla sintassi in Keynote '13?


16

Faccio molte presentazioni pesanti con Keynote. L'evidenziazione della sintassi li rende leggibili.

In passato ho usato gli strumenti di evidenziazione della sintassi basati sul web e quindi ho incollato il codice più facile da leggere nella mia presentazione.

Quando ho eseguito l'aggiornamento a iWork '13, che include Keynote 6.1, incollare il contenuto riduce lo stile e il colore del carattere.

Ad esempio, se prendo questo codice colorato da GitHub e lo incollo in Keynote rimuove tutta la formattazione come mostrato qui:

inserisci qui la descrizione dell'immagine

C'è un modo per ottenere il codice evidenziato dalla sintassi in queste presentazioni?


Jenny, potresti dirci quale evidenziatore stai usando per visualizzare e copiare il codice?
Tony Williams,

Aggiunto un sorgente di esempio (GitHub) e una screencap del risultato.
spuntare il

Quale browser utilizzate?
Alan Shutko,

@Alan Stavo usando Chrome 34 quando ho osservato questo comportamento
aggiustando il

Risposte:


13

La risposta "breve"

... è che diverse app copiano il testo formattato negli Appunti in diversi modi e diverse app supportano l'incollaggio da formati diversi. In genere otterrai negli Appunti una sorta di formato di 'testo in chiaro', così come forse il testo in formato HTML o RTF negli Appunti, e spetta all'app di incollaggio scegliere quale preferisce.

Keynote 6.1 supporta sicuramente alcuni tipi di incollaggi di testo formattati, poiché posso farlo funzionare con Safari. Ma non sembra funzionare con Firefox o Chrome (al momento della scrittura). Da un po 'di test, sembra che tutte le app Apple funzionino bene insieme (nessuna sorpresa lì), e alcuni altri copieranno / incolleranno anche nelle / dalle app Apple (compresi i prodotti Microsoft Office). Sfortunatamente quando copi da Chrome, ottieni solo testo normale e testo in formato HTML copiato negli appunti, quindi sembrerebbe che le app iWork di Apple non supportino l'incollare testo in formato HTML.

Quindi se copia / incolla non include la formattazione, puoi:

  • Prova un browser diverso da cui copiare, come Safari; o
  • Trova un'app intermedia in cui incollare (che "parla" sia della formattazione HTML che può essere copiata in un formato Keynote / ecc.), Come ad esempio TextEdit.app di Apple

Sorprendentemente, TextEdit.app di Apple incollerà felicemente il testo formattato da Chrome e può essere copiato nuovamente negli Appunti e incollato con la formattazione in Keynote / Pages / ecc.

A seconda del tuo punto di vista, questo può sembrare un limite (o un errore) in Chrome / Firefox o in Pages / Keynote / ecc., Ma alla fine semplicemente non parlano gli stessi linguaggi di formattazione (al momento).

Incoraggerei chiunque provi questo a inviare feedback agli sviluppatori di entrambe le parti, nella speranza di risolverlo, sia con Chrome / Firefox che supportano la copia RTF / RTFD (o qualunque cosa sia più standard / appropriata oltre l'HTML), oppure tramite Le app iWork di Apple che supportano l'incollaggio di contenuti HTML.


Più di quello che vuoi sapere sulla copia negli appunti

Quando si copia del testo negli Appunti, a seconda dell'applicazione, potrebbe essere copiato in alcuni formati. Puoi vederli usando l' applicazione Appunti Viewer di Apple (richiede la compilazione in Xcode).

Ad esempio, la copia da parte di Google Chrome, appunti viene popolata con quattro copie separate di informazioni che ho copiato doppietta testo ( public.utf8-plain-text, NSStringPboardType), e due in formato HTML ( public.html, Apple HTML pasteboard type).

Copiare da altre applicazioni dà varie combinazioni di tipi di formato, con alcuni altri comuni sono '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, e così via ...

Come puoi vedere ci sono una varietà di formati di testo semplice (con varie codifiche come UTF8 / UTF16), tipi RTF, tipi PDF e Adobe, tipi di immagini. Esistono anche molti tipi di metadati che descrivono l'applicazione che ha copiato i dati (ad es. com.apple.iWork.TSPNativeMetadata) O le caratteristiche del testo copiato (ad es. com.apple.iWork.TSPDescription) E quelli che sembrano essere dati separati di testo e stile ( ustle TEXTcome CorePasteboardFlavorTypes, e loro com.adobe.indesign-import-equivalenti).

Non conosco alcun modo per vedere quali tipi di formato sono supportati da quali applicazioni per incollare, ma usando il Visualizzatore appunti è possibile vedere rapidamente quali tipi di formato vengono generati durante la copia.


Era questo. Nel mio caso è stata l'intersezione di Keynote 6.1 e Chrome. Ulteriori test rivelano che il contenuto copiato da Safari 7 funziona, ma Chrome 34 e Firefox 27 non lo fanno :(
mimming

Ti suggerirei di inviare una segnalazione di bug sia a Chrome che a Firefox (o votare per bug / richieste di funzionalità esistenti). Avrai qualche altro sostenitore se ti colleghi ai bug rilevanti qui sono sicuro.
drfrogsplat,

Ho provato con una dozzina di altre fonti per la copia da altrettanti fornitori e sembra che funzioni solo con la copia dal software Apple. Anche il contenuto copiato da software non Apple sembra funzionare quando si incolla l'un l'altro. In altre parole, sembra un bug di Apple, ma non mi prenderò il tempo per indagare ulteriormente (o bug sui file).
Mimming

Indagato un po 'di più, non è così semplice come "solo Apple per Apple", dal momento che MS Word e Apple TextEdit funzionano entrambi praticamente con quasi tutto ... ma sospettano che questo potrebbe essere chiamato un bug di Apple poiché non supportano il Testo HTML nelle app iWork.
drfrogsplat,

Grazie per questo. Stavo tentando di copiare il codice da Xcode a Pages. È un po 'frustrante dover usare TextEdit come intermediario, ma almeno ora posso farlo! Mi ha salvato un sacco di istanze da sbattere contro il muro! ;-)
mbm29414

7

Questo è probabilmente l'evidenziatore online che stai utilizzando.

Uso http://markup.su e funziona perfettamente con Keynote 6.1: rileva automaticamente un numero di lingue e ha un numero di "temi".

Se non è l'evidenziatore, potrebbe essere il tuo modello o browser. Sono stato in grado di prendere il tuo codice e incollarlo da markup.su in Safari in Keynote perfettamente.

inserisci qui la descrizione dell'immagine


markup.su mette in evidenza le cose fantastiche, ma incollare in un campo di testo o la proprietà text di una forma in Keynote 6.1 continua a rimuovere il colore e lo stile. : \
mimming

1
È strano perché è stato testato bene per me un'ora o due fa. Solo una copia di Safari e poi un incolla in Keynote ha funzionato per Python e Perl.
Tony Williams,

Funziona anche su Keynote 6.5.3! (Y)
Randika Vishman,

1
Funziona su Keynote 6.6.1, ma devi copiarlo da Safari.
luzny

Sì, deve essere copiato da Safari. Chrome non funzionerà.
Jason Gao,

3

Se non ti piace l'idea di incollare il codice online, prendi in considerazione l'installazione del pacchetto pyton di Pygments e la generazione della sintassi evidenziata dalla riga di comando:

pygmentize sms_me_last_line.sh

Copiare da Terminal e incollare in Keynote ha funzionato per me. Ma mi ci è voluto un po 'per trovare il controllo di formattazione per rimuovere il colore del testo di sfondo. (Fai clic su Formato nella barra degli strumenti per mostrare le opzioni di formattazione, fai clic su Testo, fai clic su Stile, quindi fai clic sull'ingranaggio per mostrare le opzioni di formattazione avanzate. In quel pop-up troverai "Colore riempimento carattere".)



1

È un bug in Keynote '13:

Incollare rich text da Xcode a Keynote funziona quando si incolla in una casella di testo esistente.

Non funziona quando si incolla in una nuova casella di testo.


Esiste una soluzione per questo, tranne che per prima digitare il testo?
Rob,

Il più conveniente che ho trovato è semplicemente creare una casella di testo, selezionarla e incollarla.
mz2
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.