คำถามติดแท็ก org-babel

คุณสมบัติของโหมด Org ที่จัดการซอร์สโค้ดสำหรับหลายภาษา สามารถเรียกใช้ซอร์สโค้ดจากภายในเอกสารโหมดองค์กรช่วยอำนวยความสะดวกในการผลิตเอกสารการเขียนโปรแกรมและการจัดการการวิจัยที่ทำซ้ำได้ โปรดทราบว่าขณะนี้ [tag: org-babel] ได้รวมอยู่ใน [tag: orgmode] เป็นการทำงานกับซอร์สโค้ดและไม่ได้มีนามสกุลแยกต่างหากอีกต่อไป

4
แทรกบล็อกแหล่งที่มาอย่างรวดเร็วในโหมดองค์กร
org-mode มีความสามารถในการเรนเดอร์ซอร์สโค้ดโดยมีบล็อกของไวยากรณ์ต่อไปนี้: #+NAME: <name> #+BEGIN_SRC <language> <switches> <header arguments> <body> #+END_SRC มีคำสั่งที่มีอยู่เพื่อแทรกบล็อกเหล่านี้อย่างรวดเร็วorg-modeหรือฉันจำเป็นต้องใช้เครื่องมือภายนอกเช่นyasnippet?

6
ฉันสามารถใช้โหมดองค์กรเพื่อจัดโครงสร้าง. emacs หรือไฟล์กำหนดค่า. el อื่น ๆ ได้หรือไม่
ฉัน.emacsแฟ้มการกำหนดค่าที่ได้รับใหญ่และขนาดใหญ่และฉันต้องการที่จะได้รับภาพรวมที่ดีขึ้นและการก่อสร้างโดยการเพิ่มหัวข้อหัวข้อย่อยและความสามารถในการซ่อนหรือแสดงให้พวกเขาเหมือนที่ผมสามารถทำอะไรกับ org-modeEmacs ฉันสังเกตเห็นว่าฉันสามารถเปิดใช้งานorg-modeได้ใน.emacsบัฟเฟอร์และเป็นไปได้ที่จะเพิ่มส่วนหัวและยุบพวกเขา แต่ Emacs / Aquamacs จะยังสามารถโหลดรหัส Elisp จากเอกสารได้หรือไม่หากฉันเพิ่มorg-modeส่วนหัว (เช่นบรรทัดที่ขึ้นต้นด้วยเครื่องหมายดอกจันหนึ่งตัวหรือมากกว่า)? ฉันมีทุกอย่างในไฟล์เดียวหรือฉันต้องมี.*orgไฟล์เดียวแล้วส่งออกรหัส Elisp ไปยังไฟล์อื่นเป็นประจำหรือไม่

6
Org-mode 9: ไม่สามารถ eval block-code
My Emacs config อยู่ใน.orgไฟล์ที่ฉันบล็อกซอร์สโค้ดเป็น.elไฟล์ ฉันสามารถประเมินซอร์สบล็อกด้วยC-c C-c วันนี้ฉันอัปเดตเป็นโหมด org 9 เวอร์ชันจาก org elpa และตอนนี้ประเมินบล็อกแหล่งที่มาเช่น #+BEGIN_SRC emacs-lisp :tangle yes (setq org-export-coding-system 'utf-8) #+END_SRC ด้วยC-c C-cพิมพ์ข้อความต่อไปนี้ การประเมินผลของบล็อคโค้ด emacs-lisp นี้ถูกปิดใช้งาน ในฉันinit.elฉันได้กำหนดภาษาสำหรับ org-babel แล้ว: (org-babel-do-load-languages 'org-babel-load-languages '((emacs-lisp . t) (org . t) (sh . t))) ถ้าฉันโหลดโหมด org-stock ของ Emacs ฉันสามารถยุ่งเหยิงได้C-c C-cอย่างที่คาดไว้ ฉันไม่พบการเปลี่ยนแปลงใด ๆ เกี่ยวกับสิ่งนี้ในการเปลี่ยนแปลงสำหรับโหมด org …

