Come modificare la dimensione del carattere negli elenchi di codici in Org-Mode / Beamer


11

Vorrei ridurre la dimensione del carattere utilizzata per i blocchi di codice inclusi nella mia presentazione in modalità Org / Beamer. Quali comandi posso usare in modo da influire solo sul contenuto del srcblocco?

Ecco un esempio minimo di funzionamento: il blocco di codice è vicino alla fine:

#+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

Risposte:


12

Dipende se carichi il listingspacchetto nel tuo .emacsfile. Puoi controllare il contenuto della variabile Emacs org-latex-default-packages-alist(usa la combinazione di tasti C-h vper vedere la guida e il contenuto di una variabile).

Se il listingspacchetto non viene caricato, la modalità org utilizzerà l' verbatimambiente LaTeX per comporre il codice. In tal caso, è possibile utilizzare il fancyvrbpacchetto LaTeX per comporre il codice in un carattere più piccolo. Ad esempio, aggiungi quanto segue al tuo file in modalità organizzazione:

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

Ciò ridefinisce l' verbatimambiente predefinito .

Se il listingspacchetto è caricato, è possibile aggiungere il seguente codice LaTeX al file org per ottenere un carattere più piccolo per il codice:

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

Questo imposterà lo stile per usare un carattere monospazio di dimensioni \scriptsize.

\tinyè la dimensione del carattere relativa più piccola in LaTeX. Al fine di aumentare le dimensioni si potrebbe provare: \scriptsize, \footnotesize, \small, che sono tutti più piccoli \normalsize.


Come posso avere il latex inline $F=ma$con dimensioni del carattere inferiori - per l'esportazione HTML o Latex?
147pm

Domanda: qual è la differenza tra RequirePackagee usepackage? (Ne ho un sacco usepackagenel mio file attuale)
Dave,

@Dave: non c'è molta differenza. Ufficialmente, usepackageviene utilizzato in un normale documento LaTeX e RequirePackageviene utilizzato all'interno dei pacchetti ( .styfile) di LaTeX .
ph0t0nix,

1

Supponendo di utilizzare il pacchetto di elenchi, ciò significa che nel preambolo del file in modalità organizzazione è presente

#+LATEX_HEADER: \usepackage{listings}

puoi impostare qualsiasi opzione specifica disponibile nel \lstset{}comando. Per impostare un carattere script in lattice per uno snippet specifico, puoi sovrascrivere le lstsetopzioni predefinite in questo modo:

#+ATTR_LATEX: :options basicstyle=\ttfamily\scriptsize
#+begin_src C
   some code
#+end_src
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.