আমি ল্যাটেক্সে কোনও চলক সংজ্ঞায়িত করার কোনও উপায় আছে কি?


349

লেটেক্সে, আমি কীভাবে একটি স্ট্রিং ভেরিয়েবল সংজ্ঞায়িত করতে পারি যার সংকলিত পিডিএফের পরিবর্তে এর বিষয়বস্তু ব্যবহৃত হয়?

ধরা যাক যে আমি একটি সফ্টওয়্যারটিতে একটি প্রযুক্তি ডক লিখছি এবং আমি প্যাকেজের নামটি উপস্থাপিত বা অন্য কোথাও সংজ্ঞায়িত করতে চাই যাতে এর নাম পরিবর্তন হয় তবে আমাকে এটি অনেক জায়গায় প্রতিস্থাপন করতে হবে না কেবল একটি জায়গায় ।


2
বিশাল সামগ্রীর জন্য, \ সেভবক্স ( en.wikibooks.org/wiki/LaTeX/Boxes#savebox ) উল্লেখ করার মতো
ইমমানুয়েল ওয়েহনাচটেন

উত্তর:


370

আপনার উপস্থাপনের জন্য নিম্নলিখিতগুলি যুক্ত করুন:

\newcommand{\newCommandName}{text to insert}

তারপর আপনি শুধু ব্যবহার করতে পারেন \newCommandName{}টেক্সট

আরও তথ্যের জন্য \newcommand, যেমন উইকিবুক দেখুন

উদাহরণ:

\documentclass{article}
\newcommand\x{30}
\begin{document}
\x
\end{document}

আউটপুট:

30

31
@ ডায়ালাক্স কোঁকড়া ধনুর্বন্ধনী বাদ দিলে সাবধান হন, কারণ এটি textোকানো টেক্সটের পরে সাদা স্থানের সাথে হস্তক্ষেপ করবে। এই প্রশ্নটি দেখুন ।
jtpereyda

অ-এস্কি অক্ষরগুলির সাথে আমি এটি সঠিকভাবে কাজ করতে পারি না। কোন ধারনা?
লন্ডে

164

\defকমান্ড ব্যবহার করুন :

\def \variable {Something that's better to use as a variable}

সচেতন থাকুন যে \defকোনও সতর্কতা ছাড়াই প্রিফিক্সিং ম্যাক্রোগুলিকে ওভাররাইড করে এবং তাই বিভিন্ন সূক্ষ্ম ত্রুটি ঘটাতে পারে। এটি হয় পরাস্ত মত namespaced ভেরিয়েবল ব্যবহার করার জন্য my_varবা ফিরে আসবে \newcommand, \renewcommandপরিবর্তে কমান্ড।


10
ব্যবহার \defকরা সমস্যাযুক্ত হতে পারে কারণ এটি প্রিক্সিং ম্যাক্রোগুলি পরীক্ষা করে না। দেখুন লেটেক্ জাহান্নামের দ্বিতীয় বৃত্ত - যেমন এটা ব্যবহার করা বাঞ্ছনীয়\newcommand
রায়ান Atallah

2
ধন্যবাদ @ রায়ানআতাল্লাহ সে সম্পর্কে নোট যুক্ত করেছেন। যদিও, এর variableঅর্থ এই নয় যে এটি পরিবর্তনযোগ্য? :)
প্লেস

4
@ প্লেলস আপনি ঠিক বলেছেন তবে এর অর্থ এখনও আপনি ব্যবহার করতে চান না \def। পরিবর্তে, আমি মনে করি এটা প্রথম সেরা অনুশীলন "-এর আরম্ভ" সব ভেরিয়েবল যে আপনার ব্যবহার করতে চান \newcommand(এটা শুধু সাথে এমনকি যদি \@empty), এবং এরপরে আপনার আদেশ তৈরি ব্যবহার পরিবর্তনশীল পরিবর্তন করতে \renewcommand। আপনার ভেরিয়েবলটি ইতিমধ্যে প্রস্থান করা হয়েছে কিনা তা আপনাকে জানাতে পারে কারণ \newcommandএকটি ত্রুটি ফেলবে (বা কমপক্ষে একটি সতর্কতা)।
নিক 2253

4
দ্রষ্টব্য যে \defগণিত মোডে জিনিসগুলির জন্য কাজ করে, যখন \newCommandNameনা। ( \def\mathExpression{\pi^2 + \sin x}
উদা।

35

ভেরিয়েবল দূরত্বের বর্ণনা জন্য, আপনি ব্যবহার করেন \newlength(এবং সঙ্গে মান নিপূণভাবে \setlength, \addlength, \settoheight, \settolengthএবং \settodepth)।

একইভাবে আপনার কাছে \newcounterবিভাগ এবং চিত্র সংখ্যাগুলির মতো জিনিসগুলির অ্যাক্সেস রয়েছে যা ডকুমেন্ট জুড়ে বৃদ্ধি করা উচিত। আমি অতীতে এই কোডটি নমুনা সরবরাহ করতে ব্যবহার করেছি যা অন্যান্য চিত্রের চেয়ে পৃথকভাবে গণনা করা হয়েছিল ...

এছাড়াও নোটটি হ'ল \makeboxযা আপনাকে পরে পুনরায় ব্যবহারের জন্য (এবং এর সাথে ব্যবহারের জন্য \settolength...) কিছুটা নকশাকৃত দলিল সংরক্ষণ করতে দেয় allows


25
সাধারণ ব্যবহারের উদাহরণ যেমন পছন্দ হয় \newlength{\hcolw}এবং \setlength{\hcolw}{0.47\textwidth}দরকারী হবে।
trybik

20

আপনি যদি ব্যবহার করতে চান তবে আপনি কমান্ডটি \newcommandঅন্তর্ভুক্ত করে \usepackage{xspace}সংজ্ঞাও দিতে পারেন \newcommand{\newCommandName}{text to insert\xspace}। এটি আপনাকে কেবল \newCommandNameপরিবর্তে ব্যবহার করার অনুমতি দিতে পারে \newCommandName{}

আরো বিস্তারিত জানার জন্য http://www.math.tamu.edu/~harold.boas/courses/math696/why-macros.html



1

আমার মনে হয় আপনি সম্ভবত এই কাজের জন্য একটি টোকেন তালিকা ব্যবহার করতে চান: TOKEN তালিকাটি সেট আপ করতে \newtoks\packagename নাম দায়িত্ব অর্পণ করা: \packagename={New Name for the package} আপনার আউটপুট মধ্যে নাম হবে: \the\packagename

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