আমি জানি না এটি কারও সাহায্য করবে কিনা, তবে আমি যখন আমার থিসিসটি লিখছিলাম তখন আমি দুটি জিনিস করতে চেয়েছিলাম; (1) পুরো থিসিসের জন্য শব্দের সংখ্যা (একটি একক অধ্যায়ের পরিবর্তে) গণনা করুন এবং (2) একটি কাস্টম কাউন্টার স্ক্রিপ্ট ব্যবহার করুন। পরেরটির জন্য বিষয়টি ছিল যে এটি বিমূর্তি, ঘোষণা ইত্যাদির মতো বিভাগগুলি এড়িয়ে চলবে এবং কেবলমাত্র প্রাসঙ্গিক অধ্যায়গুলি নির্বাচন করবে।
মাস্টার ফাইল থেকে শব্দ গণনা করুন
এখানে সমাধানটি সহজ ছিল; আমরা যে ফাইলটিতে আছি তা হ'ল মাস্টার কিনা তা নির্ধারণ করুন, অন্যথায় এটি প্রেরণ করুন texcount
।
(defun latex-word-count-master ()
(interactive)
(if (eq TeX-master t)
(setq master (buffer-file-name))
(setq master (concat (expand-file-name TeX-master) ".tex")))
(shell-command (concat "texcount "
"-dir "
"-unicode "
"-inc "
master)))
একটি কাস্টম স্ক্রিপ্ট ব্যবহার করুন
custom-tex-counter
শব্দ গণনার জন্য দায়ী যে বাশ স্ক্রিপ্টের দিকে ইঙ্গিত করা ফাইলটিতে একটি স্থানীয় ভেরিয়েবল যুক্ত করে আমি তা করেছি ।
কাস্টম ভেরিয়েবল ঘোষণা করুন
(defvar custom-tex-counter nil)
(make-variable-buffer-local 'custom-tex-counter)
(put 'custom-tex-counter 'safe-local-variable #'stringp)
স্থানীয় ভেরিয়েবলগুলিতে পাথ যুক্ত করুন ( .tex
ফাইলের শেষে )
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "../thesis"
%%% custom-tex-counter: "../count_words -t"
%%% End:
উপরের সাথে এটি একসাথে রাখা
(defun latex-word-count-alt ()
(interactive)
(if (eq TeX-master t)
(setq master (buffer-file-name))
(setq master (concat (expand-file-name TeX-master) ".tex")))
(if (not (eq custom-tex-counter nil))
(shell-command (concat custom-tex-counter
" "
master))
(shell-command (concat "texcount "
"-dir "
"-unicode "
"-inc "
master))))
রেফারেন্সের জন্য এখানে আমার কাস্টম স্ক্রিপ্টটি দেখতে কেমন ছিল (এটি কার্যকর করার জন্য ভুলবেন না):
#!/usr/bin/bash
total='false'
while getopts 't' flag; do
case "${flag}" in
t) total='true' ;;
?) printf '\nUsage: %s: [-t] \n' $0; exit 2 ;;
esac
done
shift $(($OPTIND - 1))
TOPATH=$(dirname "${1}")
CHAPTERS=$(while read -r chapter; do
printf "%s%s.tex\n" "$TOPATH" "/$chapter";
done < <(grep -Po "^[^%]\s?\\include{\K(Chapter|Appendix)[[:digit:]]+/(chapter|appendix)[[:digit:]]+" "${1}") \
| paste -sd' ')
if [ "$total" == "false" ]; then
texcount -unicode -inc $CHAPTERS
else
texcount -unicode -total -inc $CHAPTERS
fi
মূলত, এটি কেবলমাত্র করণীয় হ'ল grep
মাস্টার ফাইল থেকে অ-মন্তব্য করা অধ্যায় এবং সংযোজন এবং সেখানে শব্দগুলি গণনা করুন।
আপনি যে কাঠামোটি ব্যবহার করছেন তার সাথে মেলে তুলতে আপনি প্রতিটি প্রকল্পের রেজেক্স পরিবর্তন করতে পারেন তবে, যদি আপনি ধারাবাহিকভাবে একই কাঠামোটি ব্যবহার করেন তবে আপনি বাশের স্ক্রিপ্টটি আপনার পথে কোথাও রেখে দিতে পারেন এবং স্থানীয় একের পরিবর্তে এটি ইম্যাকগুলিতে বৈশ্বিক পরিবর্তনশীল করতে পারেন।