LaTeX तालिका स्थिति


98

मेरे पास एक LaTeX दस्तावेज है जिसमें एक पैराग्राफ है जिसके बाद 4 टेबल हैं और उसके बाद दूसरा पैराग्राफ है। मैं चाहता हूं कि 4 पैराग्राफ दो पैराग्राफों के बीच दिखाई दें, जो मैंने पढ़ा है, इसका मतलब है कि मुझे टेबल वातावरण की शुरुआत के बाद [एच] विकल्प का उपयोग करना चाहिए (जैसे \begin{table}[h])।

पैराग्राफ 1 के बाद दिखाई देने वाली पहली दो तालिकाओं का उपयोग करना अपेक्षित है, हालांकि पैराग्राफ 2 को फिर अगले पृष्ठ पर दिखाई देने वाली अंतिम दो तालिकाओं के साथ प्रदर्शित किया जाता है। मैं सही स्थान पर दिखने के लिए तालिकाओं को कैसे प्राप्त कर सकता हूं?

मैंने स्थिति को सही करने के लिए विभिन्न चीजों की कोशिश की है जैसे कि उपयोग करना [h!] करने से कोई प्रभाव नहीं पड़ता है। \clearpageतालिकाओं का उपयोग करने के बाद दूसरे पैराग्राफ से पहले तालिकाओं को बनाने का वांछित प्रभाव होता है, लेकिन इसके बाद अपने स्वयं के पृष्ठ पर अंतिम दो तालिकाओं को सफेद स्थान के भार के साथ छोड़ देता है, जब मैं दूसरा पैराग्राफ शुरू होने के तुरंत बाद शुरू करना पसंद करूंगा टेबल।

Paragraph 1...

\begin{table}[h]
    table1...
\end{table}

\begin{table}[h]
   table2...
\end{table}[h]
...

Paragraph 2...

मैंने कोशिश की कि इसका भी कोई असर न हो।
जेरेड रसेल

6
वैकल्पिक तर्क में अक्षरों के क्रम (सभी) का कोई प्रभाव नहीं है।
विल रॉबर्टसन

@ गेसेक, मैं शर्त लगाता हूं कि रॉबर्टसन सही होंगे। Mintaka.sdsu.edu/GF/bibliog/latex/floats.html के अनुसार , "[t] उन्होंने कहा कि कोष्ठक में तर्क LaTeX को बताते हैं कि फ्लोट लगाना कहां संभव है? उनका आदेश महत्वहीन है।"
वाल्डिर लियोनसियो

यह केवल थोड़ा संबंधित है, लेकिन मुझे लगता है कि यह जानना महत्वपूर्ण है: [h] विकल्प का उपयोग कभी भी अकेले नहीं किया जाना चाहिए, और वास्तव में, नए LaTeX संस्करण इसे स्वचालित रूप से [ht] से बदल देते हैं। यह आपकी समस्या भी रही होगी। आप इस गाइड में धारा 17.2 "चित्रा प्लेसमेंट" में अधिक पढ़ सकते हैं ।
vauhochzett

@ गेसक [h!]सही संस्करण है। इसके बराबर है [H]। दोनों को floatपैकेज की आवश्यकता है ।
विंकलार्र

जवाबों:


171

कुछ और गोलगप्पे करने के बाद मैं फ्लोट पैकेज में आ गया, जिससे आप लाटेक्स को टेबल्स को बदलने से रोक सकते हैं।

प्रस्तावना में:

\usepackage{float}
\restylefloat{table}

फिर प्रत्येक तालिका के लिए आप Hप्लेसमेंट विकल्प (जैसे \begin{table}[H]) का उपयोग यह सुनिश्चित करने के लिए कर सकते हैं कि यह पुन: जमा न हो।


22
शायद यह जोर देने योग्य है कि "एच" का उपयोग किया जाना चाहिए और "एच" नहीं। यही मैंने अपने लिए मनाया।
bikashg

@bikashg Hके बराबर है h!(मापदंडों के बारे में अधिक जानकारी के लिए यहां मेरे उत्तर की जांच करें )
winklerrr

