Org bonito de verdad: fuentes, un toggle y presentaciones en Doom Emacs
Un fichero .org no tiene por que verse
como un .txt de los 90. Con tres piezas
(la fuente correcta, un interruptor para encenderlo/apagarlo, y org-present) se convierte en algo entre una
revista y una pizarra de conferencia. Te cuento como, y de paso
resolvemos LA confusion de fuentes que casi todo el mundo tiene.
El truco que nadie te cuenta: mono vs proporcional
Aqui esta el 90% del asunto. Las fuentes son de dos familias:
- Monoespaciada (mono): cada letra ocupa lo mismo de
ancho. La
iy lammiden igual. Perfecta para codigo (las columnas cuadran, losifse alinean). Hack, JetBrains Mono, Iosevka. - Proporcional (variable-pitch): cada letra su ancho,
como en un libro o una web. Se lee como prosa, no como
una maquina de escribir. Cantarell, las
Ailede Iosevka, o las sans clasicas.
El look "revista" de org usa mixed-pitch: prosa en proporcional, codigo en mono. Lo mejor de cada mundo en el mismo documento.
Y las Nerd Fonts, donde encajan?
Las Nerd Fonts son fuentes de codigo (mono) "parcheadas" con miles de iconos: glyphs de tipos de fichero, simbolos powerline, devicons. Por eso Doom las usa: el modeline, treemacs y los menus muestran iconos bonitos en vez de cuadraditos. Esa es su ventaja real: traen los iconos.
El truco que poca gente sabe: muchas Nerd Fonts vienen en tres sabores.
X Nerd Font Mono -> monoespaciada estricta (codigo)
X Nerd Font -> mono, iconos anchos
X Nerd Font Propo -> PROPORCIONAL (prosa!)
Es decir: con tus Nerd Fonts ya instaladas tienes la version
proporcional para prosa (...Propo) sin
instalar nada nuevo. Para el look revista no necesitas fuentes raras;
necesitas elegir la Propo en vez de la
Mono.
Un probador de fuentes en vivo
Decidir fuente leyendo nombres es absurdo. Mejor verlas. Un comando que cambia la fuente de prosa al instante, ofreciendo todas las que tengas instaladas:
(defun my/org-prose-font (family)
"Cambia EN VIVO la fuente de prosa (variable-pitch)."
(interactive
(list (completing-read "Fuente de prosa: " (font-family-list))))
(set-face-attribute 'variable-pitch nil :family family)
(message "Prosa -> %s" family))M-x my/org-prose-font, escribes
"Comic", "Monoid", "Hurmit"… y la prosa cambia mientras miras. Cuando te
enamore una, la fijas:
(setq doom-variable-pitch-font (font-spec :family "EnvyCodeR Nerd Font Propo"
:size 18))El interruptor: encender y apagar el look (SPC t o)
El look revista esta muy bien para leer y para presentar. Pero a
veces quieres editar en plano: ver los * / de los
enfasis, la monoespaciada, las entidades sin renderizar. La solucion no
es elegir entre uno u otro: es un toggle por
buffer.
(defun my/org-pretty-toggle ()
"Activa/desactiva el look revista en ESTE buffer."
(interactive)
(let ((on (not (bound-and-true-p org-modern-mode))))
(mixed-pitch-mode (if on 1 -1))
(org-modern-mode (if on 1 -1))
(org-appear-mode (if on 1 -1))
(setq-local org-hide-emphasis-markers on
org-pretty-entities on)
(font-lock-flush) (font-lock-ensure)
(message "Org pretty: %s" (if on "ON" "OFF (plano)"))))
(map! :leader :desc "Org pretty (revista)" "t o" #'my/org-pretty-toggle)Pulsas SPC t o y alternas. Los tres
ingredientes del look son mixed-pitch-mode
(la fuente proporcional), org-modern-mode
(headings, bullets, bloques y tablas con estilo) y org-appear-mode (oculta los marcadores de
enfasis y los enseña solo al pasar el cursor).
Presentaciones: tu .org es un slideshow
org-present convierte el mismo .org en diapositivas: cada * titulo es una slide, texto gigante y centrado,
y navegas con las flechas.
(after! org-present
(add-hook 'org-present-mode-hook
(lambda ()
(org-present-big) ; texto gigante
(org-display-inline-images) ; muestra las imagenes
(org-modern-mode 1)
(read-only-mode 1))) ; no editar sin querer al pasar slide
(add-hook 'org-present-mode-quit-hook
(lambda ()
(org-present-small)
(org-remove-inline-images)
(read-only-mode -1))))M-x org-present y a presentar. Como la
fuente de prosa que elegiste se aplica tambien a los slides, eliges una
vez y vale para todo: documentar, leer y presentar.
El marco: xmonad + transparencia
El ultimo toque no es de Emacs, es del window manager. Con xmonad y un compositor (picom) puedes poner el frame de Emacs translucido sobre el wallpaper. El codigo flota sobre un fondo bonito, con sombras y esquinas redondeadas. Es puro azucar visual, pero motiva: da gusto abrir el editor.
Y como es solo el compositor, se quita en un segundo si un dia quieres opacidad total para concentrarte. La belleza es opcional y reversible, que es como debe ser.
Cierre
Tres piezas: la fuente (Propo para prosa, mono para
codigo, Nerd Fonts por los iconos), un toggle para
encender/apagar el look segun toque, y org-present para presentar el mismo documento.
Org deja de ser un editor de texto y pasa a ser un sitio donde apetece
escribir, leer y enseñar.
Lo bonito no es un capricho: cuando la herramienta da gusto, la usas mas.
Comentarios (0)
Sin comentarios todavia. Se el primero!
Deja un comentario