ল্যাটেক্স প্লাগইনগুলির মধ্যে পার্থক্য কী?


42

ভিমের জন্য বেশ কয়েকটি টেক্সট প্লাগইন রয়েছে ( ভিম-লেটেক্স , একটি দম্পতি বলতে অটোমেটিক্যালটেক্স প্লাগিন )।

এইগুলির (প্রদত্ত যেগুলির নাম এবং সম্ভবত অন্যরা) টেক্স প্লাগইনগুলির মধ্যে প্রদত্ত কার্যকারিতাটিতে কী পার্থক্য রয়েছে?


এখানে এসও সম্পর্কিত কয়েকটি প্রশ্ন রয়েছে:

উত্তর:


28

আমি গভীরতর তুলনা সরবরাহ করব না, কারণ আমার কাছে বিভিন্ন প্লাগইনগুলির সাথে কেবল সীমিত অভিজ্ঞতা রয়েছে। আমি বেশ কয়েকটি প্লাগইন ( ল্যাটেক্স-বক্স এবং ল্যাটেক্স-স্যুট ) ভাল করে জানি এবং একটি প্লাগইন আমি খুব ভাল জানি, যেহেতু আমি নিজে এটি বিকাশ করছি: ভিমেটেক্স । সুতরাং, আমি বেশিরভাগ vimtex সম্পর্কে লিখতে হবে। তবে আমি প্রথমে কিছু উল্লেখ উল্লেখ করব যা অন্যের পক্ষে আগ্রহী হতে পারে।

কিছু ওভারভিউ এবং রেফারেন্স

আছে দর্শন তেজ জন্য প্লাগইনগুলির। এগুলিই আমি কমপক্ষে আধা জনপ্রিয় হিসাবে স্বীকৃত:

টেক্সট.স্ট্যাকেক্সচেঞ্জ.কমল্যাকএক্স সম্পাদক এবং আইডিইগুলির একটি বিশাল তালিকা রয়েছে list এটি সাধারণভাবে একটি দুর্দান্ত ওভারভিউ দেয়, তবে এটি ভিমের জন্য প্লাগিনগুলির কিছু ওভারভিউও সরবরাহ করে:

vimtex

ভিটেক্স ল্যাকেক্স-বক্সের উপর ভিত্তি করে। আমি কিছু সময়ের জন্য ল্যাকেক্স-বক্সে বাগ ফিক্স এবং আপডেটগুলি অবদান রাখার পরে এটি শুরু হয়েছিল। আমি বুঝতে পেরেছি যে স্ক্র্যাচ থেকে প্লাগইনটি লিখলে আরও অনেক আধুনিক পদ্ধতিতে লেখা যেতে পারে written আমি প্রথমে বেশিরভাগ বৈশিষ্ট্যগুলি কেড়ে নিয়েছি এবং আরও শক্তিশালী এবং মডুলার "ইঞ্জিন" তৈরি করেছি। আমি তারপরে বৈশিষ্ট্যগুলি যুক্ত করেছি এবং আমি মনে করি আজ এটিতে ল্যাকেক্স-বক্সের বেশিরভাগ বৈশিষ্ট্য রয়েছে এবং তারপরে কিছু রয়েছে।

বৈশিষ্ট্যগুলির একটি সম্পূর্ণ তালিকা দেওয়ার পরিবর্তে ( তার পরিবর্তে এখানে দেখুন ), আমি বরং ভিমেটেক্স এবং অন্যান্য প্লাগইনগুলির মধ্যে কিছু পার্থক্য উল্লেখ করার চেষ্টা করব। তবে আমি কিছু সাহসী দাবি সরবরাহ করতে চাই:

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

ভিটেমেক্স বনাম ল্যাটেক্স-বক্স

