Bagaimana mengubah ukuran font dalam daftar kode di Org-Mode / Beamer


11

Saya ingin mengurangi ukuran font yang digunakan untuk blok kode yang termasuk dalam presentasi Org-Mode / Beamer saya. Perintah apa yang bisa saya gunakan sehingga hanya memengaruhi konten srcblok?

Berikut ini contoh kerja minimal: blok kode mendekati akhir:

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

Jawaban:


12

Itu tergantung pada apakah Anda memuat listingspaket dalam .emacsfile Anda . Anda dapat memeriksa isi dari variabel Emacs org-latex-default-packages-alist(gunakan kombo kunci C-h vuntuk melihat bantuan dan isi dari suatu variabel).

Jika listingspaket tidak dimuat, mode-org akan menggunakan verbatimlingkungan LaTeX untuk mengeset kode. Dalam hal ini Anda dapat menggunakan fancyvrbpaket LaTeX untuk mengeset kode dalam font yang lebih kecil. Misalnya, tambahkan berikut ini ke file mode-org Anda:

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

Ini mendefinisikan ulang verbatimlingkungan default .

Jika listingspaket dimuat, Anda dapat menambahkan kode LaTeX berikut ke file org Anda untuk mendapatkan font yang lebih kecil untuk kode:

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

Ini akan mengatur gaya untuk menggunakan font berukuran monospace \scriptsize.

\tinyadalah ukuran font relatif terkecil di LaTeX. Dalam rangka meningkatkan ukuran Anda bisa mencoba: \scriptsize, \footnotesize, \small, yang semuanya lebih kecil dari \normalsize.


Bagaimana saya bisa mendapatkan inline lateks $F=ma$menjadi ukuran font yang lebih kecil - untuk ekspor HTML atau Lateks?
147 sore

Pertanyaan: apa perbedaan antara RequirePackagedan usepackage? (Saya punya banyak usepackagefile saya saat ini)
Dave

@ Dave: tidak ada banyak perbedaan. Secara resmi, usepackagedigunakan dalam dokumen LaTeX normal dan RequirePackagedigunakan dalam paket ( .styfile) LaTeX .
ph0t0nix

1

Dengan asumsi Anda menggunakan paket listing, yang berarti Anda memiliki dalam pembukaan file mode org Anda

#+LATEX_HEADER: \usepackage{listings}

Anda dapat mengatur opsi tertentu yang tersedia dalam \lstset{}perintah. Untuk mengatur font ukuran skrip lateks untuk snippet tertentu, Anda dapat mengganti lstsetopsi default seperti ini:

#+ATTR_LATEX: :options basicstyle=\ttfamily\scriptsize
#+begin_src C
   some code
#+end_src
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.