আমি কীভাবে নিশ্চিত করব যে আমার সিমুলেশনের ফলাফল এবং আমার কাগজের ফলাফলগুলি সর্বদা সিঙ্কে রয়েছে?


34

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

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

y=(y1,,yn)

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

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

উত্তর:


14

কিছু মন্তব্য পরামর্শ দিয়েছেন যে, এই পদ্ধতির দীর্ঘ আর কমিউনিটি উপর নির্মাণের দ্বারা উন্নত করা হয়েছে Sweaveএবং আরও সম্প্রতি, knitr। স্পষ্টতই এই পদ্ধতির এই মুহুর্তে ভাষা-নির্দিষ্ট হওয়ার অসুবিধা রয়েছে, তবে এটি যে নিয়মিতভাবে একাডেমিক কাগজগুলিতে ব্যবহৃত হয়।

বাস্তব প্রকাশনাগুলিতে সোয়েভ ব্যবহার

  • জৈব পরিসংখ্যান জার্নাল এই জমা উত্সাহ দেয়, এবং একাডেমিক কাগজপত্র যা reproduciblity সম্পাদক কোড এবং ডাটা চালাতে এবং এই ফলাফল পেতে সক্ষম হয়েছে একটি kitemark চিঠি "আর" স্থাপন করা হয়।
  • মূলত আর-জার্নালে সমস্ত প্রকাশনা সোয়েভে নির্মিত।

অবশ্যই আরও সাধারণভাবে সোয়েভ / বোনা ব্যবহারকারীরা ব্যক্তিগত আস্থার সাথে বেশিরভাগ জার্নালে কেবলমাত্র চূড়ান্ত আউটপুট জমা দেন যে পদ্ধতিগুলি সত্যই ফলাফলগুলি পুনরুত্পাদন করে। অনুরূপভাবে সোয়েভ প্রায়শই পেশাদার আলাপ ইত্যাদির জন্য স্লাইড তৈরি করতে ব্যবহৃত হয় etc.

দরকারী বৈশিষ্ট্য

অনুশীলনে দরকারী হতে, এই জাতীয় সিস্টেমে কিছু নির্দিষ্ট বৈশিষ্ট্য থাকা উচিত। ব্যবহারকারীদের একটি সমালোচনামূলক ভর সহ, এর মধ্যে বেশিরভাগই উন্নত knitr। কয়েকটি হাইলাইট:

  • ক্যাশে। মার্কডাউন বা ল্যাটেক্সের মতো ফর্ম্যাটে লেখার ফলে আউটপুট দেখতে অবশ্যই সংকলন করতে হবে যখন ফলাফলগুলি ক্যাশে করা যায় না তখন কোড সহ এটি অসম্ভব করে তোলে। চতুর ক্যাচিং knitrআসলে ডিবাগিং ইনটেনসিভ কোডকে খাঁটি কাজ করার চেয়ে অনেক সহজ করে তোলে R, কারণ সফল খণ্ডগুলি পুনরায় চালানো প্রয়োজন হয় না।

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

  • সম্প্রদায়. হোমব্রেড সমাধানের মাধ্যমে এই পদ্ধতির সবচেয়ে আকর্ষণীয় সুবিধা হ'ল মডেলের সাথে পরিচিত এবং এটির উন্নতি করার চেষ্টা করা লোকের সংখ্যা।

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

.তিহাসিক পাদটীকা।

নাম অনুসারে নুথের "সাক্ষর প্রোগ্রামিং" এর মূল থাকাতে, জোর দেওয়াটা একেবারেই আলাদা, যেহেতু সাক্ষরিত প্রোগ্রামিং সফ্টওয়্যার কোড এবং ডকুমেন্টেশন সংযুক্ত করার দিকে মনোনিবেশ করে (আর সম্প্রদায়টিতে যে ভূমিকা পালন করে থাকে Roxygen, যা এর শিকড়গুলি আলাদা শাখায় চিহ্নিত করে which "সাক্ষরতা প্রোগ্রামিং ট্রি")।

