কিভাবে লেটেক্স সারণিতে পাঠ্য মোড়ানো যায়?


454

আমি ল্যাটেক্সে একটি প্রতিবেদন তৈরি করছি যা কয়েকটি সারণী জড়িত। টেবিলে আমার সেল ডেটা পৃষ্ঠার প্রস্থ ছাড়িয়ে যাওয়ার কারণে আমি এতে আটকে আছি। আমি কি কোনওভাবে পাঠ্যটি মোড়ানো করতে পারি যাতে এটি টেবিলের একই ঘরে পরবর্তী লাইনে পড়ে?

এটি কোনওভাবে টেবিলের প্রস্থের সাথে সম্পর্কিত? কিন্তু পৃষ্ঠাটির প্রস্থটি ওভারশুট করার সাথে সাথে এটি কী আলাদা হবে?


আমি একটি উপায় দীর্ঘ শব্দ মোড়ানো খুঁজছেন ছিল, অন্যান্য সমাধান ভাল মামলা আমার চাহিদা tex.stackexchange.com/questions/198325/wrap-word-in-table-cell
মিরান্ডা

উত্তর:


512

L / r / c এর পরিবর্তে আপনার কলাম স্পেসিফায়ারের জন্য p {প্রস্থ। ব্যবহার করুন।

\begin{tabular}{|p{1cm}|p{3cm}|}
  This text will be wrapped & Some more text \\
\end{tabular}

37
ভাল সমাধান, তবে '|' আপনি যদি টেবিলের চারপাশে কোনও সীমানা না চান। এটি তখন হয়ে উঠবে\begin{tabular}{p{1cm}p{3cm}}
আন্ড্রেজাস

83
প্রতিটি কক্ষে প্রান্তিককরণ নির্দিষ্ট করার সময় এটি করার কোনও উপায় আছে কি?
ডিলান নোলস

7
আমি প্রতিটি ঘরে এনালাইমেন্ট নির্দিষ্ট করার একটি উপায় খুঁজে পেয়েছি! একটি ম্যাক্রো তৈরি করুন! c newcolumntype {L} {> {\ কেন্দ্রীকরণ \ অ্যারেব্যাকস্ল্যাশ} এম {.8 সেমি}} \ শুরু {টেবিল *} [টি]% \ ছোট \ ক্যাপশন {তুলনা \ \ কেন্দ্রীকরণ% \ শুরু {টবুলার} {| এল | এল | এল | এল | এল | এল | এল | এল | এল | এল | এল | এল | এল |}
ভেরিডিয়ান

8
আমার যদি দুটি কলাম থাকে যেখানে প্রথমটি তার বিষয়বস্তুগুলির সাথে ফিট করার জন্য দীর্ঘ হওয়া উচিত এবং অন্যটি মোড়ানো অবস্থায় লাইন প্রস্থে পূরণ করা উচিত? সুতরাং মূলত, আমার প্রয়োজনbegin{tabular}{lp{<whatever is left to fill the line width>}}
স্যান্ডার

118
দুর্দান্ত সমাধান। তবে, আমি স্বেচ্ছাকৃতির মাত্রার পরিবর্তে আপেক্ষিক মানগুলি ব্যবহার করার পরামর্শ দেবp{0.2\linewidth}p{0.6\linewidth}}
jgyou

139

নিয়মিত tabularপরিবেশের সাথে, আপনি p{width}কলামের প্রকারটি ব্যবহার করতে চান , যেমন মার্কগুলি নির্দেশ করে। তবে এটি আপনাকে স্পষ্ট প্রশস্ততা দিতে বাধ্য করে।

আরেকটি সমাধান হ'ল tabularxপরিবেশ:

\usepackage{tabularx}
...
\begin{tabularx}{\linewidth}{ r X }
    right-aligned foo & long long line of blah blah that will wrap when the table fills the column width\\
\end{tabularx}

সমস্ত এক্স কলাম একই প্রস্থ পায়। আপনি \hsizeফর্ম্যাট ঘোষণায় সেট করে এটি প্রভাবিত করতে পারেন :

>{\setlength\hsize{.5\hsize}} X >{\setlength\hsize{1.5\hsize}} X

তবে তারপরে সমস্ত বিষয়গুলির যোগফল 1 পর্যন্ত হওয়া উচিত, আমি মনে করি (আমি এটি ল্যাটেক্স সহচরীর কাছ থেকে নিয়েছি)। প্যাকেজটিও রয়েছে tabularyযা কলামের প্রস্থকে সারি উচ্চতাগুলিতে ভারসাম্য করতে সামঞ্জস্য করবে। বিশদগুলির জন্য, আপনি প্রতিটি প্যাকেজের texdoc tabulary(টেক্সলাইভে) ডকুমেন্টেশন পেতে পারেন ।


3
আকর্ষণীয়, এটি সত্যিই দরকারী বলে মনে হচ্ছে। কলামের প্রস্থ নির্বাচন করার ক্ষেত্রে এটি কতটা বুদ্ধিমান? উদাহরণস্বরূপ, যদি আপনার কাছে দুটি কলাম থাকে যা মোড়ানো প্রয়োজন তবে একটির চেয়ে বেশি দীর্ঘ পাঠ্য রয়েছে তবে এটি এখনও তাদের সমান প্রস্থকে স্বাক্ষর করে?
মoinনুদ্দিন

2
আমি আমার উত্তর সম্পাদনা করেছি। তবে বাস্তবে অনুশীলনে আমি আমার টেবিলগুলি সরল করার চেষ্টা করি যাতে একটি মাত্র কলামের জন্য আমার কেবল এক্স প্রয়োজন। আমি সবেমাত্র সারণী আবিষ্কার করেছি :)
ড্যামিয়েন পোলেট

49

