update template to adapt new drwater extensions

This commit is contained in:
2025-07-28 21:09:10 +08:00
parent e3a53e3177
commit c419bb7fda
64 changed files with 714 additions and 44873 deletions
Submodule _extensions/drwater added at 9e35fe0b89
-109
View File
@@ -1,109 +0,0 @@
.udot {
text-decoration-line: underline;
text-decoration-color: rgb(50, 50, 50);
text-decoration-style: dashed;
text-decoration-thickness: 1px;
}
.good {
background-color: forestgreen;
color: lightyellow;
}
.bad {
background-color: orangered;
color: lightyellow;
}
.del {
text-decoration-line: line-through;
text-decoration-color: rgb(222 13 13);
text-decoration-style: initial;
text-decoration-thickness: 1.5px;
}
.todo {
background-color: darkorange;
color: lightyellow;
}
.com {
background-color: #0025ff;
font-weight: bold;
color: lightyellow;
}
.add {
text-decoration-line: underline;
text-decoration-color: rgb(222 13 13);
background-color: violet;
text-decoration-style: initial;
text-decoration-thickness: 2px;
}
del {
text-decoration-line: line-through;
text-decoration-color: rgb(222 13 13);
text-decoration-style: initial;
text-decoration-thickness: 1.0px;
}
ins {
text-decoration-color: rgb(222 93 93);
background-color: violet;
text-decoration-style: initial;
text-decoration-thickness: 2px;
}
.clab {
background-color: rgb(255, 245, 240);
}
.rem {
background-color: darkorange;
color: lightyellow;
text-decoration-thickness: 2px;
}
#criticnav {
position: fixed;
z-index: 1100;
top: 0;
right: 0;
width: 120px;
border-bottom: solid 1px #ffffff;
margin: 0;
padding: 10;
background-color: rgb(143 38 38 / 95%);
color: #ffffff;
font-size: 12px;
font-family: "Helvetica Neue", helvetica, arial, sans-serif !important
}
#criticnav ul {
list-style-type: none;
width: 90%;
margin: 0 auto;
padding: 0
}
#criticnav ul li {
display: block;
width: 100px;
min-width: 80px;
text-align: center;
padding: 5px 0 3px !important;
margin: 5px 2px !important;
line-height: 1em;
float: center;
text-transform: uppercase;
cursor: pointer;
border-radius: 20px;
border: 3px solid rgba(255,255,255,0);
color: #fff !important
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

