আমি কীভাবে লিনাক্সের সরল পাঠকে ন্যায়সঙ্গত করতে পারি?


17

আমি একটি সরল পাঠ্য (.txt) নথি রচনা করছি যা বাম এবং ডান ন্যায়সঙ্গত অনুচ্ছেদ রয়েছে। লাইনগুলি অভিন্ন দৈর্ঘ্য না হওয়া পর্যন্ত আমি ম্যানুয়ালি ফাঁকা স্থান যুক্ত করি, প্রয়োজনে হাইফেন সহ শব্দ ভাঙা breaking আমার দস্তাবেজ থেকে একটি উদাহরণ ব্যবহার করতে, এই মত একটি অনুচ্ছেদ:

এই ফ্যান্টাসমিক বলগুলিতে কিছু অদ্ভুত বৈশিষ্ট্য রয়েছে, কিছু ঝরঝরে, কিছু রয়েছে
আকর্ষণীয় এবং অন্যরা কেবল অলস ডিজাইনের সূচক। তারা প্রায় সব
একই ডিজাইনের ত্রুটিজনিত কারণে: গেমটি তাদের নিয়মিতর মতো খুব বেশি আচরণ করে
বাজে কথা।

এই মত দেখতে শেষ হবে:

এই ফ্যান্টাসমিক বলগুলির কিছু অদ্ভুত বৈশিষ্ট্য রয়েছে,
কিছু ঝরঝরে, কিছু আকর্ষণীয় এবং অন্যেরা কেবল ইন্ডিকা-
অলস নকশা tive। তারা প্রায় সমস্ত দ্বারা সৃষ্ট
একই ডিজাইনের ত্রুটি: গেমটি তাদের খুব পছন্দ করে
নিয়মিত বল

কিভাবে আমি এটি করতে পারব?