অতি

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

অন্যান্য পন্থা

  • ডেক্সি.ইটিতে নজর রাখতে পারে
  • কিছুটা ভিন্ন পদ্ধতির মধ্যে: http://www.runmycode.org/ এ প্রকাশনাগুলির সাথে যুক্ত সংস্থাগুলির একটি ক্রমবর্ধমান সংখ্যক হোস্ট কোড , যা মেঘের উপরে বিশ্লেষণগুলি পুনরায় চালিত করবে এবং কাস্টম ইনপুট পরামিতি বা কাস্টম ইনপুট ডেটার অনুমতি দেবে।

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

জেফ, দুর্দান্ত, মন্তব্যের জন্য ধন্যবাদ! আনা নেলসনও ডেকে আনে এক বড় বিশ্বাসী। আর ব্যবহারকারীরা কোড বহিরাগতকরণ বা নতুন spin()ফাংশন সহ নিটারে ডিকোপলিংটি সম্পন্ন করতে পারেন । সাক্ষরতা প্রোগ্রামিং সম্পর্কে গ্রেগ উইলসনের অভিযোগগুলি ব্যক্তিগতভাবে আমি মনে করি তবে এটি বেশ তারিখী। তিনি একই রকম ভয়ানক অভিজ্ঞতা পেয়েছিলেন যা তিনি নওবের সাথে বর্ণনা করেছেন, তবে এই সংশ্লেষিত ডিবাগিংটি আধুনিক সরঞ্জামগুলিতে কেবল বিদ্যমান নেই। সাক্ষরতার জন্য সিআই ব্যবহার করুন অক্সিজেন। ক্যাচিং এবং এনভায়রনমেন্ট হ্যান্ডলিংয়ের জন্য আর থ্যাঙ্কের চেয়ে আর কোনও ডিবাগ করা সহজ হলে নিট।
cboettig

20

আপনি যা চাইছেন তা হ'ল "এক্সিকিউটেবল পেপার" এর এলসিভিয়ার গ্র্যান্ড চ্যালেঞ্জ । যদিও অনেকগুলি পদ্ধতির চেষ্টা করা হয়েছে, লেখকদের পরামর্শ মতো কোনও জোরালো নয়। ব্যবহৃত কৌশলগুলির কয়েকটি উদাহরণ এখানে।

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

আইপিথন নোটবুক একটি নথি সরবরাহ করে যা আপনি কার্যকর করতে পারেন এবং আপনি আপনার হৃদয়ের সামগ্রীগুলিতে পরিসংখ্যান তৈরি করতে পারেন। (আমি ওয়ার্ড প্লাগইনস, ম্যাথমেটিকা ​​এবং একই ফ্যাশনে ব্যবহৃত অসংখ্য অন্যান্য সমাধান দেখেছি)

ভিসট্রেইলস পরিষেবা ভিত্তিক আর্কিটেকচার পদ্ধতির ব্যবহার করে এবং একটি "প্রভিডেন্স" বা "ওয়ার্কফ্লো" পরিচালক সরবরাহ করে। মূলত আপনি কোডে হুকগুলি নিবন্ধভুক্ত করেন তারপরে একটি কাজের প্রবাহ ডিজাইন করুন বা পরীক্ষা করুন যা আপনার কাজ পুনরুত্পাদন করে। এটি অনেক ধরণের কোড, এমনকি এইচপিসি ক্লাস্টারেও ব্যবহৃত হয়েছে। এই পদ্ধতির সাহায্যে আপনার কাছে পরীক্ষাগুলি পুনরায় খেলতে হবে।

এই ধরণের সমাধানগুলি এখানে অনেকগুলি রয়েছে, তবে আমি তিনটিই মুগ্ধ হয়েছি। এটি একটি কঠিন সমস্যা এবং আমি বিশ্বাস করি যে আমরা সত্যিকার অর্থেই ঠিকানার কাছাকাছিও নেই। আমরা এমনকি তাদের কাগজপত্র দিয়ে লোকদের কোড প্রকাশ করতে পারি না, কীভাবে আমরা ফলাফলগুলি পুনরুত্পাদন করার আশা করতে পারি = পি


