วิธีการเปลี่ยนขนาดตัวอักษรในรายการรหัสใน Org-Mode / Beamer


11

ฉันต้องการลดขนาดตัวอักษรที่ใช้สำหรับการบล็อกโค้ดที่รวมอยู่ในการนำเสนอ Org-Mode / Beamer ของฉัน คำสั่งใดที่ฉันสามารถใช้ได้เพื่อส่งผลต่อเนื้อหาของsrcบล็อกเท่านั้น

นี่คือตัวอย่างการทำงานที่น้อยที่สุด: บล็อคโค้ดใกล้จะสิ้นสุด:

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

คำตอบ:


12

ขึ้นอยู่กับว่าคุณโหลดlistingsแพ็คเกจใน.emacsไฟล์ของคุณหรือไม่ คุณสามารถตรวจสอบเนื้อหาของตัวแปร Emacs org-latex-default-packages-alist(ใช้คีย์ผสมC-h vเพื่อดูวิธีใช้และเนื้อหาของตัวแปร)

หากlistingsไม่ได้โหลดแพคเกจโหมดองค์กรจะใช้verbatimสภาพแวดล้อม LaTeX เพื่อพิมพ์รหัส ในกรณีนั้นคุณสามารถใช้fancyvrbแพ็คเกจ LaTeX เพื่อพิมพ์รหัสในแบบอักษรขนาดเล็กลง ตัวอย่างเช่นเพิ่มสิ่งต่อไปนี้ในไฟล์โหมด org ของคุณ:

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

สิ่งนี้จะนิยามverbatimสภาพแวดล้อมเริ่มต้นใหม่

หากlistingsโหลดแพ็คเกจแล้วคุณสามารถเพิ่มรหัส LaTeX ต่อไปนี้ลงในไฟล์ org ของคุณเพื่อรับแบบอักษรขนาดเล็กลงสำหรับรหัส:

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

การทำเช่นนี้จะกำหนดสไตล์ให้ใช้แบบอักษรขนาดเท่า\scriptsizeกันหมด

\tinyคือขนาดตัวอักษรที่เล็กที่สุดใน LaTeX ในคำสั่งของการเพิ่มขนาดคุณอาจลอง: \scriptsize, \footnotesize, ซึ่งทั้งหมดมีขนาดเล็กกว่า\small\normalsize


ฉันจะทำให้ลาเท็กซ์$F=ma$เป็นขนาดตัวอักษรเล็กลงได้อย่างไร - สำหรับการส่งออก HTML หรือลาเท็กซ์
147 น.

คำถาม: อะไรคือความแตกต่างระหว่างRequirePackageและusepackage? (ฉันมีไฟล์มากมายusepackageอยู่ในแฟ้มปัจจุบันของฉัน)
เดฟ

@Dave: ไม่แตกต่างกันมาก ใช้อย่างเป็นทางการusepackageในเอกสาร LaTeX ปกติและRequirePackageใช้ภายในแพ็คเกจ LaTeX ( .styไฟล์)
ph0t0nix

1

สมมติว่าคุณใช้รายชื่อแพคเกจซึ่งหมายความว่าคุณมีในการเริ่มต้นไฟล์โหมด org ของคุณ

#+LATEX_HEADER: \usepackage{listings}

คุณสามารถตั้งค่าตัวเลือกเฉพาะใด ๆ ที่มีอยู่ใน\lstset{}คำสั่ง ในการตั้งค่าฟอนต์ขนาดสคริปต์ Latex สำหรับตัวอย่างเฉพาะคุณสามารถแทนที่lstsetตัวเลือกเริ่มต้นเช่นนี้:

#+ATTR_LATEX: :options basicstyle=\ttfamily\scriptsize
#+begin_src C
   some code
#+end_src
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.