স্পেস যোগ করা ঠিক আছে (লাইনগুলিতে শব্দ ভঙ্গ না করে) তবে অনুচ্ছেদের লক্ষ্য প্রস্থ (# টি অক্ষরে) নিয়ন্ত্রণ করা দরকার। উপরের উদাহরণটি প্রতি লাইনে 53 টি অক্ষরকে ন্যায়সঙ্গত করা হয়েছে, তবে আমার প্রকৃত নথিতে লাইন প্রস্থটি 60 থেকে 79 এর মধ্যে পরিবর্তিত হয়।

এটির মতো দুর্দান্ত বৈশিষ্ট্যযুক্ত কোনও পাঠ্য সম্পাদক থাকলে এটিও দুর্দান্ত।

আমি ইতিমধ্যে চেষ্টা করেছি:

  • ওপেন অফিস এবং টেক্স : পাঠ্যটি কীভাবে প্রদর্শিত হয় তা পরিবর্তনের জন্য তারা কেবল বিন্যাস ব্যবহার করে।
  • ন্যানোর জাস্টিফাই কমান্ডটি গণনা করছে না কারণ এটি লাইনগুলি একরকম প্রস্থে তৈরি করে না।

আমি নিম্নলিখিত উত্তরটি গ্রহণ করেছিলাম কারণ এটিই আমার পক্ষে সবচেয়ে ভাল কাজ করেছে । আমি ইম্যাকস ফিল কম্যান্ডের উত্তরগুলির মধ্যে সবচেয়ে সহজ ব্যবহার করতে পেলাম এবং আমি প্রশংসা করি যে এটি কীভাবে অ-সাদা-স্থান স্পেসকে স্বীকৃতি দেয় (# এবং // মন্তব্যের মতো স্টাফের জন্য)। যাইহোক, অন্যান্য উত্তরগুলি সমস্ত তাদের নিজস্ব কুলুঙ্গি পূরণ করে এবং আমি অন্যদেরও এটিকে দেখার জন্য এই প্রশ্নটি দেখার পরামর্শ দিই।


1
কেন? আমি সত্যই কৌতূহলী। সরল পাঠ্যের এটির একটি সুবিধা যা এটি ফর্ম্যাট করা থেকে স্বতন্ত্র এবং আপনি এটি ওপেন অফিস বা টেক্সে চড় মারতে পারেন এবং এটিকে সুন্দর দেখায় make এই জন্য আপনার ব্যবহার কি?
ডগ হ্যারিস

এছাড়াও, আপনিও অর্ধ-বুদ্ধিমান হাইফেনেশন করার জন্য এই ইউটিলিটিটি সন্ধান করছেন?
ডগ হ্যারিস

1
কারণ হ'ল এটি গেম এফএকিউগুলির জন্য একটি গাইড। গেম এফএকিউগুলি কেবল সরল পাঠ্য, টিএক্সটি ডকুমেন্ট নেয়। হাইফেনেশন হিসাবে, আমি এটি পছন্দ করব, তবে এটি একটি নিখুঁত প্রয়োজন নয়।
এক্সপ্রেস এইচপি

উত্তর:


5

আপনি এটি ইম্যাকগুলিতে fill-paragraphবা fill-region( দস্তাবেজগুলি পূরণ করুন ) ব্যবহার করে করতে পারেন ।

আপনাকে একটি সংখ্যার উপসর্গ আর্গুমেন্ট পাস করতে হবে। ডিফল্ট পূরণ কলামটি 70।

পূরণ করতে এবং করতে পাঠ্যটি নির্বাচন করুন M-3 M-x fill-region

আমি আপনার নমুনা পাঠ্যের জন্য পূরণ কলামটি 53 এ সেট করেছি এবং পেয়েছি:

These phantasmic balls  have some strange properties,
some   neat,  some   interesting,  and   others  just
indicative of lazy  design. They're almost all caused
by  the same design  flaw: The  game treats  them too
much like regular balls.

ভাল লাগছে। এই বৈশিষ্ট্যটি একবার দেখার জন্য আমি এখনই ইম্যাক্সের জন্য প্যাকেজটি ইনস্টল করছি।
এক্সপ্রেস এইচপি

ঠিক আছে, অস্বাভাবিক ইন্টারফেস এবং পরিভাষা (আজকের মানগুলির দ্বারা অস্বাভাবিক, কমপক্ষে) অভ্যস্ত হয়ে উঠতে বেশ খানিকটা ঝোঁক লেগেছিল, তবে এটি দুর্দান্ত। Cx f 53, M-1 Mq। এটি অবশ্যই আমার প্ল্যান বিয়ের চেয়ে সহজ (যা আমার নিজের রুবি স্ক্রিপ্টটি লেখার পক্ষে প্রযোজ্য ছিল), এবং আমার সন্তুষ্টির জন্য, এটি ইনডেন্টেশনকে স্বীকৃতি দেয় এবং ন্যায্যতা প্রমাণ করার সময় এটিকে বিবেচনা করে। খুশী হলাম।
এক্সপ্রেস এইচপি

আমি কীভাবে পূরণ কলামটি 53 এ বা অন্য কোনও মানতে চাই তার জন্য? এবং এটি কীভাবে তা পরীক্ষা করতে পারি?
হ্যালো গুডবাই

1
যাইহোক, আপনার উত্তরের লিঙ্কটি নষ্ট হয়ে গেছে।
হ্যালো গুডবাই

আমি লিঙ্কটি আপডেট করেছি
ডগ হ্যারিস

18

তোমার দরকার par

উদাহরণস্বরূপ উবুন্টুতে পেতে, করুন:

sudo aptitude install par

ন্যায়বিচারের জন্য text.txt(৮০ অক্ষরের প্রস্থে) সংরক্ষণ করে newtext.txt:

par j1w80 < text.txt > newtext.txt

ভিএম বা জিভিমে সমান ব্যবহার করতে:

:set formatprg=par\ j1w80

তারপরে আপনি যে পাঠ্যটি ফর্ম্যাট করতে চান তা হাইলাইট করুন এবং gqকমান্ডটি ব্যবহার করুন ।

আরও তথ্যের জন্য, দেখুন man par


1
আমি এটি পরীক্ষা করেছি এবং এটি বেশ স্পর্শকাতর বলে মনে করেছি। এটি পরিস্থিতিতে কখনও কখনও সবচেয়ে নিরীহ বলে মনে হয় এমন কিছুর অধীনেও ত্রুটির ফলস্বরূপ। Emacs কমান্ডের তুলনায়, এটি ব্যবহারযোগ্য নয়।
এক্সপ্রেস এইচপি

আপনি কি একটি উদাহরণ দিতে পারেন? এটি আমার কাছে বেশ স্থিতিশীল বলে মনে হচ্ছে।
এসএমএল

1
আপনি যে আদেশ দিয়েছেন তা সঠিক নয়। এটা হতে হবে par w80 j1, না par 80j। সম্পাদনা করুন: বাpar jw80
গ্যান্ডারো

6

fmt পুরানো স্কুল সমাধান

ম্যান পৃষ্ঠা থেকে:

fmt [-cmnps] [-d অক্ষর] [-l সংখ্যা] [-t সংখ্যা] [লক্ষ্য [সর্বোচ্চ] | -প্রস্থ | -w প্রস্থ] [ফাইল ...]

এবং

গোল দৈর্ঘ্য ডিফল্ট 65 এবং গোল দৈর্ঘ্যের চেয়ে সর্বোচ্চ 10 থেকে বেশি। পর্যায়ক্রমে, একক প্রস্থের প্যারামিটারটি হাইফেনের প্রিফেন্ডিং দ্বারা বা -w ব্যবহার করে নির্দিষ্ট করা যেতে পারে। উদাহরণস্বরূপ, fmt -w 72'',fmt -72 '', এবং `` fmt 72 72 '' সমস্তই অভিন্ন আউটপুট উত্পাদন করে।


কয়েকটি সংস্করণে fmtসেগুলির বেশ কয়েকটি বিকল্প নেই এবং সম্পূর্ণ ন্যায়সঙ্গততা করতে পারে না।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

দুঃখিত তবে আপনি কীভাবে সঠিকভাবে টেক্সট ব্যবহার করে ন্যায়সঙ্গত করবেন তা স্পষ্ট করে বলেননি fmt। এছাড়াও, যেমন ডেনিস বলেছিলেন, আমার সিস্টেমে ম্যান পেজটি যেমন উল্লেখ করেছে তেমন কোনও পাঠ্য সরবরাহ করে না এবং কীভাবে ন্যায়সঙ্গত করতে হয় তা বলে না।
জামাডগনি

2

এখানে পার্ল স্ক্রিপ্ট বলা হয়েছেparadj যা সম্পূর্ণ ন্যায়সঙ্গততা এবং হাইফেনেশন করতে পারে।

এখানে diffএকটি বাম মার্জিন যোগ করার জন্য আমি কিছু পরিবর্তনগুলি দেখানোর চেষ্টা করছি:

12c12
< my ($indent, $newline);
---
> my ($indent, $margin, $newline);
15a16
>   "margin:i" => \$margin,
21a23
> $margin = 0 if (!$margin);
149a152
>     print " " x $margin;
187a191,193
>   print "--margin=n (or -m=n or -m n)  Add a left margin of n ";
>   print "spaces\n";
>   print "                                (defaults to 0)\n";

এই আদেশ:

./paradj.pl -h --width=53 --both --indent=0 inputfile

আপনার উদাহরণের খুব কাছাকাছি আউটপুট উত্পাদন করে (অতিরিক্ত জায়গাগুলি বিভিন্ন জায়গায় থাকে)।

These  phantasmic balls have some strange properties,
some  neat, some interesting, and others just indica-
tive of lazy design. They're almost all caused by the
same  design flaw: The game treats them too much like
regular balls.

দুর্ভাগ্যক্রমে, আমি ব্যবহার করতে পারি না এমন একটি দুর্দান্ত সমাধান। প্রায় এক মাস আগে, আমি পার্লে টেক্স পাওয়ার চেষ্টা করেছি কারণ আমি টেক্স :: হাইফেন (এই প্রশ্নের সাথে আলাদা তবে সম্পর্কিত সমস্যার জন্য) ব্যবহার করতে চেয়েছিলাম wanted আইআইআরসি, আমি যা আবিষ্কার করেছি তা হ'ল উবুন্টু রেপোসের কেবলমাত্র টেক্স লাইব্রেরির নির্দিষ্ট কিছু অংশ রয়েছে এবং হাইফেন তাদের মধ্যে নেই। আমি ম্যানুয়ালি পার্ল টেক্স লাইব্রেরি ইনস্টল করার চেষ্টা করেছি, তবে এটি কার্যকর হয়নি। আমি পার্লকে ভেঙে শেষ করেছিলাম এবং ক্ষয়ক্ষতিটি পূর্বের কয়েক ঘন্টা ব্যয় করেছি। আমি এটিকে আরেকবার যেতে নারাজ। যদিও আমি এই উত্তরটির জন্য কমপক্ষে আপনাকে একটি +1 দেওয়ার মতো যথেষ্ট প্রতিবেদন পেয়েছি।
এক্সপ্রেস এইচপি

@ এক্সপ্রেস এইচপি: আমি দুঃখিত যে আপনি এতটা কষ্ট পেয়েছিলেন। আমি এটি একটি উবুন্টু 9.10 সিস্টেমে পেয়েছি এবং আমার কোনও সমস্যা নেই।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

0

আমি ন্যানো ব্যবহার করি

সংক্ষিপ্ত নামে ফাইলের নাম পরিবর্তন করুন (8.3)। ন্যানোতে খুলুন, তারপরে Alt- Jপুরো দস্তাবেজটি ন্যায়সঙ্গত করতে। Alt- Oসংরক্ষণ করতে। তারপরে Alt- Xপ্রস্থান করতে। তারপরে ফাইলটির পুনরায় নামকরণ করুন মূল নাম।

শব্দ জটিল হতে পারে তবে ম্যানুয়ালটি করার সময় এটি আমার অনেক সময় সাশ্রয় করেছে Enter , Delete, End72. করার 90. ন্যানো অক্ষমতা আমি যে তার সাথে বসবাস করতে পারেন আপনার কলাম সীমিত করতে।


2
সংক্ষিপ্ত ফাইলের নামটির পিছনে যাদু কী?
মহিলা Jawa

0

আপনি চেষ্টা করতে পারেন reformat

আপনি এটি চালিয়ে, ডেবিয়ান / উবুন্টুতে ইনস্টল করতে পারেন sudo apt-get install reformat

এটি এর মতো ব্যবহার করুন:

reformat -w 80 -j < mytext.txt

ন্যায়সঙ্গত পাঠ্যটি স্ট্যান্ডার্ড আউটপুটে লেখা হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.