@@ -1,280 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" page-range-format="expanded" default-locale="en-US">
<info>
<title>American Chemical Society</title>
<title-short>ACS</title-short>
<id>http://www.zotero.org/styles/american-chemical-society</id>
<link href="http://www.zotero.org/styles/american-chemical-society" rel="self"/>
<link href="https://pubs.acs.org/doi/full/10.1021/acsguide.40303" rel="documentation"/>
<link href="https://pubs.acs.org/doi/book/10.1021/acsguide" rel="documentation"/>
<author>
<name>Julian Onions</name>
<email>julian.onions@gmail.com</email>
</author>
<contributor>
<name>Ivan Bushmarinov</name>
<email>ib@ineos.ac.ru</email>
</contributor>
<contributor>
<name>Sebastian Karcher</name>
</contributor>
<category citation-format="numeric"/>
<category field="chemistry"/>
<summary>The American Chemical Society style</summary>
<updated>2021-06-04T03:27:50+00:00</updated>
<rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
</info>
<locale xml:lang="en">
<terms>
<term name="editortranslator" form="short">
<single>ed. and translator</single>
<multiple>eds. and translators</multiple>
</term>
<term name="translator" form="short">
<single>translator</single>
<multiple>translators</multiple>
</term>
<term name="collection-editor" form="short">
<single>series ed.</single>
<multiple>series eds.</multiple>
</term>
</terms>
</locale>
<macro name="editor">
<group delimiter="; ">
<names variable="editor translator" delimiter="; ">
<name sort-separator=", " initialize-with=". " name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>
<label form="short" prefix=", " text-case="title"/>
</names>
<names variable="collection-editor">
<name sort-separator=", " initialize-with=". " name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>
<label form="short" prefix=", " text-case="title"/>
</names>
</group>
</macro>
<macro name="author">
<names variable="author" suffix=".">
<name sort-separator=", " initialize-with=". " name-as-sort-order="all" delimiter="; " delimiter-precedes-last="always"/>
<label form="short" prefix=", " text-case="capitalize-first"/>
</names>
</macro>
<macro name="publisher">
<choose>
<if type="thesis" match="any">
<group delimiter=", ">
<text variable="publisher"/>
<text variable="publisher-place"/>
</group>
</if>
<else>
<group delimiter=": ">
<text variable="publisher"/>
<text variable="publisher-place"/>
</group>
</else>
</choose>
</macro>
<macro name="title">
<choose>
<if type="bill book graphic legal_case legislation motion_picture report song" match="any">
<text variable="title" text-case="title" font-style="italic"/>
</if>
<else>
<text variable="title" text-case="title"/>
</else>
</choose>
</macro>
<macro name="volume">
<group delimiter=" ">
<text term="volume" form="short" text-case="capitalize-first"/>
<text variable="volume"/>
</group>
</macro>
<macro name="series">
<text variable="collection-title"/>
</macro>
<macro name="pages">
<label variable="page" form="short" suffix=" " strip-periods="true"/>
<text variable="page"/>
</macro>
<macro name="book-container">
<group delimiter=". ">
<text macro="title"/>
<choose>
<if type="entry-dictionary entry-encyclopedia" match="none">
<group delimiter=" ">
<text term="in" text-case="capitalize-first"/>
<text variable="container-title" font-style="italic"/>
</group>
</if>
<else>
<text variable="container-title" font-style="italic"/>
</else>
</choose>
</group>
</macro>
<macro name="issued">
<date variable="issued" delimiter=" ">
<date-part name="year"/>
</date>
</macro>
<macro name="full-issued">
<date variable="issued" delimiter=" ">
<date-part name="month" form="long" suffix=" "/>
<date-part name="day" suffix=", "/>
<date-part name="year"/>
</date>
</macro>
<macro name="edition">
<choose>
<if is-numeric="edition">
<group delimiter=" ">
<number variable="edition" form="ordinal"/>
<text term="edition" form="short"/>
</group>
</if>
<else>
<text variable="edition" suffix="."/>
</else>
</choose>
</macro>
<citation collapse="citation-number">
<sort>
<key variable="citation-number"/>
</sort>
<layout delimiter="," vertical-align="sup">
<text variable="citation-number"/>
</layout>
</citation>
<bibliography second-field-align="flush" entry-spacing="0">
<layout suffix=".">
<text variable="citation-number" prefix="(" suffix=") "/>
<text macro="author" suffix=" "/>
<choose>
<if type="article-journal review" match="any">
<group delimiter=" ">
<text macro="title" suffix="."/>
<text variable="container-title" font-style="italic" form="short"/>
<group delimiter=", ">
<text macro="issued" font-weight="bold"/>
<choose>
<if variable="volume">
<group delimiter=" ">
<text variable="volume" font-style="italic"/>
<text variable="issue" prefix="(" suffix=")"/>
</group>
</if>
<else>
<group delimiter=" ">
<text term="issue" form="short" text-case="capitalize-first"/>
<text variable="issue"/>
</group>
</else>
</choose>
<text variable="page"/>
</group>
</group>
</if>
<else-if type="article-magazine article-newspaper article" match="any">
<group delimiter=" ">
<text macro="title" suffix="."/>
<text variable="container-title" font-style="italic" suffix="."/>
<text macro="edition"/>
<text macro="publisher"/>
<group delimiter=", ">
<text macro="full-issued"/>
<text macro="pages"/>
</group>
</group>
</else-if>
<else-if type="thesis">
<group delimiter=", ">
<group delimiter=". ">
<text macro="title"/>
<text variable="genre"/>
</group>
<text macro="publisher"/>
<text macro="issued"/>
<text macro="volume"/>
<text macro="pages"/>
</group>
</else-if>
<else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
<group delimiter="; ">
<group delimiter=", ">
<text macro="title"/>
<text macro="edition"/>
</group>
<text macro="editor" prefix=" "/>
<text macro="series"/>
<choose>
<if type="report">
<group delimiter=" ">
<text variable="genre"/>
<text variable="number"/>
</group>
</if>
</choose>
<group delimiter=", ">
<text macro="publisher"/>
<text macro="issued"/>
</group>
<group delimiter=", ">
<text macro="volume"/>
<text macro="pages"/>
</group>
</group>
</else-if>
<else-if type="patent">
<group delimiter=", ">
<group delimiter=". ">
<text macro="title"/>
<text variable="number"/>
</group>
<date variable="issued" form="text"/>
</group>
</else-if>
<else-if type="chapter paper-conference entry-dictionary entry-encyclopedia" match="any">
<group delimiter="; ">
<text macro="book-container"/>
<text macro="editor"/>
<text macro="series"/>
<group delimiter=", ">
<text macro="publisher"/>
<text macro="issued"/>
</group>
<group delimiter=", ">
<text macro="volume"/>
<text macro="pages"/>
</group>
</group>
</else-if>
<else-if type="webpage">
<group delimiter=" ">
<text variable="title"/>
<text variable="URL"/>
<date variable="accessed" prefix="(accessed " suffix=")" delimiter=" ">
<date-part name="year"/>
<date-part name="month" prefix="-" form="numeric-leading-zeros"/>
<date-part name="day" prefix="-" form="numeric-leading-zeros"/>
</date>
</group>
</else-if>
<else>
<group delimiter=", ">
<group delimiter=". ">
<text macro="title"/>
<text variable="container-title" font-style="italic"/>
</group>
<group delimiter=", ">
<text macro="issued"/>
<text variable="volume" font-style="italic"/>
<text variable="page"/>
</group>
</group>
</else>
</choose>
<text variable="DOI" prefix=". https://doi.org/"/>
</layout>
</bibliography>
</style>
@@ -1,435 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" class="in-text" names-delimiter=". " name-as-sort-order="all" sort-separator=" " demote-non-dropping-particle="never" initialize-with=" " initialize-with-hyphen="false" page-range-format="expanded" default-locale="zh-CN">
<info>
<title>China National Standard GB/T 7714-2015 (numeric, 中文)</title>
<id>http://www.zotero.org/styles/china-national-standard-gb-t-7714-2015-numeric</id>
<link href="http://www.zotero.org/styles/china-national-standard-gb-t-7714-2015-numeric" rel="self"/>
<link href="http://std.samr.gov.cn/gb/search/gbDetailed?id=71F772D8055ED3A7E05397BE0A0AB82A" rel="documentation"/>
<author>
<name>牛耕田</name>
<email>buffalo_d@163.com</email>
</author>
<contributor>
<name>Zeping Lee</name>
<email>zepinglee@gmail.com</email>
</contributor>
<category citation-format="numeric"/>
<category field="generic-base"/>
<summary>The Chinese GB/T 7714-2015 numeric style</summary>
<updated>2022-02-23T10:44:01+00:00</updated>
<rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
</info>
<locale xml:lang="zh-CN">
<date form="text">
<date-part name="year" suffix="年" range-delimiter="&#8212;"/>
<date-part name="month" form="numeric" suffix="月" range-delimiter="&#8212;"/>
<date-part name="day" suffix="日" range-delimiter="&#8212;"/>
</date>
<terms>
<term name="edition" form="short">版</term>
<term name="open-quote">“</term>
<term name="close-quote">”</term>
<term name="open-inner-quote"></term>
<term name="close-inner-quote"></term>
</terms>
</locale>
<locale>
<date form="numeric">
<date-part name="year" range-delimiter="/"/>
<date-part name="month" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>
<date-part name="day" form="numeric-leading-zeros" prefix="-" range-delimiter="/"/>
</date>
<terms>
<term name="page-range-delimiter">-</term>
</terms>
</locale>
<!-- 引用日期 -->
<macro name="accessed-date">
<date variable="accessed" form="numeric" prefix="[" suffix="]"/>
</macro>
<!-- 主要责任者 -->
<macro name="author">
<names variable="author">
<name>
<name-part name="family" text-case="uppercase"/>
<name-part name="given"/>
</name>
<substitute>
<names variable="composer"/>
<names variable="illustrator"/>
<names variable="director"/>
<choose>
<if variable="container-title" match="none">
<names variable="editor"/>
</if>
</choose>
</substitute>
</names>
</macro>
<!-- 书籍的卷号(“第 x 卷”或“第 x 册”) -->
<macro name="book-volume">
<choose>
<if type="article article-journal article-magazine article-newspaper periodical" match="none">
<choose>
<if is-numeric="volume">
<group delimiter=" ">
<label variable="volume" form="short" text-case="capitalize-first"/>
<text variable="volume"/>
</group>
</if>
<else>
<text variable="volume"/>
</else>
</choose>
</if>
</choose>
</macro>
<!-- 专著主要责任者 -->
<macro name="container-author">
<names variable="editor">
<name>
<name-part name="family" text-case="uppercase"/>
<name-part name="given"/>
</name>
<substitute>
<names variable="editorial-director"/>
<names variable="collection-editor"/>
<names variable="container-author"/>
</substitute>
</names>
</macro>
<!-- 专著题名 -->
<macro name="container-title">
<group delimiter=", ">
<group delimiter=": ">
<choose>
<if variable="container-title">
<text variable="container-title"/>
</if>
<else>
<text variable="event"/>
</else>
</choose>
<text macro="book-volume"/>
</group>
<choose>
<if variable="event-date">
<date variable="event-date" form="text"/>
<text variable="event-place"/>
</if>
</choose>
</group>
</macro>
<!-- 版本项 -->
<macro name="edition">
<choose>
<if is-numeric="edition">
<group delimiter=" ">
<number variable="edition" form="ordinal"/>
<text term="edition" form="short"/>
</group>
</if>
<else>
<text variable="edition"/>
</else>
</choose>
</macro>
<!-- 电子资源的更新或修改日期 -->
<macro name="issued-date">
<date variable="issued" form="numeric"/>
</macro>
<!-- 出版年 -->
<macro name="issued-year">
<choose>
<if is-uncertain-date="issued">
<date variable="issued" prefix="[" suffix="]">
<date-part name="year" range-delimiter="-"/>
</date>
</if>
<else>
<date variable="issued">
<date-part name="year" range-delimiter="-"/>
</date>
</else>
</choose>
</macro>
<!-- 专著的出版项 -->
<macro name="publishing">
<group delimiter=": ">
<group delimiter=", ">
<group delimiter=": ">
<text variable="publisher-place"/>
<text variable="publisher"/>
</group>
<!-- 非电子资源显示“出版年” -->
<choose>
<if variable="publisher page" type="book chapter paper-conference thesis" match="any">
<text macro="issued-year"/>
</if>
<else-if variable="URL DOI" match="none">
<text macro="issued-year"/>
</else-if>
</choose>
</group>
<text variable="page"/>
</group>
<choose>
<!-- 纯电子资源显示“更新或修改日期” -->
<if variable="publisher page" type="book chapter paper-conference thesis" match="none">
<choose>
<if variable="URL DOI" match="any">
<text macro="issued-date" prefix="(" suffix=")"/>
</if>
</choose>
</if>
</choose>
<text macro="accessed-date"/>
</macro>
<!-- 其他责任者 -->
<macro name="secondary-contributor">
<names variable="translator">
<name>
<name-part name="family" text-case="uppercase"/>
<name-part name="given"/>
</name>
<label form="short" prefix=", "/>
</names>
</macro>
<!-- 连续出版物中的析出文献的出处项(年、卷、期等信息) -->
<macro name="periodical-publishing">
<group>
<group delimiter=": ">
<group>
<group delimiter=", ">
<text macro="container-title" text-case="title"/>
<choose>
<if type="article-newspaper">
<text macro="issued-date"/>
</if>
<else>
<text macro="issued-year"/>
</else>
</choose>
<text variable="volume"/>
</group>
<text variable="issue" prefix="(" suffix=")"/>
</group>
<text variable="page"/>
</group>
<text macro="accessed-date"/>
</group>
</macro>
<!-- 题名 -->
<macro name="title">
<group delimiter=", ">
<group delimiter=": ">
<text variable="title"/>
<group delimiter="&#8195;">
<choose>
<if variable="container-title" type="paper-conference" match="none">
<text macro="book-volume"/>
</if>
</choose>
<choose>
<if type="bill legal_case legislation patent regulation report standard" match="any">
<text variable="number"/>
</if>
</choose>
</group>
</group>
<choose>
<if variable="container-title" type="paper-conference" match="none">
<choose>
<if variable="event-date">
<text variable="event-place"/>
<date variable="event-date" form="text"/>
</if>
</choose>
</if>
</choose>
</group>
<text macro="type-code" prefix="[" suffix="]"/>
</macro>
<!-- 文献类型标识 -->
<macro name="type-code">
<group delimiter="/">
<choose>
<if type="article">
<choose>
<if variable="archive">
<text value="A"/>
</if>
<else>
<text value="M"/>
</else>
</choose>
</if>
<else-if type="article-journal article-magazine periodical" match="any">
<text value="J"/>
</else-if>
<else-if type="article-newspaper">
<text value="N"/>
</else-if>
<else-if type="bill collection legal_case legislation regulation" match="any">
<text value="A"/>
</else-if>
<else-if type="book chapter" match="any">
<text value="M"/>
</else-if>
<else-if type="dataset">
<text value="DS"/>
</else-if>
<else-if type="map">
<text value="CM"/>
</else-if>
<else-if type="paper-conference">
<text value="C"/>
</else-if>
<else-if type="patent">
<text value="P"/>
</else-if>
<else-if type="post post-weblog webpage" match="any">
<text value="EB"/>
</else-if>
<else-if type="report">
<text value="R"/>
</else-if>
<else-if type="software">
<text value="CP"/>
</else-if>
<else-if type="standard">
<text value="S"/>
</else-if>
<else-if type="thesis">
<text value="D"/>
</else-if>
<else>
<text value="Z"/>
</else>
</choose>
<choose>
<if variable="URL DOI" match="any">
<text value="OL"/>
</if>
</choose>
</group>
</macro>
<!-- 获取和访问路径以及 DOI -->
<macro name="url-doi">
<group delimiter=". ">
<text variable="URL"/>
<text variable="DOI" prefix="DOI:"/>
</group>
</macro>
<!-- 连续出版物的年卷期 -->
<macro name="year-volume-issue">
<group>
<group delimiter=", ">
<text macro="issued-year"/>
<text variable="volume"/>
</group>
<text variable="issue" prefix="(" suffix=")"/>
</group>
</macro>
<!-- 专著和电子资源 -->
<macro name="monograph-layout">
<group delimiter=". " suffix=".">
<text macro="author"/>
<text macro="title"/>
<text macro="secondary-contributor"/>
<text macro="edition"/>
<text macro="publishing"/>
<text macro="url-doi"/>
</group>
</macro>
<!-- 专著中的析出文献 -->
<macro name="chapter-in-book-layout">
<group delimiter=". " suffix=".">
<text macro="author"/>
<group delimiter="//">
<group delimiter=". ">
<text macro="title"/>
<text macro="secondary-contributor"/>
</group>
<group delimiter=". ">
<text macro="container-author"/>
<text macro="container-title"/>
</group>
</group>
<text macro="edition"/>
<text macro="publishing"/>
<text macro="url-doi"/>
</group>
</macro>
<!-- 连续出版物 -->
<macro name="serial-layout">
<group delimiter=". " suffix=".">
<text macro="author"/>
<text macro="title"/>
<text macro="year-volume-issue"/>
<text macro="publishing"/>
<text variable="URL"/>
<text variable="DOI" prefix="DOI:"/>
</group>
</macro>
<!-- 连续出版物中的析出文献 -->
<macro name="article-in-periodical-layout">
<group delimiter=". " suffix=".">
<text macro="author"/>
<text macro="title"/>
<text macro="periodical-publishing"/>
<text macro="url-doi"/>
</group>
</macro>
<!-- 专利文献 -->
<macro name="patent-layout">
<group delimiter=". " suffix=".">
<text macro="author"/>
<text macro="title"/>
<group>
<text macro="issued-date"/>
<text macro="accessed-date"/>
</group>
<text macro="url-doi"/>
</group>
</macro>
<!-- 正文中引用的文献标注格式 -->
<macro name="citation-layout">
<group>
<text variable="citation-number"/>
</group>
</macro>
<!-- 参考文献表格式 -->
<macro name="entry-layout">
<choose>
<if type="article-journal article-magazine article-newspaper" match="any">
<text macro="article-in-periodical-layout"/>
</if>
<else-if type="periodical">
<text macro="serial-layout"/>
</else-if>
<else-if type="patent">
<text macro="patent-layout"/>
</else-if>
<else-if type="paper-conference" variable="container-title" match="any">
<text macro="chapter-in-book-layout"/>
</else-if>
<else>
<text macro="monograph-layout"/>
</else>
</choose>
</macro>
<citation collapse="citation-number" after-collapse-delimiter=",">
<layout vertical-align="sup" delimiter="," prefix="[" suffix="]">
<text macro="citation-layout"/>
</layout>
</citation>
<bibliography entry-spacing="0" et-al-min="4" et-al-use-first="3" second-field-align="flush">
<!-- 取消这部分注释可以使用 CSL-M 的功能支持双语 -->
<!-- <layout locale="en"><text variable="citation-number" prefix="[" suffix="]"/><text macro="entry-layout"/></layout> -->
<layout>
<text variable="citation-number" prefix="[" suffix="]"/>
<text macro="entry-layout"/>
</layout>
</bibliography>
</style>
-240
View File
@@ -1,240 +0,0 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Academic Letter LaTeX and RMarkdown Structure %
% Author: Pedro Henrique Pereira Braga %
% %
% License: %
% CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/) %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Set the font size (11pt, for now) and paper size (e.g. letterpaper, a4paper)
\documentclass[11pt, letterpaper]{letter}
%----------------------------------------------------------------------
% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS
%----------------------------------------------------------------------
\usepackage{graphicx} % Required for including pictures
\usepackage{fancyhdr} % Allows the use of fancy headers and footers
\usepackage{microtype} % For typography improvement
\usepackage{url} % Allows the use of hyperlinks
\urlstyle{same} % Allows hyperlink fonts to be the same as the mainfont
\usepackage[hidelinks]{hyperref} % Allows the use of hyperlinks and
% removes the blue boxes around the link
\pagestyle{empty} % Removes headers and footers
\usepackage{setspace} % Allows the use of double spacing in the letter body
\setlength\parindent{1cm} % Paragraph indentation
% Create a new command for the horizontal rule in the document which allows
% thickness specification
\makeatletter
\def\@texttop{} % force the address to start above
\renewcommand*{\opening}[1]{\ifx\@empty\fromaddress
\thispagestyle{firstpage}%
{\raggedleft\@date\par}%
\else % home address
\thispagestyle{empty}%
{\raggedleft\begin{tabular}{l@{}}\ignorespaces
\fromaddress \\*[2\parskip]%
\@date \end{tabular}\par}%
\fi
%\vspace{2\parskip}% <-- Removed
%{\raggedright \toname \\ \toaddress \par}% <-- Removed
%\vspace{2\parskip}% <-- Removed
#1\par\nobreak}
\let\ps@empty\ps@plain
\let\ps@firstpage\ps@plain
\makeatother
%--------------------------------------------------------------------------
% FONTS
%--------------------------------------------------------------------------
\usepackage[T1]{fontenc} % Output font encoding for international characters
% \usepackage[utf8]{inputenc} % Required for inputting international characters
\usepackage[quiet]{fontspec} % Allows the use of fontspec
\setmainfont{Calibri}
% \usepackage{txfonts} % Allows the use of Lato fonts
%----------------------------------------------------------------------------
% DOCUMENT MARGINS
%----------------------------------------------------------------------------
\usepackage{geometry} % Required for adjusting page dimensions
\geometry{
headheight = 0.7in, % Header height
top=1.5in, % Top margin
bottom=1.5cm, % Bottom margin
left=3cm, % Left margin
right=3cm, % Right margin
% showframe, % Uncomment to show how the type block is set on the page
}
%-----------------------------------------------------------------------------
% AUTHOR AND RECIPIENTS NEW COMMANDS AND DETAILS STRUCTURE
%-----------------------------------------------------------------------------
\newcommand{\authordetails}[1]{\renewcommand{\authordetails}{#1}}
\newcommand{\recipientdetails}[1]{\renewcommand{\recipientdetails}{#1}}
%-----------------------------------------------------------------------------
% HEADER STRUCTURE
%-----------------------------------------------------------------------------
\address{
% Include the author's details on the right side of the page under the line
\raggedleft{
\footnotesize{ % Use a smaller font size
$author$\\ % Author name
\authordetails\\
\hspace{1mm}
}
}
\vspace{-0.05\textheight} % Move the date and letter content up
}
%------------------------------------------------------------------------------
% COMPOSE THE ENTIRE HEADER
%------------------------------------------------------------------------------
\renewcommand{\opening}[1]{
{\fromaddress
\vspace{0.05\textheight}\\ % Print the sender's address here and add some whitespace to allow the printing of the date
\raggedleft{$date$} % Include the date, aligned to the right
\par % par
}
{\raggedright
\toname\\
\toaddress
\par} % Print the recipient's name and adress
\vspace{0.25cm} % White vertical space after recipient's address
\noindent #1 % Following this, insert the opening info
}
%------------------------------------------------------------------------------
% SIGNATURE STRUCTURE
%------------------------------------------------------------------------------
% The signature is a combination of the author's name, title and institution
\signature{$author$, on behalf of all authors\\
Email: $from_email$}
% I will later combine the option of inserting a signature within it
\renewcommand{\closing}[1]{
\vspace{2.5mm} % Some whitespace after the letter content and before the signature
\noindent % Stop paragraph indentation
% \hspace*{\longindentation} % Move the signature right to the value of \longindentation
\parbox{\indentedwidth}{
\raggedright
#1 % Print the signature text
% \vskip 1.65cm % Whitespace between the closing text and author's name for a physical signature
\\\includegraphics[height=0.6in, keepaspectratio=true]{$from_sign$}\\
\fromsig % Prints the value of \signature{}, i.e. author name and title
}
}
%-------------------------------------------------------------------------------
% AUTHOR'S INFORMATION
%-------------------------------------------------------------------------------
\authordetails{
$from_position$\\
$from_department$\\ % Sender's department/institution
$from_institution$\\
$from_address$ % Sender's address
% $from_city$, $from_state_province$\\ % Sender's city, state or province,
% $from_postalcode$\\ % postal code
% $from_country$
}
%------------------------------------------------------------------------------
% RECIPIENT'S INFORMATION
%------------------------------------------------------------------------------
\recipientdetails{
$to_professional_title$ $to_name$\\
$if(to_journal)$
\textit{$to_journal$}
$endif$
}
%------------------------------------------------------------------------------
% HEADER CONTENTS
%------------------------------------------------------------------------------
\fancypagestyle{firstpage}{
\fancyhf{}
\fancyhead[L]{
\includegraphics[height=0.6in, keepaspectratio=true]{$from_institution_logo$}
}
\fancyhead[R]{$author$\\
\footnotesize{
$from_email$\\ % Sender's email address
% $from_personal_website$ \\ % Sender's URL
$from_phone$ % Sender's phone number
}
}
}
\fancypagestyle{plain}{
\fancyhf{}
\fancyhead[L]{
\includegraphics[height=0.6in, keepaspectratio=true]{$from_institution_logo$}
}
\fancyhead[R]{$author$\\
\footnotesize{
$from_email$\\ % Sender's email address
% $from_personal_website$ \\ % Sender's URL
$from_phone$ % Sender's phone number
}
}
}
\fancypagestyle{empty}{
\fancyhf{}
\fancyhead[L]{
\includegraphics[height=0.6in, keepaspectratio=true]{$from_institution_logo$}
}
\fancyhead[R]{$author$\\
\footnotesize{
$from_email$\\ % Sender's email address
% $from_personal_website$ \\ % Sender's URL
$from_phone$ % Sender's phone number
}
}
}
%------------------------------------------------------------------------------
\pagestyle{plain}
\begin{document}
%------------------------------------------------------------------------------
% TO ADDRESS
%------------------------------------------------------------------------------
\begin{letter}{\recipientdetails}
%------------------------------------------------------------------------------
% LETTER CONTENT
%------------------------------------------------------------------------------
\opening{$opening_greeting$}
% \begin{doublespacing}
$body$
% \end{doublespacing}
\closing{$closing_greeting$}
%------------------------------------------------------------------------------
\end{letter}
\end{document}
-426
View File
@@ -1,426 +0,0 @@
$-- Keeping in template layout for backward compatibility
\documentclass[$if(layout)$$layout$$else$$for(classoption)$$classoption$$sep$,$endfor$$endif$]{elsarticle} %review=doublespace preprint=single 5p=2 column
%%% Begin My package additions %%%%%%%%%%%%%%%%%%%
\usepackage[hyphens]{url}
$if(journal)$
\journal{$journal$} % Sets Journal name
$endif$
\usepackage{lineno} % add
$if(linenumbers)$
\linenumbers % turns line numbering on
$endif$
\usepackage{graphicx}
\usepackage{xstring}
\usepackage[table]{xcolor}
%%%%%%%%%%%%%%%% end my additions to header
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
\usepackage{ifxetex,ifluatex}
\usepackage{fixltx2e} % provides \textsubscript
% use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
\usepackage[utf8]{inputenc}
$if(euro)$
\usepackage{eurosym}
$endif$
\else % if luatex or xelatex
\usepackage{fontspec}
\ifxetex
\usepackage{xltxtra,xunicode}
\fi
\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
\newcommand{\euro}{}
$if(mainfont)$
\setmainfont{$mainfont$}
$endif$
$if(sansfont)$
\setsansfont{$sansfont$}
$endif$
$if(monofont)$
\setmonofont{$monofont$}
$endif$
$if(mathfont)$
\setmathfont{$mathfont$}
$endif$
\fi
% use microtype if available
\IfFileExists{microtype.sty}{\usepackage{microtype}}{}
$if(geometry)$
\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
$endif$
$if(natbib)$
\usepackage{natbib}
\setcitestyle{$natbiboptions$}
\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$}
$endif$
$if(listings)$
\usepackage{listings}
$endif$
$if(lhs)$
\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{}
$endif$
$if(verbatim-in-note)$
\usepackage{fancyvrb}
$endif$
$if(graphics)$
\usepackage{graphicx}
$endif$
\ifxetex
\usepackage[setpagesize=false, % page size defined by xetex
unicode=false, % unicode breaks when used with xetex
xetex]{hyperref}
\else
\usepackage[unicode=true]{hyperref}
\fi
\hypersetup{breaklinks=true,
bookmarks=true,
pdfauthor={$author-meta$},
pdftitle={$title-meta$},
colorlinks=$if(colorlinks)$true$else$false$endif$,
urlcolor=$if(urlcolor)$$urlcolor$$else$blue$endif$,
linkcolor=$if(linkcolor)$$linkcolor$$else$magenta$endif$,
pdfborder={0 0 0}}
\urlstyle{same} % don't use monospace font for urls
$if(links-as-notes)$
% Make links footnotes instead of hotlinks:
\renewcommand{\href}[2]{#2\footnote{\url{#1}}}
$endif$
$if(strikeout)$
\usepackage[normalem]{ulem}
% avoid problems with \sout in headers with hyperref:
\pdfstringdefDisableCommands{\renewcommand{\sout}{}}
$endif$
$if(numbersections)$
\setcounter{secnumdepth}{5}
$else$
\setcounter{secnumdepth}{0}
$endif$
$if(verbatim-in-note)$
\VerbatimFootnotes % allows verbatim text in footnotes
$endif$
$if(lang)$
\ifxetex
\usepackage{polyglossia}
\setmainlanguage{$mainlang$}
\else
\usepackage[$lang$]{babel}
\fi
$endif$
% Pandoc toggle for numbering sections (defaults to be off)
$if(numbersections)$
$else$
\setcounter{secnumdepth}{0}
$endif$
$if(highlighting-macros)$
% Pandoc syntax highlighting
$highlighting-macros$
$endif$
% tightlist command for lists without linebreak
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
$if(tables)$
% From pandoc table feature
\usepackage{longtable,booktabs,array}
$if(multirow)$
\usepackage{multirow}
$endif$
\usepackage{calc} % for calculating minipage widths
% Correct order of tables after \paragraph or \subparagraph
\usepackage{etoolbox}
\makeatletter
\patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{}
\makeatother
% Allow footnotes in longtable head/foot
\IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}}
\makesavenoteenv{longtable}
$endif$
$if(csl-refs)$
% Pandoc citation processing
\newlength{\cslhangindent}
\setlength{\cslhangindent}{1.5em}
\newlength{\csllabelwidth}
\setlength{\csllabelwidth}{3em}
\newlength{\cslentryspacingunit} % times entry-spacing
\setlength{\cslentryspacingunit}{\parskip}
% for Pandoc 2.8 to 2.10.1
\newenvironment{cslreferences}%
{$if(csl-hanging-indent)$\setlength{\parindent}{0pt}%
\everypar{\setlength{\hangindent}{\cslhangindent}}\ignorespaces$endif$}%
{\par}
% For Pandoc 2.11+
\newenvironment{CSLReferences}[2] % #1 hanging-ident, #2 entry spacing
{% don't indent paragraphs
\setlength{\parindent}{0pt}
% turn on hanging indent if param 1 is 1
\ifodd #1
\let\oldpar\par
\def\par{\hangindent=\cslhangindent\oldpar}
\fi
% set entry spacing
\setlength{\parskip}{#2\cslentryspacingunit}
}%
{}
\usepackage{calc}
\newcommand{\CSLBlock}[1]{#1\hfill\break}
\newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{#1}}
\newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{#1}\break}
\newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1}
$endif$
$for(header-includes)$
$header-includes$
$endfor$
\usepackage{xifthen}
% set special color for EST
\ifthenelse{\equal{$journal$}{Environmental Science \& Technology}}
{\definecolor{seccol}{RGB}{56, 95, 66}}
{\definecolor{seccol}{RGB}{0, 0, 0}}
$if(uppersections)$
\usepackage{titlesec}
\titleformat{\section}
{\color{seccol}\large\bfseries\MakeUppercase}{\thesection}{1em}{}
$endif$
$if(sectiononnewpage)$
\AddToHook{cmd/section/before}{\clearpage}
$endif$
\usepackage{enumitem}
\usepackage{fontspec}
\usepackage{float}
\setmainfont{Helvetica}
\usepackage[normalem]{ulem}
\usepackage{hyperref}
\usepackage{nameref} %needed by zref-xr
\usepackage{zref-xr,zref-hyperref,zref-user}
\usepackage{xr-hyper}
% force to use \zref
$if(msname)$
\def\msname{$msname$}
\zexternaldocument*{\msname}
\renewcommand{\ref}{\zref}
$endif$
$if(smname)$
\def\smname{$smname$}
\zexternaldocument*{\smname}
$endif$
\zxrsetup{toltxlabel=true}
{\catcode`\#=12 \gdef\hashchar{#1}}
\makeatletter
\newcommand\hzref[1]{\edef\next{%
\noexpand\href{%
\zref@extractdefault{#1}{url}{}%
\zref@ifrefcontainsprop{#1}{anchor}{%
\hashchar\zref@extract{#1}{anchor}}{}}%
{\noexpand\zref{#1}}}\next}
\makeatother
$if(revision)$
% \usepackage{xcolor}
\usepackage{adjustbox}
\usepackage{mdframed}
\newmdenv[topline=false,
leftline=true,
bottomline=false,
rightline=false,
linewidth=3pt,
%backgroundcolor=lightgray,
linecolor=gray!30,
backgroundcolor=gray!5,
skipabove=\topsep,
skipbelow=\topsep,
leftmargin=0pt,
rightmargin=0pt,
innertopmargin=0pt,
innerbottommargin=0pt
]{refquote}
\newmdenv[topline=false,
leftline=true,
bottomline=false,
rightline=false,
linewidth=3pt,
%backgroundcolor=lightgray,
backgroundcolor=red!3!white,
linecolor=red!30!white,
skipabove=\topsep,
skipbelow=\topsep,
leftmargin=0pt,
rightmargin=0pt,
innertopmargin=10pt,
innerbottommargin=10pt
]{question}
\setenumerate{labelsep=*, leftmargin=1.0pc}
% setup hyperlink for page and line number
\def\msname{$if(msname)$$msname$$else$MS$endif$}
\def\smname{$if(smname)$$smname$$else$SM$endif$}
\setenumerate{labelsep=*, leftmargin=1.0pc}
%\zexternaldocument*{ManuscriptNew\veraa}
\zexternaldocument*{\msname}
\zexternaldocument*{\smname}
\newcommand{\hlabel}[1]{\label{#1}\hypertarget{#1}{
\linelabel{line:#1}}}
%\externaldocument[si-]{\smname\veraa}[\smname\veraa.pdf]
\makeatletter
\newcommand{\clab}[2]{%
\protected@write\@auxout{\let\clab\@secondoftwo}{
\string\newlabel{r:#1}{{#2}{}}}%
\hlabel{#1}#2\hlabel{#1end}}
\makeatother
\newcommand{\zhypera}[1]{\href[pdfnewwindow]{\msname.pdf\##1}{\\[1ex]\textbf{Page \zpageref{#1}, Line
\zref{line:#1}--\zref{line:#1end}:}\\}}
\newcommand{\cref}[1]{\begin{refquote}\zhypera{#1}{\zref{r:#1}}\\[-0.5ex]\end{refquote}}
% \newenvironment{ra}[1][\unskip]{\par \noindent \\[-1ex] \textbf{Response/Action:}\par\bf}{\ \\}
\renewenvironment{quote}{\begin{question}}{\end{question}}
% \renewenvironment{verbatim}{\begin{ra}}{\end{ra}}
$endif$
% def default corresponding authors and equal contributing authors variables
\def\hascorr{0}
\def\haseqc{0}
% check if corresponding author(s) and equal contributing authors are available
$for(author)$$if(author.correspondence)$\def\hascorr{1}$endif$$if(author.equal-contributor)$\def\haseqc{1}$endif$ $endfor$
\newcommand{\getcorrauthinfo}{
\subsection{Corresponding Author(s)}
\def\a{} \def\b{} \def\c{}
\hspace{-2.2em}
$for(author)$
$if(author.correspondence)$
\textbf{$author.name$:}
\vspace{-1em}
\begin{enumerate}[labelindent=-12pt,label=\arabic*.,itemindent=0em,leftmargin=!, itemsep = -10pt]
$for(author.institute)$ \def\a{$author.institute$}
$for(institute)$ \def\b{$institute.id$} \def\c{$institute.name$}
\ifx \a\b \item \c; \fi
$endfor$
$endfor$
$if(author.email)$\item email: $author.email$;$endif$
$if(author.orcid)$\item orcid: $author.orcid$;$endif$
$if(author.tel)$\item Tel: $author.tel$;$endif$
$if(author.fax)$\item Fax: $author.fax$$endif$
\end{enumerate}
$endif$
$endfor$
}
\newcommand{\getotherauthinfo}{
\subsection{Author(s)}
\def\a{} \def\b{} \def\c{}
\hspace{-2.2em}
$for(author)$
$if(author.correspondence)$
$else$
\textbf{$author.name$:}
\vspace{-1em}
\begin{enumerate}[labelindent=-12pt,label=\arabic*.,itemindent=0em,leftmargin=!, itemsep = -10pt]
$for(author.institute)$ \def\a{$author.institute$} $for(institute)$ \def\b{$institute.id$} \def\c{$institute.name$}
\ifx \a\b \item \c; \fi
$endfor$
$endfor$
$if(author.email)$\item email: $author.email$;$endif$
$if(author.orcid)$\item orcid: $author.orcid$;$endif$
$if(author.tel)$\item Tel: $author.tel$;$endif$
$if(author.fax)$\item Fax: $author.fax$$endif$
\end{enumerate}
$endif$
$endfor$
}
$preamble$
% remove the two line around Abstract
$if(abstract)$
$else$
\makeatletter
\renewcommand{\MaketitleBox}{%
\resetTitleCounters
\def\baselinestretch{1}%
\begin{center}
\def\baselinestretch{1}%
\large \@title \par
\vskip 18pt
\normalsize\elsauthors \par
\vskip 30pt
\footnotesize \itshape \elsaddress \par
\end{center}
\vskip 12pt
}
\makeatother
$endif$
\begin{document}
$for(include-before)$
$include-before$
$endfor$
\begin{frontmatter}
\title{$title$$if(subtitle)$\\\Large{$subtitle$}$endif$}
$for(author)$\author$if(authorwithinstitute)$[$for(author.institute)$$author.institute$$sep$,$endfor$]$endif${$author.name$$if(author.correspondence)$\corref{corrauth}$endif$$if(author.equal-contributor)$\corref{eqcon}$endif$ $if(author.footnote)$\fnref{$author.footnote$}$endif$}$if(author.email)$\ead{$author.email$}$endif$$endfor$
$if(authorwithinstitute)$ $for(institute)$ \address[$institute.id$]{$institute.name$} $endfor$ $endif$
% generate corresponding authors.
% \StrBehind is from xstring package
\ifnum \hascorr=1
\def\corrauths{
$for(author)$$if(author.correspondence)$and $author.name$ ($author.email$) $endif$$endfor$}
\cortext[corrauth]{Corresponding to \StrBehind*{\corrauths}{and }.}
\fi
% generate equal contributing authors.
\ifnum \haseqc=1
\def\eqa{$for(author)$$if(author.equal-contributor)$and $author.name$ $endif$$endfor$}
\cortext[eqcon]{\StrBehind*{\eqa}{and } are equally contributed to this work.}
\fi
$for(footnote)$
\fntext[$footnote.id$]{$footnote.text$}
$endfor$
$if(abstract)$
\begin{abstract}
$abstract$
\end{abstract}
$if(keywords)$
\begin{keyword}
$for(keywords/allbutlast)$$keywords$ \sep $endfor$
$for(keywords/last)$$keywords$$endfor$
\end{keyword}
$endif$
$endif$
\end{frontmatter}
$body$
$if(authorwithinstitute)$
$else$
\section{Author Information}
\getcorrauthinfo{}
\getotherauthinfo{}
$endif$
$if(natbib)$
$if(bibliography)$
$if(biblio-title)$
$if(book-class)$
\renewcommand\bibname{$biblio-title$}
$else$
\renewcommand\refname{$biblio-title$}
$endif$
$endif$
\bibliography{$bibliography$}
$endif$
$endif$
$for(include-after)$
$include-after$
$endfor$
\end{document}
-239
View File
@@ -1,239 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="never" default-locale="en-US">
<info>
<title>Elsevier - Harvard (with titles)</title>
<id>http://www.zotero.org/styles/elsevier-harvard</id>
<link href="http://www.zotero.org/styles/elsevier-harvard" rel="self"/>
<link href="http://www.zotero.org/styles/ecology-letters" rel="template"/>
<link href="http://www.elsevier.com/journals/biological-conservation/0006-3207/guide-for-authors#68000" rel="documentation"/>
<author>
<name>David Kaplan</name>
<email>david.kaplan@ird.fr</email>
</author>
<contributor>
<name>Simon Kornblith</name>
<email>simon@simonster.com</email>
</contributor>
<contributor>
<name>Bruce D'Arcus</name>
</contributor>
<contributor>
<name>Curtis M. Humphrey</name>
</contributor>
<contributor>
<name>Richard Karnesky</name>
<email>karnesky+zotero@gmail.com</email>
<uri>http://arc.nucapt.northwestern.edu/Richard_Karnesky</uri>
</contributor>
<contributor>
<name>Sebastian Karcher</name>
</contributor>
<category citation-format="author-date"/>
<category field="biology"/>
<category field="generic-base"/>
<updated>2014-03-04T00:09:00+00:00</updated>
<rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
</info>
<macro name="container">
<choose>
<if type="chapter paper-conference" match="any">
<text term="in" prefix=", " suffix=": "/>
<names variable="editor translator" delimiter=", " suffix=", ">
<name name-as-sort-order="all" sort-separator=", " initialize-with="." delimiter=", " delimiter-precedes-last="always"/>
<label form="short" text-case="capitalize-first" prefix=" (" suffix=")"/>
</names>
<group delimiter=", ">
<text variable="container-title" text-case="title"/>
<text variable="collection-title" text-case="title"/>
</group>
</if>
<else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
<group prefix=", " delimiter=", ">
<text variable="container-title"/>
<text variable="collection-title"/>
</group>
</else-if>
<else>
<group prefix=". " delimiter=", ">
<text variable="container-title" form="short"/>
<text variable="collection-title"/>
</group>
</else>
</choose>
</macro>
<macro name="author">
<names variable="author">
<name name-as-sort-order="all" sort-separator=", " initialize-with="." delimiter=", " delimiter-precedes-last="always"/>
<label form="short" prefix=" (" suffix=")" text-case="capitalize-first"/>
<substitute>
<names variable="editor"/>
<names variable="translator"/>
<text macro="title"/>
</substitute>
</names>
</macro>
<macro name="author-short">
<names variable="author">
<name form="short" and="text" delimiter=", " initialize-with=". "/>
<substitute>
<names variable="editor"/>
<names variable="translator"/>
<choose>
<if type="bill book graphic legal_case legislation motion_picture report song" match="any">
<text variable="title" form="short" font-style="italic"/>
</if>
<else>
<text variable="title" form="short" quotes="true"/>
</else>
</choose>
</substitute>
</names>
</macro>
<macro name="access">
<choose>
<if variable="DOI">
<text variable="DOI" prefix="https://doi.org/"/>
</if>
<else-if type="webpage post-weblog" match="any">
<group delimiter=" ">
<text value="URL"/>
<text variable="URL"/>
<group prefix="(" suffix=").">
<text term="accessed" suffix=" "/>
<date variable="accessed">
<date-part name="month" form="numeric" suffix="."/>
<date-part name="day" suffix="."/>
<date-part name="year" form="short"/>
</date>
</group>
</group>
</else-if>
</choose>
</macro>
<macro name="title">
<choose>
<if type="report thesis" match="any">
<text variable="title"/>
<group prefix=" (" suffix=")" delimiter=" ">
<text variable="genre"/>
<text variable="number" prefix="No. "/>
</group>
</if>
<else-if type="bill book graphic legal_case legislation motion_picture report song speech" match="any">
<text variable="title"/>
<text macro="edition" prefix=", "/>
</else-if>
<else-if type="webpage">
<text variable="title"/>
<text value="WWW Document" prefix=" [" suffix="]"/>
</else-if>
<else>
<text variable="title"/>
</else>
</choose>
</macro>
<macro name="publisher">
<group delimiter=", ">
<text variable="publisher"/>
<text variable="publisher-place"/>
</group>
</macro>
<macro name="event">
<choose>
<if variable="event">
<text term="presented at" text-case="capitalize-first" suffix=" "/>
<text variable="event"/>
</if>
</choose>
</macro>
<macro name="issued">
<choose>
<if variable="issued">
<date variable="issued">
<date-part name="year"/>
</date>
</if>
<else>
<text term="no date" form="short"/>
</else>
</choose>
</macro>
<macro name="edition">
<group delimiter=" ">
<choose>
<if is-numeric="edition">
<number variable="edition" form="ordinal"/>
</if>
<else>
<text variable="edition" suffix="."/>
</else>
</choose>
<text value="ed"/>
</group>
</macro>
<macro name="locators">
<choose>
<if type="article-journal article-magazine article-newspaper" match="any">
<group prefix=" " delimiter=", ">
<group>
<text variable="volume"/>
</group>
<text variable="page"/>
</group>
</if>
<else-if type="bill book graphic legal_case legislation motion_picture report song thesis" match="any">
<group delimiter=", " prefix=". ">
<text macro="event"/>
<text macro="publisher"/>
</group>
</else-if>
<else-if type="chapter paper-conference" match="any">
<group delimiter=", " prefix=". ">
<text macro="event"/>
<text macro="publisher"/>
<group>
<label variable="page" form="short" suffix=" "/>
<text variable="page"/>
</group>
</group>
</else-if>
<else-if type="patent">
<text variable="number" prefix=". "/>
</else-if>
</choose>
</macro>
<citation et-al-min="3" et-al-use-first="1" disambiguate-add-givenname="true" disambiguate-add-year-suffix="true" collapse="year" cite-group-delimiter=", ">
<sort>
<key macro="author"/>
<key macro="issued" sort="descending"/>
</sort>
<layout prefix="(" suffix=")" delimiter="; ">
<group delimiter=", ">
<text macro="author-short"/>
<text macro="issued"/>
<group delimiter=" ">
<label variable="locator" form="short"/>
<text variable="locator"/>
</group>
</group>
</layout>
</citation>
<bibliography hanging-indent="true" entry-spacing="0" line-spacing="1">
<sort>
<key macro="author"/>
<key macro="issued" sort="descending"/>
</sort>
<layout>
<group suffix=".">
<text macro="author" suffix=","/>
<text macro="issued" prefix=" "/>
<group prefix=". ">
<text macro="title"/>
<text macro="container"/>
<text macro="locators"/>
</group>
</group>
<text macro="access" prefix=". "/>
</layout>
</bibliography>
</style>
-74
View File
@@ -1,74 +0,0 @@
\usepackage{enumitem}
\usepackage{fontspec}
\usepackage{float}
\usepackage[normalem]{ulem}
\usepackage{hyperref}
\usepackage{nameref} %needed by zref-xr
\usepackage{zref-xr,zref-hyperref,zref-user}
\usepackage{xr-hyper}
\setkomafont{author}{\normalsize}
\makeatletter
\renewcommand{\title}[1]{\gdef\@title{\large\textbf{#1}}} % Adjust \Huge or other font commands
% \renewcommand{\author}[1]{\gdef\@author{\normalsize\textrm{#1}}} % Adjust \Huge or other font commands
% \renewcommand{\author}[1]{\normalsize\textit{#1}} % Use \normalsize and \textit for customization
\makeatother
\usepackage{adjustbox}
% \usepackage{xcolor}
\usepackage{mdframed}
\newmdenv[topline=false,
leftline=true,
bottomline=false,
rightline=false,
linewidth=3pt,
%backgroundcolor=lightgray,
linecolor=gray!30,
backgroundcolor=gray!5,
skipabove=\topsep,
skipbelow=\topsep,
leftmargin=0pt,
rightmargin=0pt,
innertopmargin=0pt,
innerbottommargin=0pt
]{refquote}
\newmdenv[topline=false,
leftline=true,
bottomline=false,
rightline=false,
linewidth=3pt,
%backgroundcolor=lightgray,
backgroundcolor=red!3!white,
linecolor=red!30!white,
skipabove=\topsep,
skipbelow=\topsep,
leftmargin=0pt,
rightmargin=0pt,
innertopmargin=10pt,
innerbottommargin=10pt
]{question}
% setup hyperlink for page and line number
\def\msname{MS}
\def\smname{SM}
\setenumerate{labelsep=*, leftmargin=1.0pc}
%\zexternaldocument*{ManuscriptNew\veraa}
\zexternaldocument*{\msname}
\zexternaldocument*{\smname}
\newcommand{\hlabel}[1]{\label{#1}\hypertarget{#1}{
\linelabel{line:#1}}}
%\externaldocument[si-]{\smname\veraa}[\smname\veraa.pdf]
\makeatletter
\newcommand{\clab}[2][]{
\protected@write\@auxout{\let\clab\@secondoftwo}{
\string\newlabel{r:#1}{{#2}{}}}%
\hlabel{#1}#2\hlabel{#1end}}
\makeatother
\newcommand{\zhypera}[1]{\href[pdfnewwindow]{\msname.pdf\##1}{\\[1ex]\textbf{Page \zpageref{#1}, Line
\zref{line:#1}--\zref{line:#1end}:}\\}}
\newcommand{\cref}[1]{\begin{refquote}\zhypera{#1}{\zref{r:#1}}\\[-0.5ex]\end{refquote}}
% \newenvironment{ra}[1][\unskip]{\par \noindent \\[-1ex] \textbf{Response/Action:}\par\bf}{\ \\}
\renewenvironment{quote}{\begin{question}}{\end{question}}
% \renewenvironment{verbatim}{\begin{ra}}{\end{ra}}
@@ -1,17 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" version="1.0" default-locale="en-GB">
<!-- Generated with https://github.com/citation-style-language/utilities/tree/master/generate_dependent_styles/data/npg -->
<info>
<title>Nature Biotechnology</title>
<id>http://www.zotero.org/styles/nature-biotechnology</id>
<link href="http://www.zotero.org/styles/nature-biotechnology" rel="self"/>
<link href="http://www.zotero.org/styles/nature" rel="independent-parent"/>
<link href="http://www.nature.com/nbt/pdf/gta.pdf" rel="documentation"/>
<category citation-format="numeric"/>
<category field="biology"/>
<issn>1087-0156</issn>
<eissn>1546-1696</eissn>
<updated>2014-06-17T02:29:16+00:00</updated>
<rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
</info>
</style>
-154
View File
@@ -1,154 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-GB">
<info>
<title>Nature</title>
<id>http://www.zotero.org/styles/nature</id>
<link href="http://www.zotero.org/styles/nature" rel="self"/>
<link href="http://www.nature.com/nature/authors/gta/index.html#a5.4" rel="documentation"/>
<link href="http://www.nature.com/srep/publish/guidelines#references" rel="documentation"/>
<author>
<name>Michael Berkowitz</name>
<email>mberkowi@gmu.edu</email>
</author>
<category citation-format="numeric"/>
<category field="science"/>
<category field="generic-base"/>
<issn>0028-0836</issn>
<eissn>1476-4687</eissn>
<updated>2022-07-02T13:18:26+00:00</updated>
<rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
</info>
<macro name="title">
<choose>
<if type="bill book graphic legal_case legislation motion_picture report song" match="any">
<text variable="title" font-style="italic"/>
</if>
<else>
<text variable="title"/>
</else>
</choose>
</macro>
<macro name="author">
<names variable="author">
<name sort-separator=", " delimiter=", " and="symbol" initialize-with=". " delimiter-precedes-last="never" name-as-sort-order="all"/>
<label form="short" prefix=", "/>
<et-al font-style="italic"/>
</names>
</macro>
<macro name="access">
<choose>
<if variable="volume" type="article" match="any"/>
<else-if variable="DOI">
<text variable="DOI" prefix="doi:"/>
</else-if>
</choose>
</macro>
<macro name="issuance">
<choose>
<if type="bill book graphic legal_case legislation motion_picture song thesis chapter paper-conference" match="any">
<group delimiter="; " suffix=".">
<group delimiter=", " prefix="(" suffix=")">
<text variable="publisher" form="long"/>
<date variable="issued">
<date-part name="year"/>
</date>
</group>
</group>
</if>
<else-if type="article">
<group delimiter=" ">
<choose>
<if variable="genre" match="any">
<text variable="genre" text-case="capitalize-first"/>
</if>
<else>
<text term="article" text-case="capitalize-first"/>
</else>
</choose>
<text term="at"/>
<choose>
<if variable="DOI" match="any">
<text variable="DOI" prefix="https://doi.org/"/>
</if>
<else>
<text variable="URL"/>
</else>
</choose>
<date date-parts="year" form="text" variable="issued" prefix="(" suffix=")"/>
</group>
</else-if>
<else-if type="report webpage post post-weblog" match="any">
<group delimiter=" ">
<text variable="URL"/>
<date date-parts="year" form="text" variable="issued" prefix="(" suffix=")"/>
</group>
</else-if>
<else>
<date variable="issued" prefix="(" suffix=")">
<date-part name="year"/>
</date>
</else>
</choose>
</macro>
<macro name="container-title">
<choose>
<if type="article-journal">
<text variable="container-title" font-style="italic" form="short"/>
</if>
<else>
<text variable="container-title" font-style="italic"/>
</else>
</choose>
</macro>
<macro name="editor">
<choose>
<if type="chapter paper-conference" match="any">
<names variable="editor" prefix="(" suffix=")">
<label form="short" suffix=" "/>
<name and="symbol" delimiter-precedes-last="never" initialize-with=". " name-as-sort-order="all"/>
</names>
</if>
</choose>
</macro>
<macro name="volume">
<choose>
<if type="article-journal" match="any">
<text variable="volume" font-weight="bold" suffix=","/>
</if>
<else>
<group delimiter=" ">
<label variable="volume" form="short"/>
<text variable="volume"/>
</group>
</else>
</choose>
</macro>
<citation collapse="citation-number">
<sort>
<key variable="citation-number"/>
</sort>
<layout vertical-align="sup" delimiter=",">
<text variable="citation-number"/>
</layout>
</citation>
<bibliography et-al-min="6" et-al-use-first="1" second-field-align="flush" entry-spacing="0" line-spacing="2">
<layout suffix=".">
<text variable="citation-number" suffix="."/>
<group delimiter=" ">
<text macro="author" suffix="."/>
<text macro="title" suffix="."/>
<choose>
<if type="chapter paper-conference" match="any">
<text term="in"/>
</if>
</choose>
<text macro="container-title"/>
<text macro="editor"/>
<text macro="volume"/>
<text variable="page"/>
<text macro="issuance"/>
<text macro="access"/>
</group>
</layout>
</bibliography>
</style>
File diff suppressed because it is too large Load Diff
-432
View File
@@ -1,432 +0,0 @@
$-- Keeping in template layout for backward compatibility
\documentclass[$if(layout)$$layout$$else$$for(classoption)$$classoption$$sep$,$endfor$$endif$]{_extensions/inst/tex/supp} %review=doublespace preprint=single 5p=2 column
%%% Begin My package additions %%%%%%%%%%%%%%%%%%%
\usepackage[hyphens]{url}
$if(journal)$
\journal{$journal$} % Sets Journal name
$endif$
\usepackage{lineno} % add
$if(linenumbers)$
\linenumbers % turns line numbering on
$endif$
\usepackage{graphicx}
\usepackage{xstring}
\usepackage{xcolor}
%%%%%%%%%%%%%%%% end my additions to header
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
\usepackage{ifxetex,ifluatex}
\usepackage{fixltx2e} % provides \textsubscript
% use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
\usepackage[utf8]{inputenc}
$if(euro)$
\usepackage{eurosym}
$endif$
\else % if luatex or xelatex
\usepackage{fontspec}
\ifxetex
\usepackage{xltxtra,xunicode}
\fi
\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
\newcommand{\euro}{}
$if(mainfont)$
\setmainfont{$mainfont$}
$endif$
$if(sansfont)$
\setsansfont{$sansfont$}
$endif$
$if(monofont)$
\setmonofont{$monofont$}
$endif$
$if(mathfont)$
\setmathfont{$mathfont$}
$endif$
\fi
% use microtype if available
\IfFileExists{microtype.sty}{\usepackage{microtype}}{}
$if(geometry)$
\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
$endif$
$if(natbib)$
\usepackage{natbib}
\setcitestyle{$natbiboptions$}
\bibliographystyle{$if(biblio-style)$$biblio-style$$else$plainnat$endif$}
$endif$
$if(listings)$
\usepackage{listings}
$endif$
$if(lhs)$
\lstnewenvironment{code}{\lstset{language=Haskell,basicstyle=\small\ttfamily}}{}
$endif$
$if(verbatim-in-note)$
\usepackage{fancyvrb}
$endif$
$if(graphics)$
\usepackage{graphicx}
$endif$
\ifxetex
\usepackage[setpagesize=false, % page size defined by xetex
unicode=false, % unicode breaks when used with xetex
xetex]{hyperref}
\else
\usepackage[unicode=true]{hyperref}
\fi
\hypersetup{breaklinks=true,
bookmarks=true,
pdfauthor={$author-meta$},
pdftitle={$title-meta$},
colorlinks=$if(colorlinks)$true$else$false$endif$,
urlcolor=$if(urlcolor)$$urlcolor$$else$blue$endif$,
linkcolor=$if(linkcolor)$$linkcolor$$else$magenta$endif$,
pdfborder={0 0 0}}
\urlstyle{same} % don't use monospace font for urls
$if(links-as-notes)$
% Make links footnotes instead of hotlinks:
\renewcommand{\href}[2]{#2\footnote{\url{#1}}}
$endif$
$if(strikeout)$
\usepackage[normalem]{ulem}
% avoid problems with \sout in headers with hyperref:
\pdfstringdefDisableCommands{\renewcommand{\sout}{}}
$endif$
$if(numbersections)$
\setcounter{secnumdepth}{5}
$else$
\setcounter{secnumdepth}{0}
$endif$
$if(verbatim-in-note)$
\VerbatimFootnotes % allows verbatim text in footnotes
$endif$
$if(lang)$
\ifxetex
\usepackage{polyglossia}
\setmainlanguage{$mainlang$}
\else
\usepackage[$lang$]{babel}
\fi
$endif$
% Pandoc toggle for numbering sections (defaults to be off)
$if(numbersections)$
$else$
\setcounter{secnumdepth}{0}
$endif$
$if(highlighting-macros)$
% Pandoc syntax highlighting
$highlighting-macros$
$endif$
% tightlist command for lists without linebreak
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
$if(tables)$
% From pandoc table feature
\usepackage{longtable,booktabs,array}
$if(multirow)$
\usepackage{multirow}
$endif$
\usepackage{calc} % for calculating minipage widths
% Correct order of tables after \paragraph or \subparagraph
\usepackage{etoolbox}
\makeatletter
\patchcmd\longtable{\par}{\if@noskipsec\mbox{}\fi\par}{}{}
\makeatother
% Allow footnotes in longtable head/foot
\IfFileExists{footnotehyper.sty}{\usepackage{footnotehyper}}{\usepackage{footnote}}
\makesavenoteenv{longtable}
$endif$
$if(csl-refs)$
% Pandoc citation processing
\newlength{\cslhangindent}
\setlength{\cslhangindent}{1.5em}
\newlength{\csllabelwidth}
\setlength{\csllabelwidth}{3em}
\newlength{\cslentryspacingunit} % times entry-spacing
\setlength{\cslentryspacingunit}{\parskip}
% for Pandoc 2.8 to 2.10.1
\newenvironment{cslreferences}%
{$if(csl-hanging-indent)$\setlength{\parindent}{0pt}%
\everypar{\setlength{\hangindent}{\cslhangindent}}\ignorespaces$endif$}%
{\par}
% For Pandoc 2.11+
\newenvironment{CSLReferences}[2] % #1 hanging-ident, #2 entry spacing
{% don't indent paragraphs
\setlength{\parindent}{0pt}
% turn on hanging indent if param 1 is 1
\ifodd #1
\let\oldpar\par
\def\par{\hangindent=\cslhangindent\oldpar}
\fi
% set entry spacing
\setlength{\parskip}{#2\cslentryspacingunit}
}%
{}
\usepackage{calc}
\newcommand{\CSLBlock}[1]{#1\hfill\break}
\newcommand{\CSLLeftMargin}[1]{\parbox[t]{\csllabelwidth}{#1}}
\newcommand{\CSLRightInline}[1]{\parbox[t]{\linewidth - \csllabelwidth}{#1}\break}
\newcommand{\CSLIndent}[1]{\hspace{\cslhangindent}#1}
$endif$
$for(header-includes)$
$header-includes$
$endfor$
\usepackage{xifthen}
% set special color for EST
\ifthenelse{\equal{$journal$}{Environmental Science \& Technology}}
{\definecolor{seccol}{RGB}{56, 95, 66}}
{\definecolor{seccol}{RGB}{0, 0, 0}}
$if(uppersections)$
\usepackage{titlesec}
\titleformat{\section}
{\color{seccol}\large\bfseries\MakeUppercase}{\thesection}{1em}{}
$endif$
$if(sectiononnewpage)$
\AddToHook{cmd/section/before}{\clearpage}
$endif$
\usepackage{enumitem}
\usepackage{fontspec}
\usepackage{float}
\setmainfont{Helvetica}
\usepackage[normalem]{ulem}
\usepackage{hyperref}
\usepackage{nameref} %needed by zref-xr
\usepackage{zref-xr,zref-hyperref,zref-user}
\usepackage{xr-hyper}
% force to use \zref
$if(msname)$
\def\msname{$msname$}
\zexternaldocument*{\msname}
\renewcommand{\ref}{\zref}
$endif$
$if(smname)$
\def\smname{$smname$}
\zexternaldocument*{\smname}
$endif$
\zxrsetup{toltxlabel=true}
{\catcode`\#=12 \gdef\hashchar{#1}}
\makeatletter
\newcommand\hzref[1]{\edef\next{%
\noexpand\href{%
\zref@extractdefault{#1}{url}{}%
\zref@ifrefcontainsprop{#1}{anchor}{%
\hashchar\zref@extract{#1}{anchor}}{}}%
{\noexpand\zref{#1}}}\next}
\makeatother
$if(revision)$
% \usepackage{xcolor}
\usepackage{adjustbox}
\usepackage{mdframed}
\newmdenv[topline=false,
leftline=true,
bottomline=false,
rightline=false,
linewidth=3pt,
%backgroundcolor=lightgray,
linecolor=gray!30,
backgroundcolor=gray!5,
skipabove=\topsep,
skipbelow=\topsep,
leftmargin=0pt,
rightmargin=0pt,
innertopmargin=0pt,
innerbottommargin=0pt
]{refquote}
\newmdenv[topline=false,
leftline=true,
bottomline=false,
rightline=false,
linewidth=3pt,
%backgroundcolor=lightgray,
backgroundcolor=red!3!white,
linecolor=red!30!white,
skipabove=\topsep,
skipbelow=\topsep,
leftmargin=0pt,
rightmargin=0pt,
innertopmargin=10pt,
innerbottommargin=10pt
]{question}
\setenumerate{labelsep=*, leftmargin=1.0pc}
% setup hyperlink for page and line number
\def\msname{$if(msname)$$msname$$else$MS$endif$}
\def\smname{$if(smname)$$smname$$else$SM$endif$}
\setenumerate{labelsep=*, leftmargin=1.0pc}
%\zexternaldocument*{ManuscriptNew\veraa}
\zexternaldocument*{\msname}
\zexternaldocument*{\smname}
\newcommand{\hlabel}[1]{\label{#1}\hypertarget{#1}{
\linelabel{line:#1}}}
%\externaldocument[si-]{\smname\veraa}[\smname\veraa.pdf]
\makeatletter
\newcommand{\clab}[2]{%
\protected@write\@auxout{\let\clab\@secondoftwo}{
\string\newlabel{r:#1}{{#2}{}}}%
\hlabel{#1}#2\hlabel{#1end}}
\makeatother
\newcommand{\zhypera}[1]{\href[pdfnewwindow]{\msname.pdf\##1}{\\[1ex]\textbf{Page \zpageref{#1}, Line
\zref{line:#1}--\zref{line:#1end}:}\\}}
\newcommand{\cref}[1]{\begin{refquote}\zhypera{#1}{\zref{r:#1}}\\[-0.5ex]\end{refquote}}
% \newenvironment{ra}[1][\unskip]{\par \noindent \\[-1ex] \textbf{Response/Action:}\par\bf}{\ \\}
\renewenvironment{quote}{\begin{question}}{\end{question}}
% \renewenvironment{verbatim}{\begin{ra}}{\end{ra}}
$endif$
% def default corresponding authors and equal contributing authors variables
\def\hascorr{0}
\def\haseqc{0}
% check if corresponding author(s) and equal contributing authors are available
$for(author)$$if(author.correspondence)$\def\hascorr{1}$endif$$if(author.equalcontribution)$\def\haseqc{1}$endif$ $endfor$
\newcommand{\getcorrauthinfo}{
\subsection{Corresponding Author(s)}
\def\a{} \def\b{} \def\c{}
\hspace{-2.2em}
$for(author)$
$if(author.correspondence)$
\textbf{$author.name$:}
\vspace{-1em}
\begin{enumerate}[labelindent=-12pt,label=\arabic*.,itemindent=0em,leftmargin=!, itemsep = -10pt]
$for(author.institute)$ \def\a{$author.institute$}
$for(institute)$ \def\b{$institute.id$} \def\c{$institute.name$}
\ifx \a\b \item \c; \fi
$endfor$
$endfor$
$if(author.email)$\item email: $author.email$;$endif$
$if(author.orcid)$\item orcid: $author.orcid$;$endif$
$if(author.tel)$\item Tel: $author.tel$;$endif$
$if(author.fax)$\item Fax: $author.fax$$endif$
\end{enumerate}
$endif$
$endfor$
}
\newcommand{\getotherauthinfo}{
\subsection{Author(s)}
\def\a{} \def\b{} \def\c{}
\hspace{-2.2em}
$for(author)$
$if(author.correspondence)$
$else$
\textbf{$author.name$:}
\vspace{-1em}
\begin{enumerate}[labelindent=-12pt,label=\arabic*.,itemindent=0em,leftmargin=!, itemsep = -10pt]
$for(author.institute)$ \def\a{$author.institute$} $for(institute)$ \def\b{$institute.id$} \def\c{$institute.name$}
\ifx \a\b \item \c; \fi
$endfor$
$endfor$
$if(author.email)$\item email: $author.email$;$endif$
$if(author.orcid)$\item orcid: $author.orcid$;$endif$
$if(author.tel)$\item Tel: $author.tel$;$endif$
$if(author.fax)$\item Fax: $author.fax$$endif$
\end{enumerate}
$endif$
$endfor$
}
$preamble$
% remove the two line around Abstract
$if(abstract)$
$else$
\makeatletter
\renewcommand{\MaketitleBox}{%
\resetTitleCounters
\def\baselinestretch{1}%
\begin{center}
\def\baselinestretch{1}%
\large \@title \par
\vskip 18pt
\normalsize\elsauthors \par
\vskip 30pt
\footnotesize \itshape \elsaddress \par
\end{center}
\vskip 12pt
}
\makeatother
$endif$
\begin{document}
$for(include-before)$
$include-before$
$endfor$
\begin{frontmatter}
\title{$title$$if(subtitle)$\\\Large{$subtitle$}$endif$}
$for(author)$\author$if(authorwithinstitute)$[$for(author.institute)$$author.institute$$sep$,$endfor$]$endif${$author.name$$if(author.correspondence)$\corref{corrauth}$endif$$if(author.equalcontribution)$\corref{eqcon}$endif$ $if(author.footnote)$\fnref{$author.footnote$}$endif$}$if(author.email)$\ead{$author.email$}$endif$$endfor$
$if(authorwithinstitute)$ $for(institute)$ \address[$institute.id$]{$institute.name$} $endfor$ $endif$
% generate corresponding authors.
% \StrBehind is from xstring package
\ifnum \hascorr=1
\def\corrauths{
$for(author)$$if(author.correspondence)$and $author.name$ ($author.email$) $endif$$endfor$}
\cortext[corrauth]{Corresponding to \StrBehind*{\corrauths}{and }.}
\fi
% generate equal contributing authors.
\ifnum \haseqc=1
\def\eqa{$for(author)$$if(author.equalcontribution)$and $author.name$ $endif$$endfor$}
\cortext[eqcon]{\StrBehind*{\eqa}{and } are equally contributed to this work.}
\fi
$for(footnote)$
\fntext[$footnote.id$]{$footnote.text$}
$endfor$
$if(abstract)$
\begin{abstract}
$abstract$
\end{abstract}
$if(keywords)$
\begin{keyword}
$for(keywords/allbutlast)$$keywords$ \sep $endfor$
$for(keywords/last)$$keywords$$endfor$
\end{keyword}
$endif$
$endif$
\end{frontmatter}
$body$
$if(authorwithinstitute)$
$else$
\section{Author Information}
\getcorrauthinfo{}
\getotherauthinfo{}
\section{Notes}
The authors declare no competing financial interest.
$endif$
$if(natbib)$
$if(bibliography)$
$if(biblio-title)$
$if(book-class)$
\renewcommand\bibname{$biblio-title$}
$else$
\renewcommand\refname{$biblio-title$}
$endif$
$endif$
\bibliography{$bibliography$}
$endif$
$endif$
$for(include-after)$
$include-after$
$endfor$
\end{document}
-181
View File
@@ -1,181 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<style xmlns="http://purl.org/net/xbiblio/csl" class="in-text" version="1.0" demote-non-dropping-particle="sort-only" default-locale="en-GB">
<info>
<title>The ISME Journal</title>
<id>http://www.zotero.org/styles/the-isme-journal</id>
<link href="http://www.zotero.org/styles/the-isme-journal" rel="self"/>
<link href="http://www.zotero.org/styles/journal-of-frailty-and-aging" rel="template"/>
<link href="http://www.nature.com/ismej/ismej_new_gta.pdf" rel="documentation"/>
<author>
<name>Patrick O'Brien</name>
<email>obrienpat86@gmail.com</email>
</author>
<category citation-format="numeric"/>
<category field="biology"/>
<issn>1751-7362</issn>
<eissn>1751-7370</eissn>
<summary>The ISME Journal style, which is not the same as for Nature</summary>
<updated>2018-03-19T15:30:26+00:00</updated>
<rights license="http://creativecommons.org/licenses/by-sa/3.0/">This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License</rights>
</info>
<macro name="author">
<names variable="author">
<name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>
<label form="short" strip-periods="true" prefix=" (" suffix=")"/>
<substitute>
<names variable="editor"/>
<names variable="translator"/>
</substitute>
</names>
</macro>
<macro name="editor">
<text term="in" text-case="capitalize-first" suffix=": "/>
<names variable="editor">
<name sort-separator=" " initialize-with="" name-as-sort-order="all" delimiter=", " delimiter-precedes-last="always"/>
<label form="short" strip-periods="true" prefix=" (" suffix=")."/>
</names>
</macro>
<macro name="edition">
<choose>
<if is-numeric="edition">
<group delimiter=" ">
<number variable="edition" form="ordinal"/>
<text term="edition" form="short" strip-periods="true"/>
</group>
</if>
<else>
<text variable="edition"/>
</else>
</choose>
</macro>
<macro name="title">
<choose>
<if type="book">
<group delimiter=", " suffix=". ">
<text variable="title"/>
<text macro="edition"/>
</group>
</if>
<else>
<text variable="title" suffix=". "/>
</else>
</choose>
</macro>
<macro name="publisher">
<group delimiter=", ">
<text variable="publisher"/>
<text variable="publisher-place"/>
</group>
</macro>
<macro name="year-date">
<date variable="issued">
<date-part name="year"/>
</date>
</macro>
<citation collapse="citation-number">
<sort>
<key variable="citation-number"/>
</sort>
<layout prefix="[" suffix="]" delimiter=", ">
<text variable="citation-number"/>
</layout>
</citation>
<bibliography et-al-min="7" et-al-use-first="6" second-field-align="flush" line-spacing="2" entry-spacing="0">
<layout>
<text variable="citation-number" suffix=". "/>
<group delimiter=". ">
<text macro="author"/>
<text macro="title"/>
</group>
<choose>
<if type="chapter">
<text macro="editor"/>
<group delimiter=". " suffix=". ">
<group prefix=" " delimiter=", ">
<text variable="container-title" font-style="italic"/>
<text macro="edition"/>
</group>
<text macro="year-date"/>
<group delimiter=", ">
<text macro="publisher"/>
<group delimiter=" ">
<label variable="page" form="short" strip-periods="true"/>
<text variable="page"/>
</group>
</group>
</group>
</if>
<else-if type="paper-conference">
<text macro="editor"/>
<group delimiter=". " suffix=". ">
<group prefix=" " delimiter=", ">
<text variable="container-title" form="short" font-style="italic"/>
<text macro="edition"/>
</group>
<text macro="year-date"/>
<group delimiter=", ">
<text macro="publisher"/>
<group delimiter=" ">
<label variable="page" form="short" strip-periods="true"/>
<text variable="page"/>
</group>
</group>
</group>
</else-if>
<else-if type="article-journal">
<group delimiter="; " suffix=". ">
<group delimiter=" ">
<text variable="container-title" suffix=" " form="short" strip-periods="true" font-style="italic"/>
<text macro="year-date"/>
</group>
<group delimiter=": ">
<text variable="volume" font-weight="bold"/>
<text variable="page"/>
</group>
</group>
</else-if>
<else-if type="bill book graphic legal_case legislation motion_picture report song" match="any">
<group delimiter=". " suffix=". ">
<text variable="container-title" suffix=" " font-style="italic"/>
<text macro="year-date"/>
<text macro="publisher"/>
</group>
</else-if>
<else-if type="webpage">
<group suffix=". ">
<text variable="container-title" suffix=". " font-style="italic"/>
<text variable="URL" suffix=". "/>
<date variable="accessed">
<date-part prefix="Accessed " name="day" suffix=" "/>
<date-part name="month" form="short" suffix=" " strip-periods="true"/>
<date-part name="year"/>
</date>
</group>
</else-if>
<else-if type="thesis">
<group delimiter=". " suffix=". ">
<text variable="container-title" suffix=" " font-style="italic"/>
<text macro="year-date"/>
<group delimiter=", ">
<text variable="genre"/>
<text variable="publisher"/>
</group>
</group>
</else-if>
<else>
<group>
<group delimiter=". " suffix=". ">
<text variable="container-title" form="short" suffix=" " strip-periods="true" font-style="italic"/>
<text macro="year-date"/>
<text macro="publisher"/>
</group>
<group prefix=", " delimiter=": ">
<text variable="volume" font-weight="bold"/>
<text variable="page"/>
</group>
</group>
</else>
</choose>
</layout>
</bibliography>
</style>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,13 +0,0 @@
title: Authors-block
authors:
- name: Lorenz A. Kapsner
orcid: 0000-0003-1866-860X
- name: Albert Krewinkel
orcid: 0000-0002-9455-0796
- name: Robert Winkler
version: 0.2.1
quarto-required: ">=1.3.0"
contributes:
filters:
- authors-block.lua
@@ -1,64 +0,0 @@
--[[
authors-block affiliations block extension for quarto
Copyright (c) 2023 Lorenz A. Kapsner
Permission to use, copy, modify, and/or distribute this software for any purpose
with or without fee is hereby granted, provided that the above copyright notice
and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
THIS SOFTWARE.
]]
local List = require 'pandoc.List'
-- [import]
local from_utils = require "utils"
local normalize_affiliations = from_utils.normalize_affiliations
local normalize_authors = from_utils.normalize_authors
local normalize_latex_authors = from_utils.normalize_latex_authors
local from_authors = require "from_author_info_blocks"
local default_marks = from_authors.default_marks
local create_equal_contributors_block = from_authors.create_equal_contributors_block
local create_affiliations_blocks = from_authors.create_affiliations_blocks
local create_correspondence_blocks = from_authors.create_correspondence_blocks
local is_corresponding_author = from_authors.is_corresponding_author
local author_inline_generator = from_authors.author_inline_generator
local create_authors_inlines = from_authors.create_authors_inlines
-- [/import]
-- This is the main-part
function Pandoc(doc)
local meta = doc.meta
local body = List:new{}
local mark = function (mark_name) return default_marks[mark_name] end
body:extend(create_equal_contributors_block(meta.authors, mark) or {})
body:extend(create_affiliations_blocks(meta.affiliations) or {})
body:extend(create_correspondence_blocks(meta.authors, mark) or {})
body:extend(doc.blocks)
for _i, author in ipairs(meta.authors) do
author.test = is_corresponding_author(author)
end
meta.affiliations = normalize_affiliations(meta.affiliations)
meta.author = meta.authors:map(normalize_authors(meta.affiliations))
-- Overwrite authors with formatted values. We use a single, formatted
-- string for most formats. LaTeX output, however, looks nicer if we
-- provide a authors as a list.
meta.author = pandoc.MetaInlines(create_authors_inlines(meta.author, mark))
-- Institute info is now baked into the affiliations block.
meta.affiliations = nil
return pandoc.Pandoc(body, meta)
end
@@ -1,193 +0,0 @@
-- https://github.com/pandoc/lua-filters/commit/ca72210b453cc0d045360e0ae36448d019d7dfbf
--[[
affiliation-blocks generate title components
Copyright © 20172021 Albert Krewinkel
Permission to use, copy, modify, and/or distribute this software for any purpose
with or without fee is hereby granted, provided that the above copyright notice
and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
THIS SOFTWARE.
]]
-- from @kapsner
-- [import]
local from_utils = require("utils")
local has_key = from_utils.has_key
-- [/import]
local M = {}
-- taken from https://github.com/pandoc/lua-filters/blob/1660794b991c3553968beb993f5aabb99b317584/author-info-blocks/author-info-blocks.lua
local List = require("pandoc.List")
local utils = require("pandoc.utils")
local stringify = utils.stringify
-- taken from https://github.com/pandoc/lua-filters/blob/1660794b991c3553968beb993f5aabb99b317584/author-info-blocks/author-info-blocks.lua
local default_marks
local default_marks = {
corresponding_author = FORMAT == "latex" and { pandoc.RawInline("latex", "*") } or { pandoc.Str("") },
equal_contributor = FORMAT == "latex" and { pandoc.RawInline("latex", "") } or { pandoc.Str("") },
}
M.default_marks = default_marks
-- modified by @kapsner
-- taken from https://github.com/pandoc/lua-filters/blob/1660794b991c3553968beb993f5aabb99b317584/author-info-blocks/author-info-blocks.lua
local function is_equal_contributor(author)
if has_key(author, "attributes") then
return author.attributes["equal-contributor"]
end
return nil
end
-- taken from https://github.com/pandoc/lua-filters/blob/1660794b991c3553968beb993f5aabb99b317584/author-info-blocks/author-info-blocks.lua
--- Create equal contributors note.
local function create_equal_contributors_block(authors, mark)
local has_equal_contribs = List:new(authors):find_if(is_equal_contributor)
if not has_equal_contribs then
return nil
end
local contributors = {
pandoc.Superscript(mark("equal_contributor")),
pandoc.Space(),
pandoc.Str("These authors contributed equally to this work."),
}
return List:new({ pandoc.Para(contributors) })
end
M.create_equal_contributors_block = create_equal_contributors_block
-- taken from https://github.com/pandoc/lua-filters/blob/1660794b991c3553968beb993f5aabb99b317584/author-info-blocks/author-info-blocks.lua
local function intercalate(lists, elem)
local result = List:new({})
for i = 1, (#lists - 1) do
result:extend(lists[i])
result:extend(elem)
end
if #lists > 0 then
result:extend(lists[#lists])
end
return result
end
-- taken from https://github.com/pandoc/lua-filters/blob/1660794b991c3553968beb993f5aabb99b317584/author-info-blocks/author-info-blocks.lua
--- Check whether the given author is a corresponding author
local function is_corresponding_author(author)
if has_key(author, "attributes") then
if author.attributes["corresponding"] then
return author.email
end
end
return nil
end
M.is_corresponding_author = is_corresponding_author
-- taken from https://github.com/pandoc/lua-filters/blob/1660794b991c3553968beb993f5aabb99b317584/author-info-blocks/author-info-blocks.lua
--- Generate a block element containing the correspondence information
local function create_correspondence_blocks(authors, mark)
local corresponding_authors = List:new({})
for _, author in ipairs(authors) do
if is_corresponding_author(author) then
local mailto = "mailto:" .. utils.stringify(author.email)
local author_with_mail = List:new(
-- modified by @kapsner
author.name.literal
.. List:new({ pandoc.Space(), pandoc.Str("<") })
.. author.email
.. List:new({ pandoc.Str(">") })
)
local link = pandoc.Link(author_with_mail, mailto)
table.insert(corresponding_authors, { link })
end
end
if #corresponding_authors == 0 then
return nil
end
local correspondence = List:new({
pandoc.Superscript(mark("corresponding_author")),
pandoc.Space(),
pandoc.Str("Correspondence:"),
pandoc.Space(),
})
local sep = List:new({ pandoc.Str(","), pandoc.Space() })
return {
pandoc.Para(correspondence .. intercalate(corresponding_authors, sep)),
}
end
M.create_correspondence_blocks = create_correspondence_blocks
-- taken from https://github.com/pandoc/lua-filters/blob/1660794b991c3553968beb993f5aabb99b317584/author-info-blocks/author-info-blocks.lua
--- Create inlines for a single author (includes all author notes)
local function author_inline_generator(get_mark)
return function(author)
local author_marks = List:new({})
-- modified by @kapsner
if has_key(author, "attributes") then
if author.attributes["equal-contributor"] then
author_marks[#author_marks + 1] = get_mark("equal_contributor")
end
end
local idx_str
for _, idx in ipairs(author.affiliations) do
if type(idx) ~= "table" then
idx_str = tostring(idx)
else
idx_str = stringify(idx)
end
author_marks[#author_marks + 1] = { pandoc.Str(idx_str) }
end
if is_corresponding_author(author) then
author_marks[#author_marks + 1] = get_mark("corresponding_author")
end
-- modified by @kapsner
if FORMAT:match("latex") then
author.name.literal[#author.name.literal + 1] =
pandoc.Superscript(intercalate(author_marks, { pandoc.Str(",") }))
return author
else
local res = List.clone(author.name.literal)
res[#res + 1] = pandoc.Superscript(intercalate(author_marks, { pandoc.Str(",") }))
return res
end
end
end
M.author_inline_generator = author_inline_generator
-- taken from https://github.com/pandoc/lua-filters/blob/1660794b991c3553968beb993f5aabb99b317584/author-info-blocks/author-info-blocks.lua
--- Generate a list of inlines containing all authors.
local function create_authors_inlines(authors, mark)
local inlines_generator = author_inline_generator(mark)
local inlines = List:new(authors):map(inlines_generator)
local and_str = List:new({ pandoc.Space(), pandoc.Str("and"), pandoc.Space() })
local last_author = inlines[#inlines]
inlines[#inlines] = nil
local result = intercalate(inlines, { pandoc.Str(","), pandoc.Space() })
if #authors > 1 then
result:extend(List:new({ pandoc.Str(",") }) .. and_str)
end
result:extend(last_author)
return result
end
M.create_authors_inlines = create_authors_inlines
-- taken from https://github.com/pandoc/lua-filters/blob/1660794b991c3553968beb993f5aabb99b317584/author-info-blocks/author-info-blocks.lua
--- Generate a block list all affiliations, marked with arabic numbers.
local function create_affiliations_blocks(affiliations)
local affil_lines = List:new(affiliations):map(function(affil, i)
local num_inlines = List:new({
pandoc.Superscript({ pandoc.Str(affil.number) }),
pandoc.Space(),
})
return num_inlines .. affil.name
end)
return { pandoc.Para(intercalate(affil_lines, { pandoc.LineBreak() })) }
end
M.create_affiliations_blocks = create_affiliations_blocks
return M
@@ -1,59 +0,0 @@
--[[
ScholarlyMeta normalize author/affiliation meta variables
Copyright (c) 2017-2021 Albert Krewinkel, Robert Winkler
Permission to use, copy, modify, and/or distribute this software for any purpose
with or without fee is hereby granted, provided that the above copyright notice
and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
THIS SOFTWARE.
]]
local List = require 'pandoc.List'
local utils = require 'pandoc.utils'
local stringify = utils.stringify
local M = {}
-- taken from https://github.com/pandoc/lua-filters/blob/1660794b991c3553968beb993f5aabb99b317584/scholarly-metadata/scholarly-metadata.lua
--- Returns a function which checks whether an object has the given ID.
local function has_id(id)
return function(x) return x.id == id end
end
-- taken from https://github.com/pandoc/lua-filters/blob/1660794b991c3553968beb993f5aabb99b317584/scholarly-metadata/scholarly-metadata.lua
--- Resolve institute placeholders to full named objects
local function resolve_institutes(institute, known_institutes)
local unresolved_institutes
if institute == nil then
unresolved_institutes = {}
elseif type(institute) == "string" or type(institute) == "number" then
unresolved_institutes = {institute}
else
unresolved_institutes = institute
end
local result = List:new{}
for i, inst in ipairs(unresolved_institutes) do
-- this has been modified by @kapsner
--result[i] =
-- known_institutes[tonumber(inst)] or
-- known_institutes:find_if(has_id(pandoc.utils.stringify(inst))) or
-- to_named_object(inst)
intermed_val = known_institutes:find_if(has_id(stringify(inst)))
result[i] = pandoc.MetaString(stringify(intermed_val.index))
end
return result
end
M.resolve_institutes = resolve_institutes
return M
@@ -1,62 +0,0 @@
--[[
authors-block affiliations block extension for quarto
Copyright (c) 2023 Lorenz A. Kapsner
Permission to use, copy, modify, and/or distribute this software for any purpose
with or without fee is hereby granted, provided that the above copyright notice
and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
THIS SOFTWARE.
]]
local List = require 'pandoc.List'
local utils = require 'pandoc.utils'
local stringify = utils.stringify
-- [import]
local from_scholarly = require "from_scholarly_metadata"
local resolve_institutes = from_scholarly.resolve_institutes
-- [/import]
local M = {}
-- from @kapsner
local function normalize_affiliations(affiliations)
local affiliations_norm = List:new(affiliations):map(
function(affil, i)
affil.index = pandoc.MetaInlines(pandoc.Str(tostring(i)))
affil.id = pandoc.MetaString(stringify(affil.id))
return affil
end
)
return affiliations_norm
end
M.normalize_affiliations = normalize_affiliations
-- from https://stackoverflow.com/a/2282547
local function has_key(set, key)
return set[key] ~= nil
end
M.has_key = has_key
-- from @kapsner
local function normalize_authors(affiliations)
return function(auth)
auth.id = pandoc.MetaString(stringify(auth.name))
auth.affiliations = resolve_institutes(
auth.affiliations,
affiliations
)
return auth
end
end
M.normalize_authors = normalize_authors
return M
@@ -1,6 +0,0 @@
name: author-info-blocks
author: Albert Krewinkel
version: 1.0.0
contributes:
filters:
- author-info-blocks.lua
@@ -1,179 +0,0 @@
local List = require("pandoc.List")
local utils = require("pandoc.utils")
local stringify = utils.stringify
local byAuthor
local byAffiliation
local Authors = {}
local Affiliations = {}
local authorHoriz
local Corresponding = nil
local function make_correspondance(name, email)
correspondance = List:new({
pandoc.Str("* Corresponding Author: "),
pandoc.Str(name),
pandoc.Str(" ("),
pandoc.Link(email, "mailto:" .. email),
pandoc.Str(")"),
})
Corresponding = List:new({ pandoc.Para(correspondance) })
end
local equalCont
local function make_equal_contributor()
eq_statement = pandoc.Str("† These authors contributed equally to this work.")
equalCont = List:new({ pandoc.Para(eq_statement) })
end
local function create_author_list(byAuthor)
local authors = {}
for i, author in ipairs(byAuthor) do
local sups = {}
for j, aff in ipairs(author.affiliations) do
table.insert(sups, aff.number)
end
sups_str = table.concat(sups, ",")
local name = stringify(author.name.literal)
if author.attributes ~= nil then
if author.attributes["equal-contributor"] ~= nil and author.attributes["equal-contributor"] then
sups_str = sups_str .. ",†"
make_equal_contributor()
end
if author.attributes.corresponding ~= nil and author.attributes.corresponding then
local email = stringify(author.email)
sups_str = sups_str .. ",*"
make_correspondance(name, email)
end
end
local authorEntry = List:new({
pandoc.Str(name),
pandoc.Superscript(pandoc.Str(sups_str)),
})
if authorHoriz and i < #byAuthor then
authorEntry:extend({ pandoc.Str(", ") })
end
table.insert(authors, pandoc.Span(authorEntry))
end
if authorHoriz then
Authors = { pandoc.Para(authors) }
else
Authors = authors
end
end
local function create_affiliation_list(byAffiliation)
for i, aff in ipairs(byAffiliation) do
local full_aff = pandoc.List({})
if aff.name then
full_aff:insert(stringify(aff.name))
end
if aff.address then
full_aff:insert(stringify(aff.address))
end
if aff.city then
full_aff:insert(stringify(aff.city))
end
if aff["postal-code"] then
full_aff:insert(stringify(aff["postal-code"]))
end
if aff.region then
full_aff:insert(stringify(aff.region))
end
if aff.country then
full_aff:insert(stringify(aff.country))
end
local entry = table.concat(full_aff, ", ")
entry = aff.number .. ". " .. entry .. "."
table.insert(Affiliations, pandoc.Para(pandoc.Str(entry)))
end
end
local Abstract = nil
local function create_abstract(ab)
Abstract = {}
table.insert(Abstract, pandoc.Header(1, "Abstract"))
table.insert(Abstract, pandoc.Para(ab))
end
local Keywords = nil
local function create_keyword_list(kw)
Keywords = {}
-- quarto.log.output(kw)
local kws = pandoc.List({})
for i, keyword in ipairs(kw) do
kws:insert(stringify(keyword))
end
local kwentry = table.concat(kws, "; ")
kwentry = "Keywords: " .. kwentry .. "."
table.insert(Keywords, pandoc.Para(pandoc.Str(kwentry)))
end
local function remove_author_meta(meta)
meta.author = nil
meta.authors = nil
meta.affiliations = nil
meta["by-author"] = nil
meta["by-affiliation"] = nil
meta["abstract"] = nil
return meta
end
return {
{
Meta = function(meta)
byAuthor = meta["by-author"]
byAffiliation = meta["by-affiliation"]
if meta["author-horizontal"] ~= nil then
authorHoriz = meta["author-horizontal"]
else
authorHoriz = true
end
create_author_list(byAuthor)
create_affiliation_list(byAffiliation)
if meta["abstract"] ~= nil then
create_abstract(meta["abstract"])
end
if meta["keywords"] ~= nil then
create_keyword_list(meta["keywords"])
end
return meta
end,
},
{
Pandoc = function(doc)
local meta = doc.meta
local body = List:new({})
body:extend(Authors)
body:extend(Affiliations)
if equalCont ~= nil then
body:extend(equalCont)
end
if Corresponding ~= nil then
body:extend(Corresponding)
end
if Abstract then
body:extend(Abstract)
end
if Keywords then
body:extend(Keywords)
end
body:extend(doc.blocks)
meta = remove_author_meta(meta)
return pandoc.Pandoc(body, meta)
end,
},
}