clase-03.org 9.5 KB

#+title: GNU Emacs III: Referencias bibliográficas y presentaciones #+author: dlmayhem #+email: dlmayhem@riseup.net #+date: 2023-12-12 #+language: es #+options: num:nil toc:nil ':t #+bibliography: ~/Documentos/refs.bib * Materiales - Material del curso :: https://notabug.org/dlmayhem/emacs-hss.git - Mi config personal :: https://notabug.org/dlmayhem/terror-emacs.git * Contenidos - Repaso de la sintáxis de Org - Manejo de referencias bibliográficas - Presentaciones * Repaso ** Listas *** Listas con ~-~ - Esto es un ítem. - Esto es otro ítem. - Cada ítem se genera con =M-ret=. *** Listas con ~+~ + Esto es un ítem. + Esto es otro ítem. + Cada ítem se genera con =M-ret=. *** Listas ordenadas con ~.~ 1. Esto es un ítem numerado. 2. Esto también. 3. Cada ítem se genera con =M-ret=. *** Listas ordenadas con ~)~ 1) Esto es un ítem numerado. 2) Esto también. 3) Cada ítem se genera con =M-ret=. *** Definiciones - Def1 :: Blablabla blabla bla. - Def2 :: Blablabla blabla bla. - Def3 :: Blablabla blabla bla. ** Formato de texto - *negrita* - El texto entre * aparece resaltado. - /cursiva/ - El texto entre / aparece enfatizado. - _subrayado_ - El texto entre _ aparece subrayado. - +tachado+ - El texto entre + aparece tachado. - =código= - El texto entre = aparece como código. - ~verbatim~ - El texto entre ~ es similar al anterior. ** Notas al pie - Las notas a pie de página se insertan con el comando C-c C-x f. ** Entornos - Con =C-c C-,= (=org-insert-structure-template=) se abre un buffer con los entornos disponibles. - Algunos entornos comunes son: - c :: center - q :: quote - s :: source - v :: verse ** Tablas - El modo Org soporta la creación de tablas, y permite cálculos matemáticos. - Para crear una tabla se debe comenzar con el caracter "|". - Ejemplo de tabla: | Nombre | Teléfono | Rut | |---------+----------+--------------| | Ozzy | 666666 | 12.345.678-9 | | Ronnie | 999999 | 98.765.432-1 | - Al presionar TAB la tabla se alínea de forma automática. - El separador horizontal se comienza con |- y luego se presiona TAB. - Se pueden mover columnas hacia la izquierda o la derecha con M-der/izq. - Se pueden mover filas hacia arriba o abajo con M-arriba/abajo. ** Enlaces - Los enlaces en el modo Org llevan la siguiente sintáxis [[][]], colocando primero la URL y luego la descripción. - Para editar el enlace se utiliza el comando C-c C-l sobre el link: [[http://gnu.org][Proyecto GNU]]. - Para dirigirse al lugar enlazado hay que posicionarse sobre el enlace y utilizar el comando C-c C-o. - Se puede insertar un enlace automáticamente con el comando C-c C-l. ** Código fuente - Los lenguajes disponibles se pueden revisar [[https://orgmode.org/worg/org-contrib/babel/languages/index.html][acá]]. #+begin_src python :results output x = 222 y = 3 z = (x * y) print(z) #+end_src ** Listas TODO y checkboxes DEADLINE: <2020-07-31 vie> SCHEDULED: <2020-07-09 jue> - [ ] =S-izq/der= cambia el estado de la sección. - [X] =C-c C-c= cambia el estado del checkbox. - [ ] =C-c C-s= establece una fecha de inicio. - [X] =C-c C-d= establece una fecha de término. - [ ] Mostrar ejemplo - [ ] Ejemplo * Configuración básica #+begin_src elisp (use-package org :commands (org-capture org-agenda) :bind (("C-c l" . org-store-link) ("C-c a" . org-agenda) ("C-c c" . org-capture)) :config (setq org-agenda-files '("~/.emacs.d/agenda.org") org-ellipsis " ▾" org-footnote-auto-adjust t org-return-follows-link t org-log-done 'time org-capture-bookmark nil org-html-validation-link nil org-startup-indented t org-startup-folded nil)) #+end_src * Org Babel #+begin_src elisp (with-eval-after-load 'org (org-babel-do-load-languages 'org-babel-load-languages '((C . t) (scheme . t) (python . t) (shell . t))) (add-hook 'org-babel-after-execute-hook 'org-redisplay-inline-images)) #+end_src * Manejo de referencias bibliográficas ** Citar #+begin_src elisp (use-package citar :defer t :bind (("C-c b" . citar-insert-citation) ("M-p" . citar-org-update-prefix-suffix) :map minibuffer-local-map ("M-b" . citar-insert-preset)) :custom (citar-bibliography '("~/referencias.bib")) :hook (LaTeX-mode . citar-capf-setup) (org-mode . citar-capf-setup)) #+end_src ** Archivo =.bib= - Para trabajar con Citar necesitamos una base de datos bibliográfica en formato =.bib=. - En este ejemplo utilizaremos un archivo ubicado en nuestro directorio personal, es decir =~/referencias.bib=, pero puede ser cualquier otra que se declare en la configuración. *** Libro #+begin_src bibtex @book{agustin-confesiones, title = {Confesiones}, author = {San Agustín}, year = 1974, publisher = {BAC}, location = {Madrid} } #+end_src *** Artículo #+begin_src bibtex @article{cornford-math-dialectic-i, author = {Cornford, Francis Macdonald}, journal = {Mind}, number = {161}, pages = {37-52}, publisher = {[Oxford University Press, Mind Association]}, title = {Mathematics and Dialectic in the Republic VI.-VII. (I.)}, volume = {41}, year = {1932} } #+end_src *** Referencia a un artículo web #+begin_src bibtex @InCollection{sep-principia-mathematica, author = {Linsky, Bernard and Irvine, Andrew David}, title = {{Principia Mathematica}}, booktitle = {The {Stanford} Encyclopedia of Philosophy}, editor = {Edward N. Zalta}, howpublished = {\url{https://plato.stanford.edu/archives/spr2022/entries/principia-mathematica/}}, year = {2022}, edition = {{S}pring 2022}, publisher = {Metaphysics Research Lab, Stanford University} } #+end_src ** Uso de =citar= - Para utilizar =citar= debemos presionar el atajo =C-c b= (=citar-insert-citation=), lo que nos mostrará una lista con nuestras referencias bibliográficas utilizando =vertico=. [cite:@frege-logica] - Seleccionamos el elemento requerido y se agregará la referencia. [cite:@clarke-descartes] - Para que la bibliografía sea presentada correctamente al momento de exportar, debemos agregar la siguiente línea al final del documento, o en el lugar que consideremos necesario: #+begin_src #+print_bibliography: #+end_src ** Procesador de citas - En el "preámbulo" de nuestro documento =.org= establecemos el procesador que queremos utilizar. En este ejemplo, usaremos =biblatex=: #+begin_src #+cite_export: biblatex #+end_src - Otros procesadores pueden ser =basic=, =csl= y =natbib=. * Presentaciones con y en Emacs ** Beamer #+begin_src org #+cite_export: biblatex #+latex_compiler: xelatex #+latex_header: \usepackage[${1:lang}]{babel} #+latex_header: \usepackage{unicode-math} #+latex_header: \setmainfont{Linux Libertine O} #+latex_header: \beamertemplatenavigationsymbolsempty #+latex_header: \setbeamertemplate{frametitle continuation}{} #+end_src ** =org-tree-slide= #+begin_src elisp (use-package org-bullets :no-require t :custom (org-bullets-bullet-list '("◉" "●" "○" "●" "○" "●"))) (use-package hide-lines) (use-package hide-mode-line :defer t) (defun terror/slide-setup () (global-hl-line-mode -1) (setq org-hide-emphasis-markers t) (org-bullets-mode 1) (setq text-scale-mode-amount 3) (text-scale-mode 1) (set-frame-parameter (selected-frame) 'internal-border-width 75) (org-display-inline-images) (toggle-frame-fullscreen) (hide-mode-line-mode 1) (hide-lines-matching "#\\+begin") (hide-lines-matching "#\\+end")) (defun terror/slide-end () (global-hl-line-mode 1) (setq org-hide-emphasis-markers nil) (org-bullets-mode -1) (setq text-scale-mode-amount 0) (text-scale-mode -1) (set-frame-parameter (selected-frame) 'internal-border-width 20) (toggle-frame-fullscreen) (hide-mode-line-mode -1) (hide-lines-show-all) (org-fold-show-all)) (use-package org-tree-slide :after org :bind ("C-c p" . org-tree-slide-mode) :hook ((org-tree-slide-play . terror/slide-setup) (org-tree-slide-stop . terror/slide-end)) :config (setq org-tree-slide-slide-in-effect nil org-image-actual-width nil org-tree-slide-header t org-tree-slide-breadcrumbs " > " org-tree-slide-activate-message "Let's begin..." org-tree-slide-deactivate-message "The end :)")) #+end_src * Recursos ** Lectura recomendada - Referencias bibliográficas :: - [[https://amerygration.com/Blog/citation_handling_in_emacs.html][Amery Gration: Citation handling in Emacs]] - [[https://blog.tecosaur.com/tmio/2021-07-31-citations.html][This Month in Org: Introducing citations!]] - Presentaciones :: - [[https://orgmode.org/worg/exporters/beamer/tutorial.html][Worg: Writing Beamer presentations in org-mode]] - [[https://orgmode.org/manual/Beamer-Export.html][The Org Manual: Beamer export]] * Paquetes utilizados - [[https://github.com/emacs-citar/citar][Citar]] - [[https://github.com/takaxp/org-tree-slide][org-tree-slide]] - [[https://github.com/sabof/org-bullets][Org Bullets]] - [[https://github.com/vapniks/hide-lines][hide-lines]] - [[https://github.com/hlissner/emacs-hide-mode-line][hide-mode-line]] * Próxima clase - Org Capture - Org Roam - Plantillas de Org Roam *¡Gracias por asistir!* * Referencias #+print_bibliography: