Cómo cambiar el tamaño de fuente en las listas de códigos en Org-Mode / Beamer

11

Me gustaría reducir el tamaño de fuente utilizado para los bloques de código incluidos en mi presentación Org-Mode / Beamer. ¿Qué comando (s) puedo usar para que solo afecte el contenido del srcbloque?

Aquí hay un ejemplo de trabajo mínimo: el bloque de código está cerca del final:

#+TITLE:     <<title>>
#+AUTHOR:    Dave
#+EMAIL:     
#+DATE:      <<date>>
#+DESCRIPTION:
#+KEYWORDS:
#+LANGUAGE:  en
#+OPTIONS:   H:3 num:t toc:t \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
#+OPTIONS:   TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc toc:nil \n:nil
#+INFOJS_OPT: view:nil toc:t ltoc:t mouse:underline buttons:0 path:http://orgmode.org/org-info.js
#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+LINK_UP:   
#+LINK_HOME: 
#+XSLT:




#+startup: beamer
#+LATEX_CLASS: beamer
#+LATEX_CLASS_OPTIONS: [bigger]
#+LATEX_HEADER: \usepackage{pgfpages}
#+LATEX_HEADER: \pgfpagesuselayout{resize to}[letterpaper,border shrink=5mm,landscape]
#+LATEX_HEADER: \usetheme{Dresden}
#+LATEX_HEADER: \usepackage[utf8x]{inputenc}
#+LATEX_HEADER: \setbeamertemplate{itemize items}[default]
#+LATEX_HEADER: \setbeamertemplate{enumerate items}[default]
#+LATEX_HEADER: \institute{} 

#+BEAMER_FRAME_LEVEL: 2
#+COLUMNS: %40ITEM %10BEAMER_env(Env) %9BEAMER_envargs(Env Args) %4BEAMER_col(Col) %10BEAMER_extra(Extra)


* Presentation

** Code Example
*** Text
:PROPERTIES:
:BEAMER_env: ignoreheading 
:BEAMER_col:0.5
:END:

- Text describing code
- More text

*** Graphics
:PROPERTIES:
:BEAMER_env: ignoreheading 
:BEAMER_col:0.5
:END:

% LOOK HERE!
% I want the text in this code block to be smaller
#+begin_src python
import sys
import os
import super_cool_module

value=super_cool_module.evalauate(42)
#+end_src
Dave
fuente

Respuestas:

12

Depende de si carga el listingspaquete en su .emacsarchivo. Puede verificar el contenido de la variable Emacs org-latex-default-packages-alist(use la combinación de teclas C-h vpara ver la ayuda y el contenido de una variable).

Si el listingspaquete no está cargado, org-mode usará el verbatimentorno LaTeX para componer el código. En ese caso, puede usar el fancyvrbpaquete LaTeX para componer el código en una fuente más pequeña. Por ejemplo, agregue lo siguiente a su archivo de modo org:

#+LATEX_HEADER: \RequirePackage{fancyvrb}
#+LATEX_HEADER: \DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\scriptsize}

Esto redefine el verbatimentorno predeterminado .

Si el listingspaquete está cargado, puede agregar el siguiente código LaTeX a su archivo de organización para obtener una fuente más pequeña para el código:

#+LaTeX_HEADER: \lstset{basicstyle=\scriptsize\ttfamily}

Esto establecerá el estilo para usar una fuente de tamaño monoespaciado \scriptsize.

\tinyes el tamaño de fuente relativo más pequeño en LaTeX. Con el fin de aumentar el tamaño usted podría intentar: \scriptsize, \footnotesize, \small, que son todos más pequeños que \normalsize.

ph0t0nix
fuente
¿Cómo podría obtener látex en línea $F=ma$para que sea un tamaño de fuente más pequeño, para la exportación de HTML o Latex?
147pm
Pregunta: ¿cuál es la diferencia entre RequirePackagey usepackage? (Tengo un montón de usepackageen mi archivo actual)
Dave
@Dave: no hay mucha diferencia. Oficialmente, usepackagese usa en un documento normal de LaTeX y RequirePackagese usa dentro de paquetes ( .styarchivos) de LaTeX .
ph0t0nix
1

Suponiendo que use el paquete de listado, lo que significa que tiene en el preámbulo del archivo de modo de organización

#+LATEX_HEADER: \usepackage{listings}

Puede establecer cualquier opción específica disponible en el \lstset{}comando. Para establecer una fuente scriptsize de látex para un fragmento específico, puede anular las lstsetopciones predeterminadas como esta:

#+ATTR_LATEX: :options basicstyle=\ttfamily\scriptsize
#+begin_src C
   some code
#+end_src
usuario1551605
fuente