Comment changer la taille de la police dans les listes de codes dans Org-Mode / Beamer


11

Je voudrais réduire la taille de police utilisée pour les blocs de code inclus dans ma présentation Org-Mode / Beamer. Quelle (s) commande (s) puis-je utiliser pour n'affecter que le contenu du srcbloc?

Voici un exemple de travail minimal: le bloc de code est proche de la fin:

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

Réponses:


12

Cela dépend si vous chargez le listingspackage dans votre .emacsfichier. Vous pouvez vérifier le contenu de la variable Emacs org-latex-default-packages-alist(utilisez le combo de touches C-h vpour voir l'aide et le contenu d'une variable).

Si le listingspackage n'est pas chargé, org-mode utilisera l' verbatimenvironnement LaTeX pour composer le code. Dans ce cas, vous pouvez utiliser le fancyvrbpackage LaTeX pour composer le code dans une police plus petite. Par exemple, ajoutez ce qui suit à votre fichier en mode organisation:

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

Cela redéfinit l' verbatimenvironnement par défaut .

Si le listingspackage est chargé, vous pouvez ajouter le code LaTeX suivant à votre fichier org pour obtenir une police plus petite pour le code:

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

Cela définira le style pour utiliser une police de taille à espacement fixe \scriptsize.

\tinyest la plus petite taille de police relative dans LaTeX. Pour la taille de plus en plus , vous pouvez essayer: \scriptsize, \footnotesize, \small, qui sont toutes plus petites que \normalsize.


Comment puis-je obtenir du latex en ligne $F=ma$une taille de police plus petite - pour l'exportation HTML ou Latex?
147pm

Question: quelle est la différence entre RequirePackageet usepackage? (J'en ai un tas usepackagedans mon dossier actuel)
Dave

@Dave: il n'y a pas beaucoup de différence. Officiellement, usepackageest utilisé dans un document LaTeX normal et RequirePackageest utilisé dans les packages ( .styfichiers) LaTeX .
ph0t0nix

1

En supposant que vous utilisez le package de liste, ce qui signifie que vous avez dans votre fichier de mode org un préambule

#+LATEX_HEADER: \usepackage{listings}

vous pouvez définir n'importe quelle option spécifique disponible dans la \lstset{}commande. Pour définir une police de taille de script latex pour un extrait de code spécifique, vous pouvez remplacer les lstsetoptions par défaut comme ceci:

#+ATTR_LATEX: :options basicstyle=\ttfamily\scriptsize
#+begin_src C
   some code
#+end_src
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.