যেহেতু ভিমটেক্স ল্যাকেক্স-বক্সের উপর ভিত্তি করে রয়েছে, স্পষ্টতই এর অনুরূপ নীতি রয়েছে। ধারণাটি হ'ল জিনিসগুলি সহজ রাখা এবং সমস্যাগুলি সমাধান করার জন্য ইতিমধ্যে অন্যান্য, আরও ভাল প্লাগইনগুলির দ্বারা সমাধান করা হয়নি। এটা তোলে সদ্ব্যবহার latexmk লেটেক্ নথি কম্পাইল করার, এবং এটি অভ্যন্তরীণ তেজ সিনট্যাক্স হাইলাইটিং জন্য প্লাগ-ইন উপর তৈরী করে।

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

ভিমেটেক্স বনাম ল্যাটেক্স-স্যুট

ভিমটেক্স এবং ল্যাটেক্স-স্যুটের মধ্যে মূল পার্থক্যটি সম্ভবত ভিমটেক্স ভিমের অভ্যন্তরে ল্যাটেক্সের জন্য একটি পূর্ণাঙ্গ আইডিই প্রয়োগ করার চেষ্টা করে না। উদাহরণ:

  • ভিমটেক্স একটি সম্পূর্ণ স্নিপেট বৈশিষ্ট্য সরবরাহ করে না, কারণ এটি ভালটি আলটিস্পিপস বা নিওস্নিপেট বা অনুরূপ স্নিপেট ইঞ্জিনগুলি দ্বারা পরিচালিত হয় ।
  • Vimtex Vim নীতিগুলির উপর ভিত্তি করে: এটি পরিবেশের জন্য পাঠ্য সামগ্রী সরবরাহ করে, ইনলাইন গণিত, এটি বিভাগ এবং অনুচ্ছেদের জন্য গতি সরবরাহ করে
  • latexmkসংকলনের ত্রুটিগুলিতে তাত্ক্ষণিক প্রতিক্রিয়া পেতে ভিম্বটেক্স একটি কলব্যাক বৈশিষ্ট্য সহ সংকলনের জন্য ব্যবহার করে
  • ভিমটেক্স খুব মডুলার: আপনি যদি কোনও বৈশিষ্ট্য পছন্দ না করেন তবে আপনি এটি বন্ধ করতে পারেন।

কেবল এটি পরিষ্কার করতে চাই: vimtexপাশাপাশি পাশাপাশি কাজ করতে পারে Latex-Suite, যার অর্থ আপনি একই সাথে দুটি প্লাগইন থেকে সেরাটি পেতে পারেন । :)
llinfeng

12

আমি তুলনা করতে পারছি না, যেহেতু আমি ব্যবহার করেছি কেবলমাত্র ল্যাটেক্স প্লাগইন ভিম-ল্যাটেক্স। আমি প্রায় এক বছর ধরে ভিম-ল্যাটেক্স ব্যবহার করছি। সুতরাং আমি একা ভিম-ল্যাটেক্স সম্পর্কে কথা বলব।

আছে অনেক vim-ক্ষীর উপস্থিত বৈশিষ্ট্য। আমি তাদের সব মনে নেই। আমি কেবল এমন বৈশিষ্ট্যগুলির বিষয়ে কথা বলব যা আমি জানি এবং ক্রমাগত ব্যবহার করি।

দ্রষ্টব্য: এগুলি আমার সীমিত ব্যবহারকারীর অভিজ্ঞতা , যা খুব বিভ্রান্তিকর হতে পারে । আমি কোনও পাকা ভিম ব্যবহারকারী নই। এবং আমি উইমস্ক্রিপ্ট সম্পর্কে কিছুই জানি না।

<C-j>আইএমএপি () এবং জাম্পিং

