क्या मैं विराम भरने वाले कॉलम को चलाने की अनुमति दे सकता हूं?


12

टाइपोग्राफी में, 'फलाव' (या विराम चिह्न ) नामक एक अभ्यास है जो कुछ प्रतीकों को मार्जिन के अंत को लटकाने की अनुमति देता है:

फलाव

मैं अपने पाठ दस्तावेज़ों के लिए यही काम करना चाहूंगा।

जब मैं पैराग्राफ भरता हूं तो fill-paragraphअंत-पंक्ति विराम चिह्न ( .?!:;,'"-) को अनदेखा करने के लिए (और दोस्तों को) बदल सकता हूं ?


मुझे यकीन नहीं है कि क्या आप हार्ड-रैपिंग टेक्स्ट (जो डिफ़ॉल्ट रूप से पाठ को उचित नहीं बनाते हैं, प्रभाव को अनिवार्य रूप से अदृश्य बना देते हैं) के विपरीत तुलनीय विचलन को अनदेखा करने के लिए उचित पाठ का फलाव (सूक्ष्म शिफ्टिंग विराम चिह्न) कह सकते हैं। शायद आप यह जोड़ना चाहते हैं कि यह किस तरह के उचित संस्करण पर लागू होता है fill-paragraph?
वामासा

@ वामसुसा प्रोट्रूशन अभी भी फ्लश लेफ्ट टेक्स्ट ब्लॉक के लिए मौजूद है।
सीन एलेड

क्या यह पाठ के बाएं किनारे पर लागू होता है?
वामासा

जब तक आप RTL भाषा और संपादक के साथ काम नहीं कर रहे हैं (जो समर्थित है, जबकि मुझे लगता है कि यह आउट-ऑफ-स्कोप है), इसका कोई मतलब नहीं है। यदि आपके पास फ्लश राइट ब्लॉक है और आप बाएं मार्जिन पर 'रन आउट ऑफ रूम' (यानी, कॉलम 0) हैं, तो आप कॉलम -1 में विराम चिह्न नहीं डाल सकते। (मुझे लगता है कि आप सही मार्जिन को (1+ फिल-कॉलम) में शिफ्ट कर सकते हैं, लेकिन इससे फिलिंग बदल जाएगी और आप एक लूप में फंस सकते हैं।)
सीन एलेड

1
@wasasaasa कार्यान्वयन के संदर्भ में: अनफ़िल करें। भरण-स्तंभ पर जाएं। यदि बिंदु विराम चिह्न के किसी एकल वर्ण को देख रहा है और फिर व्हाट्सएप, आगे छोड़ें। और अगर एक शब्द के बीच में, पीछे छोड़ें। newline, दोहराएँ।
सीन ऑल्रेड

जवाबों:


2

अहा, मेरे पास उपाय है! इसे कहीं अपनी .emacs/ .emacs.d/init.elफ़ाइल में रखें:

(define-advice current-fill-column (:filter-return (rtn) protrusion)
  "Advice to allow hanging punctuation when filling text."
  ;; Get the character after the proposed cutoff point
  (let ((end-char (char-after (1+ rtn))))
    (if (and end-char
             ;; Check if character is in the “punctuation” syntax table…
             (or (eq (char-syntax end-char) ?.)
                 ;; …or is any of these characters (feel free to add more)
                 (memq end-char (string-to-list ".,!?;:-"))))
        ;; If so, return the original value, plus one.
        (1+ rtn)
      ;; Otherwise, do nothing and return the original value.
      rtn)))

मैंने इसके साथ परीक्षण किया है fill-paragraph, और इसे सभी भरने वाले कार्यों के लिए काम करना चाहिए (क्योंकि वे current-fill-columnप्रत्येक पंक्ति को संसाधित करते समय सभी का उपयोग करते हैं)। मुझे आशा है कि आप इसे पसंद करते हो! 😇

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