অন্য বিকল্পটি হ'ল পাঠ্য মোড়ক পছন্দ করে এমন প্রতিটি ঘরে একটি মিনিপেজ সন্নিবেশ করানো, যেমন:

\begin{table}[H]
\begin{tabular}{l}
\begin{minipage}[t]{0.8\columnwidth}%
a very long line a very long line a very long line a very long line
a very long line a very long line a very long line a very long line
a very long line a very long line a very long line %
\end{minipage}\tabularnewline
\end{tabular}
\end{table}

8
ধন্যবাদ, এটি itemizeআমার কক্ষে তালিকা স্থাপনের অনুমতি দিয়েছে ।
কোয়ান্টিন প্রদেট

আমি মনে করি উত্তরটির অর্থটি ব্যাখ্যা করা উচিত \columnwidth: যখন আমি এটি চেষ্টা করেছিলাম তখন এটি কলাম-প্রস্থের চেয়ে বেশি টেবিল-প্রস্থ বলে মনে হয়েছিল, সুতরাং আমাকে 0.2\columnwidthযুক্তিসঙ্গত অনুপাতটি যুক্তিযুক্ত প্রস্থের মতো নির্ধারণ করতে হয়েছিল।
মার্কিন উইন্ডল

37

আমি tabularyপ্যাকেজের সরলতা পছন্দ করি :

\usepackage{tabulary}
...
\begin{tabulary}{\linewidth}{LCL}
    \hline
    Short sentences      & \#  & Long sentences                                                 \\
    \hline
    This is short.       & 173 & This is much loooooooonger, because there are many more words.  \\
    This is not shorter. & 317 & This is still loooooooonger, because there are many more words. \\
    \hline
\end{tabulary} 

উদাহরণস্বরূপ, আপনি টেবিলের পুরো প্রস্থটি \ টেক্সটইউথের সাথে সজ্জিত করে সাজান। যেমন এর 0.4। তারপরে বাকীটি স্বয়ংক্রিয়ভাবে প্যাকেজটি দ্বারা সম্পন্ন হয়।

উদাহরণস্বরূপ অধিকাংশই থেকে নেওয়া হয় http://en.wikibooks.org/wiki/LaTeX/Tables


20

এক টুকরো কেকের মতো সরল!

আপনি বর্তমান অ্যালাইনমেন্ট ( , বা ) বজায় রেখে একটি নতুন কলামের ধরণের (যেমন Lএই ক্ষেত্রে) সংজ্ঞা দিতে পারেন :crl

\documentclass{article}
\usepackage{array}
\newcolumntype{L}{>{\centering\arraybackslash}m{3cm}}

\begin{document}

\begin{table}
    \begin{tabular}{|c|L|L|}
        \hline
        Title 1 & Title 2 & Title 3 \\
        \hline 
        one-liner & multi-line and centered & \multicolumn{1}{m{3cm}|}{multi-line piece of text to show case a multi-line and justified cell}   \\
        \hline
        apple & orange & banana \\
        \hline
        apple & orange & banana \\
        \hline
    \end{tabular}
\end{table}
\end{document}

এখানে চিত্র বর্ণনা লিখুন


5

আপনি যদি নিজের পাঠ্যটি মোড়তে চান তবে সারিবদ্ধতা বজায় রাখতে চান তবে আপনি সেই ঘরটি একটি minipageবা varwidthপরিবেশে আবদ্ধ করতে পারেন (ভার্ভিথটি ভার্ভিথ প্যাকেজ থেকে আসে)। ভার্ভিথ "বিষয়বস্তুর মতো চওড়া তবে এক্স এর চেয়ে বৃহত্তর নয়"। আপনি একটি কাস্টম কলাম প্রকার তৈরি করতে পারেন যা "p {xx}" এর মতো কাজ করে তবে ব্যবহার করে ফিট করতে সঙ্কুচিত

\newcolumntype{M}[1]{>{\begin{varwidth}[t]{#1}}l<{\end{varwidth}}}

যার জন্য arrayপ্যাকেজের প্রয়োজন হতে পারে । তারপরে আপনি যখন \begin{tabular}{llM{2in}}প্রথম দুটি কলামের মতো কিছু ব্যবহার করেন আমরা স্বাভাবিক বাম-প্রান্তীকৃত থাকি এবং তৃতীয় কলামটি স্বাভাবিক বামে প্রান্তিককরণ করা হয় তবে যদি এটি 2in এর চেয়ে আরও প্রশস্ত হয় তবে লেখাটি মোড়ানো হবে।


1

টেক্সট পরিবর্তন করতে ABবা A \r Bএকটি টেবিল কক্ষে, সেল অবস্থানে এই করা: \makecell{A \\ B}

এটি করার আগে, আপনাকে প্যাকেজ অন্তর্ভুক্ত করতে হবে makecell


-11
\begin{table}
 \caption{ Example of force text wrap}
 \begin{center}
  \begin{tabular}{|c|c|}
   \hline
   cell 1       &   cell 2 \\   \hline
   cell 3                &       cell 4 & & very big line that needs to be wrap. \\ \hline
   cell 5       &   cell 6 \\   \hline
  \end{tabular}
  \label{table:example}
 \end{center}
\end{table}

Downvote। এটি একটি কোড-কেবলমাত্র উত্তর, কোনও ব্যাখ্যা নেই।
তারকাবিআমরনোলাবস

1
তদুপরি, এটি যে কোনওভাবেই ভুল কারণ দ্বিতীয় সারিতে 4 টি ঘর রয়েছে যেখানে টেবিলটি কেবলমাত্র দুটি কলামের জন্য তৈরি করা হয়েছে। এবং এটি কোনওভাবেই সেল সামগ্রীর মোড়কের সাথে সম্পর্কিত নয়।
আহমেদ সালাহ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.