IMAP()ফাংশন এবং <C-j>জাম্পিং ফাংশনগুলি পৃথকভাবে imaps.vimভিম-ল্যাটেক্স বান্ডেলে প্লাগইন হিসাবে সরবরাহ করা হয় । এগুলি শক্তিশালী বৈশিষ্ট্য এবং আপনি লটেক্স না লেখালেও খুব কার্যকর হতে পারে।

  • IMAP()ফাংশনটি অন্তর্নির্মিত imapএবং iabbrevআইএমওর চেয়ে সাধারণভাবে মোড ম্যাপিং এবং টেম্পলেটিং সন্নিবেশ করার আরও প্রাকৃতিক উপায় সরবরাহ করে ।

  • <C-j>জাম্পিং অনেকগুলি ভিম-ল্যাটেক্স সমাপ্তি বৈশিষ্ট্য দ্বারা ব্যবহৃত হয়। একটি জাম্পিং পয়েন্ট দ্বারা নির্দেশিত হয় <++>

  • অন্তর্নির্মিত মোড কী ম্যাপিংগুলি IMAP()কল হিসাবে প্রয়োগ করা হয় implemented উদাহরণস্বরূপ, আপনি ফাইলটিতে দরকারী IMAP()কলগুলির একটি দীর্ঘ তালিকা খুঁজে পেতে পারেন main.vim:

    call IMAP ('__', '_{<++>}<++>', "tex")
    call IMAP ('()', '(<++>)<++>', "tex")
    call IMAP ('[]', '[<++>]<++>', "tex")
    call IMAP ('{}', '{<++>}<++>', "tex")
    ...
    call IMAP ('((', '\left( <++> \right)<++>', "tex")
    call IMAP ('[[', '\left[ <++> \right]<++>', "tex")
    call IMAP ('{{', '\left\{ <++> \right\}<++>', "tex")
    ...
    

তারপরে আপনি যখন টাইপ করুন টাইপ ()করবেন, প্রথমটি প্রতিস্থাপন করে কার্সারটি প্রথমটি প্রতিস্থাপন করে প্রথম প্যারেন্টেসের মধ্যে স্বয়ংক্রিয়ভাবে অবস্থান করবে <++>। আপনি ভিতরে টাইপিং শেষ করার পরে, আপনি লাথি <C-j>মেরে বাজ করুন, কার্সারটি প্রথম বন্ধনীর বাইরে চলে যাবে এবং আপনি কেবল টাইপিং চালিয়ে যান। একবার আপনি এটির অভ্যস্ত হয়ে গেলে, এটি টাইপিং প্রবাহ গঠন শুরু করে যা দয়ালু আসক্তি ...

আপনি উপরের থেকে দেখতে পাচ্ছেন যে কোনও \left \rightজোড়া এর প্রারম্ভিক বন্ধনীটির ডাবল স্ট্রোকের সাথে সহজেই টাইপ করা যায়। এবং <C-j>জাম্পিং টাইপিং প্রবাহকে করে তোলে।

IMAP()এবং <C-j>জিনিসের একটি প্রধান বিভ্রান্তি হ'ল তারা আপনার শেষ পরিবর্তনের ইতিহাসকে মেসেজ করে । (একটি বাগ আমি দীর্ঘদিনের জন্য সমাধান করতে চাই)) সুতরাং, .আপনার "অনুমিত সর্বশেষ পরিবর্তন" এ এই ফাংশন কলগুলি অন্তর্ভুক্ত করে যদি আপনার শেষ পরিবর্তনটি পুনরায় করার চেষ্টা করার সময় আপনি অপ্রত্যাশিত আচরণের মুখোমুখি হতে পারেন।

  • আপনি IMAP()সাধারণ কী ম্যাপিং থেকে আরও জটিল টেম্প্লেটিং ব্যবহার করে সমস্ত ধরণের ম্যাপিংগুলি করতে পারেন । এখানে আমার ম্যাপিংয়ের কয়েকটি উদাহরণ রয়েছে ( ftplugin/tex.vim):

    call IMAP('*EEQ',"\\begin{equation*}\<CR><++>\<CR>\\end{equation*}<++>",'tex')
    call IMAP('DEF',"\\begin{definition}[<++>]\<CR><++>\<CR>\\end{definition}<++>",'tex')
    call IMAP('BIC','\binom{<++>}{<++>}<++>','tex')
    call IMAP('PVERB','\PVerb{<++>}<++>','tex')
    call IMAP('VERB','\verb|<++>|<++>','tex')
    
  • imaps.vimপ্লাগইন সম্পর্কে একটি আকর্ষণীয় তথ্য হ'ল এটি একটি বিশ্বব্যাপী প্লাগইন, যা ল্যাটেক্সের বাইরেও এর সম্ভাব্য ব্যবহারকে বোঝায়। ছেলেঃ আমি ব্যবহার করব <++>এবং <C-j>jumppings (অন্যান্য প্লাগিন মিশ্রন) সি কোড স্নিপেট টেমপ্লেট গড়ে তুলতে