অনুরূপ শিরাতে সোয়েভ রয়েছে , যা আমি ব্যবহার করি না তা ধারণার মধ্যে আকর্ষণীয় ig
ডিএমকেহে

মাদাগাস্কার প্রকল্পটি দেখে মনে হয়েছিল এটি আকর্ষণীয় হতে পারে যখন আমি এর কোনও লেখকের একটি বক্তব্য শুনি। আমি আসলে এটি ব্যবহার করার চেষ্টা করি নি।
কেন

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

আমি এই উদ্দেশ্যে সোয়েভ ব্যবহার করি, এটি খুব সুন্দরভাবে কাজ করে এবং এটি লিক্সের সাথে সামঞ্জস্যপূর্ণ। Org- মোড আরও ভাল এবং বেশিরভাগ সাধারণ ভাষাগুলি সমর্থন করে।
ডেভিড লেবাউর

13

এই সমস্যার অন্যান্য লোকের সমাধানগুলি ব্যবহার করতে আমার খুব বেশি সাফল্য হয়নি। আমি সাধারণত কেবল এমন কিছু সহজ চাই যা আমার জন্য কাজ করে এবং কাজটি সম্পন্ন করে। এই লক্ষ্যে, আমি সাধারণত একটি অজগর স্ক্রিপ্ট লেখার চেষ্টা করি যা সমস্ত ফলাফল চালানোর, আউটপুটকে বিশ্লেষণ করার পাশাপাশি চিত্র / সারণী তৈরির দায়িত্বে থাকে।

আমি ডেটা ফাইলগুলি তৈরি করতে আমার কোডগুলি লিখি যা কিছু পাঠ্য বিন্যাসে ফলাফল রয়েছে। আউটপুট ফাইলের অস্তিত্বের জন্য প্রথম পরীক্ষার মাধ্যমে আপনি উদাহরণে os.path.isfile () ব্যবহার করে) এই স্ক্রিপ্টগুলিতে এই ফলাফলগুলি পুনরায় চালনা এড়াতে পারবেন example আপনি যদি নিজের ফলাফলগুলি পুনরায় চালাতে চান তবে কেবল ডেটা ফাইলগুলি সরিয়ে দিন। যদি ডেটা ফাইলগুলি বিদ্যমান থাকে, তবে আমি এই ফাইলগুলির একটি পার্সার চালনা করি। এর জন্য, নিয়মিত এক্সপ্রেশনগুলির জন্য পাইথন মডিউলটি খুব দরকারী (পুনরায়)।

তারপরে পার্সড আউটপুট থেকে আমি পরিসংখ্যান বা সারণী তৈরি করব। ক্ষীরের টেবিলগুলির জন্য আপনি আলাদা ফাইলটিতে টেবিল তৈরি করতে কোড লিখতে পারেন (আমি একটি .tbl এক্সটেনশন ব্যবহার করি) এবং তারপরে এটি আপনার লেটেক্স ফাইলে অন্তর্ভুক্ত করুন। আমার জন্য তাদের কীটি হল 1 পাইথন স্ক্রিপ্ট ব্যবহার করা। আমার যদি অনেকগুলি থাকে তবে আমি পরে ভাবছি কোনটি কোন এবং তারা কী করে। যদি এই বিবরণটি খুব অস্পষ্ট হয় তবে আমি আপনাকে কয়েকটি উদাহরণ পাঠাতে পারি।