3
เลื่อน (เมาส์) อย่างราบรื่นสำหรับภาพอินไลน์หรือไม่
ฉันแสดงรูปภาพในบรรทัดพร้อมกับ start_src & บล็อคผลลัพธ์ อย่างไรก็ตามสำหรับภาพขนาดใหญ่เมื่อฉันเลื่อนผ่านด้านล่างของภาพฉันได้รับ 'กระตุก' และภาพทั้งหมดจะถูกเลื่อนออกไป ในทำนองเดียวกันถ้าฉันเลื่อนขึ้นและเรียกใช้เป็นรูปภาพฉันได้รับการกระตุกและดูภาพทั้งหมดแทนที่จะเห็นมันทีละนิดทีละน้อย สิ่งนี้ทำให้ยากต่อการทำงานกับไดอะแกรม plantuml / graphviz ขนาดใหญ่ในโหมดองค์กร ฉันต้องการประสบการณ์ที่ราบรื่นในการเลื่อนภาพอย่างเบามือเหมือนในเว็บเบราว์เซอร์โดยไม่กระตุก ฉันเหนื่อย: (setq auto-window-vscroll nil) และนอกจากนี้ยังมี (setq scroll-margin 1 scroll-conservatively 0 scroll-up-aggressively 0.01 scroll-down-aggressively 0.01) ฉันลองชุดเลื่อนแบบสมูทและตัวอย่างนี้ด้วย อย่างไรก็ตามดูเหมือนว่ารูปภาพในบรรทัดจะใช้ 'หนึ่งบรรทัด' เท่านั้นและแก้ไข emacs เพื่อเลื่อนโดย 'หนึ่งบรรทัด' เท่านั้นไม่สามารถแก้ไขปัญหาได้ วิธีการแก้ปัญหานี้หรือไม่? [แก้ไข] คีย์บอร์ด VS เลื่อนเมาส์: การเลื่อนเมาส์นั้นบอกเป็นนัย แต่การเลื่อนคีย์บอร์ดจะเป็นโบนัสหากการเลื่อนเมาส์ที่เหมาะสมจะทำงานได้ [แก้ไข] ค่อนข้างมีวิธีแก้ปัญหา แต่มีประโยชน์สำหรับการทำงานกับรูปภาพในโหมดองค์กรคือการเปิดในแอปภายนอกที่โหลดซ้ำอัตโนมัติเมื่อมีการเปลี่ยนแปลงไฟล์ ตัวอย่างจะเป็นeog (eye of gnome)หรือหรือshutter …

1
วิธีการระบุอาร์กิวเมนต์ส่วนหัวเริ่มต้นในบล็อกรหัส orgmode
ฉันคาดว่าจะตั้งค่าอาร์กิวเมนต์ส่วนหัวเริ่มต้นเป็นบล็อกโค้ดในไฟล์ org ของฉันเช่นนี้ #+PROPERTY: header-args :session *my_python_session* #+PROPERTY: header-args :results silent #+PROPERTY: header-args :tangle yes บล็อกรหัสของฉันมีลักษณะเช่นนี้: #+BEGIN_SRC python import pandas as pd #+END_SRC แต่เมื่อผมเรียกorg-babel-tangleจากบัฟเฟอร์นี้ผมได้รับTangled 0 บล็อกโค้ดจาก filename.org เมื่อฉันเพิ่ม:tangle yesไปยังจุดสิ้นสุดของเส้นการป้องกันรหัสถูกส่งออกเมื่อฉันโทร#+BEGIN_SRCorg-babel-tangle ฉันคาดหวังว่าฉันไม่จำเป็นต้องตั้งค่า:tangle yesในแต่ละบล็อครหัส ผมทำอะไรผิดหรือเปล่า?