<F5> <F7> কমান্ড এবং পরিবেশ সন্নিবেশ

এর একটি অসুবিধা IMAP()হ'ল কী সংমিশ্রণটি সাধারণ পাঠ্যে আর ব্যবহার করা যাবে না (যদি আপনি ম্যাপিংটি পূর্বাবস্থায় ফেরা না করেন u)। আপনি যেভাবে চান ঠিক তেমন ম্যাপিং ট্রিগার করতে চান সেই ক্ষেত্রে <F5>এবং কার্যকর <F7>হবেন। এই দুটো কী জন্য ব্যবহার করা হয় triggering পরিবেশ এবং ইনলাইন যথাক্রমে সন্নিবেশ কমান্ড। এবং তারা ব্যবহারকারীর মোড এবং কাস্টমাইজেশনের উপর ভিত্তি করে আলাদা আচরণ করে।

  • সন্নিবেশ / নরমাল মোডে, যখন কার্সার একটি শব্দ সংযুক্ত করে বা শব্দে থাকে, চাপলে <F5>ডিফল্টরূপে ফর্মের একটি বেসিক পরিবেশ সন্নিবেশ করানো হবে

    \begin{word}
    <Cursor>
    \end{word}<++>
    

    শব্দের উপর ভিত্তি করে; টিপে <F7>ডিফল্টরূপে \word{}<++>শব্দের উপর ভিত্তি করে ফর্মের একটি প্রাথমিক ইনলাইন কমান্ড সন্নিবেশ করানো হবে ।

  • "ডিফল্টরূপে", আমার অর্থ <F5>/ আপনি দ্বারা ট্রিগার করার সময় আপনি একটি নির্দিষ্ট শব্দের আচরণটি কাস্টমাইজ করতে পারেন <F7>। এখানে আমার কিছু সেটিংস দেওয়া হয়েছে ( .vimrc):

    let g:Tex_Com_newcommand = "\\newcommand{<++>}[<++>]{<++>}<++>"
    let g:Tex_Com_latex = "{\\LaTeX}<++>"
    let g:Tex_Com_D = "\\D{<++>}{<++>}<++>"
    
  • সন্নিবেশ / নরমাল মোডে, যখন কার্সারটি কোনও কিছুর সাথে সংযুক্ত না থাকে (ওরফে একা ), চাপলে <F5>/ চাপলে <F7>আপনাকে পরিবেশ / কমান্ড সন্নিবেশ করার জন্য একটি মেনু প্রম্পট করে। অথবা আপনি নীচের অংশে পছন্দসই পরিবেশ / কমান্ডের নাম টাইপ করতে পারেন। ব্যক্তিগতভাবে, আমি খুব কমই <F5>/ <F7>এইভাবে ব্যবহার করি ।

  • টেক্সটের টুকরোটি দৃশ্যত নির্বাচন করার পরে টিপুন <F5>/ <F7>পাঠ্য মোড়ানোর জন্য একটি মেনু প্রম্পট করবে । তারপরে নির্বাচিত পাঠ্য আপনার নির্বাচিত বা টাইপ করা পরিবেশ / কমান্ডে আবৃত হবে।

  • ইনসার্ট / নরমাল মোডে, কার্সারটি যখন এনভায়রনমেন্ট / কমান্ডের সুযোগে থাকে তখন প্রেস / পরিবেশ / কমান্ড পরিবর্তনের<Shift>+<F5>/<F7> জন্য একটি মেনু প্রম্পট করবে ।