1
আমি ইতিমধ্যে পরিসংখ্যানগুলির জন্য এই ধরণের জিনিসটি করি। যাইহোক, আমি যেসব কাগজপত্র লিখছি সেগুলিতে টেবিলগুলি একটি অপ্রাকৃত বিন্যাসে ডেটা উপস্থাপন করতে হবে। প্রায়শই, আমি সত্যিই একটি ওডিইতে প্রাথমিক শর্তটি অন্তর্ভুক্ত করতে চাই (তাই সত্যিকার অর্থে, 4-6 সংখ্যার মতো, কমা দ্বারা ফাঁক করা), বা কোনও সমীকরণের ডান দিকে অংশ হিসাবে পুরো সংখ্যার ম্যাট্রিক্স। টেবিলগুলির জন্য আপনার ধারণাটি আমি পছন্দ করি। আমি উল্লিখিত ক্ষেত্রে, আমি টেবিল হিসাবে তাদের পুনরায় ফর্ম্যাট করা প্রাকৃতিক হবে বলে আমি মনে করি এবং আমি আরও প্রাকৃতিক ফর্ম্যাটে ডেটা অন্তর্ভুক্ত করতে চাই।
জেফ অক্সবেরি

নাথান, আপনি উদাহরণ পোস্ট করতে মন চাই? আমি একই পন্থাটি ব্যবহার করি, আমি লেখার ফাইলগুলিকে গিটে প্রতিশ্রুতিবদ্ধ না করে এবং ফলাফলগুলি পরিচালনা করতে গিট ব্যবহার করি। আমার কাছে প্লট / সারণী তৈরির জন্য পাইথন স্ক্রিপ্ট রয়েছে। আমার কাছে প্লট বা টেবিলের জন্য একটি স্ক্রিপ্ট রয়েছে।
ওঁদেজ এর্তিক

এছাড়াও আপনি পাইপ একটি শেল স্ক্রিপ্ট আউটপুট সরাসরি কমান্ড ব্যবহার করে ক্ষীর করতে পারেন \input{|"path-to-script.py"}। আমি মনে করি আপনি একক অজগর (বা যে কোনও ভাষা আপনার পছন্দের ভাষা) ফাইলের মধ্যে সমস্ত পরামিতিগুলি যুক্ত করা ভাল এবং এটির মতো অ্যাক্সেসের জন্য কমান্ড লাইন প্যারামিটার ব্যবহার করা ভাল \input{|"path-to-script.py param-name"}। সেক্ষেত্রে সিমুলেশনগুলি চালানোর জন্য আপনি অন্যান্য স্ক্রিপ্টগুলিতে প্যারাম ফাইলটি অন্তর্ভুক্ত করতে পারেন। তবে এটি সংকলনটিকে ধীর করে তোলে এবং কিছু অন্যান্য নেতিবাচক পয়েন্ট রয়েছে।
হিলিয়াম


7

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

এখানে একটি উদাহরণ (আসলে আমার সহ-লেখক অরন আহমদিয়া প্রস্তুত করেছেন)।


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

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

6

এ গিয়ে Emacs এর orgmode হট্টগোল সঙ্গে একযোগে যে অর্জন করা হয়ে। বাবেল বিভিন্ন প্রোগ্রামিং এবং স্ক্রিপ্টিং ভাষাগুলি থেকে কোড স্নিপেটগুলি কার্যকর করতে পারে, উদাহরণস্বরূপ, এটি সিমুলেশন ডেটাযুক্ত ফাইলটি খুলতে পারে এবং এটি অর্গমোডে একটি টেবিলের মধ্যে রাখতে পারে, যা লটেক্সে (এবং আরও অনেক ফর্ম্যাট) রফতানি করা যায়। অরগমোডের সমস্ত কী কম্বোতে অভ্যস্ত হয়ে উঠতে বেশ খানিকটা সময় সময় লাগে, তবে একবার এটি চালানো সমস্ত স্বয়ংক্রিয় is


আমি org- মোড পছন্দ করি; আমি এটি রূপরেখার জন্য ব্যবহার করি। আমি বাবেলের সাথে এটি ব্যবহার করি নি। আমি এটি চেষ্টা করে দেখতে হবে।
জেফ অক্সবেরি

এখানে জানুয়ারী 2012 জে স্ট্যাটাসের একটি দুর্দান্ত ওভারভিউ রয়েছে। সফটওয়্যার jstatsoft.org/v46/i03/paper
ডেভিড লেবাউর

