สมการเลเบลและการอ้างอิง LaTeX ในโหมดองค์กร


15

ซึ่งคล้ายกับการส่งออกองค์กรไปยังลาเท็กซ์และการอ้างอิง HTMLแต่สำหรับสมการ

ฉันชอบใช้ตัวอย่างคณิตศาสตร์ LaTeX ในไฟล์ org ของฉันเช่นเดียวกับใน

* The Quadratic Equation
The roots of $ax^2 + bx + c$ are given by
\begin{equation}
\label{eq:1}
x = \frac{-b \pm \sqrt{b^2-4ac}}{2a}
\end{equation}

According to Equation \ref{eq:1}, ...

เมื่อฉันส่งออกไปยัง LaTeX ความ\ref{eq:1}ถูกต้องจะเปลี่ยนเป็นไฮเปอร์ลิงก์ไปยังสมการ แต่ฉันต้องการบรรลุพฤติกรรมเพิ่มเติมต่อไปนี้:

  1. ในไฟล์ org ฉันสามารถคลิกที่ข้อความ\ref{eq:1}(ข้อความไม่จำเป็นต้องเป็น\ref{eq:1}ฉันแค่ต้องการไฮเปอร์ลิงก์) และถูกนำไปที่สมการ ฟังก์ชั่นนี้มีให้สำหรับส่วนหัวเนื่องจาก[[The Quadratic Equation]]จะสามารถคลิกได้ในโหมดองค์กร

  2. เมื่อฉันส่งออกเป็น HTML ฉันต้องการอ้างอิงที่จะเก็บไว้ (จริง ๆ แล้วฉลาก (1) ไม่แสดงแม้แต่ในการส่งออก HTML)

มีวิธีการทำสิ่งนี้หรือไม่?


ในทางเทคนิค ... การรวมสมการเข้ากับ#+begin_src latex... #+end_srcจากนั้นถ้าคุณใส่#+name: eq:1และ#+label: eq:1คุณควรจะสามารถอ้างอิงบล็อกนี้ในแบบที่คุณต้องการเช่นใช้ลิงค์[[eq:1][first equation]]แต่ด้วยเหตุผลบางอย่างมันไม่ได้ผลสำหรับฉัน (แต่ อาจเป็นเพราะการเปลี่ยนแปลงที่ฉันทำ)
wvxvw

@wvxvw หากคุณเปลี่ยนพฤติกรรมผ่านเท่านั้นคุณสามารถทดสอบโดยไม่มีการเปลี่ยนแปลงทางadvice emacs -Qโดยธรรมชาติแล้วสิ่งนี้จะไม่ช่วยถ้าคุณเปลี่ยนแหล่งข้อมูลโดยตรง
โทเบียส

@Tobias nah ฉันจำได้ว่าการแก้ไขรหัส Org โดยเฉพาะสิ่งที่เกี่ยวข้องกับมันแทรก\label{}เข้าไปในสภาพแวดล้อมคำต่อคำ แต่ฉันต้องขุดการเปลี่ยนแปลงของฉันเพื่อให้แน่ใจว่ามันเป็นความผิดของฉัน มันจะช่วยฉันได้ถ้ามีใครสามารถยืนยันได้ว่าวิธีที่แนะนำกับการ#+nameทำงาน ฯลฯ
wvxvw

@wvxvw ที่ html-export ฉันได้รับ<pre>/ </pre>-Tags รอบequationสภาพแวดล้อม ดังนั้น Firefox แสดงแหล่งที่มาไม่ใช่สมการ
โทเบียส

@Tobias ใช่มั้ยฉันลืมไปหมดแล้วคุณต้องใช้by-backendแมโครจากที่นี่: orgmode.org/worg/org-contrib/babel/language/…
wvxvw

คำตอบ:


15

ฉันต้องเรียกใช้การทดสอบบางอย่าง แต่ฉันจัดการเพื่อเรียกใช้ไฟล์ขนาดเล็กที่ส่งออกอย่างถูกต้องไปยังทั้งลาเท็กซ์และ HTML ฉันทดสอบเฉพาะใน org 8.2.10 แต่ควรใช้กับเวอร์ชันอื่น

