Doy muchas presentaciones pesadas de código con Keynote. El resaltado de sintaxis los hace legibles.
En el pasado, utilicé herramientas de resaltado de sintaxis basadas en la web, y luego pegué el código más fácil de leer en mi presentación.
Cuando actualicé a iWork '13, que incluye Keynote 6.1, pegar contenido elimina el estilo y el color de la fuente.
Por ejemplo, si tomo este código colorido de GitHub y lo pego en Keynote, eliminará todo el formato como se muestra aquí:
¿Hay alguna manera de obtener código resaltado de sintaxis en estas presentaciones?
Respuestas:
La respuesta 'corta'
... es que diferentes aplicaciones copian texto formateado en el portapapeles de diferentes maneras, y diferentes aplicaciones admiten pegar desde diferentes formatos. Por lo general, obtendrá algún tipo de formato de 'texto sin formato', así como quizás texto con formato HTML o RTF en el portapapeles, y depende de la aplicación de pegado elegir cuál le gusta más.
Keynote 6.1 definitivamente admite algunos tipos de pegado de texto formateado, ya que puedo hacer que esto funcione con Safari. Pero no parece funcionar con Firefox o Chrome (en el momento de la escritura). A partir de un poco de prueba, parece que todas las aplicaciones de Apple funcionan bien juntas (no es sorprendente), y algunas otras también copiarán / pegarán en / desde las aplicaciones de Apple (incluidos los productos de Microsoft Office). Desafortunadamente, cuando copias desde Chrome, solo obtienes texto sin formato y texto con formato HTML copiado en el portapapeles, por lo que parece que las aplicaciones iWork de Apple no admiten pegar texto con formato HTML.
Entonces, si copiar / pegar no incluye formato, puede:
Sorprendentemente, el propio TextEdit.app de Apple pegará felizmente el texto formateado de Chrome, y se puede volver a copiar en el portapapeles y pegar con formato en Keynote / Pages / etc.
Dependiendo de su punto de vista, esto puede parecer una limitación (o falla) en Chrome / Firefox o en Pages / Keynote / etc., pero al final simplemente no hablan los mismos idiomas de formato (en la actualidad).
Animaría a cualquiera que experimente esto a enviar comentarios a los desarrolladores de ambos 'lados' con la esperanza de solucionarlo, ya sea con Chrome / Firefox que soporte la copia RTF / RTFD (o lo que sea más estándar / apropiado más allá de HTML), o por Las aplicaciones iWork de Apple que admiten el pegado de contenido HTML.
Más de lo que quieres saber sobre copiar al portapapeles
Cuando copia algo de texto en el portapapeles, dependiendo de la aplicación, puede copiarse en algunos formatos. Puede verlos con la aplicación Clipboard Viewer de Apple (requiere construir en Xcode)
Por ejemplo, al copiar desde Google Chrome, el portapapeles se llena con cuatro copias separadas de la información que copié: dos texto sin formato (
public.utf8-plain-text
,NSStringPboardType
) y dos con formato HTML (public.html
,Apple HTML pasteboard type
).Copiando de otras aplicaciones proporciona varias combinaciones de tipos de formato, siendo algunas otras de las más comunes
'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
, y así sucesivamente ...Como puede ver, hay una variedad de formatos de texto sin formato (con varias codificaciones como UTF8 / UTF16), tipos RTF, tipos PDF y Adobe, tipos de imágenes. También hay un montón de tipos de metadatos que describen la aplicación que copió los datos (p
com.apple.iWork.TSPNativeMetadata
. Ej. ), O las características del texto copiado (pcom.apple.iWork.TSPDescription
. Ej. ), Y lo que parecen ser texto separado y datos de estilo (ustl
yTEXT
comoCorePasteboardFlavorType
s, y suscom.adobe.indesign-import-
equivalentes).No conozco ninguna forma de ver qué tipos de formatos son compatibles con qué aplicaciones para pegar, pero usando el Visor del Portapapeles puede ver rápidamente qué tipos de formatos se generan al copiar.
fuente
Este es probablemente el marcador en línea que está utilizando.
Uso http://markup.su y funciona bien con Keynote 6.1: detecta automáticamente varios idiomas y tiene varios "temas".
Si no es el resaltador, puede ser su plantilla o navegador. Pude tomar su código y pegarlo desde markup.su en Safari en Keynote perfectamente.
fuente
Si no le gusta la idea de pegar su código en línea, considere instalar el paquete Pygments python y generar su sintaxis resaltada en la línea de comando:
Copiar desde Terminal y pegar en Keynote funcionó para mí. Pero me llevó un tiempo encontrar el control de formato para eliminar el color del texto de fondo. (Haga clic en Formato en la barra de herramientas para mostrar las opciones de formato, haga clic en Texto, haga clic en Estilo, luego haga clic en el engranaje para mostrar opciones avanzadas de formato. En esa ventana emergente encontrará "Color de relleno de caracteres").
fuente
Estoy usando a Vim. Encontré este complemento súper útil: https://github.com/zerowidth/vim-copy-as-rtf
De esta forma puedo mantener mis códigos con el mismo aspecto cuando los escribía y los presentaba.
fuente
Es un error en Keynote '13:
Pegar texto enriquecido de Xcode a Keynote funciona cuando pega en un cuadro de texto existente.
No lo hace cuando pega en un nuevo cuadro de texto.
fuente