เชิงอรรถสำหรับตารางใน LaTeX


87

เมื่อฉัน\footnote{}ค้นหาค่าในตารางเชิงอรรถจะไม่ปรากฏขึ้น ฉันจะแสดงได้อย่างไร? นอกจากนี้ยังเป็นไปได้หรือไม่ที่จะแสดงที่ด้านล่างของตารางแทนที่จะเป็นด้านล่างของหน้า


คำตอบ:


72

นี่เป็นความยากคลาสสิกใน LaTeX

ปัญหาคือการจัดวางแบบลอยตัว (ตัวเลขและตารางวัตถุที่คล้ายกัน) และเชิงอรรถ โดยเฉพาะอย่างยิ่งเป็นการยากที่จะเลือกสถานที่สำหรับลอยด้วยความมั่นใจว่าการทำให้มีที่ว่างสำหรับเชิงอรรถที่เกี่ยวข้องจะไม่ก่อให้เกิดปัญหา ดังนั้นมาตรฐานtabularและfigureสภาพแวดล้อมจึงไม่ได้พยายาม

คุณทำอะไรได้บ้าง:

  1. ปลอม. เพียงแค่ใส่รหัสแนวตั้งแบบตายตัวที่ด้านล่างของคำบรรยายจากนั้นเขียนเชิงอรรถด้วยตัวคุณเอง (ใช้\footnotesizeสำหรับขนาด) \footnotemarkนอกจากนี้คุณยังมีการจัดการสัญลักษณ์หรือหมายเลขตัวเองด้วย เรียบง่าย แต่ไม่ดึงดูดใจมากนักและเชิงอรรถจะไม่ปรากฏที่ด้านล่างของหน้า
  2. ใช้tabularx, longtable, threeparttable[x](รุ่งโรจน์โจเซฟ ) หรือctableที่สนับสนุนการทำงานนี้
  3. จัดการมันด้วยมือ ใช้[h!](หรือ[H]กับแพ็คเกจลอย) เพื่อควบคุมตำแหน่งที่จะปรากฏและ\footnotetextในหน้าเดียวกันเพื่อวางเชิงอรรถในตำแหน่งที่คุณต้องการ อีกครั้งใช้\footnotemarkเพื่อติดตั้งสัญลักษณ์ เปราะบางและต้องใช้เครื่องมือด้วยมือทุกครั้ง
  4. footnotesแพคเกจให้savenoteสภาพแวดล้อมซึ่งสามารถใช้ในการทำเช่นนี้
  5. Minipage it (รหัสถูกขโมยทันทีและอ่านข้อจำกัดความรับผิดชอบเกี่ยวกับข้อความคำอธิบายภาพแบบยาวในกรณีนั้น):
    \ begin {figure}
      \ start {minipage} {\ textwidth}
        ...
        \ caption [คำบรรยายสำหรับ LOF]%
          {คำบรรยายจริง \ เชิงอรรถ {blah}}
      \ end {minipage}
    \ end {รูป}

อ้างอิงเพิ่มเติม: คำถามที่พบบ่อยเท็กซ์รายการเชิงอรรถในตาราง


texblog.org/2012/02/03/using-footnote-in-a-tableสำหรับฉันเป็นทางเลือกที่ดี
Pio

1
@dmckee เป็นไปได้ไหมที่จะได้รับ threeparttable ใน xtable: somethin g เช่น print.xtable (df, tabular.environment = "threeparttable")?
อนุชา

ลิงค์ @Pio เป็นข้อมูลอ้างอิงที่ดี การใช้แพ็คเกจเชิงอรรถช่วยแก้ปัญหาของฉันได้
JOHN

61

วิธีที่ดีที่สุดที่จะทำโดยไม่ต้องปวดหัวคือใช้ \tablefootnoteคำสั่งจากtablefootnoteแพ็คเกจ เพิ่มสิ่งต่อไปนี้ในคำนำของคุณ:

\usepackage{tablefootnote}

มันใช้งานได้โดยไม่ต้องใช้เทคนิคเพิ่มเติม


18
ในกรณีของฉันการใช้ \ tablefootnote ทำให้เชิงอรรถปรากฏขึ้น แต่น่าเสียดายที่ในหน้าก่อนที่จะมีตาราง
หนูหิ่น

1
คุณมีตัวอย่างเพื่อแสดงพฤติกรรมนี้หรือไม่?
Francesquini

2
มีวิธีใดบ้างที่จะทำให้เชิงอรรถในหน้าเดียวกับตาราง
อนุชา

