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

15

Fornisco molte presentazioni di codice con Keynote. L'evidenziazione della sintassi rende questi leggibili.

In passato ho utilizzato strumenti di evidenziazione della sintassi basati sul Web e incollato il codice più facile da leggere nella mia presentazione.

Quando ho aggiornato a iWork '13, che include Keynote 6.1, incollare il contenuto rimuove lo stile e il colore del carattere.

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

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

    
posta mimming 13.03.2014 - 01:09
fonte

5 risposte

12

La risposta "breve"

... le diverse app copiano il testo formattato negli Appunti in modi diversi e diverse app supportano l'incollatura da diversi formati. Solitamente otterrai una sorta di formato "testo normale", nonché testo HTML o RTF negli Appunti, e tocca all'app che incolla per scegliere quale preferire.

Keynote 6.1 supporta sicuramente alcuni tipi di incollare il testo formattato, in quanto 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 di Apple funzionino bene insieme (non c'è da stupirsi), e alcune altre copia / incolla da / per le app di Apple (compresi i prodotti Microsoft Office). Sfortunatamente quando si copia da Chrome, si ottiene solo testo e & Testo formattato in HTML copiato negli appunti, quindi sembrerebbe che le app iWork di Apple non supportino l'incollatura del testo in formato HTML.

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

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

Sorprendentemente, lo stesso TextEdit.app di Apple incollerà felicemente il testo formattato da Chrome, e può essere ricopiato negli appunti e incollato con la formattazione in Keynote / Pages / etc.

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

Inviterei chiunque a sperimentare ciò a inviare feedback agli sviluppatori su entrambi i "lati" nella speranza di ottenere questo risultato: con Chrome / Firefox che supporta la copia RTF / RTFD (o qualsiasi altra cosa è la più appropriata / appropriata oltre l'HTML) oppure dalle app iWork di Apple che supportano l'incollatura di contenuti HTML.

Più di quello che vuoi sapere sulla copia negli appunti

Quando copiate del testo negli Appunti, a seconda dell'applicazione, potrebbe essere copiato in alcuni formati. Puoi visualizzarli utilizzando l'applicazione Clipboard Viewer di Apple (richiede la creazione in Xcode).

Ad esempio, copiando da Google Chrome, gli appunti vengono popolati con quattro copie separate delle informazioni che ho copiato: due testo normale ( public.utf8-plain-text , NSStringPboardType ) e due HTML formattati ( public.html , Apple HTML pasteboard type ).

La copia da altre app offre varie combinazioni di tipi di formato, con altri comuni come '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 in chiaro (con varie codifiche come UTF8 / UTF16), tipi di RTF, tipi di PDF e Adobe, tipi di immagine. Esistono anche molti tipi di metadati che descrivono l'applicazione che ha copiato i dati (ad esempio com.apple.iWork.TSPNativeMetadata ) o le caratteristiche del testo copiato (ad esempio com.apple.iWork.TSPDescription ), e ciò che sembra essere testo separato e dati di stile ( ustl e TEXT come CorePasteboardFlavorType s, e loro com.adobe.indesign-import- equivalenti).

Non conosco alcun modo per vedere quali tipi di formato sono supportati da quali applicazioni incollare, ma usando il Viewer degli Appunti puoi vedere rapidamente quali tipi di formato sono generati durante la copia.

    
risposta data 13.03.2014 - 03:30
fonte
7

Questo è probabilmente l'evidenziatore online che stai utilizzando.

Uso link 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 perfettamente da markup.su in Safari in Keynote perfettamente.

    
risposta data 13.03.2014 - 01:35
fonte
4

Sto usando Vim. Ho trovato questo plugin super utile: link

In questo modo posso mantenere i miei codici lo stesso aspetto quando stavo scrivendo e presentandoli.

    
risposta data 04.06.2015 - 09:03
fonte
3

Se non ti piace l'idea di incollare il tuo codice online, considera l'installazione del pacchetto python Pygments e la generazione della sintassi evidenziata nella riga di comando :

pygmentize sms_me_last_line.sh

Copiare dal terminale 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 visualizzare le opzioni di formattazione, fai clic su Testo, fai clic su Stile, quindi fai clic sull'ingranaggio per visualizzare le opzioni di formattazione avanzate. In tale finestra a comparsa troverai "Colore riempimento carattere".)

    
risposta data 13.03.2014 - 05:14
fonte
1

È un bug in Keynote '13:

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

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

    
risposta data 14.05.2014 - 15:21
fonte

Leggi altre domande sui tag