বিবিধ কী ম্যাপিংস

  • গ্রীক চিঠিগুলি। `aথেকে `zএবং সংশ্লিষ্ট রাজধানীতে।
  • প্রতীক পছন্দ `8জন্য \infty, `<জন্য \le, `Iজন্য \int_{<++>}^{<++>}<++>, ইত্যাদি
  • "দুবার টিপলে এক জোড়া টেক্স ডাবল উদ্ধৃতি পাওয়া যায়। আক্ষরিক "চরিত্র টাইপ করতে, আপনাকে ব্যবহার করতে হবে।
  • বেশ কয়েকটি গণনার পরিবেশে টিপলে উপযুক্ত \itemট্যাগ tag োকানো হবে ।
  • আপনি গণিত চাক্ষুষরূপে নির্বাচিত অংশ মোড়ানো পারেন \left \rightদ্বারা যুগল `(, `[এবং `{
  • ভাঁজ কাস্টমাইজযোগ্য। তিন বিশ্বব্যাপী পরিবর্তনশীল নিয়ন্ত্রণ কি গুটান করা যেতে পারে: Tex_FoldedSections, Tex_FoldedMisc, এবং Tex_FoldedEnvironments

কখনও কখনও অন্তর্নির্মিত ম্যাপিংগুলি খুব বেশি দূরে চলে গেছে বা আপনি যা চান তা ছাড়ছেন না। আপনি অন্তর্নির্মিত ম্যাপিংগুলিকে এটিকে পুনরায় সংজ্ঞায়িত করে ওভাররাইড করতে পারেন after/ftplugin/tex.vim:

call IMAP('`|','\abs{<++>}<++>','tex')
call IMAP('ETE',"\\begin{table}\<CR>\\centering\<CR>\\caption{<+Caption text+>}\<CR>\\label{tab:<+label+>}\<CR>\\begin{tabular}{<+dimensions+>}\<CR><++>\<CR>\\end{tabular}\<CR>\\end{table}<++>",'tex')
call IMAP('==','==','tex')
call IMAP('`\','`\','tex')

একাধিক সংকলন ইঞ্জিন সেট করুন

আমার সর্বদা pdflatexএবং xelatexইঞ্জিনের মধ্যে স্যুইচ করা দরকার । সুতরাং, আমার আমার মধ্যে নিম্নলিখিত লাইনগুলি রয়েছে .vimrc:

"switch to pdflatex
function SetpdfLaTeX()
    let g:Tex_CompileRule_pdf = 'pdflatex --interaction=nonstopmode -synctex=1 -src-specials $*'
endfunction
noremap <Leader>lp :<C-U>call SetpdfLaTeX()<CR>

"switch to xelatex
function SetXeLaTeX()
    let g:Tex_CompileRule_pdf = 'xelatex --interaction=nonstopmode -synctex=1 -src-specials $*'
endfunction
noremap <Leader>lx :<C-U>call SetXeLaTeX()<CR>

ভিএম এবং পিডিএফ দর্শকের মধ্যে পিডিএফ, ফরোয়ার্ড এবং পিছনের সন্ধান করুন

এটি একটি অগোছালো এবং জটিল বিষয়। নির্দিষ্ট পিডিএফ ভিউয়ার এবং একটি নির্দিষ্ট পরিমাণ ভাগ্যের সাহায্যে এটি খুব সহজ হতে পারে। তবে এটি মূলত গুগল অনুসন্ধানের বিষয়।

পরামর্শ

  • ল্যাটেক্স ওয়ে এবং ভিম-ল্যাটেক্স পথের মধ্যে আপনার ভারসাম্যটি খুঁজে পাওয়া উচিত।
  • ভিম-ল্যাটেক্স মোটেই হালকা-ওজন নয়। কিছু বৈশিষ্ট্য এবং / অথবা কী ম্যাপিং রয়েছে যা আপনি সম্ভবত কখনও ব্যবহার করতে পারবেন না এবং আপনাকে সেগুলি ম্যানুয়ালি ওভাররাইড করতে হবে।
  • আপনি Vim ব্যবহার করুন। আপনি জানেন ধৈর্য বলতে কী বোঝায়। :-)

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

তথ্যসূত্র

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