2
ใช้ Org Babel เพื่อยุ่งเหยิงเป็นชื่อไฟล์ตัวแปร
หากฉันมีข้อมูลโค้ดที่ทำให้ยุ่งเหยิงกับไฟล์ แต่ฉันคาดว่าชื่อไฟล์จะเปลี่ยนแปลงตลอดเวลามีวิธีที่สะอาดกว่าในการเปลี่ยนชื่อไฟล์แทนที่จะเป็น Query-replace หรือไม่ ตัวอย่างเช่นสมมติว่าฉันยุ่งรหัสเพื่อ ~ / dir / my-file.el: #+BEGIN_SRC emacs-lisp :tangle ~/dir/my-file.el (setq myvar1 "value1") #+END_SRC #+BEGIN_SRC emacs-lisp :tangle ~/dir/my-file.el (defun foo (bar) ... ) #+END_SRC etc. ต่อมาฉันก็รู้ว่าไฟล์จะอยู่ในตำแหน่งที่ดีกว่า: #+BEGIN_SRC emacs-lisp :tangle ~/dir/my/file.el (setq myvar1 "value1") #+END_SRC #+BEGIN_SRC emacs-lisp :tangle ~/dir/my/file.el (defun foo (bar) ... ) #+END_SRC etc. มีวิธีในการเปลี่ยนอาร์กิวเมนต์เป็น: …

1
“ ไม่มีฟังก์ชั่น org-babel-execute สำหรับ c” และ“ no-org-babel-execute ฟังก์ชั่นสำหรับ c ++”
เวอร์ชั่น emacs ของฉันคือ 24.3.1 ฉันเข้าใจว่าฉันต้องวาง ob-C.el (หาได้จากที่นี่ ) ในเส้นทางที่ Emacs สามารถอ่านได้ ฉันคัดลอกโค้ดจากไฟล์. el ไปยังไฟล์. emacs ของฉันก่อนแล้วรีสตาร์ท emacs จากนั้นฉันไปที่บล็อกรหัส C (ภายในไฟล์ org) และพยายามเรียกใช้งาน (ใช้ Cc Cc) minibuffer กล่าวว่า 'ไม่มีฟังก์ชั่น org-babel-execute สำหรับ C' เรื่องเดียวกันเล่นด้วยความพยายามที่จะดำเนินการบล็อกรหัส C ++ โปรดทราบว่า R และ python ประเมินได้อย่างสมบูรณ์แบบจากภายในไฟล์ org ของฉัน ปัญหาดูเหมือนว่าจะมีเฉพาะกับภาษาที่รวบรวมเหล่านี้ ฉันลองวาง ob-C.el นี้ไว้ในไดเรกทอรี ~ / .emacs.d เพื่อดูว่าสิ่งนั้นช่วยได้หรือไม่ รีสตาร์ท …
16 org-babel 


2
เอาต์พุตบล็อกซอร์สของโหมดองค์กร Python อยู่เสมอ ': ไม่มี'
นี่คือบล็อกแหล่งที่มาของฉัน: #+BEGIN_SRC python print "hello" #+END_SRC ผลลัพธ์อยู่เสมอ: #+RESULTS: : None นี่คือการกำหนดค่าองค์กรของฉัน: (org-babel-do-load-languages 'org-babel-load-languages '((python . t) (C . t) (calc . t) (latex . t) (java . t) (ruby . t) (scheme . t) (sh . t) (sqlite . t) (js . t))) Python อยู่ใน PATH และสามารถใช้งานได้ผ่านทางเทอร์มินัล Emacs-lisp SRC blocks …

2
การทำงานของ Async ในองค์กร Babel
มีการปรับแต่งทั่วไปที่ดีของ org-babel เพื่อให้ทำงานแบบอะซิงโครนัสหรือไม่? เมื่อเร็ว ๆ นี้ฉันวางแผนที่จะใช้ MATLAB ผ่าน org-babel แต่ฉันต้องการแบบ async เนื่องจากการคำนวณบางอย่างใช้เวลานาน ฉันไม่ต้องการปรับแต่ง ob-matlab เท่านั้น นี่เป็นเพราะฉันคิดว่ามันควรจะทำในระดับของกรอบแทนที่จะเป็นโปรแกรม กล่าวอีกนัยหนึ่งการปรับเปลี่ยนแบบเดียวกันควรเปิดใช้งานคุณลักษณะ async สำหรับส่วนขยายภาษาอื่นเช่นภาษา R ใครบ้างมีทางออกที่ดี? จนถึงตอนนี้ฉันได้ลองasync.elและdeferred.elปรับเปลี่ยนorg-babel-execute-safely-maybeที่สามารถพบได้ในob-core.elขณะนี้
14 org-babel  matlab 