আমি একটি টিউটোরিয়াল লিখেছিলাম যা ইউরোপীয় ফিজিকাল জার্নাল এ (ইপিজে এ) থেকে লাটেক্স টেমপ্লেটকে একটি org- মোড ফাইলে রূপান্তর করতে পারে তা দেখায়।
মেলিওরাটাস

4

যদি আপনার সমস্ত কোড চালানো সস্তা হয় তবে আপনি নিম্নের মতো কিছু করতে পারেন:

আপনি আপনার দস্তাবেজগুলিকে ফর্ম্যাট করা স্ট্রিংগুলির সাথে টেমপ্লেট করতে পারেন যাতে তারা এটিকে দেখতে লাগে

"we observed a %(fractional_improvement)s increase in ..."

পাইথন স্ক্রিপ্টগুলি দেখতে দেখতে এমনটি রয়েছে

results = {"alpha"                  : run_alpha_computation(...),
           "fractional_improvement" : run_fi_computation(...), 
           ...}

এবং তারপরে এই জাতীয় কিছু করুন

for fn in filenames:
    file = open(fn);      s = file.read();       file.close()
    file = open(fn, 'w'); file.write(s%results); file.close()

তারপরে আপনি এটিকে একটি মেকফাইলে মুড়ে ফেলতে পারেন।


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

সত্যই এটি পাইথন সার্ভার পৃষ্ঠাগুলির মতো কোনও কিছুর একটি খুব প্রাথমিক প্রয়োগ। অটো-উত্পাদিত সামগ্রীর ধারণাটি ওয়েব সম্প্রদায়টিতে কিছু সময়ের জন্য রয়েছে। এটি একাডেমিয়ায় স্থানান্তরিত দেখে ভাল লাগবে।
এমরোকলিন

একমত। জিনজা 2 আপনার পরামর্শ অনুসারে ব্যবহার করতে পারে। প্রকৃতপক্ষে, ডেক্সি এটিই করেন, তবে শীতল ফিল্টারগুলির একটি গুচ্ছ সহ এটি সিনট্যাক্স হাইলাইটিং এবং অন্যান্য পৃথক কার্যাদি পরিচালনা করে।
জিওফ অক্সবেরি

4

আপনি যদি ল্যাটেক্স ব্যবহার করছেন তবে তুলনামূলকভাবে কম প্রযুক্তির সমাধানটি হ'ল আপনার কোডটি কোনও ফাইল থুথু করা (বা অন্যথায় আপনার কোডের আউটপুট থেকে ফিল্টার করার জন্য একটি স্ক্রিপ্ট ব্যবহার করুন) এর মতো সম্পূর্ণ গোছা লাইন থাকে:

\newcommand{\myresults1}{<value>}

তারপরে আপনি \inputসেই ফাইলটি আপনার নথিতে যুক্ত করতে কমান্ডটি ব্যবহার করতে পারেন এবং মান স্থাপনের জন্য সংজ্ঞায়িত আদেশগুলি ব্যবহার করতে পারেন।


2

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


দ্বিতীয় লিঙ্কটি ভুল জিনিস।
ডেভিড কেচসন

@Hylke Koers: যদি আপনি এই লিঙ্কটি করা চাওয়ার কথা বলছেন কি collage.elsevier.com ?
পল

@ পল: আমি সম্পাদনাগুলি করেছি; মূল দ্বিতীয় লিঙ্কটি কোলাজ গুগল গ্রুপে ছিল। হতে পারে আরও ভাল লিঙ্কটি নিজেই কোলাজ হওয়ার জন্য, তবে আমার ফোকাস ছিল পোস্টটির ভাল উদ্দেশ্যগুলি সংরক্ষণ করার চেষ্টা করা (বেশিরভাগ ক্ষেত্রে) সেই অংশগুলি সরিয়ে যখন এটি প্রচারমূলক শোনায়। আপনি উপযুক্ত দেখতে পোস্ট নির্দ্বিধায়।
জেফ অক্সবেরি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.