Permanently protected module

모듈:인용문/CS1/식별자

Module

--[------------------------------------------------------------------------------------------------------------------------------------------------------------- ]]  현지의 has_accept_as_write, is_set, 배열하여, 세트_디젤, 셀렉트_원,   모듈의 기능:인용/CS1/유틸리티   대체물, make_smilink;  현지의 z;                  모듈에 정의된 표:인용/CS1/유틸리티  현지의 cfg;                  모듈에 정의된 구성 테이블:인용/CS1/구성   --[----------------------------< PAGE SCOP ARIA BLES >--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  다른 모듈에서 가져오지 않은 페이지 범위를 가진 변수를 여기에 선언합니다. 이 변수는 여기에 생성되어 여기에서 사용됩니다.  ]]  현지의 auto_link_message = {};              제목=을(를) 자동 연결할 수 있는 식별자의 식별자 URL을 보유합니다.   --============================<< HELF FUNC IONS >>============================================  --[-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  식별자 레이블 위키링크를 국제화하기 위한 보조 도구로, 위키데이터에서 식별자 아티클 이름을 가져옵니다.  <q>에 <기사 제목>이 <기사 제목>에 대해 <기사 제목>이 있는 경우 :<기사 코드>를 반환합니다. 그 이외는 반환하지 않습니다.  q가 없는 식별자의 경우 0을 반환합니다.  mw가 없는 Wiki의 경우.Wikibase가 설치되었습니다. 0을 반환합니다.  ]]  현지의 기능. wikidata_article_name_get (q)  한다면 것은 아니다. is_set (q) 또는 (q 그리고. 것은 아니다. mw.위키베이스) 그리고나서       q 번호가 없거나 q 번호가 mw일 때.이 Wiki에 wikibase가 설치되지 않았습니다.   돌아가다 영의;                버림받은  끝.   현지의 wd_기사;  현지의 이_sys_code = cfg.이_sys_code;         위키백과 하위 도메인; en을 뜻하는 'en'.wikipedia.org   wd_기사 = mw.위키베이스.사이트 링크 가져오기 (q, 이_sys_code .. '''비공식''');   WD에서 기사 제목 가져오기; 이 Wiki에서 사용할 수 있는 제목이 없을 때는 0입니다.   한다면 wd_기사 그리고나서   wd_기사 = 테이블.콘캣 ({':', 이_sys_code, ':', wd_기사});  WD에서 가져온 경우 괄호가 없는 인터위키 스타일 링크, 선행 콜론 필요  끝.   돌아가다 wd_기사;               WD의 아티클 제목; 기타 항목 없음 끝.   --[--------------------------< LINK _ LA BEL _ MAKE >----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  핸들러 테이블 또는 Wikidata에서 식별자 링크 레이블을 만드는 공통 함수  의 첫 번째 사용 가능한 항목을 반환합니다. 로컬 Wiki의 처리기 테이블에서 리디렉션(사용 가능한 경우) Wikidata(로컬 Wikidata 언어로 이 식별자에 대한 Wikidata 항목이 있는 경우) 로컬 Wiki의 처리기 테이블에 지정된 레이블   ]]  현지의 기능. link_label_make (핸들러)  현지의 wd_기사;    한다면 것은 아니다. (cfg.use_identifier_sys 그리고. is_set (핸들러.리다이렉트)) 그리고나서 리디렉션에 우선 순위가 있으므로 사용 가능하고 사용 가능한 경우에는 비용이 많이 들기 때문에 Wikidata에서 가져오지 않습니다.   wd_기사 = wikidata_article_name_get (핸들러.q);      위키데이터에 이 위키에 대한 기사 제목이 있는 경우, 해당 제목을 가져옵니다.  끝.    돌아가다 (cfg.use_identifier_sys 그리고. is_set (핸들러.리다이렉트) 그리고. 핸들러.리다이렉트) 또는 wd_기사 또는 핸들러.링크; 끝.   --[----------------------------< EX TER NAL _ LINK _ ID >------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  Wiki 스타일 외부 링크 형식 지정  ]]  현지의 기능. external_link_id (옵션들)  현지의 url_string = 옵션들.이드;  현지의 ext_link;  현지의 이_sys_code = cfg.이_sys_code;         위키백과 하위 도메인; en을 뜻하는 'en'.wikipedia.org  현지의 wd_기사;               Wikidata의 기사 제목    한다면 옵션들.부호화 == 진실의 또는 옵션들.부호화 == 영의 그리고나서   url_string = mw.uri.부호화 (url_string, 'PATH');  끝.   한다면 옵션들.auto_link 그리고. is_set (옵션들.접근) 그리고나서   auto_link_message[옵션들.auto_link] = 테이블.콘캣 ({옵션들.접두어, url_string, 옵션들.접미사});  끝.   ext_link = mw.ustring.서식을 ('[%s %s %s %s]', 옵션들.접두어, url_string, 옵션들.접미사 또는 "", mw.본문.노비키 (옵션들.이드));  한다면 is_set (옵션들.접근) 그리고나서   ext_link = 대체물 (cfg.발표['ext-link-access-message'], {cfg.발표[옵션들.접근].학급, cfg.발표[옵션들.접근].제목, ext_link}); 무료 읽기/페이월 잠금 장치를 추가  끝.   돌아가다 테이블.콘캣 ({   make_smilink (link_label_make (옵션들), 옵션들.라벨.),    리디렉션, Wikidata 링크 또는 로컬로 지정된 링크(순서대로)   옵션들.구분자 또는 '&nbsp;',   ext_link   }); 끝.   --[------------------------------< INTER NAL _ LINK _ ID >--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  Wiki 스타일의 내부 링크 형식 지정  TODO: 현재 options.access, options.encode, 자동 연결 및 COinS를 지원할 필요가 없습니다(external_link_id에서처럼). 그러나 미래에는 :m:에 필요할 수 있습니다.:arxiv:, :bibcode:, :DOI:, :hdl:, :ISSN:와 같은 Interwiki_map 사용자 지정 접두사 :JSTOR:, :열린 라이브러리:, :PMID:, :RFC:.  ]]  현지의 기능. internal_link_id (옵션들)  현지의 이드 = mw.ustring.gsub (옵션들.이드, '%d', cfg.date_names.local_message); 'local' 숫자를 Western 0-9로 변환합니다.   돌아가다 테이블.콘캣 (   {   make_smilink (link_label_make (옵션들), 옵션들.라벨.),    식별자 레이블을 Wiki-link the identifier label   옵션들.구분자 또는 '&nbsp;',           구분 기호 추가   make_smilink (    테이블.콘캣 (     {     옵션들.접두어,     이드,                서양 숫자로 번역된     옵션들.접미사 또는 ''     }),    대체물 (cfg.발표['bdi'], {'', mw.본문.노비키 (옵션들.이드)}) RTL 언어 위키에서 라틴어 스크립트 식별자가 뒤바뀌는 것을 방지하기 위한 bdi 태그    );                 미디어위키는 여전히 ISBN 등을 위한 마법 링크를 가지고 있기 때문에 노위키; TODO: 그것이 정말 필요한가요?   }); 끝.   --[--------------------------< IS _ EM B AR GOD >--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  PMC 식별자의 온라인 버전이 금지되는지 여부를 결정합니다.pmc-module-date=의 날짜를 비교합니다. 오늘 날짜금수일이 미래인 경우 pmc-moval-date=의 내용을 반환하고, 그렇지 않은 경우 반환합니다. 엠바고가 만료되었거나 pmc-vmba-date=가 이 인용문에 설정되지 않았기 때문에 빈 문자열입니다.  ]]  현지의 기능. is_successed (금수 조치)  한다면 is_set (금수 조치) 그리고나서   현지의 랑그 = mw.콘텐츠 언어 가져오기();   현지의 굿1, 금수일, today_date;   굿1, 금수일 = pcall (랑그.formatDate, 랑그, 'U', 금수 조치);   today_date = 랑그:formatDate ('U');     한다면 굿1 그리고나서               금수일이 좋은 날이면.    한다면 수에 달하여 (금수일) >= 수에 달하여 (today_date) 그리고나서   금수일이 미래입니까?     돌아가다 금수 조치;             아직 금수중인.    또 다른     세트_디젤 ('maint_pmc_message');        엠바고가 만료되었습니다. 주 고양이 추가     돌아가다 '';              금수 조치가 만료되어 해제됨    끝.   끝.  끝.  돌아가다 '';                 pmc-message-date= 반환 빈 문자열을 설정하지 않음 끝.   --[=[--------------------------------------< IS _ VAL ID _ BI OR X IV _ DA TE >--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  다음 경우 true를 반환합니다. 2019-12-11T00:00Z <= biorxiv_date < 오늘 + 2일   biorxiv 식별자의 날짜 형식은 시작 날짜가 2019-12-11입니다.해당 날짜의 유닉스 타임스탬프는 {{#time:U 2019-12-11}} = 1576022400  biorxiv_date는 해당 biorxiv= 매개 변수 값에 제공된 날짜로, UTC 시간 00:00:00에 날짜가 지정됩니다. 오늘은 현재 날짜 00:00:00 UTC + 48시간입니다. 오늘이 2015-01-01T00:00:00이면 24시간을 추가하면 2015-01-02T00:00:00 – 현재보다 1초 더 많은 시간이 제공됩니다. 24시간을 더하면 2015-01-03이 됩니다.T00:00:00 – 내일보다 1초 더 많은 시간  영어 이외의 언어에 대해 월 이름을 입력하면 이 기능이 작동하지 않습니다.위키미디어 #시간: 파서 영어가 아닌 날짜의 월 이름을 이해하지 못하는 것 같습니다.이 함수는 날짜가 되면 항상 false를 반환합니다. lang_object 호출 후 good1이 false이므로 영어가 아닌 월 이름이 포함되어 있습니다.formatDate().갖기 위해 이 함수를 날짜 부분과 함께 호출하고 YYY-MM-DD 형식 날짜를 만듭니다.  ]=]  현지의 기능. is_delay_biorxiv_date (y, m, d)  현지의 biorxiv_date = 테이블.콘캣 ({y, m, d}, '-');       ymd 날짜로 만들기  현지의 굿1, 굿2;  현지의 biorxiv_ts, tomorrow_ts;            날짜를 나타내는 유닉스 타임스탬프 보유  현지의 lang_object = mw.콘텐츠 언어 가져오기();   굿1, biorxiv_ts = pcall (lang_object.formatDate, lang_object, 'U', biorxiv_date);  biorxiv_date 값을 유닉스 타임스탬프로 변환  굿2, tomorrow_ts = pcall (lang_object.formatDate, lang_object, 'U', '오늘 + 이틀' ); 오늘 자정 + 2일은 내일 하루 종일보다 1초 더 많습니다.    한다면 굿1 그리고. 굿2 그리고나서              lang.formatDate()는 number()가 이해하지 못할 수 있는 로컬 스크립트의 타임스탬프를 반환합니다.   biorxiv_ts = 수에 달하여 (biorxiv_ts) 또는 lang_object:구문 분석 형식 번호 (biorxiv_ts); 비교를 위해 숫자로 변환합니다.   tomorrow_ts = 수에 달하여 (tomorrow_ts) 또는 lang_object:구문 분석 형식 번호 (tomorrow_ts);  또 다른   돌아가다 거짓의;               하나 또는 둘 다 Unix 타임스탬프로 변환하지 못했습니다.  끝.   돌아가다 ((1576022400 <= biorxiv_ts) 그리고. (biorxiv_ts < tomorrow_ts))   2012-12-11T00:00Z <= biorxiv_date < 내일 날짜 끝.   --[----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  ISBN-10 및 ISSN 검증자 코드는 체크 디짓을 포함한 모든 ISBN/ISSN 디짓의 체크섬을 계산합니다. ISBN-13이 isbn()에서 확인되었습니다.  숫자가 유효하면 결과는 0이 됩니다.이 함수를 호출하기 전에 ISBN/ISSN의 길이를 확인해야 합니다. 대시, 공백 및 기타 비 ISxN 문자가 제거됩니다.  ]]  현지의 기능. is_message_isxn (isxn_str, )  현지의 임시의 = 0;  isxn_str = { isxn_str:바이트(1, ) };          바이트 값 '0' → 0x30 .. 표를 만듭니다.'9' → 0x39, 'X' → 0x58   =  + 1;                루프 카운터가 되도록 조정합니다.  위해서 i, v  짝을 짓다 (isxn_str) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다           모든 바이트를 루프하여 체크섬을 계산합니다.   한다면 v == string.바이트 ("X" ) 그리고나서           체크 디짓이 X인 경우(0x58인 'X'의 바이트 값 비교)    임시의 = 임시의 + 10 * ( - i);          그것은 십진법을 나타냅니다.   또 다른    임시의 = 임시의 + 수에 달하여 (string.char (v) )*(-i);   끝.  끝.  돌아가다 임시의 % 11 == 0;              계산 결과가 0이면 true를 반환합니다. 끝.   --[----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  ISBN-13 및 ISMN Validator 코드는 체크 디짓을 포함한 13개의 ISBN/ISMN 디짓 모두에서 체크섬을 계산합니다. 숫자가 유효하면 결과는 0이 됩니다.이 기능을 호출하기 전에 ISBN-13/ISMN의 길이를 확인해야 합니다. 대시, 공백 및 기타 비 ISxN-13 문자가 제거되었습니다.  ]]  현지의 기능. is_message_isxn_13 (isxn_str)  현지의 임시의=0;    isxn_str = { isxn_str:바이트(1, 13) };          바이트 값 '0' → 0x30 .. 표를 만듭니다.'9' → 0x39  위해서 i, v  짝을 짓다 (isxn_str) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   임시의 = 임시의 + (3 - 2*(i % 2)) * 수에 달하여 (string.char (v) );   홀수 인덱스 자릿수에 1을 곱하고, 짝수 인덱스 자릿수에 3과 합계를 곱합니다. 체크 자릿수 포함  끝.  돌아가다 임시의 % 10 == 0;              합계 모듈로 10은 ISBN-13/ISMN이 올바르면 0입니다. 끝.   --[--------------------------< NO M LIZE _ LCC N >------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  LCCN 정규화(https://www.loc.gov/marc/lccn-namespace.html#normalization) 모든 빈칸을 제거합니다. 문자열에 슬래시(/)가 있으면 해당 문자열을 제거하고 슬래시 오른쪽에 있는 모든 문자를 제거합니다. 문자열에 하이픈이 있는 경우: 제거합니다. (제거된) 하이픈 뒤(오른쪽) 하위 문자열을 검사합니다.그런 다음(1단계와 2단계가 수행되었다고 가정): 이러한 문자는 모두 숫자여야 하며 6자 이하여야 합니다.(이 기능에서는 수행되지 않음) 부분 문자열의 길이가 6보다 작으면, 부분 문자열을 6이 될 때까지 0으로 왼쪽 채웁니다.  유효성을 검사할 lccn()의 정규화된 LCCN을 반환합니다.이 기능에서는 오류 확인(3.b.1단계)이 수행되지 않습니다.  ]]  현지의 기능. normalize_lccn (lccn)  lccn = lccn:gsub ("%s", "");            1. 공백을 제거합니다.   한다면 영의 ~= 줄을 대다 (lccn, '/') 그리고나서   lccn = lccn:경기 ("(.-)/");           2. 슬래시와 슬래시 오른쪽의 모든 문자를 제거합니다.  끝.   현지의 접두어  현지의 접미사  접두어, 접미사 = lccn:경기 ("(.+)%-(.+)");         3.줄을 접두사와 접미사로 나누어 하이픈을 제거합니다.   한다면 영의 ~= 접미사 그리고나서              하이픈이 있다면,   접미사 = string.rep("0", 6-string.len (접미사)) .. 접미사;    3.b.2 접미사 길이가 6보다 작은 경우 접미사를 0으로 왼쪽 채웁니다.   lccn = 접두어..접미사;             LCCN 재조립  끝.    돌아가다 lccn;  끝.   --============================< If I FUNC ION S >>====================================  --[----------------------< AR X IV >------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  참조: https://arxiv.org/help/arxiv_identifier  형식 및 오류를 확인하여 arXiv 식별자.세 가지 형식의 식별자가 있습니다. 날짜 코드 9107과 0703 사이에서만 유효한 첫 번째 양식은 다음과 같습니다. arXiv:<archive>.<class>/<날짜 코드><번호><버전> 위치: <////////////////////////////////////////// <class>는 영문자 문자열입니다. 하이픈으로 연결할 수 있습니다. 다른 구두점은 사용할 수 없습니다. 이 형식에서 지원되지 않는 class= 매개 변수와 동일하지 않습니다. <날짜 코드>는 YYMM 형식의 4자리입니다. 여기서 YY는 4자리 연도의 마지막 2자리이고 MM은 1월 = 01입니다. 이 양식에 대한 YY의 첫 번째 숫자는 9와 0만 가능합니다. <number>는 세 자리 숫자입니다. <version>은 소문자 v 앞에 오는 1자리 이상의 숫자이며 공백은 없습니다(문서화되지 않음).   2007년 4월부터 2014년 12월까지 유효한 두 번째 양식은 다음과 같습니다. arXiv:<날짜 코드>.<번호><버전> 위치: <날짜 코드>는 YYMM 형식의 4자리입니다. 여기서 YY는 4자리 연도의 마지막 2자리이고 MM은 1월 = 01입니다. <number>는 네 자리 숫자입니다. <version>은 소문자 v 앞에 오는 1자리 이상의 숫자이며 공백은 없습니다.  2015년 1월부터 유효한 세 번째 양식은 다음과 같습니다. arXiv:<날짜 코드>.<번호><버전> 위치: <날짜 코드> 및 <버전>은 0704-1412에 대해 정의된 바와 같습니다. <number>는 다섯 자리 숫자입니다.  ]]  현지의 기능. arxiv의 (옵션들)  현지의 이드 = 옵션들.이드;  현지의 학급 = 옵션들.학급;            TODO: 소문자?  현지의 핸들러 = 옵션들.핸들러;  현지의 연도, , 버전;  현지의 err_msg = 거짓의;              오류 메시지가 없는 것으로 가정합니다.  현지의 본문;                 출력 텍스트    한다면 이드:경기("^%a[%a%.%-]+/[90]%d[01]%d%d%d%d$") 또는 이드:경기("^%a[%a%.%-]+/[90]%d[01]%d%d%dv%d+$") 그리고나서 버전이 있거나 없는 9107-0703 형식에 대한 테스트   연도,  = 이드:경기("^%a[%a%.%-]+/([90]%d)([01]%d)%d%d[v%d]*$");   연도 = 수에 달하여 (연도);    = 수에 달하여 ();   한다면 ((것은 아니다. (90 < 연도 또는 8 > 연도)) 또는 (1 >  또는 12 < )) 또는  유효하지 않은 해 또는 유효하지 않은 달인 경우    ((91 == 연도 그리고. 7 > ) 또는 (7 == 연도 그리고. 3 < )) 그리고나서  만약 년이 괜찮다면, 시작과 끝나는 달은 괜찮습니까?     err_msg = 진실의;             오류 메시지 플래그   끝.   그렇지 않으면 이드:경기("^%d%d[01]%d%.%d%d%d%d$") 또는 이드:경기("^%d%d[01]%d%.%d%d%d%dv%d+$") 그리고나서 버전 유무에 관계없이 0704-1412에 대한 테스트   연도,  = 이드:경기("^(%d%d)([01]%d)%.%d%d%d%d[v%d]*$");   연도 = 수에 달하여 (연도);    = 수에 달하여 ();   한다면 ((7 > 연도) 또는 (14 < 연도) 또는 (1 >  또는 12 < )) 또는   연도가 유효하지 않거나 월이 유효하지 않습니까?(향후 몇 년 동안은 테스트하지 않음)    ((7 == 연도) 그리고. (4 > )) 그리고나서         2007년이 언제입니까, 달은 유효하지 않습니까(4월 이전)?     err_msg = 진실의;             오류 메시지 플래그   끝.   그렇지 않으면 이드:경기("^%d%d[01]%d%.%d%d%d%d%d$") 또는 이드:경기("^%d%d[01]%d%.%d%d%d%d%dv%d+$") 그리고나서 1501 - 버전이 있거나 없는 형식에 대한 테스트   연도,  = 이드:경기("^(%d%d)([01]%d)%.%d%d%d%d%d[v%d]*$");   연도 = 수에 달하여 (연도);    = 수에 달하여 ();   한다면 ((15 > 연도) 또는 (1 >  또는 12 < )) 그리고나서      연도가 유효하지 않거나 월이 유효하지 않습니까?(향후 몇 년 동안은 테스트하지 않음)    err_msg = 진실의;              오류 메시지 플래그   끝.   또 다른   err_msg = 진실의;               인식할 수 있는 형식이 아닙니다. 오류 메시지 플래그입니다.  끝.   한다면 err_msg 그리고나서   옵션들.coins_t['ARXIV'] = 영의;         오류 발생 시, COinS에 포함되지 않도록 설정 해제  끝.    현지의 err_msg_t = {};  한다면 err_msg 그리고나서   세트_디젤 ('err_bad_arxiv');  끝.   본문 = external_link_id ({링크 = 핸들러.링크, 라벨. = 핸들러.라벨., q = 핸들러.q, 리다이렉트 = 핸들러.리다이렉트,    접두어 = 핸들러.접두어, 이드 = 이드, 구분자 = 핸들러.구분자, 부호화 = 핸들러.부호화, 접근 = 핸들러.접근});   한다면 is_set (학급) 그리고나서   한다면 이드:경기 ('^%d+') 그리고나서    본문 = 테이블.콘캣 ({본문, [//arxiv.org/archive/', 학급, ' ', 학급, ']]'}); 위키링크가 아닌 대괄호 안에 있는 외부 링크   또 다른    세트_디젤 ('err_class_message');   끝.  끝.   돌아가다 본문; 끝.   --[------------------------< BI CO DE >----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  비브 코드 ID의 유효성을 검사하고 형식을 지정합니다.  비브 코드의 형식은 https://adsabs.harvard.edu/abs_doc/help_pages/data.html#bibcodes 에서 지정합니다.  하지만, 이것: 2015arXiv151206696F는 분명히 유효하므로, 실제로 중요한 것은 길이, 19자뿐입니다. 처음 네 자리는 1년이어야 합니다.이 함수는 다음과 같은 테스트를 수행합니다. 길이는 19자여야 합니다. 위치에 있는 인물들 1-4는 숫자여야 하며 1000-내년 범위의 연도를 나타내야 합니다. 5는 문자여야 합니다. 6-8은 문자, 숫자, 앰퍼샌드 또는 도트여야 합니다(앰퍼샌드는 도트 바로 앞에 올 수 없습니다; &.). 9-18은 문자, 숫자 또는 점이어야 합니다. 19는 문자 또는 점이어야 합니다.  ]]  현지의 기능. 비브코드 (옵션들)  현지의 이드 = 옵션들.이드;  현지의 접근 = 옵션들.접근;  현지의 핸들러 = 옵션들.핸들러;  현지의 err_type;  현지의 err_msg = '';  현지의 연도;   현지의 본문 = external_link_id ({링크 = 핸들러.링크, 라벨. = 핸들러.라벨., q = 핸들러.q, 리다이렉트 = 핸들러.리다이렉트,   접두어 = 핸들러.접두어, 이드 = 이드, 구분자 = 핸들러.구분자, 부호화 = 핸들러.부호화,   접근 = 접근});    한다면 19 ~= 이드:() 그리고나서   err_type = cfg.err_msg_suppl.길이;  또 다른   연도 = 이드:경기 ("^(%d%d%d%d)[%a][%w&%.][%w&%.][%w&%][%w.]+[%a%]$");   한다면 것은 아니다. 연도 그리고나서              0인 경우 일치하는 패턴이 없습니다.    err_type = cfg.err_msg_suppl.가치;         so value   또 다른    현지의 내년 = 수에 달하여 (os.날짜 ('%Y')) + 1;     현재 연도를 숫자로 가져오고 내년에 하나를 추가합니다.    연도 = 수에 달하여 (연도);            비브코드의 연도 부분을 숫자로 변환    한다면 (1000 > 연도) 또는 (연도 > 내년) 그리고나서     err_type = cfg.err_msg_suppl.연도;        1년간 출입금지.    끝.    한다면 이드:찾아내다('&%.') 그리고나서     err_type = cfg.err_msg_suppl.일지의;       분개장 약어에는 '&.'이 없어야 합니다(있는 경우 문자가 누락됨).    끝.   끝.  끝.   한다면 is_set (err_type) 그리고나서             오류가 감지된 경우   세트_디젤 ('err_bad_bibcode', {err_type});   옵션들.coins_t['BIBCODE'] = 영의;         오류 발생 시, COinS에 포함되지 않도록 설정 해제   끝.   돌아가다 본문; 끝.   --[------------------------< BI OR X IV >------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  bioRxiv ID를 포맷하고 간단한 오류 확인을 수행합니다.2019-12-11 이전에는 biorXiv ID가 10.1101/ 그 다음이었습니다. 여섯 자리.2019-12-11 이후 biorXiv ID는 6자리 식별자를 유지했지만 yyyy.mm .dd로 접두사를 붙였습니다. 날짜와 선택적 버전 식별자로 뒤에 붙습니다.  bioRxiv ID는 문자 문자열입니다. https://doi.org/10.1101/078733 -> 10.1101/078733 또는 날짜 뒤에 6자리 숫자가 오고 선택적 버전 표시기 'v'와 하나 이상의 숫자가 오는 경우: https://www.biorxiv.org/content/10.1101/2019.12.11.123456v2 -> 10.1101/2019.12.11.123456v2   https://www.biorxiv.org/about-biorxiv 을 참조하십시오.  ]]  현지의 기능. 바이오르시브 (옵션들)  현지의 이드 = 옵션들.이드;  현지의 핸들러 = 옵션들.핸들러;  현지의 err_msg = 진실의;              flag; 오류가 있을 것으로 가정합니다.    현지의 패턴 = {   '^10.1101/%d%d%d%d%d%d
                
, 간단한 6자리 식별자(2019-12-11 이전) '^10.1101/(20[1-9]%d)%.([01]%d)%.([0-3]%d)%.%d%d%d%d%d%dv%d+
$$SIDE_BOTTOM$$
    $$BOTTOM$$