So ändern Sie die Schriftgröße in Codelisten im Org-Modus / Beamer

11

Ich möchte die Schriftgröße reduzieren, die für Codeblöcke verwendet wird, die in meiner Org-Mode / Beamer-Präsentation enthalten sind. Welche Befehle kann ich verwenden, um nur den Inhalt des srcBlocks zu beeinflussen?

Hier ist ein minimales Arbeitsbeispiel: Der Codeblock befindet sich am Ende:

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

Antworten:

11

Dies hängt davon ab, ob Sie das listingsPaket in Ihre .emacsDatei laden . Sie können den Inhalt der Emacs-Variablen überprüfen org-latex-default-packages-alist(verwenden Sie die Tastenkombination C-h v, um die Hilfe und den Inhalt einer Variablen anzuzeigen).

Wenn das listingsPaket nicht geladen ist, verwendet der verbatimOrganisationsmodus die LaTeX-Umgebung, um den Code zu setzen. In diesem Fall können Sie das fancyvrbLaTeX-Paket verwenden, um den Code in einer kleineren Schriftart zu setzen. Fügen Sie Ihrer Organisationsmodus-Datei beispielsweise Folgendes hinzu:

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

Dadurch wird die Standardumgebung neu definiert verbatim.

Wenn das listingsPaket geladen ist, können Sie Ihrer Organisationsdatei den folgenden LaTeX-Code hinzufügen, um eine kleinere Schriftart für den Code zu erhalten:

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

Dadurch wird der Stil so eingestellt, dass eine monospaced Schriftgröße verwendet wird \scriptsize.

\tinyist die kleinste relative Schriftgröße in LaTeX. Um Größe zu erhöhen Sie könnten versuchen: \scriptsize, \footnotesize, \small, die alle kleiner als \normalsize.

ph0t0nix
quelle
Wie kann ich Latex inline $F=ma$auf eine kleinere Schriftgröße bringen - für den HTML- oder Latex-Export?
147 Uhr
Frage: Was ist der Unterschied zwischen RequirePackageund usepackage? (Ich habe ein paar usepackagein meiner aktuellen Datei)
Dave
@ Dave: Es gibt keinen großen Unterschied. Wird offiziell usepackagein einem normalen LaTeX-Dokument verwendet und RequirePackagewird in LaTeX-Paketen ( .styDateien) verwendet.
Ph0t0nix
1

Angenommen, Sie verwenden das Listenpaket, was bedeutet, dass Sie in Ihrer Organisationsmodus-Präambel eine Datei haben

#+LATEX_HEADER: \usepackage{listings}

Sie können eine bestimmte Option festlegen, die im \lstset{}Befehl verfügbar ist . Um eine Latex-Skriptgröße für ein bestimmtes Snippet festzulegen, können Sie die Standardoptionen lstsetwie folgt überschreiben :

#+ATTR_LATEX: :options basicstyle=\ttfamily\scriptsize
#+begin_src C
   some code
#+end_src
user1551605
quelle