1
यदि कोई व्यक्ति ऑर्ग-मोड का उपयोग कर रहा है, तो इसे शीर्ष पर रखें: #+LATEX_HEADER: \usepackage{float} #+LATEX_HEADER: \restylefloat{table} और फिर, #+CAPTION: A table #+NAME: tab:table-label #+ATTR_LATEX: :placement [H] :center t <<actual table content>> टिप्पणियों में खराब न्यूलाइन फॉर्मेटिंग का उपयोग करें।
गौरव

23

यह मेरे लिए काम किया:

शुरुआत में usepackageपरिभाषाओं में शामिल हैं:

\usepackage{placeins}

और जोड़ने से पहले और बाद में:

\FloatBarrier
\begin{table}[h]
    \begin{tabular}{llll}
      .... 
    \end{tabular}
\end{table}
\FloatBarrier

यह तालिका को ठीक उसी जगह रखता है जहाँ आप पाठ में चाहते हैं।


यह वास्तव में उपयोगी पैकेज है। साझा करने के लिए धन्यवाद!
जॉन डेविड

11

टेबल पोजिशनिंग

उपलब्ध पैरामीटर

एक तालिका आसानी से निम्नलिखित मापदंडों के साथ रखी जा सकती है:

  • hफ्लोट को यहां रखें , यानी, लगभग उसी बिंदु पर जहां यह स्रोत पाठ में होता है (हालांकि, बिल्कुल मौके पर नहीं)
  • tपृष्ठ के शीर्ष पर स्थिति ।
  • bपृष्ठ के निचले भाग में स्थिति ।
  • pकेवल तैरने के लिए एक विशेष पृष्ठ पर रखें ।
  • ! आंतरिक मानकों को ओवरराइड करें LaTeX "अच्छा" फ्लोट पदों को निर्धारित करने के लिए उपयोग करता है।
  • HLATEX कोड में फ्लोट को ठीक स्थान पर रखता है। फ्लोट पैकेज की आवश्यकता है। यह कुछ हद तक बराबर है h!

यदि आप एक सटीक स्थिति के लिए H(या h!) का उपयोग करना चाहते हैं , तो सुनिश्चित करें कि आपको floatप्रस्तावना में सही तरीके से पैकेज मिला है :

\usepackage{float}
\restylefloat{table}

उदाहरण

यदि आप एक ही पृष्ठ पर तालिका रखना चाहते हैं, तो सटीक स्थान पर या कम से कम पृष्ठ के शीर्ष पर (लेटेक्स इंजन के लिए सबसे उपयुक्त क्या है), मापदंडों का उपयोग करें hऔर tइस तरह:

\begin{table}[ht]
    table content ...
\end{table}

स्रोत: Overleaf.com


7

यदि पाठ प्लस टेबल प्लस पाठ एक पृष्ठ पर फिट नहीं होता है तो क्या होगा? इस प्रकार से टाइप करने की कोशिश करने से, आप बहुत कम चलने वाले पृष्ठों के साथ समाप्त होने की संभावना रखते हैं; यानी, क्योंकि कोई तालिका पृष्ठ पर डिफ़ॉल्ट रूप से विराम नहीं दे सकती है, इसे आगे धकेल दिया जाएगा, और इससे पहले पृष्ठ पर एक अंतर छोड़ दें। आप देखेंगे कि आप इसे प्रकाशित पुस्तक में कभी नहीं देखते हैं।

फ्लोटिंग व्यवहार एक अच्छी बात है! मैं [htbp]आपके दस्तावेज़ के पूर्ण होने तक सभी तालिकाओं और आंकड़ों के लिए डिफ़ॉल्ट सेटिंग के रूप में उपयोग करने की सलाह देता हूं ; तभी उनके सटीक प्लेसमेंट को ठीक करने के बारे में सोचना चाहिए।

पुनश्च अक्सर पूछे जाने वाले प्रश्न पढ़ें ; यहां दिए गए अधिकांश अन्य जवाब सलाह के आंशिक संयोजन हैं।


1
फ्लोटिंग व्यवहार अंतरिक्ष छोड़ने से बचता है, लेकिन आंकड़े दूर जाना पाठक के लिए जीवन को कठिन बना देता है। इस कारण से, एडवर्ड टफ्टे, एक महत्वपूर्ण डिजाइनर, पाठ और आंकड़े / तालिकाओं को एकीकृत करने की सिफारिश करता है - अपनी प्रकाशित पुस्तकों में, वह संख्याओं के अनुसार तालिकाओं का उल्लेख नहीं करता है। "तालिका 1 देखें" प्रकट नहीं होता है, क्योंकि तालिका बस वहीं है। वह सिर्फ उन्हें सही जगह पर रखता है - मध्य-वाक्य। मेरा अनुमान है कि तालिकाओं को बिछाने के लिए अधिक काम करने का मतलब है लेकिन पाठकों के लिए कम काम करना।
ब्लेसरॉब्लेड