1
การสร้างเอาต์พุตในภาษาอื่นด้วยโหมด org
รับต่อไปนี้มีวัตถุประสงค์เพื่อสร้างรหัส C ++: #+BEGIN_SRC python :exports both :results output code print "struct Whatever{};" #+END_SRC ผลลัพธ์ถูกแทรกดังนี้: #+RESULTS: #+BEGIN_SRC python struct Whatever{}; #+END_SRC ซึ่งไม่ได้จัดรูปแบบเป็น C ++ อย่างชัดเจน ฉันจะรับมันได้อย่างไรเพื่อให้องค์กรสร้างสิ่งต่อไปนี้: #+RESULTS: #+BEGIN_SRC c++ struct Whatever{}; #+END_SRC ขอบคุณ

1
ตั้งค่าภาษาเริ่มต้นสำหรับการบล็อกรหัสใน orgmode
มีวิธีการกำหนดภาษาเริ่มต้นสำหรับบล็อกรหัสโหมดองค์กรในส่วนหัวเอกสารหรือไม่ โดยปกติภายในเอกสารหนึ่งองค์กรฉันใช้ภาษาการเขียนโปรแกรมเพียงภาษาเดียวเท่านั้น #+BEGIN_SRC python [...] #+END_SRC มันคงจะดีถ้าได้ทำอะไรซักอย่าง #+PROPERTY: header-args :session *mysession* :tangle yes :results silent :language python [...] #+BEGIN_SRC [...] #+END_SRC มีวิธีใดบ้างที่จะบรรลุเป้าหมายนี้?

3
ผลลัพธ์ของ org-babel สามารถแสดงผลเป็นความคิดเห็นของรหัสได้หรือไม่
ในบล็อกตำรา ฯลฯ เป็นเรื่องธรรมดามากที่จะแสดงผลลัพธ์ของโค้ดบางส่วนเป็นความคิดเห็นเช่น: (+ 1 1) ;=> 2 มีวิธีแสดงผลลัพธ์เช่นนี้โดยอัตโนมัติโดยใช้คุณสมบัติ Babel ของ Org-Mode หรือไม่ โดยเฉพาะสิ่งที่ฉันต้องการคือสามารถระบุส่วนหัวเช่นนี้: #+begin_src scheme <some headers> (+ 1 1) (/ 4 (* 2 2)) #+end_src จะเปลี่ยนเป็นสิ่งต่อไปนี้เมื่อฉันC-c C-c: #+begin_src scheme <some headers> (+ 1 1) ;=> 2 (/ 4 (* 2 2)) ;=> 1 #+end_src และถ้าฉันทำการเปลี่ยนแปลงบางอย่างเช่นนั้น ... #+begin_src scheme …

2
มีวิธีทำให้โหมด Org เพิกเฉยบล็อก src เมื่อส่งออกเป็น html หรือไม่
ฉันมีเอกสารองค์กรที่กระจัดกระจายพร้อม source block ที่ฉันต้องการยกเว้นเมื่อส่งออกไฟล์เป็น html มีตัวแปรหรือตัวเลือกที่ฉันสามารถตั้งค่าซึ่งจะละเว้นบล็อก src หรือไม่ ฉันลองใช้ noexport ตามที่แสดงด้านล่าง แต่รหัสยังคงปรากฏในผลลัพธ์ html #+BEGIN_SRC json :noexport: { ... } #+END_SRC ขอบคุณ!

3
ล่ามเฉพาะรหัสบล็อกใน Org Babel
เป็นไปได้หรือไม่ว่าในไฟล์ org เดียวกันนั้นโค้ดบล็อกสองอันในภาษาเดียวกันที่รันในล่ามที่ต่างกันโดยการระบุตัวเลือกต่าง ๆ ที่ด้านบนสุดของบล็อคโค้ด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.