Estoy buscando un editor para imprimir (en papel) el código C ++. Actualmente estoy en la escuela de ingeniería y el instructor nos ha pedido que enviemos el código en papel.
¡Quiere nombre + apellido, el número de clase (en el encabezado), el número de página en la parte inferior y las palabras reservadas en negrita para cada página!
En Windows se puede hacer con notepadd++
. Pero estoy en Linux y no he encontrado un IDE o editor de texto que funcione. (Ya lo he intentado SCITE
, gedit
y Syntaxic
)
Respuestas:
Bueno, si quiere hacer un esfuerzo adicional, hágalo en LaTeX y proporcione un archivo PDF de nivel profesional. No ha mencionado su distribución, así que le daré instrucciones para los sistemas basados en Debian. Sin embargo, la misma idea básica se puede hacer en cualquier Linux.
Instale un sistema LaTeX y los paquetes necesarios.
Cree un nuevo archivo (llámelo
report.tex
) con los siguientes contenidos:Solo asegúrese de cambiar
/path/to/your/code.c
en la penúltima línea para que apunte a la ruta real de su archivo C. Si tiene más de un archivo para incluir, agregue ay\newpage
luego uno nuevo\lstinputlisting
para el otro archivo.Compila un PDF (esto crea
report.pdf
)Probé esto en mi sistema con un archivo de ejemplo que encontré aquí y crea un PDF que se ve así:
Para obtener un ejemplo más completo que encontrará automáticamente todos los archivos .c en la carpeta de destino y creará un archivo PDF indexado con cada uno en una sección separada, vea mi respuesta aquí .
fuente
Por lo general, uso enscript: algo así como
será un comienzo: esto escribe la salida de PostScript
output.ps
, para que pueda obtener una vista previa y sobrescribirla mientras está jugando con la configuración y luego imprimirla una vez que esté satisfecho. Vea la página de manual para opciones más extensas.EDITAR hacer que el pie de página funcione correctamente es un poco molesto con la escritura; nunca me había dado cuenta porque nunca lo he requerido. Si guarda este archivo en
~/.enscript/so.hdr
(probablemente necesite crear el directorio), obtendrá el resultado requerido condando
Aproximadamente,
:hardcopy
comando de vim es fácil pero no tan flexible, yfuente
emscript
. Tiene muchas opciones y da muy buenos resultados.Puede usar el
:TOhtml
comando en vim. Esto representa lo que ve (es decir, resaltado de sintaxis) como html. A partir de ahí, funciona un navegador web que puede imprimir en pdf, ya que generalmente puede personalizar el contenido del encabezado / pie de página.Probablemente sea similar al
:hardcopy
comando mencionado por Useless, pero no puedo verificarlo en mi sistema en este momento.Otra posibilidad es imprimir desde QtCreator, sin embargo, no parece haber una manera de configurar los encabezados / pies de página.
fuente
Geany es un IDE simple que le brinda muchas opciones para lo que va en el encabezado.
Las palabras reservadas se pueden manipular en el menú de opciones, pero el resaltado del código lo hace para el estilo del bloc de notas ++. (es posible que deba copiar / descargar los esquemas de color en la carpeta "/home/$USER_NAME/.config/geany/colorschemes/" para obtener el que desea)
Muy simple y personalmente me gustan mucho los números de línea y el formato que imprime.
También geany se ejecuta tanto en Windows como en Linux.
fuente
Como solicita un editor , puede imprimir directamente desde Emacs, utilizando
ps-print-buffer
.Los encabezados y pies de página están en el grupo Personalizar llamado
ps-print-headers
.Suponiendo que use el bloqueo de fuente, probablemente tenga el resaltado de sintaxis que se requiere. Se puede ajustar, si es necesario, utilizando la
ps-extend-face
función.Habiendo dicho eso, todavía te recomiendo que uses una herramienta adecuada para 'grind' como a2ps, enscript o LaTeX +.
fuente
Para completar, y aunque no recomendaría esa solución, el
lp
programa tiene una-o prettyprint
opción que puede resaltar la sintaxis.Puede usarlo así, por ejemplo:
Aquí utilicé la
-t
opción (título) para configurar el encabezado. Sin embargo, no puedo cambiar el pie de página (pero el número de página aparece en la parte superior). Puede configurar el tipo de archivo con la opción-o document-format
(la lista de valores aceptables debe estar en/usr/share/cups/mime/mime.types
o tal vez/etc/cups/mime/mime.types
) pero si su archivo tiene la extensión correcta, no debería ser necesario. Además, el resaltado de sintaxis está lejos de ser perfecto.fuente
Solo necesita LibreOffice Writer .
Pegue su código C / C ++.
Encuentre las palabras y haga Bold todas las palabras clave de C ++.
Puede encontrarlos aquí: http://en.cppreference.com/w/cpp/keyword
Para buscar una palabra Presione Ctrl + F. Seleccione "Hacer coincidir mayúsculas y minúsculas" y haga clic en Buscar todo (como se muestra en la captura de pantalla).
Después de eso, necesita un encabezado y pie de página con su nombre y número de página.
EDITAR: ( Christophe Strobbe comentó :)
Hay una extensión de LibreOffice para colorear código: Code Colorizer Formatter . (Todavía no lo he probado).
fuente
Solía usar Nedit cuando estaba en un sistema Solaris hace muchos años, ya que me gustaba una interfaz GUI. Veo que todavía está por aquí. Echale un vistazo.
fuente
En el pasado, cuando KDE3 todavía era algo importante, utilizaba a Kate porque era un editor de texto que realmente producía el mejor resultado. Hoy iría con látex para una solución más incorporable, con el paquete en la lista. Este paquete no es para salida de color, pero en una impresora láser los colores no son una ventaja.
fuente