คำตอบนั้นเหมือนกับในการส่งออกองค์กรไปยังลาเท็กซ์และการอ้างอิง HTML

ที่นี่ฉันมีตัวอย่างเล็ก ๆ

*  This is a latex experiment
so with the text...
#+NAME: code:1
#+BEGIN_SRC shell-script
echo hello world 
#+END_SRC
[[code:1]] is a reference to src block

#+NAME: eqn:1
\begin{equation}
    f(x) =  \sum\limits_0^\infty(f^{(n)}(x)|_{x=0} \cdot x)
\end{equation}

And this is an equation [[eqn:1]]

นีซมันใช้ได้กับฉันนอกกรอบ
โทเบียส

สิ่งนี้ใช้ได้กับฉันเช่นกันใน LaTeX แต่มันไม่ได้ผลสำหรับ "นอกกรอบ" ใน HTML เนื่องจากสมการไม่ได้มีตัวเลข (ตัวเลือก Mathjax บางตัวอาจไม่ได้ตั้งค่าไว้) ตอนนี้ถ้า RefTeX เท่านั้นที่สนับสนุนสิ่งนี้ แต่นั่นเป็นคำถามอื่น ฉันจะรอวันคู่มากขึ้นก่อนที่จะยอมรับเพื่อดูว่าคนอื่นจะพูดสอด :)
เควิน

ฉันยอมรับแล้ว แต่ดูคำตอบของฉันเองด้านล่าง (Org รุ่นใหม่กว่าได้รับการสนับสนุนนอกกรอบ)
เควิน

ฉันได้รับ "การอ้างอิงที่ไม่ได้กำหนด" ใน LaTeX; ไม่ทำงานสำหรับฉันด้วย Emacs 24.5.1 (โหมด Org 8.2.10)
Reb.Cabin

1
สามารถขยายไปยังสภาพแวดล้อม AMS แบบหลายบรรทัดได้หรือไม่alignและsubequationsที่ใดฉลากมีความเฉพาะเจาะจงกับบางส่วนของสมการ
kdb

5

ที่จริงแล้วดูเหมือนว่าโหมดองค์กร 8.3.1 มีการสนับสนุนในตัวสำหรับคำถามที่ถาม labelและrefทำงานนอกกรอบ

สิ่งนี้ต้องการหนึ่งเพื่ออัปเดตโหมดองค์กรผ่านตัวจัดการแพคเกจ หลังจากนั้นให้ติด(package-initialize)กับส่วนบนของไฟล์เริ่มต้น

แก้ไข สิ่งนี้ไม่อนุญาตให้คุณคลิก\ref{...}และไปที่ป้ายกำกับ เพื่อที่โปรดดูคำตอบที่ได้รับการยอมรับดังกล่าวข้างต้นหรือใช้org-โทษ


1
แต่คุณไม่ต้องคลิกที่ \ ref {.} เพื่อไปที่ \ label {.} ใช่ไหม?
rvf0068

ไม่, ฉันไม่สามารถ. เพื่อที่คุณจะต้องใช้ทั้งคำตอบ Joafigue เหนือหรือดูความคิดเห็นของฉันข้างต้นเกี่ยวกับการgithub.com/jkitchin/org-ref ฉันจะแก้ไขคำตอบของฉันเพื่อสะท้อนว่า
Kevin

1

ในฐานะที่ได้อธิบายไว้ในการเชื่อมโยงภายใน

คุณสามารถใช้<<id>>เพื่อกำหนดรหัสเป้าหมายและใช้[[id]]หรือ[[id][description]](คุณสามารถใช้C-c C-lเพื่อแทรกสิ่งนี้) เพื่อค้นหาเป้าหมายของคุณ

สิ่งนี้ใช้ได้สำหรับฉันในขณะที่ส่งออกเป็น HTML

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