syntax highlighting - libre - ¿Cómo puedo incrustar código fuente o HTML en Open Office Org Presentations sin usar capturas de pantalla?
tdms libreoffice (9)
Necesito escribir muchas presentaciones de cursos de clase en mi clase de programación, y constantemente necesito mostrar el código fuente (principalmente el código C ).
No encuentro una manera fácil de:
- Copie mi código fuente de mi editor (kate) y
- Péguelo con formato y con la fuente resaltada en una presentación de Open Office (OOP).
Lo que uso para hacer es una instantánea si el código es pequeño, o para detener la presentación y abrir Kate en el datashow si es demasiado grande.
En esta otra pregunta algunos sugieren incrustar código HTML . Así que instalé QSource-Highlight que convierte fácilmente el código C a HTML (también gnu source-highlight, code2html, etc.). Ninguno de ellos puede convertir el código fuente a una versión de un RTF resaltado (formato de texto enriquecido), esa sería otra manera de hacerlo.
Tener HTML no ayuda, porque tampoco encuentro una manera fácil de insertar HTML en una presentación . Este sitio muestra una solution Windows muy truco. Debe convertir el código c a HTML utilizando un programa de Windows específico que tiene la opción de copiar el HTML como RTF, luego debe pasar el RTF en Word o Wordpad, y luego pasar el RTF a PowerPoint. Todo bien, pero soy un usuario de Linux , y creo que podría haber una mejor manera.
Además, existe otra solución posible, instalar la extensión coooder en openoffice. No sé por qué, pero intentar instalar esta extensión en mi sistema me da un error. Synaptic me dice que openoffice.org-core y muchos otros deben estar marcados. Hago clic en siguiente, y me dice que quiere eliminar todos los paquetes, y que Coooder necesita que estos paquetes funcionen, por lo que no se instalarán. Bien...
Estoy usando linux UBUNTU 10.04 y Open Office 3.2
¡Gracias! Beco.
PS .: Esta pregunta se debate en meta-so como posible duplicación de la pregunta citada anteriormente. Pero tengo entendido que la pregunta anterior no resuelve este problema específico .
PPS .: Acerca del error Coooder, he lanzado un informe de error here
Editar (2015-08-19)
Para insertar un texto RTF en la presentación de LibreOffice, puede utilizar la insert
menú, el file
y el rtf
(o HTML
).
Algunas personas dicen que copiar código desde el editor de Eclipse funciona bien (ACTUALIZACIÓN: FALSO comprobado). Otra alternativa es exportar a RTF (también puede exportar números de línea), o al portapapeles, desde Highlight y luego abrirlo / pegarlo en OpenOffice.org. (ACTUALIZACIÓN: VERDADERO VERDADERO )
Aquí hay una captura de pantalla de Highlight GUI:
También puede cambiar de OpenOffice.org a LibreOffice y obtener COOoder desde here .
Esta answer es perfecta para el trabajo:
- Copie el texto de su código en http://markup.su/highlighter/ , y luego
- Copie el código formateado de nuevo a Open Office.
Hago esto todo el tiempo con la oficina abierta con código fuente bajo Windows. Vea el código en su editor favorito (emacs, bloc de notas, ...), y seleccione / copie el texto de interés. Hacer un cuadro de texto en la oficina abierta, y pegar. Esto funciona porque todas las herramientas de Windows comparten un búfer de corte global. No uso Linux lo suficiente como para saber si tiene un buffer de corte compartido, si no lo hace, entiendo su problema (si es así, realmente no entiendo su problema). Mi solución, por supuesto, no obtiene un código bien formateado / resaltado por sí mismo.
Pasos específicos: En Open Office Impress ("Presentación") con una diapositiva abierta, haga clic en el cuadro con la etiqueta "T" en la barra de herramientas inferior (o presione F2). Luego haga clic en la diapositiva aproximadamente donde desea que aparezca el texto y arrastre para que el cuadro tenga el tamaño adecuado. Haga clic en el cuadro y puede introducir texto. Para el código, recorte desde alguna ventana del editor y pego después de seleccionar el cuadro de texto. Si hace clic en el contorno del cuadro de texto, puede cambiar la fuente (el correo nuevo es bueno para el código) y el tamaño de impresión.
Después de obtener el tamaño correcto del texto, puede volver a visitar subcadenas específicas y seleccionar / negrita o seleccionar / color si desea un texto elegante.
Podría considerar cortar y pegar desde JavaDoc o la salida de Doxygen; es probable que obtenga los datos de formato junto con el texto.
Pegar de Eclipse en OpenOffice Impress directamente parece perder el color. Sin embargo, el primer pegado en OO Writer y desde allí en OO Impress funciona.
Puede usar fácilmente una tabla con 1 línea y 1 columna, copiar y pasar su código de su IDE favorito, Open Office conservará su estilo de código.
Puedes hacerlo fácilmente
- copia el texto de tu editor favorito
- Ir a impresionar, hacer un nuevo campo de texto.
- presione CTRL + MAYÚS + V (o Editar → Pegar contenido )
- y luego elija Formato de texto enriquecido (RTF) .
He probado esto con LibreOffice 4.2.8 bajo Ubuntu.
Si está familiarizado con LaTeX, debe considerar usar beamer para crear su presentación. La página de wikipedia tiene punteros a muchos tutoriales y documentos. La guía del usuario es probablemente la mejor que he encontrado.
Esto puede darle toda la potencia de LaTeX para los fragmentos de código fuente (paquete de listados o cualquier otro que prefiera) junto con el resto de las características habituales de LaTeX a las que está acostumbrado. Viene incluido con una veintena de temas realmente agradables.
Tengo exactamente el mismo problema, pero con el código PHP en lugar de C. Mi casi solución es copiar el código HTML en Kate y pegarlo en un documento temporal de Open Office Writer. Eso lo convierte al formato de texto con estilo propio de Open Office, y desde allí puede copiarlo y pegarlo en Impress. Aparte de copiar y pegar, ligeramente molesto, de doble paso, esto funciona bien, excepto que las líneas que estaban completamente en negrita pierden su valor y tengo que corregirlas manualmente. Algunos otros errores extraños también pueden ocurrir: la importación de Impress del texto con estilo de OOWriter parece ser un poco buggy.
Actualización: He lanzado esta macro como una extensión de LibreOffice. Puedes instalarlo desde el sitio oficial: Code Highlighter
Tuve el mismo problema, pero para Java, y finalmente encontré una solución nativa utilizando la macro Python que se probó en LibreOffice 5
Instalación
Paso 1: Instale libreoffice-script-provider-python:
sudo apt-get install libreoffice-script-provider-python
Paso 2: Instale los pygments para Python 3:
sudo pip3 install python3-pygments
Paso 3: Descargar Highlight.py
Paso 4: Copie Highlight.py a / usr / lib / libreoffice / share / Scripts / python /
sudo cp Highlight.py /usr/lib/libreoffice/share/Scripts/python/
Paso 5: Establezca el permiso de solo lectura en el script.
sudo chmod 0444 /usr/lib/libreoffice/share/Scripts/python/Highlight.py
Paso 6: Abra LibreOffice Writer y vaya a Herramientas -> Personalizar -> Teclado
- Seleccione el botón de opción LibreOffice (disponible en la esquina superior izquierda)
- Seleccione cualquier atajo deseado
- Seleccione compartir / Resaltar / Highlight_source_code en la categoría Funciones
- Haga clic en el botón Modificar para establecer el acceso directo
Uso
LibreOffice Impress
- Abra LibreOffice Impress.
- Insertar un cuadro de texto (Insertar -> Cuadro de texto).
- Copie y pegue cualquier fragmento de código en ese cuadro de texto.
- Crear un nuevo estilo (haga clic con el botón derecho en un estilo existente -> Nuevo ...)
- Nombra el estilo como
code-<language>
- Aplique el estilo a su recorte de código Cuadro de texto.
- Seleccione el cuadro de texto.
- Usa tus atajos para ejecutar la macro.
LibreOffice Writer / Calc
- Abra LibreOffice Writer / Calc.
- Insertar un cuadro de texto (Insertar -> Cuadro de texto).
- Copie y pegue cualquier fragmento de código en ese cuadro de texto.
- Haga clic derecho en el cuadro de texto y seleccione ''Descripción''.
- Agregue una descripción en el siguiente formato:
code-<language>
- Seleccione el cuadro de texto
- Usa tus atajos para ejecutar la macro.
ACTUALIZAR:
He añadido soporte de estilo personalizado a esta extensión. Use code-<language>
para el estilo predeterminado y code-<language>-<style>
para el estilo personalizado. Los estilos disponibles están listados en mi página de Git Hub.
Por ejemplo, Code-Java-Emacs
coloreará el código de Java usando el estilo de Emacs.
Para obtener más detalles, visite el enlace de Git Hub: libreoffice-code-highlighter