3
สิ่งนี้ไม่ได้ผลสำหรับฉันในตารางที่ซ้อนกัน (เชิงอรรถซ้ำหลายครั้งเหมือนตารางที่ซ้อนกัน)
fffred

1
ทำงานให้ฉันโดยใช้แพ็คเกจลอยและ [H] สำหรับตารางเพื่อให้มีเชิงอรรถในหน้าเดียวกันของตาราง
mao95

17

อาจจะเป็นวิธีการที่ไม่สวยหรูซึ่งฉันคิดว่าเป็นเพียงรูปแบบหนึ่งของสิ่งที่คนอื่นพูดคือการเข้ารหัส วารสารหลายฉบับมีแม่แบบที่สามารถใช้เป็นเชิงอรรถในตารางได้ดังนั้นฉันจึงพยายามทำให้สิ่งต่างๆเป็นพื้นฐาน แม้ว่าจะมีแพ็คเกจที่น่าทึ่งอยู่แล้วและฉันคิดว่าเธรดนี้ทำงานได้ดีในการชี้ให้เห็น

\documentclass{article}
\begin{document}
\begin{table}[!th]
\renewcommand{\arraystretch}{1.3} % adds row cushion
\caption{Data, level$^a$, and sources$^b$}
\vspace{4mm}
\centering
\begin{tabular}{|l|l|c|c|}
  \hline      
  \textbf{Data}  & \textbf{Description}   & \textbf{Level} & \textbf{Source} \\
  \hline      
  \hline
  Data1  &  Description. . . . . . . . . . . . . . . . . .   &  cnty & USGS \\
  \hline
  Data2  &  Description. . . . . . . . . . . . . . . . . .   &  MSA & USGS \\
  \hline
  Data3  &  Description. . . . . . . . . . . . . . . . . .   &  cnty & Census  \\
  \hline  
\end{tabular}
\end{table}
\footnotesize{$^a$ The smallest spatial unit is county, $^b$ more details in appendix A}\\
\end{document}

เอาต์พุตจากโค้ดด้านบน


11

หากโต๊ะของคุณใช้งานได้อยู่tabularแล้ววิธีที่ง่ายที่สุดคือการเปลี่ยนไปใช้longtableอย่าลืมเพิ่ม

\usepackage{longtable}

ตัวอย่างเช่น:

\begin{longtable}{ll}
  2014--2015 & Something cool\footnote{first footnote} \\
  2016-- & Something cooler\footnote{second footnote}
\end{longtable}

2
นั่นไม่ได้ผลสำหรับฉัน มันยังไม่แสดงขึ้น มีอะไรอีกไหมที่ฉันต้องเปลี่ยนยกเว้นการเพิ่มบรรทัดนั้น?
Emanuel Berg

2
Aha ต้องเปลี่ยนคำสั่ง start / end ของตารางด้วย Gotcha
Emanuel Berg

1
กรุณาให้ตัวอย่างแบบเต็มได้หรือไม่? ฉันไม่สามารถใช้งานได้
user2808117

7

ใช้สภาพแวดล้อมขนาดเล็ก นี่คือตัวอย่าง:

\begin{minipage}{6cm}
\begin{tabular}{|l|c|c|}
    \hline
    A & 1 & 2 \footnote{This is a footnote.} \\
    \hline
    B & 2 & 1 \\
    \hline
    C & 3 & 3 \\
    \hline
\end{tabular}
\end{minipage}

1
ในกรณีของฉันมันพิมพ์เชิงอรรถสองครั้งและแทนที่จะนั่งที่ด้านล่างของหน้ากระดาษจะอยู่ใต้โต๊ะตรงกลางหน้ากระดาษ
kakyo




0

@dmckee พูดอะไร

การเขียนโค้ดคิวเชิงอรรถตามความต้องการของคุณไม่ใช่เรื่องยาก สิ่งที่คุณต้องทำคือ:

  1. เขียนโค้ดลงในคิวรหัส Latex - เหมือนตะขอใน emacs: เทคนิคมาตรฐานมากหากไม่ใช่แฮ็กเกอร์ Latex ทุกคนสามารถทำได้
  2. กำหนดใหม่ชั่วคราว\footnoteเพื่อเพิ่มมาโครเชิงอรรถในคิวของคุณ
  3. ตรวจสอบให้แน่ใจว่าตะขอถูกเรียกเมื่อตาราง / รูปออกและเรากลับสู่โหมดแนวตั้งปกติ

หากสิ่งนี้น่าสนใจฉันจะแสดงรหัสที่ทำสิ่งนี้

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