@ ब्लेज़रब्लड - यकीन है, और ऐसे अन्य उल्लेखनीय उदाहरण हैं, लेकिन मैं प्रस्ताव करता हूं कि इस तरह से एक पाठ लिखना अधिकांश लोगों के लिए फ़्लोट का उपयोग करने की तुलना में अधिक कठिन परिमाण का एक आदेश है। आप एक अस्वीकार्य इष्टतम के लिए 99% पुस्तक डिजाइन को छोड़ने की बात कर रहे हैं। मेरे जवाब में मेरे द्वारा बनाई गई बात पर विचार करें: 'क्या होगा अगर एक टेबल पाठ के नीचे फिट नहीं हो सकती?' आपके परिदृश्य में फिर से लिखना या फिर से लिखना है, और यह कई स्थितियों में अस्थिर है।
विल रॉबर्टसन

1
ठीक है, हम इस बात पर सहमत हैं कि इष्टतम क्या है और हाँ, सबसे अधिक बार यह व्यावहारिक रूप से अस्वीकार्य है। दिन-प्रतिदिन के जीवन में मैं आमतौर पर तैरने के लिए भी रहता हूं। लेकिन मेरे पास छोटे टेबल और आंकड़े इनलाइन हैं, और यह अच्छी तरह से काम करता है (बशर्ते मैं अंतिम संस्करण की जांच करता हूं-जो केवल इसलिए आसान है क्योंकि मेरे पास अधिकतम 20 पृष्ठों के दस्तावेज हैं)। मैं सिर्फ एक अच्छी चीज :-) के बजाय एक उचित व्यापार के रूप में तैरते देखता हूं।
ब्लेज़ोरब्लेड

[htbp]कुछ भी नहीं के विपरीत सेटिंग के बीच अंतर क्या है ?
वाल्डिर लियोनसियो

@WaldirLeoncio कम से कम मेरे लिए, इसके [ht]बजाय सभी चूक के लिए कुछ भी नहीं[htbp]
MrJonas

7

यहाँ एक आसान उपाय है, विकीबूक से :

प्लेसिंस पैकेज कमांड \ फ्लोटबैरियर प्रदान करता है, जिसका उपयोग फ्लोट को उस पर ले जाने से रोकने के लिए किया जा सकता है।

मैं बस \FloatBarrierहर टेबल के पहले और बाद में डालता हूं ।


4

यदि आप एक दूसरे के पास दो टेबल रखना चाहते हैं तो आप उपयोग कर सकते हैं: ( floatपैकेज लोड के साथ )

\begin{table}[H]
 \begin{minipage}{.5\textwidth}
  %first table
 \end{minipage}
 \begin{minipage}{.5\textwidth}
  %second table
 \end{minipage}
\end{table}

हर एक का अपना कैप्शन और नंबर होगा। एक अन्य विकल्प subfigureपैकेज है।


3

आप इसे अपनी प्रस्तावना में जोड़ना चाहते हैं, और आवश्यकतानुसार मानों को समायोजित कर सकते हैं:

 %------------begin Float Adjustment
%two column float page must be 90% full
\renewcommand\dblfloatpagefraction{.90}
%two column top float can cover up to 80% of page
\renewcommand\dbltopfraction{.80}
%float page must be 90% full
\renewcommand\floatpagefraction{.90}
%top float can cover up to 80% of page
\renewcommand\topfraction{.80}
%bottom float can cover up to 80% of page
\renewcommand\bottomfraction{.80}
%at least 10% of a normal page must contain text
\renewcommand\textfraction{.1}
%separation between floats and text
\setlength\dbltextfloatsep{9pt plus 5pt minus 3pt }
%separation between two column floats and text
\setlength\textfloatsep{4pt plus 2pt minus 1.5pt}

विशेष रूप से, \ फ्लोटपेजफ़ेक्शन ब्याज का हो सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.