দশমিক বিন্দুতে সংখ্যার উল্লম্ব কলামগুলি সারিবদ্ধ করুন


9

আমি এই পোস্টটি ইমাসে লিখেছি । টেবিলগুলি দেখতে সুন্দর লাগানোর জন্য, আমি ব্যবধানটি সামঞ্জস্য করার সিদ্ধান্ত নিয়েছি যাতে দশমিকগুলি খুব সুন্দরভাবে সরে যায় line ডাটাবেস থেকে আসল ফর্ম্যাটটি এর মতো দেখায়:

emacs                11505 227          3.6       3.3         1.9         68.9          93.5        68         
vi                   1087  289          11.1      6.9         2.9         71.7          96.2        9          
wolfram-mathematica  2993  360          4         2.2         1.9         66.7          92.5        51         

এটি বেশ কাছাকাছি, তবে আমি কলামগুলি ঠিক ন্যায়সঙ্গত করতে চাই এবং সমস্ত অঙ্কগুলি সারিবদ্ধভাবে তৈরি করা চাই। চতুর্থ কলামটি দেখতে হবে:

 3.6
11.1
 4

আমি সারিবদ্ধ কমান্ডগুলির সাথে প্রায় খেললাম এবং (automaticallyচ্ছিক) দশমিক পয়েন্টে স্বয়ংক্রিয়ভাবে টেবিলটি প্রান্তিক করার কোনও উপায় খুঁজে পেলাম না। কোনও কারণে, এই নির্দেশাবলী কোনও কিছুই সারিবদ্ধ করতে ব্যর্থ:

দশমিক পয়েন্টটি ব্যবহার করে চিত্রগুলিও রেখাযুক্ত করা যেতে পারে M-- M-x align

উত্তর:


8

প্রথমত, আপনাকে নিশ্চিত হওয়া দরকার যে বাফারটি পাঠ্য মোডে রয়েছে :

M-x text-mode

একবার পাঠ্য মোডে, C-- M-x align(যা text-dollar-figureপ্রান্তিককরণের নিয়মকে আহ্বান করে ) প্রথম দশমিকটি উল্লম্বভাবে সারিবদ্ধ করবে। তবে এটি দ্বিতীয় দশমিক কলামটি সারিবদ্ধ করতে ব্যর্থ। এছাড়াও এটি এমন সংখ্যাগুলি সারিবদ্ধ করতে ব্যর্থ হয় যার স্পষ্ট দশমিক বিন্দু নেই (যেমন ওল্ফ্রাম-গণিতের গড় স্কোর 4)। এটি ঠিক করার জন্য, আপনি নীতির নিয়মের মানটি সামঞ্জস্য করতে চাইবেন align-rules-list:

(text-dollar-figure
  (regexp . "\\$?\\(\\s-+[0-9]+\\)\\.?")
  (modes . align-text-modes)
  (repeat . t)
  (spacing . 2)
  (justify . t)
  (run-if lambda nil
      (eq '- current-prefix-arg)))

এটি কয়েকটি কাজ করে:

  • Regexp এখন একটি alচ্ছিক চলমান সময়কালের জন্য অনুমতি দেয়।
  • পুনরাবৃত্তি চালু করে, একটি সংখ্যার প্রতিটি উদাহরণ সারিবদ্ধ হয়।
  • আমি পঠনযোগ্যতার জন্য কেবল একটিটির পরিবর্তে 2 টি স্পেস যুক্ত করেছি।

ফলাফল:

emacs                11505  227   3.6  3.3  1.9  68.9  93.5   68         
vi                    1087  289  11.1  6.9  2.9  71.7  96.2    9          
wolfram-mathematica   2993  360   4    2.2  1.9  66.7  92.5   51         

কম বা বেশি সমতুল্য পদ্ধতিটি এমন একটি ফাংশন সংজ্ঞায়িত করা হয় যা কল করে align-regexp:

(defun align-decimal (start end)
    "Align a table of numbers on (optional) decimal points."
    (interactive "r")
    (align-regexp start end "\\(\\s-*\\)\\$?\\(\\s-+[0-9]+\\)\\.?"
                  -2 0 t))

এই ক্ষেত্রে, groupsডান ন্যায়সঙ্গত চালু করতে আমি প্যারামিটারটিকে একটি নেতিবাচক সংখ্যায় সেট করেছিলাম এবং spacingযথাসম্ভব যথাক্রমে মূল স্পেসিং সংরক্ষণ করার জন্য 0 তে প্যারামিটার সেট করেছি ।

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