This commit is contained in:
Ming Su 2025-07-27 02:34:01 +08:00
parent b805780ff3
commit 54254e8846
55 changed files with 7108 additions and 2 deletions

BIN
authoraffil/MS.pdf Normal file

Binary file not shown.

115
authoraffil/MS.qmd Normal file
View File

@ -0,0 +1,115 @@
---
title: "MANUSCRIPT TITLE"
subtitle: "Supplementary Information"
submitjournal: "JOURNAL"
submitid:
lang: en
date: ""
# bibliography: [BB/Ref.bib, BB/localRef.bib]
affilstyle: alphabeta # number
author:
- name: Xxxxx Yyyy
affiliations:
- ref: kleac
# email: 13586740928@163.com
attributes:
corresponding: false
equal-contributor: true
role:
- data-curation: lead
- methodology: lead
- formalanalysis: lead
- writingoriginal: equal
- writingediting: eqaul
- visualisation: supporting
- name: Ming Su
email: mingsu@rcees.ac.cn
url: https://drwater.net/team/ming-su/
role:
- conceptualization: lead
- methodology: supporting
- formalanalysis: lead
- writingoriginal: equal
- writingediting: equal
- visualisation: lead
- projectadmin: lead
- supervision
affiliations:
- ref: kleac
- ref: ucas
attributes:
corresponding: true
equal-contributor: true
- name: Min Yang
email: yangmin@rcees.ac.cn
affiliations:
- ref: kleac
- ref: ucas
attributes:
corresponding: true
affiliations:
- id: kleac
name: State Key Laboratory of Environmental Aquatic Chemistry, Research Center for Eco-Environmental Sciences, Chinese Academy of Sciences
# address: No. 18 Shuangqing Road
city: Beijing
postal-code: 100085
country: China
url: https://www.skleac.ac.cn
- id: ucas
name: University of Chinese Academy of Sciences
# address: No. 19A Yuquan Road
city: Beijing
postal-code: 100049
country: China
url: https://www.ucas.ac.cn
prefer-html: true
format:
# elsevier-html:
# toc: true
# css: _extensions/drwater/dwms/inst/css/style.css
# docx:
# reference-doc: _extensions/drwater/dwms/inst/word/MS.docx
pdf:
fontsize: 12pt
keep-md: false
keep-tex: true
filters:
# - latex-environment
- authoraffil
---
```{r}
#| include: false
#| cache: false
lang <- "en"
isRendering <- isTRUE(getOption("knitr.in.progress"))
require(tidyverse)
require(drwateR)
require(patchwork)
rmdify::rmd_init()
dwfun::init()
```
{{< pagebreak >}}
# Abstract {-}
{{< pagebreak >}}
{{< pagebreak >}}
<!-- {{< include _est.qmd >}} -->
# References {-}
::: {#refs}
:::
{{< pagebreak >}}
<!-- {{< include _nature.qmd >}} -->

280
authoraffil/MS.tex Normal file
View File

@ -0,0 +1,280 @@
% Options for packages loaded elsewhere
% Options for packages loaded elsewhere
\PassOptionsToPackage{unicode}{hyperref}
\PassOptionsToPackage{hyphens}{url}
\PassOptionsToPackage{dvipsnames,svgnames,x11names}{xcolor}
%
\documentclass[
english,
12pt,
letterpaper,
DIV=11,
numbers=noendperiod]{scrartcl}
\usepackage{xcolor}
\usepackage{amsmath,amssymb}
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
\usepackage{iftex}
\ifPDFTeX
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textcomp} % provide euro and other symbols
\else % if luatex or xetex
\usepackage{unicode-math} % this also loads fontspec
\defaultfontfeatures{Scale=MatchLowercase}
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
\fi
\usepackage{lmodern}
\ifPDFTeX\else
% xetex/luatex font selection
\fi
% Use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
\IfFileExists{microtype.sty}{% use microtype if available
\usepackage[]{microtype}
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
}{}
\makeatletter
\@ifundefined{KOMAClassName}{% if non-KOMA class
\IfFileExists{parskip.sty}{%
\usepackage{parskip}
}{% else
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}}
}{% if KOMA class
\KOMAoptions{parskip=half}}
\makeatother
% Make \paragraph and \subparagraph free-standing
\makeatletter
\ifx\paragraph\undefined\else
\let\oldparagraph\paragraph
\renewcommand{\paragraph}{
\@ifstar
\xxxParagraphStar
\xxxParagraphNoStar
}
\newcommand{\xxxParagraphStar}[1]{\oldparagraph*{#1}\mbox{}}
\newcommand{\xxxParagraphNoStar}[1]{\oldparagraph{#1}\mbox{}}
\fi
\ifx\subparagraph\undefined\else
\let\oldsubparagraph\subparagraph
\renewcommand{\subparagraph}{
\@ifstar
\xxxSubParagraphStar
\xxxSubParagraphNoStar
}
\newcommand{\xxxSubParagraphStar}[1]{\oldsubparagraph*{#1}\mbox{}}
\newcommand{\xxxSubParagraphNoStar}[1]{\oldsubparagraph{#1}\mbox{}}
\fi
\makeatother
\usepackage{longtable,booktabs,array}
\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}
\usepackage{graphicx}
\makeatletter
\newsavebox\pandoc@box
\newcommand*\pandocbounded[1]{% scales image to fit in text height/width
\sbox\pandoc@box{#1}%
\Gscale@div\@tempa{\textheight}{\dimexpr\ht\pandoc@box+\dp\pandoc@box\relax}%
\Gscale@div\@tempb{\linewidth}{\wd\pandoc@box}%
\ifdim\@tempb\p@<\@tempa\p@\let\@tempa\@tempb\fi% select the smaller of both
\ifdim\@tempa\p@<\p@\scalebox{\@tempa}{\usebox\pandoc@box}%
\else\usebox{\pandoc@box}%
\fi%
}
% Set default figure placement to htbp
\def\fps@figure{htbp}
\makeatother
\ifLuaTeX
\usepackage[bidi=basic]{babel}
\else
\usepackage[bidi=default]{babel}
\fi
% get rid of language-specific shorthands (see #6817):
\let\LanguageShortHands\languageshorthands
\def\languageshorthands#1{}
\ifLuaTeX
\usepackage[english]{selnolig} % disable illegal ligatures
\fi
\setlength{\emergencystretch}{3em} % prevent overfull lines
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
\KOMAoption{captions}{tableheading}
\makeatletter
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{plain}
\@ifundefined{c@chapter}{\newfloat{sfg}{h}{lost}}{\newfloat{sfg}{h}{lost}[chapter]}
\floatname{sfg}{Supplementary Fig.}
\newcommand*\listofsfgs{\listof{sfg}{List of Supplementary Figures}}
\makeatother
\makeatletter
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{plain}
\@ifundefined{c@chapter}{\newfloat{stb}{h}{lost}}{\newfloat{stb}{h}{lost}[chapter]}
\floatname{stb}{Supplementary Table}
\newcommand*\listofstbs{\listof{stb}{List of Supplementary Tables}}
\makeatother
\makeatletter
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{plain}
\@ifundefined{c@chapter}{\newfloat{seq}{h}{lost}}{\newfloat{seq}{h}{lost}[chapter]}
\floatname{seq}{Supplementary Eq.}
\newcommand*\listofseqs{\listof{seq}{List of Supplementary Equations}}
\makeatother
\makeatletter
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{plain}
\@ifundefined{c@chapter}{\newfloat{rfg}{h}{lost}}{\newfloat{rfg}{h}{lost}[chapter]}
\floatname{rfg}{Fig. R}
\newcommand*\quartorfgref[1]{Fig. \hyperref[#1]{R\ref{#1}}}
\@ifpackageloaded{caption}{}{\usepackage{caption}}
\DeclareCaptionLabelFormat{quartorfgreflabelformat}{#1#2}
\captionsetup[rfg]{labelformat=quartorfgreflabelformat}
\newcommand*\listofrfgs{\listof{rfg}{List of Revision Figures}}
\makeatother
\makeatletter
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{plain}
\@ifundefined{c@chapter}{\newfloat{rtb}{h}{lost}}{\newfloat{rtb}{h}{lost}[chapter]}
\floatname{rtb}{Table R}
\newcommand*\quartortbref[1]{Table \hyperref[#1]{R\ref{#1}}}
\@ifpackageloaded{caption}{}{\usepackage{caption}}
\DeclareCaptionLabelFormat{quartortbreflabelformat}{#1#2}
\captionsetup[rtb]{labelformat=quartortbreflabelformat}
\newcommand*\listofrtbs{\listof{rtb}{List of Revision Tables}}
\makeatother
\makeatletter
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{plain}
\@ifundefined{c@chapter}{\newfloat{req}{h}{lost}}{\newfloat{req}{h}{lost}[chapter]}
\floatname{req}{Eq R}
\newcommand*\quartoreqref[1]{Eq \hyperref[#1]{R\ref{#1}}}
\@ifpackageloaded{caption}{}{\usepackage{caption}}
\DeclareCaptionLabelFormat{quartoreqreflabelformat}{#1#2}
\captionsetup[req]{labelformat=quartoreqreflabelformat}
\newcommand*\listofreqs{\listof{req}{List of Revision Equations}}
\makeatother
\makeatletter
\@ifpackageloaded{caption}{}{\usepackage{caption}}
\AtBeginDocument{%
\ifdefined\contentsname
\renewcommand*\contentsname{Table of contents}
\else
\newcommand\contentsname{Table of contents}
\fi
\ifdefined\listfigurename
\renewcommand*\listfigurename{List of Figures}
\else
\newcommand\listfigurename{List of Figures}
\fi
\ifdefined\listtablename
\renewcommand*\listtablename{List of Tables}
\else
\newcommand\listtablename{List of Tables}
\fi
\ifdefined\figurename
\renewcommand*\figurename{Fig.}
\else
\newcommand\figurename{Fig.}
\fi
\ifdefined\tablename
\renewcommand*\tablename{Table}
\else
\newcommand\tablename{Table}
\fi
}
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{ruled}
\@ifundefined{c@chapter}{\newfloat{codelisting}{h}{lop}}{\newfloat{codelisting}{h}{lop}[chapter]}
\floatname{codelisting}{Listing}
\newcommand*\listoflistings{\listof{codelisting}{List of Listings}}
\captionsetup{labelsep=colon}
\makeatother
\makeatletter
\makeatother
\makeatletter
\@ifpackageloaded{caption}{}{\usepackage{caption}}
\@ifpackageloaded{subcaption}{}{\usepackage{subcaption}}
\makeatother
\usepackage{bookmark}
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
\urlstyle{same}
\hypersetup{
pdftitle={MANUSCRIPT TITLE},
pdfauthor={, , and },
pdflang={en},
colorlinks=true,
linkcolor={blue},
filecolor={Maroon},
citecolor={Blue},
urlcolor={Blue},
pdfcreator={LaTeX via pandoc}}
\title{MANUSCRIPT TITLE}
\usepackage{etoolbox}
\makeatletter
\providecommand{\subtitle}[1]{% add subtitle to \maketitle
\apptocmd{\@title}{\par {\large #1 \par}}{}{}
}
\makeatother
\subtitle{Supplementary Information}
\author{Xxxxx Yyyy\textsuperscript{a,\#} \and Ming
Su\textsuperscript{a,b,\#,*} \and Min Yang\textsuperscript{a,b,*}}
\date{}
\begin{document}
\maketitle
\textsuperscript{\#} These authors contributed equally to this work.
\textsuperscript{a} State Key Laboratory of Environmental Aquatic
Chemistry, Research Center for Eco-Environmental Sciences, Chinese
Academy of Sciences, Beijing 100085, China.\\
\textsuperscript{b} University of Chinese Academy of Sciences, Beijing
100049, China.
\textsuperscript{*} Corresponding to:
\href{mailto:mingsu@rcees.ac.cn}{Ming Su (mingsu@rcees.ac.cn)},
\href{mailto:yangmin@rcees.ac.cn}{Min Yang (yangmin@rcees.ac.cn)}
\newpage{}
\section*{Abstract}\label{abstract}
\addcontentsline{toc}{section}{Abstract}
\newpage{}
\newpage{}
\section*{References}\label{references}
\addcontentsline{toc}{section}{References}
\phantomsection\label{refs}
\newpage{}
\end{document}

View File

@ -0,0 +1,16 @@
title: Authors and affiliation formatting for quarto
authors:
- name: Ming Su
email: mingsu@rcees.ac.cn
orcid: 0000-0001-9821-1268
url: https://drwater.net/team/ming-su/
- name: Lorenz A. Kapsner
orcid: 0000-0003-1866-860X
- name: Albert Krewinkel
orcid: 0000-0002-9455-0796
- name: Robert Winkler
version: 0.3.2
quarto-required: ">=1.3.0"
contributes:
filters:
- authoraffil.lua

View File

@ -0,0 +1,75 @@
--[[
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 from_utils = require("utils")
local normalize_affiliations = from_utils.normalize_affiliations
local normalize_authors = from_utils.normalize_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
function Pandoc(doc)
local meta = doc.meta
local body = List:new({})
local mark = function(mark_name)
return default_marks[mark_name]
end
-- Process CRediT roles
if meta.authors then
local credit_roles = List:new({})
for i, author in ipairs(meta.authors) do
if author.role then
local roles = List:new({})
for role, level in pairs(author.role) do
roles:insert(pandoc.Str(role .. ": " .. stringify(level)))
end
if #roles > 0 then
local author_name = stringify(author.name)
credit_roles:insert(pandoc.Para({
pandoc.Str(author_name .. ": "),
pandoc.Str(table.concat(roles:map(stringify), ", ")),
}))
end
end
end
if #credit_roles > 0 then
body:insert(pandoc.Header(2, pandoc.Str("Author Contributions")))
body:extend(credit_roles)
end
end
body:extend(create_equal_contributors_block(meta.authors, mark) or {})
body:extend(create_affiliations_blocks(meta.affiliations, meta) 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 or {})
meta.author = meta.authors:map(normalize_authors(meta.affiliations))
meta.author = pandoc.MetaInlines(create_authors_inlines(meta.author, mark, meta))
meta.affiliations = nil
return pandoc.Pandoc(body, meta)
end

View File

@ -0,0 +1,297 @@
--[[
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.
]]
local from_utils = require("utils")
local has_key = from_utils.has_key
local List = require("pandoc.List")
local utils = require("pandoc.utils")
local stringify = utils.stringify
local M = {}
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("#") },
}
local function get_orcid_mark(orcid_value)
if not orcid_value then
return {}
end
local orcid_str
if type(orcid_value) == "string" then
orcid_str = orcid_value
elseif type(orcid_value) == "table" then
if orcid_value.text then
orcid_str = orcid_value.text
elseif orcid_value[1] and orcid_value[1].text then
orcid_str = orcid_value[1].text
else
return {}
end
else
return {}
end
orcid_str = orcid_str:gsub("[%-%s]", "")
if FORMAT == "latex" then
return { pandoc.RawInline("latex", "\\orcidlink{" .. orcid_str .. "}") }
elseif FORMAT:match("docx") then
local orcid_url = "https://orcid.org/" .. orcid_str
return {
pandoc.Str(" "),
pandoc.Link("ID", orcid_url),
}
else
local orcid_url = "https://orcid.org/" .. orcid_str
return { pandoc.Link(pandoc.Str(""), orcid_url, "", { class = "orcid" }) }
end
end
M.default_marks = default_marks
local function is_equal_contributor(author)
if has_key(author, "attributes") then
return author.attributes["equal-contributor"]
end
return nil
end
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
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
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
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:" .. stringify(author.email)
local author_with_mail = List:new(
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("Corresponding to:"),
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
local function author_inline_generator(get_mark, meta)
return function(author)
local author_marks = List:new({})
if has_key(author, "orcid") then
author_marks[#author_marks + 1] = get_orcid_mark(author.orcid)
end
local affilstyle = meta and meta.affilstyle and stringify(meta.affilstyle) or "alphabeta"
for _, idx in ipairs(author.affiliations) do
local idx_num = tonumber(stringify(idx)) -- Convert MetaString/MetaInlines to number
if not idx_num then
error("Invalid affiliation index: " .. tostring(idx))
end
local idx_str
if affilstyle == "number" then
idx_str = tostring(idx_num)
else
if idx_num > 26 then
error("Too many affiliations: only up to 26 (a-z) are supported")
end
idx_str = string.char(96 + idx_num)
end
author_marks[#author_marks + 1] = { pandoc.Str(idx_str) }
end
if has_key(author, "attributes") then
if author.attributes["equal-contributor"] then
author_marks[#author_marks + 1] = get_mark("equal_contributor")
end
end
if is_corresponding_author(author) then
author_marks[#author_marks + 1] = get_mark("corresponding_author")
end
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
local function create_authors_inlines(authors, mark, meta)
local inlines_generator = author_inline_generator(mark, meta)
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
if #authors == 2 then
result:extend(and_str)
else
result:extend(List:new({ pandoc.Str(",") }) .. and_str)
end
end
result:extend(last_author)
return result
end
M.create_authors_inlines = create_authors_inlines
local function create_affiliations_blocks_alphabeta(affiliations, meta)
local affilstyle = meta and meta.affilstyle and stringify(meta.affilstyle) or "alphabeta"
local affil_lines = List:new(affiliations):map(function(affil, i)
if affilstyle == "number" then
num_inlines = pandoc.List:new({
pandoc.Superscript(pandoc.Str(tostring(i))),
pandoc.Space(),
})
else
num_inlines = pandoc.List:new({
pandoc.Superscript(pandoc.Str(string.char(96 + i))),
pandoc.Space(),
})
end
local name_inlines = type(affil.name) == "table" and affil.name or { pandoc.Str(tostring(affil.name)) }
local city_inlines = type(affil.city) == "table" and affil.city or { pandoc.Str(tostring(affil.city)) }
local postcode_inlines = type(affil["postal-code"]) == "table" and affil["postal-code"]
or { pandoc.Str(tostring(affil["postal-code"])) }
local country_inlines = type(affil.country) == "table" and affil.country
or { pandoc.Str(tostring(affil.country or affil["postal-code"])) }
return num_inlines
:extend(name_inlines)
:extend({ pandoc.Str(", ") })
:extend(city_inlines)
:extend({ pandoc.Space() })
:extend(postcode_inlines)
:extend({ pandoc.Str(", ") })
:extend(country_inlines)
:extend({ pandoc.Str(".") })
end)
local combined_inlines = pandoc.List:new()
for i, line in ipairs(affil_lines) do
combined_inlines:extend(line)
if i < #affil_lines then
combined_inlines:extend({ pandoc.LineBreak() })
end
end
return { pandoc.Para(combined_inlines) }
end
local function create_affiliations_blocks_number(affiliations, meta)
local affilstyle = meta and meta.affilstyle and stringify(meta.affilstyle) or "alphabeta"
local affil_lines = List:new(affiliations):map(function(affil, i)
local num_inlines = pandoc.List:new({
pandoc.Superscript(pandoc.Str(tostring(i))),
pandoc.Space(),
})
local name_inlines = type(affil.name) == "table" and affil.name or { pandoc.Str(tostring(affil.name)) }
local city_inlines = type(affil.city) == "table" and affil.city or { pandoc.Str(tostring(affil.city)) }
local postcode_inlines = type(affil["postal-code"]) == "table" and affil["postal-code"]
or { pandoc.Str(tostring(affil["postal-code"])) }
local country_inlines = type(affil.country) == "table" and affil.country
or { pandoc.Str(tostring(affil.country or affil["postal-code"])) }
return num_inlines
:extend(name_inlines)
:extend({ pandoc.Str(", ") })
:extend(city_inlines)
:extend({ pandoc.Space() })
:extend(postcode_inlines)
:extend({ pandoc.Str(", ") })
:extend(country_inlines)
:extend({ pandoc.Str(".") })
end)
local combined_inlines = pandoc.List:new()
for i, line in ipairs(affil_lines) do
combined_inlines:extend(line)
if i < #affil_lines then
combined_inlines:extend({ pandoc.LineBreak() })
end
end
return { pandoc.Para(combined_inlines) }
end
M.create_affiliations_blocks = create_affiliations_blocks_alphabeta
function Meta(meta)
local affilstyle = meta and meta.affilstyle and stringify(meta.affilstyle) or "alphabeta"
M.create_affiliations_blocks = affilstyle == "number" and create_affiliations_blocks_number
or create_affiliations_blocks_alphabeta
if meta.authors then
meta.author = create_authors_inlines(meta.authors, M.default_marks, meta)
end
if meta.affiliations then
meta.institute = M.create_affiliations_blocks(meta.affiliations, meta)
end
if meta.authors then
local equal_contributors = create_equal_contributors_block(meta.authors, M.default_marks)
if equal_contributors then
meta["equal-contributors"] = equal_contributors
end
local correspondence = create_correspondence_blocks(meta.authors, M.default_marks)
if correspondence then
meta.correspondence = correspondence
end
end
return meta
end
return M

View File

@ -0,0 +1,51 @@
--[[
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 = {}
local function has_id(id)
return function(x)
return x.id == id
end
end
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
local intermed_val = known_institutes:find_if(has_id(stringify(inst)))
if intermed_val then
result[i] = pandoc.MetaString(tostring(intermed_val.index))
else
result[i] = pandoc.MetaString(tostring(inst))
end
end
return result
end
M.resolve_institutes = resolve_institutes
return M

View File

@ -0,0 +1,49 @@
--[[
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
local from_scholarly = require("from_scholarly_metadata")
local resolve_institutes = from_scholarly.resolve_institutes
local M = {}
local function normalize_affiliations(affiliations)
local affiliations_norm = List:new(affiliations or {}):map(function(affil, i)
affil.index = pandoc.MetaString(tostring(i))
affil.id = pandoc.MetaString(stringify(affil.id or affil.name))
return affil
end)
return affiliations_norm
end
M.normalize_affiliations = normalize_affiliations
local function has_key(set, key)
return set[key] ~= nil
end
M.has_key = has_key
local function normalize_authors(affiliations)
return function(auth)
auth.id = pandoc.MetaString(stringify(auth.name))
auth.affiliations = resolve_institutes(auth.affiliations or {}, affiliations)
return auth
end
end
M.normalize_authors = normalize_authors
return M

12
dwbk/.gitignore vendored Normal file
View File

@ -0,0 +1,12 @@
.Rproj.user
.Rhistory
.RData
.Ruserdata
site_libs/
/.quarto/
site_libs/
BB/Ref.bib
_variables.yml
_freeze/
www/
.source_state

BIN
dwbk/RP.pdf Normal file

Binary file not shown.

56
dwbk/RP.qmd Normal file
View File

@ -0,0 +1,56 @@
---
title: "报告名称"
author: "中国科学院生态环境研究中心"
lang: zh
date: today
csl: _extensions/drwater/inst/tex/china-national-standard-gb-t-7714-2015-numeric.csl
format:
# html:
# theme: cosmo
# css: _extensions/drwater/inst/css/style.css
# docx:
# toc: true
# reference-doc: _extensions/drwater/inst/word/repcn.docx
# epub: default
dwbk-pdf: default
---
::: {.content-visible when-format="html"}
# Color tip {.unnumbered}
- [Something should be deleted]{.del}
- [Something bad]{.bad}
- [Something good]{.good}
- [Something todo]{.todo}
- [Something should be added]{.add}
- [I am a comment]{.com}
:::
```{r}
#| label: setup
#| include: false
#| cache: false
lang <- "cn"
RM <- "F" # global rendermode, L: load pdata; F: fast load pdf
isRendering <- !isTRUE(getOption('knitr.in.progress'))
require(lubridate)
require(tidyverse)
require(patchwork)
require(drwateR)
rmdify::rmd_init()
```
# 摘要
# 项目背景与国内外现状介绍
# 主要进展1
# 主要进展2
# 结论与下一步计划
# 参考文献{-}

View File

@ -0,0 +1,47 @@
title: dwms-pdf-quarto
author: Ming Su
version: 0.0.1
quarto-required: ">=1.3.0"
contributes:
formats:
common:
knitr:
opts_chunk:
echo: false
message: false
warning: false
pdf:
documentclass: ctexbook # 使用ctexbook文档类专门处理中文
classoption:
- fntef
- UTF8
# - scheme=plain # 标题样式方案
- zihao=-4 # 正文字号小四
papersize: a4
geometry: [left=2.5cm, right=2.5cm, top=2.54cm, bottom=2.54cm]
linestretch: 1.25
toc: true
toc-depth: 3
number-sections: true
lang: zh-CN
fig-pos: "!t"
colorlinks: true
urlcolor: blue
sansfont: "Gill Sans"
sansfontoptions:
- Color=39729E
mainfont: "Source Sans 3" #| Verdana (fontsize: 11pt) # Source Sans 3 | Times New Roman| Helvetica | PT Sans
monofont: "JetBrains Mono"
mathfont: "Cambria Math"
# 确保中文标点符号正确处理
CJKoptions: |
AutoFakeBold=true
block-headings: false
include-in-header: header.tex
template-partials:
- "partials/title.tex"
- "partials/before-body.tex"
- "partials/after-body.tex"
filters:
- latex-environment
lightbox: auto

View File

@ -0,0 +1,106 @@
% -----------------------
% CUSTOM PREAMBLE STUFF
% -----------------------
\usepackage{xeCJK}
\usepackage{enumitem}
\usepackage{fontspec}
\usepackage{float}
\usepackage[normalem]{ulem}
\usepackage{hyperref}
\usepackage{nameref} %needed by zref-xr
\usepackage{xr-hyper}
\usepackage[normalem]{ulem}
\usepackage{setspace}
\usepackage{lineno}
\usepackage{caption}
\captionsetup{singlelinecheck=off}
\usepackage[UTF8, scheme=plain]{ctex}
\usepackage{orcidlink}
\usepackage{eso-pic}
\usepackage{ctexcap} % 中文标题处理
\usepackage[perpage]{footmisc} % 脚注每页重置
\setlength{\parindent}{2em} % 中文段落缩进2字符
\setCJKmainfont[AutoFakeBold=true]{SimHei}
\setCJKsansfont[AutoFakeBold]{Microsoft YaHei}
% \setCJKmonofont[AutoFakeBold]{KaiTi}
% -----------------
% Title block stuff
% -----------------
% Title
\makeatletter
\renewcommand{\title}[1]{\gdef\@title{\Huge\textbf{#1}}} % Adjust \Huge or other font commands
\makeatother
% ------------------
% Section headings
% ------------------
\usepackage{titlesec}
\titleformat*{\section}{\Large\sffamily\bfseries\raggedright}
\titleformat*{\subsection}{\large\sffamily\bfseries\raggedright}
\titleformat*{\subsubsection}{\normalsize\sffamily\bfseries\raggedright}
\titleformat*{\paragraph}{\small\sffamily\bfseries\raggedright}
%\titlespacing{<command>}{<left>}{<before-sep>}{<after-sep>}
% Starred version removes indentation in following paragraph
\titlespacing*{\section}{0em}{2em}{0.1em}
\titlespacing*{\subsection}{0em}{1.25em}{0.1em}
\titlespacing*{\subsubsection}{0em}{0.75em}{0em}
% ------------------
% Headers/Footers
% ------------------
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[L,C,R]{}
\fancyfoot[L,C]{}
\fancyfoot[R]{\thepage}
\fancyfootoffset{3.5cm}
\renewcommand{\headrulewidth}{1pt}
\fancypagestyle{plain}{%
\renewcommand{\headrulewidth}{0pt}%
\fancyhf{}%
\fancyfoot[R]{\thepage}%
}
\renewcommand\footnoterule{\rule{\linewidth}{0.1pt}\vspace{5pt}}
% ------------------
% Captions
% ------------------
\usepackage[labelfont=bf,labelsep=period]{caption}
\captionsetup[figure]{font=footnotesize,justification=raggedright,singlelinecheck=false,format=hang}
% ---------------------------
% END CUSTOM PREAMBLE STUFF
% ---------------------------
%
%
%% Let's define some colours
\definecolor{light}{HTML}{ECF1EC}
\definecolor{highlight}{HTML}{800080}
\definecolor{dark}{HTML}{330033}
%% Let's add the border on the left hand side
\AddToShipoutPicture{%
\AtPageLowerLeft{%
\put(0,0){% % 从页面左下角(0,0)开始
\color{light}\rule{2.4cm}{\LenToUnit\paperheight}% % 左侧3cm宽的边框
}%
}%
% logo
\AtPageLowerLeft{% start the bar at the bottom left of the page
\put(0.5cm,27.2cm){% % 从左侧边缘向右移动0.75cm垂直位置27.2cm
\color{light}\includegraphics[width=1.5cm]{_extensions/drwater/dwbk/logo.png}
}%
}%
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

View File

@ -0,0 +1,33 @@
$-- Implements the frontmatter, title page, and abstract.
% for some reason this does not work in header
\renewcommand{\abstractname}{Abstract.}
% add the short title to the fancy header
$if(shorttitle)$
\fancyhead[R]{$shorttitle$}
$endif$
$if(shortauthors)$
\fancyhead[L]{$shortauthors$}
$endif$
$if(has-frontmatter)$
\frontmatter
$endif$
$if(title)$
\maketitle
%\noindent \rule{\linewidth}{.5pt}
$if(abstract)$
\begin{abstract}
$abstract$
\end{abstract}
$if(keywords)$
\begin{keywords}
\def\sep{;\ }
$for(keywords/allbutlast)$$keywords$\sep $endfor$
$for(keywords/last)$$keywords$$endfor$
\end{keywords}
$endif$
$endif$
%\noindent \rule{\linewidth}{.5pt}
$endif$

View File

@ -0,0 +1,15 @@
$if(title)$
\title{$title$$if(thanks)$\thanks{$thanks$}$endif$}
$endif$
$if(subtitle)$
\usepackage{etoolbox}
\makeatletter
\providecommand{\subtitle}[1]{% add subtitle to \maketitle
\apptocmd{\@title}{\par {\large\sffamily\bfseries #1 \par}}{}{}
}
\makeatother
\subtitle{$subtitle$}
$endif$
$-- This supports Quarto's authors normalization
\author{$for(authors)$\footnotesize $it.name.literal$$sep$ \and $endfor$}
\date{$date$}

View File

@ -99,7 +99,7 @@
% logo
\AtPageLowerLeft{% start the bar at the bottom left of the page
\put(0.5cm,27.2cm){% % 从左侧边缘向右移动0.75cm垂直位置27.2cm
\color{light}\includegraphics[width=1.5cm]{_extensions/drwater/dwen/logo.png}
\color{light}\includegraphics[width=1.5cm]{_extensions/drwater/dwbk/logo.png}
}%
}%
}

BIN
dwbk/logo.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

12
dwen/.gitignore vendored Normal file
View File

@ -0,0 +1,12 @@
.Rproj.user
.Rhistory
.RData
.Ruserdata
site_libs/
/.quarto/
site_libs/
BB/Ref.bib
_variables.yml
_freeze/
www/
.source_state

View File

@ -0,0 +1,17 @@
title: PrettyPDF
author: Nicola Rennie
version: 0.0.5
contributes:
project:
project:
type: book
formats:
pdf:
include-in-header:
- "header.tex"
include-before-body:
- "partials/before-body.tex"
toc: false
code-block-bg: light
linkcolor: highlight
urlcolor: highlight

View File

@ -0,0 +1,59 @@
% load packages
\usepackage{geometry}
\usepackage{xcolor}
\usepackage{eso-pic}
\usepackage{fancyhdr}
\usepackage{sectsty}
\usepackage{fontspec}
\usepackage{titlesec}
%% Set page size with a wider right margin
\geometry{a4paper, total={170mm,257mm}, left=20mm, top=20mm, bottom=20mm, right=50mm}
%% Let's define some colours
\definecolor{light}{HTML}{ECF1EC}
\definecolor{highlight}{HTML}{800080}
\definecolor{dark}{HTML}{330033}
%% Let's add the border on the right hand side
\AddToShipoutPicture{%
\AtPageLowerLeft{%
\put(\LenToUnit{\dimexpr\paperwidth-3cm},0){%
\color{light}\rule{3cm}{\LenToUnit\paperheight}%
}%
}%
% logo
\AtPageLowerLeft{% start the bar at the bottom right of the page
\put(\LenToUnit{\dimexpr\paperwidth-2.25cm},27.2cm){% move it to the top right
\color{light}\includegraphics[width=1.5cm]{_extensions/drwater/dwen/logo.png}
}%
}%
}
%% Style the page number
\fancypagestyle{mystyle}{
\fancyhf{}
\renewcommand\headrulewidth{0pt}
\fancyfoot[R]{\thepage}
\fancyfootoffset{3.5cm}
}
\setlength{\footskip}{20pt}
%% style the chapter/section fonts
\chapterfont{\color{dark}\fontsize{20}{16.8}\selectfont}
\sectionfont{\color{dark}\fontsize{20}{16.8}\selectfont}
\subsectionfont{\color{dark}\fontsize{14}{16.8}\selectfont}
\titleformat{\subsection}
{\sffamily\Large\bfseries}{\thesection}{1em}{}[{\titlerule[0.8pt]}]
% left align title
\makeatletter
\renewcommand{\maketitle}{\bgroup\setlength{\parindent}{0pt}
\begin{flushleft}
{\sffamily\huge\textbf{\MakeUppercase{\@title}}} \vspace{0.3cm} \newline
{\Large {\@subtitle}} \newline
\@author
\end{flushleft}\egroup
}
\makeatother

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

View File

@ -0,0 +1 @@
\pagestyle{mystyle}

BIN
dwen/template.pdf Normal file

Binary file not shown.

25
dwen/template.qmd Normal file
View File

@ -0,0 +1,25 @@
---
title: "Pretty PDFs with Quarto"
format: dwen-pdf
---
## Quarto
Quarto enables you to weave together content and executable code into a finished document. To learn more about Quarto see <https://quarto.org>.
### Running Code
When you click the **Render** button a document will be generated that includes both content and the output of embedded code. You can embed code like this:
```{r}
1 + 1
```
You can add options to executable code like this
```{r}
#| echo: false
2 * 2
```
The `echo: false` option disables the printing of code (only output is displayed).

12
dwms/.gitignore vendored Normal file
View File

@ -0,0 +1,12 @@
.Rproj.user
.Rhistory
.RData
.Ruserdata
site_libs/
/.quarto/
site_libs/
BB/Ref.bib
_variables.yml
_freeze/
www/
.source_state

0
dwms/BB/localRef.bib Normal file
View File

BIN
dwms/MS.pdf Normal file

Binary file not shown.

180
dwms/MS.qmd Normal file
View File

@ -0,0 +1,180 @@
---
msname: MS
smname: SM
title: "MANUSCRIPT TITLE"
subtitle: "Supplementary Information"
submitjournal: "JOURNAL"
submitid:
lang: en
date: ""
# bibliography: [BB/Ref.bib, BB/localRef.bib]
affilstyle: alphabeta # number
author:
- name: Xxxxx Yyyy
affiliations:
- ref: kleac
# email: 13586740928@163.com
attributes:
corresponding: false
equal-contributor: true
role:
- data-curation: lead
- methodology: lead
- formalanalysis: lead
- writingoriginal: equal
- writingediting: eqaul
- visualisation: supporting
- name: Ming Su
email: mingsu@rcees.ac.cn
orcid: 0000-0001-9821-1268
url: https://drwater.net/team/ming-su/
role:
- conceptualization: lead
- methodology: supporting
- formalanalysis: lead
- writingoriginal: equal
- writingediting: equal
- visualisation: lead
- projectadmin: lead
- supervision
affiliations:
- ref: kleac
- ref: ucas
attributes:
corresponding: true
equal-contributor: true
- name: Min Yang
email: yangmin@rcees.ac.cn
affiliations:
- ref: kleac
- ref: ucas
attributes:
corresponding: true
affiliations:
- id: kleac
name: State Key Laboratory of Environmental Aquatic Chemistry, Research Center for Eco-Environmental Sciences, Chinese Academy of Sciences
# address: No. 18 Shuangqing Road
city: Beijing
postal-code: 100085
country: China
url: https://www.skleac.ac.cn
- id: ucas
name: University of Chinese Academy of Sciences
# address: No. 19A Yuquan Road
city: Beijing
postal-code: 100049
country: China
url: https://www.ucas.ac.cn
crossref:
fig-title: Fig. # (default is "Figure")
tbl-title: Table # (default is "Table")
eq-title: Eq. # (default is "Equation")
title-delim: ":" # (default is ":")
fig-prefix: Fig. # (default is "Figure")
tbl-prefix: Table # (default is "Table")
eq-prefix: Eq.
ref-hyperlink: true # (default is true)
custom:
- kind: float
key: sfg
reference-prefix: "Supplementary Fig."
space-before-numbering: true
caption-prefix: "Supplementary Fig."
latex-env: sfg
latex-list-of-file-extension: lost
latex-list-of-description: Supplementary Figure
- kind: float
key: stb
reference-prefix: "Supplementary Table"
space-before-numbering: true
caption-prefix: "Supplementary Table"
latex-env: stb
latex-list-of-file-extension: lost
latex-list-of-description: Supplementary Table
- kind: float
key: seq
reference-prefix: "Supplementary Eq."
space-before-numbering: true
caption-prefix: "Supplementary Eq."
latex-env: seq
latex-list-of-file-extension: lost
latex-list-of-description: Supplementary Equation
- kind: float
key: rfg
reference-prefix: "Fig. R"
space-before-numbering: false
caption-prefix: "Fig. R"
latex-env: rfg
latex-list-of-file-extension: lost
latex-list-of-description: Revision Figure
- kind: float
key: rtb
reference-prefix: "Table R"
space-before-numbering: false
caption-prefix: "Table R"
latex-env: rtb
latex-list-of-file-extension: lost
latex-list-of-description: Revision Table
- kind: float
key: req
reference-prefix: "Eq R"
space-before-numbering: false
caption-prefix: "Eq R"
latex-env: req
latex-list-of-file-extension: lost
latex-list-of-description: Revision Equation
prefer-html: true
format:
# elsevier-html:
# toc: true
# css: _extensions/drwater/dwms/inst/css/style.css
# docx:
# reference-doc: _extensions/drwater/dwms/inst/word/MS.docx
dwms-pdf:
fontsize: 12pt
keep-md: false
keep-tex: true
header-includes:
- \usepackage{endfloat}
- \doublespacing
- \linenumbers
# filters:
# - latex-environment
# - authoraffil
---
```{r}
#| include: false
#| cache: false
lang <- "en"
isRendering <- isTRUE(getOption("knitr.in.progress"))
require(tidyverse)
require(drwateR)
require(patchwork)
rmdify::rmd_init()
dwfun::init()
```
{{< pagebreak >}}
# Abstract {-}
{{< pagebreak >}}
{{< pagebreak >}}
<!-- {{< include _est.qmd >}} -->
# References {-}
::: {#refs}
:::
{{< pagebreak >}}
<!-- {{< include _nature.qmd >}} -->

405
dwms/MS.tex Normal file
View File

@ -0,0 +1,405 @@
% Options for packages loaded elsewhere
% Options for packages loaded elsewhere
\PassOptionsToPackage{unicode}{hyperref}
\PassOptionsToPackage{hyphens}{url}
\PassOptionsToPackage{dvipsnames,svgnames,x11names}{xcolor}
\PassOptionsToPackage{space}{xeCJK}
%
\documentclass[
english,
12pt,
letterpaper,
]{article}
\usepackage{xcolor}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath,amssymb}
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
\usepackage{iftex}
\ifPDFTeX
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textcomp} % provide euro and other symbols
\else % if luatex or xetex
\usepackage{unicode-math} % this also loads fontspec
\defaultfontfeatures{Scale=MatchLowercase}
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
\fi
\usepackage{lmodern}
\ifPDFTeX\else
% xetex/luatex font selection
\setmainfont[]{Source Sans 3}
\setsansfont[Color=39729E]{Gill Sans}
\setmonofont[]{JetBrains Mono}
\setmathfont[]{Cambria Math}
\ifXeTeX
\usepackage{xeCJK}
\setCJKmainfont[]{SimHei}
\fi
\ifLuaTeX
\usepackage[]{luatexja-fontspec}
\setmainjfont[]{SimHei}
\fi
\fi
% Use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
\IfFileExists{microtype.sty}{% use microtype if available
\usepackage[]{microtype}
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
}{}
\makeatletter
\@ifundefined{KOMAClassName}{% if non-KOMA class
\IfFileExists{parskip.sty}{%
\usepackage{parskip}
}{% else
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}}
}{% if KOMA class
\KOMAoptions{parskip=half}}
\makeatother
\usepackage{longtable,booktabs,array}
\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}
\usepackage{graphicx}
\makeatletter
\newsavebox\pandoc@box
\newcommand*\pandocbounded[1]{% scales image to fit in text height/width
\sbox\pandoc@box{#1}%
\Gscale@div\@tempa{\textheight}{\dimexpr\ht\pandoc@box+\dp\pandoc@box\relax}%
\Gscale@div\@tempb{\linewidth}{\wd\pandoc@box}%
\ifdim\@tempb\p@<\@tempa\p@\let\@tempa\@tempb\fi% select the smaller of both
\ifdim\@tempa\p@<\p@\scalebox{\@tempa}{\usebox\pandoc@box}%
\else\usebox{\pandoc@box}%
\fi%
}
% Set default figure placement to htbp
\def\fps@figure{htbp}
\makeatother
\ifLuaTeX
\usepackage[bidi=basic]{babel}
\else
\usepackage[bidi=default]{babel}
\fi
\ifPDFTeX
\else
\babelfont{rm}[]{Source Sans 3}
\fi
% get rid of language-specific shorthands (see #6817):
\let\LanguageShortHands\languageshorthands
\def\languageshorthands#1{}
\ifLuaTeX
\usepackage[english]{selnolig} % disable illegal ligatures
\fi
\setlength{\emergencystretch}{3em} % prevent overfull lines
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
% -----------------------
% CUSTOM PREAMBLE STUFF
% -----------------------
\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}
\usepackage[normalem]{ulem}
\usepackage{setspace}
\usepackage{lineno}
\usepackage{caption}
\captionsetup{singlelinecheck=off}
\usepackage[UTF8, scheme=plain]{ctex}
\usepackage{orcidlink}
% \setkomafont{author}{\normalsize}
% for revision
\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}}
% -----------------
% Title block stuff
% -----------------
% Title
\makeatletter
\renewcommand{\title}[1]{\gdef\@title{\large\textbf{#1}}} % Adjust \Huge or other font commands
\makeatother
% ------------------
% Section headings
% ------------------
\usepackage{titlesec}
\titleformat*{\section}{\Large\sffamily\bfseries\raggedright}
\titleformat*{\subsection}{\large\sffamily\bfseries\raggedright}
\titleformat*{\subsubsection}{\normalsize\sffamily\bfseries\raggedright}
\titleformat*{\paragraph}{\small\sffamily\bfseries\raggedright}
%\titlespacing{<command>}{<left>}{<before-sep>}{<after-sep>}
% Starred version removes indentation in following paragraph
\titlespacing*{\section}{0em}{2em}{0.1em}
\titlespacing*{\subsection}{0em}{1.25em}{0.1em}
\titlespacing*{\subsubsection}{0em}{0.75em}{0em}
% ------------------
% Headers/Footers
% ------------------
% \usepackage{fancyhdr}
% \pagestyle{fancy}
% \fancyhf{}
% \fancyhead[L,C,R]{}
% \fancyfoot[L,C]{}
% \fancyfoot[R]{\thepage}
% \renewcommand{\headrulewidth}{1pt}
% \fancypagestyle{plain}{%
% \renewcommand{\headrulewidth}{0pt}%
% \fancyhf{}%
% \fancyfoot[R]{\thepage}%
% }
% \renewcommand\footnoterule{\rule{\linewidth}{0.1pt}\vspace{5pt}}
% ------------------
% Captions
% ------------------
\usepackage[labelfont=bf,labelsep=period]{caption}
\captionsetup[figure]{font=footnotesize,justification=raggedright,singlelinecheck=false,format=hang}
% ---------------------------
% END CUSTOM PREAMBLE STUFF
% ---------------------------
\usepackage{endfloat}
\doublespacing
\linenumbers
\makeatletter
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{plain}
\@ifundefined{c@chapter}{\newfloat{sfg}{h}{lost}}{\newfloat{sfg}{h}{lost}[chapter]}
\floatname{sfg}{Supplementary Fig.}
\newcommand*\listofsfgs{\listof{sfg}{List of Supplementary Figures}}
\makeatother
\makeatletter
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{plain}
\@ifundefined{c@chapter}{\newfloat{stb}{h}{lost}}{\newfloat{stb}{h}{lost}[chapter]}
\floatname{stb}{Supplementary Table}
\newcommand*\listofstbs{\listof{stb}{List of Supplementary Tables}}
\makeatother
\makeatletter
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{plain}
\@ifundefined{c@chapter}{\newfloat{seq}{h}{lost}}{\newfloat{seq}{h}{lost}[chapter]}
\floatname{seq}{Supplementary Eq.}
\newcommand*\listofseqs{\listof{seq}{List of Supplementary Equations}}
\makeatother
\makeatletter
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{plain}
\@ifundefined{c@chapter}{\newfloat{rfg}{h}{lost}}{\newfloat{rfg}{h}{lost}[chapter]}
\floatname{rfg}{Fig. R}
\newcommand*\quartorfgref[1]{Fig. \hyperref[#1]{R\ref{#1}}}
\@ifpackageloaded{caption}{}{\usepackage{caption}}
\DeclareCaptionLabelFormat{quartorfgreflabelformat}{#1#2}
\captionsetup[rfg]{labelformat=quartorfgreflabelformat}
\newcommand*\listofrfgs{\listof{rfg}{List of Revision Figures}}
\makeatother
\makeatletter
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{plain}
\@ifundefined{c@chapter}{\newfloat{rtb}{h}{lost}}{\newfloat{rtb}{h}{lost}[chapter]}
\floatname{rtb}{Table R}
\newcommand*\quartortbref[1]{Table \hyperref[#1]{R\ref{#1}}}
\@ifpackageloaded{caption}{}{\usepackage{caption}}
\DeclareCaptionLabelFormat{quartortbreflabelformat}{#1#2}
\captionsetup[rtb]{labelformat=quartortbreflabelformat}
\newcommand*\listofrtbs{\listof{rtb}{List of Revision Tables}}
\makeatother
\makeatletter
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{plain}
\@ifundefined{c@chapter}{\newfloat{req}{h}{lost}}{\newfloat{req}{h}{lost}[chapter]}
\floatname{req}{Eq R}
\newcommand*\quartoreqref[1]{Eq \hyperref[#1]{R\ref{#1}}}
\@ifpackageloaded{caption}{}{\usepackage{caption}}
\DeclareCaptionLabelFormat{quartoreqreflabelformat}{#1#2}
\captionsetup[req]{labelformat=quartoreqreflabelformat}
\newcommand*\listofreqs{\listof{req}{List of Revision Equations}}
\makeatother
\makeatletter
\@ifpackageloaded{caption}{}{\usepackage{caption}}
\AtBeginDocument{%
\ifdefined\contentsname
\renewcommand*\contentsname{Table of contents}
\else
\newcommand\contentsname{Table of contents}
\fi
\ifdefined\listfigurename
\renewcommand*\listfigurename{List of Figures}
\else
\newcommand\listfigurename{List of Figures}
\fi
\ifdefined\listtablename
\renewcommand*\listtablename{List of Tables}
\else
\newcommand\listtablename{List of Tables}
\fi
\ifdefined\figurename
\renewcommand*\figurename{Fig.}
\else
\newcommand\figurename{Fig.}
\fi
\ifdefined\tablename
\renewcommand*\tablename{Table}
\else
\newcommand\tablename{Table}
\fi
}
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{ruled}
\@ifundefined{c@chapter}{\newfloat{codelisting}{h}{lop}}{\newfloat{codelisting}{h}{lop}[chapter]}
\floatname{codelisting}{Listing}
\newcommand*\listoflistings{\listof{codelisting}{List of Listings}}
\captionsetup{labelsep=colon}
\makeatother
\makeatletter
\makeatother
\makeatletter
\@ifpackageloaded{caption}{}{\usepackage{caption}}
\@ifpackageloaded{subcaption}{}{\usepackage{subcaption}}
\makeatother
\usepackage{bookmark}
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
\urlstyle{same}
\hypersetup{
pdftitle={MANUSCRIPT TITLE},
pdfauthor={Xxxxx Yyyy; Ming Su; Min Yang},
pdflang={en},
colorlinks=true,
linkcolor={blue},
filecolor={Maroon},
citecolor={Blue},
urlcolor={blue},
pdfcreator={LaTeX via pandoc}}
\title{MANUSCRIPT TITLE}
\usepackage{etoolbox}
\makeatletter
\providecommand{\subtitle}[1]{% add subtitle to \maketitle
\apptocmd{\@title}{\par {\large\sffamily\bfseries #1 \par}}{}{}
}
\makeatother
\subtitle{Supplementary Information}
\author{\footnotesize Xxxxx Yyyy \and \footnotesize Ming
Su \and \footnotesize Min Yang}
\date{2025-07-27}
\begin{document}
% for some reason this does not work in header
\renewcommand{\abstractname}{Abstract.}
% add the short title to the fancy header
\maketitle
%\noindent \rule{\linewidth}{.5pt}
%\noindent \rule{\linewidth}{.5pt}
\newpage{}
\section*{Abstract}\label{abstract}
\addcontentsline{toc}{section}{Abstract}
\newpage{}
\newpage{}
\section*{References}\label{references}
\addcontentsline{toc}{section}{References}
\phantomsection\label{refs}
\newpage{}
\end{document}

11
dwms/SM.aux Normal file
View File

@ -0,0 +1,11 @@
\relax
\providecommand\zref@newlabel[2]{}
\providecommand \babel@aux [2]{\global \let \babel@toc \@gobbletwo }
\@nameuse{bbl@beforestart}
\providecommand\hyper@newdestlabel[2]{}
\providecommand*\HyPL@Entry[1]{}
\HyPL@Entry{0<</S/D>>}
\babel@aux{english}{}
\@writefile{lost}{\contentsline {sfg}{\numberline {1}{\ignorespaces Caption of demo figure}}{3}{sfg.1}\protected@file@percent }
\newlabel{sfg-demo}{{1}{3}{Caption of demo figure}{sfg.1}{}}
\gdef \@abspage@last{3}

BIN
dwms/SM.pdf Normal file

Binary file not shown.

197
dwms/SM.qmd Normal file
View File

@ -0,0 +1,197 @@
---
msname: MS
smname: SM
title: "MANUSCRIPT TITLE"
subtitle: "Supplementary Information"
submitjournal: "JOURNAL"
submitid:
lang: en
date: ""
# bibliography: [BB/Ref.bib, BB/localRef.bib]
affilstyle: alphabeta # number
author:
- name: Xxxxx Yyyy
affiliations:
- ref: kleac
# email: 13586740928@163.com
attributes:
corresponding: false
equal-contributor: true
role:
- data-curation: lead
- methodology: lead
- formalanalysis: lead
- writingoriginal: equal
- writingediting: eqaul
- visualisation: supporting
- name: Ming Su
email: mingsu@rcees.ac.cn
orcid: 0000-0001-9821-1268
url: https://drwater.net/team/ming-su/
role:
- conceptualization: lead
- methodology: supporting
- formalanalysis: lead
- writingoriginal: equal
- writingediting: equal
- visualisation: lead
- projectadmin: lead
- supervision
affiliations:
- ref: kleac
- ref: ucas
attributes:
corresponding: true
equal-contributor: true
- name: Min Yang
email: yangmin@rcees.ac.cn
affiliations:
- ref: kleac
- ref: ucas
attributes:
corresponding: true
affiliations:
- id: kleac
name: State Key Laboratory of Environmental Aquatic Chemistry, Research Center for Eco-Environmental Sciences, Chinese Academy of Sciences
# address: No. 18 Shuangqing Road
city: Beijing
postal-code: 100085
country: China
url: https://www.skleac.ac.cn
- id: ucas
name: University of Chinese Academy of Sciences
# address: No. 19A Yuquan Road
city: Beijing
postal-code: 100049
country: China
url: https://www.ucas.ac.cn
crossref:
fig-title: Fig. # (default is "Figure")
tbl-title: Table # (default is "Table")
eq-title: Eq. # (default is "Equation")
title-delim: ":" # (default is ":")
fig-prefix: Fig. # (default is "Figure")
tbl-prefix: Table # (default is "Table")
eq-prefix: Eq.
ref-hyperlink: true # (default is true)
custom:
- kind: float
key: sfg
reference-prefix: "Supplementary Fig."
space-before-numbering: true
caption-prefix: "Supplementary Fig."
latex-env: sfg
latex-list-of-file-extension: lost
latex-list-of-description: Supplementary Figure
- kind: float
key: stb
reference-prefix: "Supplementary Table"
space-before-numbering: true
caption-prefix: "Supplementary Table"
latex-env: stb
latex-list-of-file-extension: lost
latex-list-of-description: Supplementary Table
- kind: float
key: seq
reference-prefix: "Supplementary Eq."
space-before-numbering: true
caption-prefix: "Supplementary Eq."
latex-env: seq
latex-list-of-file-extension: lost
latex-list-of-description: Supplementary Equation
- kind: float
key: rfg
reference-prefix: "Fig. R"
space-before-numbering: false
caption-prefix: "Fig. R"
latex-env: rfg
latex-list-of-file-extension: lost
latex-list-of-description: Revision Figure
- kind: float
key: rtb
reference-prefix: "Table R"
space-before-numbering: false
caption-prefix: "Table R"
latex-env: rtb
latex-list-of-file-extension: lost
latex-list-of-description: Revision Table
- kind: float
key: req
reference-prefix: "Eq R"
space-before-numbering: false
caption-prefix: "Eq R"
latex-env: req
latex-list-of-file-extension: lost
latex-list-of-description: Revision Equation
prefer-html: true
format:
dwms-pdf:
latex-clean: false # to keep aux
keep-md: false
keep-tex: true
header-includes:
- \doublespacing
- \linenumbers
- \let\oldsection\section
- \renewcommand{\section}{\clearpage\oldsection}
- \let\oldsubsection\subsection
- \renewcommand{\subsection}{\clearpage\oldsubsection}
# filters:
# - authoraffil
---
\thispagestyle{empty}
```{r}
#| include: false
#| cache: false
options(tinytex.clean = FALSE)
lang <- "en"
RM <- "F" # global rendermode, L: load pdata; F: fast load pdf
isRendering <- isTRUE(getOption('knitr.in.progress'))
require(tidyverse)
require(patchwork)
require(drwateR)
rmdify::rmd_init()
```
Figures and/or tables are provided below as the supplementary evidences to the main text.
{{< pagebreak >}}
```{=latex}
\clearpage
{
\hypersetup{linkcolor=black}
\setcounter{tocdepth}{3}
\tableofcontents
}
```
{{< pagebreak >}}
::: {#sfg-demo}
```{r}
#| out-width: "40%"
if (!isRendering) {
data.frame(x = 1:10, y = 1:10) |>
ggplot(aes(x, y)) +
geom_point() +
theme_sci(3, 2.0)
ggsavep("../figures/demo.pdf", loadit = FALSE)
}
ggsavep("../figures/demo", loadit = TRUE)
```
Caption of demo figure
:::

422
dwms/SM.tex Normal file
View File

@ -0,0 +1,422 @@
% Options for packages loaded elsewhere
% Options for packages loaded elsewhere
\PassOptionsToPackage{unicode}{hyperref}
\PassOptionsToPackage{hyphens}{url}
\PassOptionsToPackage{dvipsnames,svgnames,x11names}{xcolor}
\PassOptionsToPackage{space}{xeCJK}
%
\documentclass[
english,
12pt,
letterpaper,
]{article}
\usepackage{xcolor}
\usepackage[margin=1in]{geometry}
\usepackage{amsmath,amssymb}
\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
\usepackage{iftex}
\ifPDFTeX
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{textcomp} % provide euro and other symbols
\else % if luatex or xetex
\usepackage{unicode-math} % this also loads fontspec
\defaultfontfeatures{Scale=MatchLowercase}
\defaultfontfeatures[\rmfamily]{Ligatures=TeX,Scale=1}
\fi
\usepackage{lmodern}
\ifPDFTeX\else
% xetex/luatex font selection
\setmainfont[]{Source Sans 3}
\setsansfont[Color=39729E]{Gill Sans}
\setmonofont[]{JetBrains Mono}
\setmathfont[]{Cambria Math}
\ifXeTeX
\usepackage{xeCJK}
\setCJKmainfont[]{SimHei}
\fi
\ifLuaTeX
\usepackage[]{luatexja-fontspec}
\setmainjfont[]{SimHei}
\fi
\fi
% Use upquote if available, for straight quotes in verbatim environments
\IfFileExists{upquote.sty}{\usepackage{upquote}}{}
\IfFileExists{microtype.sty}{% use microtype if available
\usepackage[]{microtype}
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
}{}
\makeatletter
\@ifundefined{KOMAClassName}{% if non-KOMA class
\IfFileExists{parskip.sty}{%
\usepackage{parskip}
}{% else
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}}
}{% if KOMA class
\KOMAoptions{parskip=half}}
\makeatother
\usepackage{longtable,booktabs,array}
\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}
\usepackage{graphicx}
\makeatletter
\newsavebox\pandoc@box
\newcommand*\pandocbounded[1]{% scales image to fit in text height/width
\sbox\pandoc@box{#1}%
\Gscale@div\@tempa{\textheight}{\dimexpr\ht\pandoc@box+\dp\pandoc@box\relax}%
\Gscale@div\@tempb{\linewidth}{\wd\pandoc@box}%
\ifdim\@tempb\p@<\@tempa\p@\let\@tempa\@tempb\fi% select the smaller of both
\ifdim\@tempa\p@<\p@\scalebox{\@tempa}{\usebox\pandoc@box}%
\else\usebox{\pandoc@box}%
\fi%
}
% Set default figure placement to htbp
\def\fps@figure{htbp}
\makeatother
\ifLuaTeX
\usepackage[bidi=basic]{babel}
\else
\usepackage[bidi=default]{babel}
\fi
\ifPDFTeX
\else
\babelfont{rm}[]{Source Sans 3}
\fi
% get rid of language-specific shorthands (see #6817):
\let\LanguageShortHands\languageshorthands
\def\languageshorthands#1{}
\ifLuaTeX
\usepackage[english]{selnolig} % disable illegal ligatures
\fi
\setlength{\emergencystretch}{3em} % prevent overfull lines
\providecommand{\tightlist}{%
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}
% -----------------------
% CUSTOM PREAMBLE STUFF
% -----------------------
\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}
\usepackage[normalem]{ulem}
\usepackage{setspace}
\usepackage{lineno}
\usepackage{caption}
\captionsetup{singlelinecheck=off}
\usepackage[UTF8, scheme=plain]{ctex}
\usepackage{orcidlink}
% \setkomafont{author}{\normalsize}
% for revision
\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}}
% -----------------
% Title block stuff
% -----------------
% Title
\makeatletter
\renewcommand{\title}[1]{\gdef\@title{\large\textbf{#1}}} % Adjust \Huge or other font commands
\makeatother
% ------------------
% Section headings
% ------------------
\usepackage{titlesec}
\titleformat*{\section}{\Large\sffamily\bfseries\raggedright}
\titleformat*{\subsection}{\large\sffamily\bfseries\raggedright}
\titleformat*{\subsubsection}{\normalsize\sffamily\bfseries\raggedright}
\titleformat*{\paragraph}{\small\sffamily\bfseries\raggedright}
%\titlespacing{<command>}{<left>}{<before-sep>}{<after-sep>}
% Starred version removes indentation in following paragraph
\titlespacing*{\section}{0em}{2em}{0.1em}
\titlespacing*{\subsection}{0em}{1.25em}{0.1em}
\titlespacing*{\subsubsection}{0em}{0.75em}{0em}
% ------------------
% Headers/Footers
% ------------------
% \usepackage{fancyhdr}
% \pagestyle{fancy}
% \fancyhf{}
% \fancyhead[L,C,R]{}
% \fancyfoot[L,C]{}
% \fancyfoot[R]{\thepage}
% \renewcommand{\headrulewidth}{1pt}
% \fancypagestyle{plain}{%
% \renewcommand{\headrulewidth}{0pt}%
% \fancyhf{}%
% \fancyfoot[R]{\thepage}%
% }
% \renewcommand\footnoterule{\rule{\linewidth}{0.1pt}\vspace{5pt}}
% ------------------
% Captions
% ------------------
\usepackage[labelfont=bf,labelsep=period]{caption}
\captionsetup[figure]{font=footnotesize,justification=raggedright,singlelinecheck=false,format=hang}
% ---------------------------
% END CUSTOM PREAMBLE STUFF
% ---------------------------
\doublespacing
\linenumbers
\let\oldsection\section
\renewcommand{\section}{\clearpage\oldsection}
\let\oldsubsection\subsection
\renewcommand{\subsection}{\clearpage\oldsubsection}
\makeatletter
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{plain}
\@ifundefined{c@chapter}{\newfloat{sfg}{h}{lost}}{\newfloat{sfg}{h}{lost}[chapter]}
\floatname{sfg}{Supplementary Fig.}
\newcommand*\listofsfgs{\listof{sfg}{List of Supplementary Figures}}
\makeatother
\makeatletter
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{plain}
\@ifundefined{c@chapter}{\newfloat{stb}{h}{lost}}{\newfloat{stb}{h}{lost}[chapter]}
\floatname{stb}{Supplementary Table}
\newcommand*\listofstbs{\listof{stb}{List of Supplementary Tables}}
\makeatother
\makeatletter
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{plain}
\@ifundefined{c@chapter}{\newfloat{seq}{h}{lost}}{\newfloat{seq}{h}{lost}[chapter]}
\floatname{seq}{Supplementary Eq.}
\newcommand*\listofseqs{\listof{seq}{List of Supplementary Equations}}
\makeatother
\makeatletter
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{plain}
\@ifundefined{c@chapter}{\newfloat{rfg}{h}{lost}}{\newfloat{rfg}{h}{lost}[chapter]}
\floatname{rfg}{Fig. R}
\newcommand*\quartorfgref[1]{Fig. \hyperref[#1]{R\ref{#1}}}
\@ifpackageloaded{caption}{}{\usepackage{caption}}
\DeclareCaptionLabelFormat{quartorfgreflabelformat}{#1#2}
\captionsetup[rfg]{labelformat=quartorfgreflabelformat}
\newcommand*\listofrfgs{\listof{rfg}{List of Revision Figures}}
\makeatother
\makeatletter
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{plain}
\@ifundefined{c@chapter}{\newfloat{rtb}{h}{lost}}{\newfloat{rtb}{h}{lost}[chapter]}
\floatname{rtb}{Table R}
\newcommand*\quartortbref[1]{Table \hyperref[#1]{R\ref{#1}}}
\@ifpackageloaded{caption}{}{\usepackage{caption}}
\DeclareCaptionLabelFormat{quartortbreflabelformat}{#1#2}
\captionsetup[rtb]{labelformat=quartortbreflabelformat}
\newcommand*\listofrtbs{\listof{rtb}{List of Revision Tables}}
\makeatother
\makeatletter
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{plain}
\@ifundefined{c@chapter}{\newfloat{req}{h}{lost}}{\newfloat{req}{h}{lost}[chapter]}
\floatname{req}{Eq R}
\newcommand*\quartoreqref[1]{Eq \hyperref[#1]{R\ref{#1}}}
\@ifpackageloaded{caption}{}{\usepackage{caption}}
\DeclareCaptionLabelFormat{quartoreqreflabelformat}{#1#2}
\captionsetup[req]{labelformat=quartoreqreflabelformat}
\newcommand*\listofreqs{\listof{req}{List of Revision Equations}}
\makeatother
\makeatletter
\@ifpackageloaded{caption}{}{\usepackage{caption}}
\AtBeginDocument{%
\ifdefined\contentsname
\renewcommand*\contentsname{Table of contents}
\else
\newcommand\contentsname{Table of contents}
\fi
\ifdefined\listfigurename
\renewcommand*\listfigurename{List of Figures}
\else
\newcommand\listfigurename{List of Figures}
\fi
\ifdefined\listtablename
\renewcommand*\listtablename{List of Tables}
\else
\newcommand\listtablename{List of Tables}
\fi
\ifdefined\figurename
\renewcommand*\figurename{Fig.}
\else
\newcommand\figurename{Fig.}
\fi
\ifdefined\tablename
\renewcommand*\tablename{Table}
\else
\newcommand\tablename{Table}
\fi
}
\@ifpackageloaded{float}{}{\usepackage{float}}
\floatstyle{ruled}
\@ifundefined{c@chapter}{\newfloat{codelisting}{h}{lop}}{\newfloat{codelisting}{h}{lop}[chapter]}
\floatname{codelisting}{Listing}
\newcommand*\listoflistings{\listof{codelisting}{List of Listings}}
\captionsetup{labelsep=colon}
\makeatother
\makeatletter
\makeatother
\makeatletter
\@ifpackageloaded{caption}{}{\usepackage{caption}}
\@ifpackageloaded{subcaption}{}{\usepackage{subcaption}}
\makeatother
\usepackage{bookmark}
\IfFileExists{xurl.sty}{\usepackage{xurl}}{} % add URL line breaks if available
\urlstyle{same}
\hypersetup{
pdftitle={MANUSCRIPT TITLE},
pdfauthor={Xxxxx Yyyy; Ming Su; Min Yang},
pdflang={en},
colorlinks=true,
linkcolor={blue},
filecolor={Maroon},
citecolor={Blue},
urlcolor={blue},
pdfcreator={LaTeX via pandoc}}
\title{MANUSCRIPT TITLE}
\usepackage{etoolbox}
\makeatletter
\providecommand{\subtitle}[1]{% add subtitle to \maketitle
\apptocmd{\@title}{\par {\large\sffamily\bfseries #1 \par}}{}{}
}
\makeatother
\subtitle{Supplementary Information}
\author{\footnotesize Xxxxx Yyyy \and \footnotesize Ming
Su \and \footnotesize Min Yang}
\date{}
\begin{document}
% for some reason this does not work in header
\renewcommand{\abstractname}{Abstract.}
% add the short title to the fancy header
\maketitle
%\noindent \rule{\linewidth}{.5pt}
%\noindent \rule{\linewidth}{.5pt}
\thispagestyle{empty}
Figures and/or tables are provided below as the supplementary evidences
to the main text.
\newpage{}
\clearpage
{
\hypersetup{linkcolor=black}
\setcounter{tocdepth}{3}
\tableofcontents
}
\newpage{}
\begin{sfg}
\centering{
\begin{verbatim}
#> NULL
\end{verbatim}
}
\caption{\label{sfg-demo}Caption of demo figure}
\end{sfg}%
\end{document}

1
dwms/SM.toc Normal file
View File

@ -0,0 +1 @@
\babel@toc {english}{}\relax

View File

@ -36,6 +36,6 @@ contributes:
- "partials/after-body.tex"
filters:
- latex-environment
- authors-block
- authoraffil.lua
lightbox: auto
commands: [clab]

View File

@ -0,0 +1,41 @@
title: dwms-pdf-quarto
author: Ming Su
version: 0.0.1
quarto-required: ">=1.3.0"
contributes:
formats:
common:
knitr:
opts_chunk:
echo: false
message: false
warning: false
pdf:
documentclass: article
toc: false
papersize: letter
fontsize: 12pt
geometry: margin=1in
fig-height: 4 # smaller fig heights make floating easier
fig-width: 7.5 # set to the (full width - margins) of letter
fig-pos: "!t"
colorlinks: true
urlcolor: blue
sansfont: "Gill Sans"
sansfontoptions:
- Color=39729E
mainfont: "Source Sans 3" #| Verdana (fontsize: 11pt) # Source Sans 3 | Times New Roman| Helvetica | PT Sans
monofont: "JetBrains Mono"
mathfont: "Cambria Math"
CJKmainfont: SimHei
block-headings: false # to deal with titlesec problems
include-in-header: header.tex
template-partials:
- "partials/title.tex"
- "partials/before-body.tex"
- "partials/after-body.tex"
filters:
- latex-environment
- authoraffil.lua
lightbox: auto
commands: [clab]

View File

@ -0,0 +1,133 @@
% -----------------------
% CUSTOM PREAMBLE STUFF
% -----------------------
\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}
\usepackage[normalem]{ulem}
\usepackage{setspace}
\usepackage{lineno}
\usepackage{caption}
\captionsetup{singlelinecheck=off}
\usepackage[UTF8, scheme=plain]{ctex}
\usepackage{orcidlink}
% \setkomafont{author}{\normalsize}
% for revision
\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}}
% -----------------
% Title block stuff
% -----------------
% Title
\makeatletter
\renewcommand{\title}[1]{\gdef\@title{\large\textbf{#1}}} % Adjust \Huge or other font commands
\makeatother
% ------------------
% Section headings
% ------------------
\usepackage{titlesec}
\titleformat*{\section}{\Large\sffamily\bfseries\raggedright}
\titleformat*{\subsection}{\large\sffamily\bfseries\raggedright}
\titleformat*{\subsubsection}{\normalsize\sffamily\bfseries\raggedright}
\titleformat*{\paragraph}{\small\sffamily\bfseries\raggedright}
%\titlespacing{<command>}{<left>}{<before-sep>}{<after-sep>}
% Starred version removes indentation in following paragraph
\titlespacing*{\section}{0em}{2em}{0.1em}
\titlespacing*{\subsection}{0em}{1.25em}{0.1em}
\titlespacing*{\subsubsection}{0em}{0.75em}{0em}
% ------------------
% Headers/Footers
% ------------------
% \usepackage{fancyhdr}
% \pagestyle{fancy}
% \fancyhf{}
% \fancyhead[L,C,R]{}
% \fancyfoot[L,C]{}
% \fancyfoot[R]{\thepage}
% \renewcommand{\headrulewidth}{1pt}
% \fancypagestyle{plain}{%
% \renewcommand{\headrulewidth}{0pt}%
% \fancyhf{}%
% \fancyfoot[R]{\thepage}%
% }
% \renewcommand\footnoterule{\rule{\linewidth}{0.1pt}\vspace{5pt}}
% ------------------
% Captions
% ------------------
\usepackage[labelfont=bf,labelsep=period]{caption}
\captionsetup[figure]{font=footnotesize,justification=raggedright,singlelinecheck=false,format=hang}
% ---------------------------
% END CUSTOM PREAMBLE STUFF
% ---------------------------

View File

@ -0,0 +1,33 @@
$-- Implements the frontmatter, title page, and abstract.
% for some reason this does not work in header
\renewcommand{\abstractname}{Abstract.}
% add the short title to the fancy header
$if(shorttitle)$
\fancyhead[R]{$shorttitle$}
$endif$
$if(shortauthors)$
\fancyhead[L]{$shortauthors$}
$endif$
$if(has-frontmatter)$
\frontmatter
$endif$
$if(title)$
\maketitle
%\noindent \rule{\linewidth}{.5pt}
$if(abstract)$
\begin{abstract}
$abstract$
\end{abstract}
$if(keywords)$
\begin{keywords}
\def\sep{;\ }
$for(keywords/allbutlast)$$keywords$\sep $endfor$
$for(keywords/last)$$keywords$$endfor$
\end{keywords}
$endif$
$endif$
%\noindent \rule{\linewidth}{.5pt}
$endif$

View File

@ -0,0 +1,15 @@
$if(title)$
\title{$title$$if(thanks)$\thanks{$thanks$}$endif$}
$endif$
$if(subtitle)$
\usepackage{etoolbox}
\makeatletter
\providecommand{\subtitle}[1]{% add subtitle to \maketitle
\apptocmd{\@title}{\par {\large\sffamily\bfseries #1 \par}}{}{}
}
\makeatother
\subtitle{$subtitle$}
$endif$
$-- This supports Quarto's authors normalization
\author{$for(authors)$\footnotesize $it.name.literal$$sep$ \and $endfor$}
\date{$date$}

3
dwsd/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
*_files
*.html
/*.png

23
dwsd/_extension.yml Normal file
View File

@ -0,0 +1,23 @@
title: revealjs format for drwater
author: Ming Su
version: 1.0.0
quarto-required: ">=1.3.0"
contributes:
formats:
revealjs:
theme: [default, dwsd.css]
slide-number: true
date-format: long
logo: rceeslogo.png
format-resources: ["rceeslogo.png"]
chalkboard:
buttons: true
preview-links: auto
lang: zh
toc: true
toc-depth: 1
toc-title: 大纲
pointer:
key: "p"
color: "#32cd32"
pointerSize: 18

View File

@ -0,0 +1,23 @@
title: revealjs format for drwater
author: Ming Su
version: 1.0.0
quarto-required: ">=1.3.0"
contributes:
formats:
revealjs:
theme: [default, dwsd.css]
slide-number: true
date-format: long
logo: rceeslogo.png
format-resources: ["rceeslogo.png"]
chalkboard:
buttons: true
preview-links: auto
lang: zh
toc: true
toc-depth: 1
toc-title: 大纲
pointer:
key: "p"
color: "#32cd32"
pointerSize: 18

View File

@ -0,0 +1,23 @@
title: revealjs format for drwater
author: Ming Su
version: 1.0.0
quarto-required: ">=1.3.0"
contributes:
formats:
revealjs:
theme: [default, dwsd.css]
slide-number: true
date-format: long
logo: rceeslogo.png
format-resources: ["rceeslogo.png"]
chalkboard:
buttons: true
preview-links: auto
lang: zh
toc: true
toc-depth: 1
toc-title: 大纲
pointer:
key: "p"
color: "#32cd32"
pointerSize: 18

View File

@ -0,0 +1,345 @@
:root {
--r-background-color: #fff;
--r-main-font: Source Sans Pro, simhei, microsoft yahei;
--r-main-font-size: 28px;
--r-main-color: #222;
--r-block-margin: 12px;
--r-heading-margin: 0 0 12px 0;
--r-heading-font: Source Sans Pro, microsoft yahei, simhei;
--r-heading-color: #0c4c8a;
--r-heading-line-height: 1.2em;
--r-heading-letter-spacing: normal;
--r-heading-text-transform: none;
--r-heading-text-shadow: none;
--r-heading-font-weight: 900;
--r-heading1-text-shadow: none;
--r-heading1-size: 2.5em;
--r-heading2-size: 1.6em;
--r-heading3-size: 1.3em;
--r-heading4-size: 1em;
--r-code-font: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono,
Courier New, monospace;
--r-link-color: #ef562d;
--r-link-color-dark: #ef562d;
--r-link-color-hover: #d13076;
--r-selection-background-color: #98bdef;
--r-selection-color: #fff;
--quarto-hl-fu-color: #c53800;
}
.reveal .title-slide h1 {
text-align: center;
line-height: var(--r-heading-line-height);
}
section#title-slide p.author,
section#title-slide p.institute,
section#title-slide p.date {
font-size: var(--r-heading2-size);
color: gray;
}
section#title-slide h1.title:after {
content: " ";
display: block;
border: 3px solid;
border-image: linear-gradient(to right, white, var(--r-heading-color), white)
1;
border-radius: 1px;
}
section#title-slide p.subtitle {
font-size: var(--r-heading3-size);
text-decoration: underline;
color: gray;
}
section#title-slide a {
color: gray;
}
.reveal .slide-number a {
color: #bbbbbb;
font-size: 10pt;
}
section#title-slide a:hover {
color: var(--r-link-color-hover);
}
.reveal[data-navigation-mode="linear"] .title-slide h1 {
font-size: var(--r-heading2-size);
}
section#TOC {
vertical-align: middle;
text-align: center;
}
section#TOC h2 {
font-size: var(--r-heading2-size);
font-weight: bold;
text-align: center;
}
section#TOC h2:after {
content: " ";
display: block;
border: 3px solid;
border-image: linear-gradient(to right, white, var(--r-heading-color), white)
1;
border-radius: 1px;
}
section#TOC ul {
text-align: left;
vertical-align: middle;
margin-top: 3em;
line-height: 1.6em;
}
section#TOC ol li {
font-size: var(--r-heading3-size);
font-weight: bold;
color: gray;
list-style-type: number;
line-height: 1.6em;
}
section#TOC strong,
section#TOC b {
color: black;
}
section#TOC ul li {
font-size: var(--r-heading3-size);
font-weight: bold;
color: gray;
list-style-type: circle;
line-height: 1.6em;
}
section#TOC a {
color: black;
}
section#TOC a:hover {
color: var(--r-link-color-hover);
}
.reveal h2 {
text-align: left;
margin-top: 0px;
line-height: var(--r-heading-line-height);
}
.reveal .title-slide h1:after {
content: " ";
display: block;
border: 3px solid;
border-image: linear-gradient(to right, white, var(--r-heading-color), white)
1;
border-radius: 1px;
}
.reveal h2:after {
content: " ";
display: block;
border: 3px solid;
border-image: linear-gradient(to right, var(--r-heading-color), white) 1;
border-radius: 1px;
}
.reveal ul {
list-style-type: circle;
}
li:hover {
font-weight: bold;
}
.reveal p:hover {
font-weight: bold;
}
.reveal ul li {
line-height: 1.2em;
}
.reveal .thank h2 {
font-size: var(--r-heading1-size);
line-height: var(--r-heading-line-height);
}
.reveal .thank {
text-align: center;
}
.reveal .thank h2:after {
content: " ";
display: block;
border: 3px solid;
border-image: linear-gradient(to right, white, var(--r-heading-color), white)
1;
border-radius: 1px;
}
.panel-tabset [role="tab"] {
border-bottom: 1px solid red;
}
.panel-tabset [role="tab"][aria-selected="true"] {
background-color: #ffdddd;
border-bottom: 1px solid red;
}
.white {
color: #ffffff;
}
.orange {
color: #e09a25;
}
.green {
color: #006e51;
}
.pink {
color: #d13076;
}
.dusty {
color: #ad5d5d;
}
.flame {
color: #ef562d;
}
.kale {
color: #5c7148;
}
.blue {
color: #0c4c8a;
}
.red {
color: #b93a32;
}
.clay {
color: #9e4624;
}
.bodacious {
color: #b76ba3;
}
.serenity {
color: #91a8d0;
}
.cognac {
color: #60413c;
}
.sangria {
color: #760030;
}
.alumium {
color: #75796a;
}
.marsala {
color: #964f4c;
}
.purple {
color: #702fa8;
}
.blank {
background-color: "Yellow";
width: 100%;
color: red;
}
.reveal .slide aside {
position: absolute;
margin: 0 auto;
left: 2%;
font-size: 0.7em;
text-align: end;
max-width: 90%;
width: fit-content;
color: gray;
bottom: -6%;
}
.ref {
position: absolute;
margin: 0 auto;
right: 2%;
font-size: 1em;
text-align: end;
max-width: 90%;
width: fit-content;
color: gray;
bottom: -6%;
}
.con {
position: absolute;
margin: 0 auto;
font-size: 1.4em;
text-align: center;
font-family: inherit;
max-width: 100%;
width: fit-content;
color: #023047;
bottom: -2%;
}
.center {
text-align: center;
}
.tiny {
font-size: 60%;
}
figure > figcaption {
margin-top: -0.5em;
}
.reveal .slide figure > figcaption,
.reveal .slide img.stretch + p.caption,
.reveal .slide img.r-stretch + p.caption {
font-size: 0.9em;
text-align: center;
}
.reveal strong, .reveal b {
font-weight: bold;
color: crimson;
}
.reveal pre code {
background-color: #554433;
line-height: 1.2em;
color: #fff;
/* font-size: x-large; */
}
.reveal pre code:hover{
font-size: x-large;
line-height: 120%;
}
section#title-slide p.subtitle {
font-size: var(--r-heading3-size);
text-decoration: none;
color: gray;
}
.reveal div.sourceCode pre code {
background-color: #002233;
min-height: 100%;
/* font-size: x-large; */
}
.reveal div.sourceCode pre code:hover {
font-size: x-large;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

View File

@ -0,0 +1,374 @@
/*-- scss:defaults --*/
/* Modified version of the metropolis theme ported into Quarto by Patrick Schwartz */
// fonts
@import url("https://fonts.googleapis.com/css?family=Fira+Sans:300,300i,400,400i,500,500i,700,700i");
@import url("https://fonts.googleapis.com/css?family=Fira+Code:300,300i,400,400i,500,500i,700,700i");
@import url("https://fonts.googleapis.com/css?family=Roboto+Mono|JetBrains+Mono&display=swap");
@import url("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap");
$font-family-sans-serif: "Fira Sans", "Roboto", "Droid Serif", serif !default;
$font-family-monospace: "Fira Code", "JetBrains Mono", monospace;
$presentation-font-size-root: 32px;
$presentation-line-height: 1.5em;
$presentation-heading-font-weight: 400;
// colors
$body-bg: #fafafa !default;
$body-color: #000 !default;
// $link-color: #EB811B !default;
$selection-bg: #26351c;
// headings
// $presentation-heading-font: "Palatino Linotype", "Book Antiqua", Palatino,
// FreeSerif, serif !default;
// $presentation-heading-color: #383d3d !default;
/*-- scss:rules --*/
:root {
--r-background-color: #fff;
--r-main-font: Source Sans Pro, simhei, microsoft yahei;
--r-main-font-size: 28px;
--r-main-color: #222;
--r-block-margin: 12px;
--r-heading-margin: 0 0 12px 0;
--r-heading-font: Source Sans Pro, microsoft yahei, simhei;
--r-heading-color: #0c4c8a;
--r-heading-line-height: 1.2em;
--r-heading-letter-spacing: normal;
--r-heading-text-transform: none;
--r-heading-text-shadow: none;
--r-heading-font-weight: 900;
--r-heading1-text-shadow: none;
--r-heading1-size: 2.5em;
--r-heading2-size: 1.6em;
--r-heading3-size: 1.3em;
--r-heading4-size: 1em;
--r-code-font: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono,
Courier New, monospace;
--r-link-color: #ef562d;
--r-link-color-dark: #ef562d;
--r-link-color-hover: #d13076;
--r-selection-background-color: #98bdef;
--r-selection-color: #fff;
--quarto-hl-fu-color: #c53800;
}
.reveal .title-slide h1 {
text-align: center;
line-height: var(--r-heading-line-height);
}
section#title-slide p.author,
section#title-slide p.institute,
section#title-slide p.date {
font-size: var(--r-heading2-size);
color: gray;
}
section#title-slide h1.title:after {
content: " ";
display: block;
border: 3px solid;
border-image: linear-gradient(to right, white, var(--r-heading-color), white)
1;
border-radius: 1px;
}
section#title-slide p.subtitle {
font-size: var(--r-heading3-size);
text-decoration: underline;
color: gray;
}
section#title-slide a {
color: gray;
}
.reveal .slide-number a {
color: #bbbbbb;
font-size: 10pt;
}
section#title-slide a:hover {
color: var(--r-link-color-hover);
}
.reveal[data-navigation-mode="linear"] .title-slide h1 {
font-size: var(--r-heading2-size);
}
section#TOC {
vertical-align: middle;
text-align: center;
}
section#TOC h2 {
font-size: var(--r-heading2-size);
font-weight: bold;
text-align: center;
}
section#TOC h2:after {
content: " ";
display: block;
border: 3px solid;
border-image: linear-gradient(to right, white, var(--r-heading-color), white)
1;
border-radius: 1px;
}
section#TOC ul {
text-align: left;
vertical-align: middle;
margin-top: 3em;
line-height: 1.6em;
}
section#TOC ol li {
font-size: var(--r-heading3-size);
font-weight: bold;
color: gray;
list-style-type: number;
line-height: 1.6em;
}
section#TOC strong,
section#TOC b {
color: black;
}
section#TOC ul li {
font-size: var(--r-heading3-size);
font-weight: bold;
color: gray;
list-style-type: circle;
line-height: 1.6em;
}
section#TOC a {
color: black;
}
section#TOC a:hover {
color: var(--r-link-color-hover);
}
.reveal h2 {
text-align: left;
margin-top: 0px;
line-height: var(--r-heading-line-height);
}
.reveal .title-slide h1:after {
content: " ";
display: block;
border: 3px solid;
border-image: linear-gradient(to right, white, var(--r-heading-color), white)
1;
border-radius: 1px;
}
.reveal h2:after {
content: " ";
display: block;
border: 3px solid;
border-image: linear-gradient(to right, var(--r-heading-color), white) 1;
border-radius: 1px;
}
.reveal ul {
list-style-type: circle;
}
li:hover {
font-weight: bold;
}
.reveal p:hover {
font-weight: bold;
}
.reveal ul li {
line-height: 1.2em;
}
.reveal .thank h2 {
font-size: var(--r-heading1-size);
line-height: var(--r-heading-line-height);
}
.reveal .thank {
text-align: center;
}
.reveal .thank h2:after {
content: " ";
display: block;
border: 3px solid;
border-image: linear-gradient(to right, white, var(--r-heading-color), white)
1;
border-radius: 1px;
}
.panel-tabset [role="tab"] {
border-bottom: 1px solid red;
}
.panel-tabset [role="tab"][aria-selected="true"] {
background-color: #ffdddd;
border-bottom: 1px solid red;
}
.white {
color: #ffffff;
}
.orange {
color: #e09a25;
}
.green {
color: #006e51;
}
.pink {
color: #d13076;
}
.dusty {
color: #ad5d5d;
}
.flame {
color: #ef562d;
}
.kale {
color: #5c7148;
}
.blue {
color: #0c4c8a;
}
.red {
color: #b93a32;
}
.clay {
color: #9e4624;
}
.bodacious {
color: #b76ba3;
}
.serenity {
color: #91a8d0;
}
.cognac {
color: #60413c;
}
.sangria {
color: #760030;
}
.alumium {
color: #75796a;
}
.marsala {
color: #964f4c;
}
.purple {
color: #702fa8;
}
.blank {
background-color: "Yellow";
width: 100%;
color: red;
}
.reveal .slide aside {
position: absolute;
margin: 0 auto;
left: 2%;
font-size: 0.7em;
text-align: end;
max-width: 90%;
width: fit-content;
color: gray;
bottom: -6%;
}
.ref {
position: absolute;
margin: 0 auto;
right: 2%;
font-size: 1em;
text-align: end;
max-width: 90%;
width: fit-content;
color: gray;
bottom: -6%;
}
.con {
position: absolute;
margin: 0 auto;
font-size: 1.4em;
text-align: center;
font-family: inherit;
max-width: 100%;
width: fit-content;
color: #023047;
bottom: -2%;
}
.center {
text-align: center;
}
.tiny {
font-size: 60%;
}
figure > figcaption {
margin-top: -0.5em;
}
.reveal .slide figure > figcaption,
.reveal .slide img.stretch + p.caption,
.reveal .slide img.r-stretch + p.caption {
font-size: 0.9em;
text-align: center;
}
.reveal strong, .reveal b {
font-weight: bold;
color: crimson;
}
.reveal pre code {
background-color: #554433;
line-height: 1.2em;
color: #fff;
/* font-size: x-large; */
}
.reveal pre code:hover{
font-size: x-large;
line-height: 120%;
}
section#title-slide p.subtitle {
font-size: var(--r-heading3-size);
text-decoration: none;
color: gray;
}
.reveal div.sourceCode pre code {
background-color: #002233;
min-height: 100%;
/* font-size: x-large; */
}
.reveal div.sourceCode pre code:hover {
font-size: x-large;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

File diff suppressed because it is too large Load Diff

374
dwsd/dwsd.css Normal file
View File

@ -0,0 +1,374 @@
/*-- scss:defaults --*/
/* Modified version of the metropolis theme ported into Quarto by Patrick Schwartz */
// fonts
@import url("https://fonts.googleapis.com/css?family=Fira+Sans:300,300i,400,400i,500,500i,700,700i");
@import url("https://fonts.googleapis.com/css?family=Fira+Code:300,300i,400,400i,500,500i,700,700i");
@import url("https://fonts.googleapis.com/css?family=Roboto+Mono|JetBrains+Mono&display=swap");
@import url("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap");
$font-family-sans-serif: "Fira Sans", "Roboto", "Droid Serif", serif !default;
$font-family-monospace: "Fira Code", "JetBrains Mono", monospace;
$presentation-font-size-root: 32px;
$presentation-line-height: 1.5em;
$presentation-heading-font-weight: 400;
// colors
$body-bg: #fafafa !default;
$body-color: #000 !default;
// $link-color: #EB811B !default;
$selection-bg: #26351c;
// headings
// $presentation-heading-font: "Palatino Linotype", "Book Antiqua", Palatino,
// FreeSerif, serif !default;
// $presentation-heading-color: #383d3d !default;
/*-- scss:rules --*/
:root {
--r-background-color: #fff;
--r-main-font: Source Sans Pro, simhei, microsoft yahei;
--r-main-font-size: 28px;
--r-main-color: #222;
--r-block-margin: 12px;
--r-heading-margin: 0 0 12px 0;
--r-heading-font: Source Sans Pro, microsoft yahei, simhei;
--r-heading-color: #0c4c8a;
--r-heading-line-height: 1.2em;
--r-heading-letter-spacing: normal;
--r-heading-text-transform: none;
--r-heading-text-shadow: none;
--r-heading-font-weight: 900;
--r-heading1-text-shadow: none;
--r-heading1-size: 2.5em;
--r-heading2-size: 1.6em;
--r-heading3-size: 1.3em;
--r-heading4-size: 1em;
--r-code-font: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono,
Courier New, monospace;
--r-link-color: #ef562d;
--r-link-color-dark: #ef562d;
--r-link-color-hover: #d13076;
--r-selection-background-color: #98bdef;
--r-selection-color: #fff;
--quarto-hl-fu-color: #c53800;
}
.reveal .title-slide h1 {
text-align: center;
line-height: var(--r-heading-line-height);
}
section#title-slide p.author,
section#title-slide p.institute,
section#title-slide p.date {
font-size: var(--r-heading2-size);
color: gray;
}
section#title-slide h1.title:after {
content: " ";
display: block;
border: 3px solid;
border-image: linear-gradient(to right, white, var(--r-heading-color), white)
1;
border-radius: 1px;
}
section#title-slide p.subtitle {
font-size: var(--r-heading3-size);
text-decoration: underline;
color: gray;
}
section#title-slide a {
color: gray;
}
.reveal .slide-number a {
color: #bbbbbb;
font-size: 10pt;
}
section#title-slide a:hover {
color: var(--r-link-color-hover);
}
.reveal[data-navigation-mode="linear"] .title-slide h1 {
font-size: var(--r-heading2-size);
}
section#TOC {
vertical-align: middle;
text-align: center;
}
section#TOC h2 {
font-size: var(--r-heading2-size);
font-weight: bold;
text-align: center;
}
section#TOC h2:after {
content: " ";
display: block;
border: 3px solid;
border-image: linear-gradient(to right, white, var(--r-heading-color), white)
1;
border-radius: 1px;
}
section#TOC ul {
text-align: left;
vertical-align: middle;
margin-top: 3em;
line-height: 1.6em;
}
section#TOC ol li {
font-size: var(--r-heading3-size);
font-weight: bold;
color: gray;
list-style-type: number;
line-height: 1.6em;
}
section#TOC strong,
section#TOC b {
color: black;
}
section#TOC ul li {
font-size: var(--r-heading3-size);
font-weight: bold;
color: gray;
list-style-type: circle;
line-height: 1.6em;
}
section#TOC a {
color: black;
}
section#TOC a:hover {
color: var(--r-link-color-hover);
}
.reveal h2 {
text-align: left;
margin-top: 0px;
line-height: var(--r-heading-line-height);
}
.reveal .title-slide h1:after {
content: " ";
display: block;
border: 3px solid;
border-image: linear-gradient(to right, white, var(--r-heading-color), white)
1;
border-radius: 1px;
}
.reveal h2:after {
content: " ";
display: block;
border: 3px solid;
border-image: linear-gradient(to right, var(--r-heading-color), white) 1;
border-radius: 1px;
}
.reveal ul {
list-style-type: circle;
}
li:hover {
font-weight: bold;
}
.reveal p:hover {
font-weight: bold;
}
.reveal ul li {
line-height: 1.2em;
}
.reveal .thank h2 {
font-size: var(--r-heading1-size);
line-height: var(--r-heading-line-height);
}
.reveal .thank {
text-align: center;
}
.reveal .thank h2:after {
content: " ";
display: block;
border: 3px solid;
border-image: linear-gradient(to right, white, var(--r-heading-color), white)
1;
border-radius: 1px;
}
.panel-tabset [role="tab"] {
border-bottom: 1px solid red;
}
.panel-tabset [role="tab"][aria-selected="true"] {
background-color: #ffdddd;
border-bottom: 1px solid red;
}
.white {
color: #ffffff;
}
.orange {
color: #e09a25;
}
.green {
color: #006e51;
}
.pink {
color: #d13076;
}
.dusty {
color: #ad5d5d;
}
.flame {
color: #ef562d;
}
.kale {
color: #5c7148;
}
.blue {
color: #0c4c8a;
}
.red {
color: #b93a32;
}
.clay {
color: #9e4624;
}
.bodacious {
color: #b76ba3;
}
.serenity {
color: #91a8d0;
}
.cognac {
color: #60413c;
}
.sangria {
color: #760030;
}
.alumium {
color: #75796a;
}
.marsala {
color: #964f4c;
}
.purple {
color: #702fa8;
}
.blank {
background-color: "Yellow";
width: 100%;
color: red;
}
.reveal .slide aside {
position: absolute;
margin: 0 auto;
left: 2%;
font-size: 0.7em;
text-align: end;
max-width: 90%;
width: fit-content;
color: gray;
bottom: -6%;
}
.ref {
position: absolute;
margin: 0 auto;
right: 2%;
font-size: 1em;
text-align: end;
max-width: 90%;
width: fit-content;
color: gray;
bottom: -6%;
}
.con {
position: absolute;
margin: 0 auto;
font-size: 1.4em;
text-align: center;
font-family: inherit;
max-width: 100%;
width: fit-content;
color: #023047;
bottom: -2%;
}
.center {
text-align: center;
}
.tiny {
font-size: 60%;
}
figure > figcaption {
margin-top: -0.5em;
}
.reveal .slide figure > figcaption,
.reveal .slide img.stretch + p.caption,
.reveal .slide img.r-stretch + p.caption {
font-size: 0.9em;
text-align: center;
}
.reveal strong, .reveal b {
font-weight: bold;
color: crimson;
}
.reveal pre code {
background-color: #554433;
line-height: 1.2em;
color: #fff;
/* font-size: x-large; */
}
.reveal pre code:hover{
font-size: x-large;
line-height: 120%;
}
section#title-slide p.subtitle {
font-size: var(--r-heading3-size);
text-decoration: none;
color: gray;
}
.reveal div.sourceCode pre code {
background-color: #002233;
min-height: 100%;
/* font-size: x-large; */
}
.reveal div.sourceCode pre code:hover {
font-size: x-large;
}

35
dwsd/template.qmd Normal file
View File

@ -0,0 +1,35 @@
---
title: "、R语言实践前篇"
subtitle: 《区域水环境污染数据分析实践》<br>Data analysis practice of regional water environment pollution
author: 苏命、王为东<br>中国科学院大学资源与环境学院<br>中国科学院生态环境研究中心
date: today
lang: zh
format:
dwsd-revealjs: default
---
```{r}
#| include: false
#| cache: false
lang <- "cn"
require(tidyverse)
knitr::opts_chunk$set(echo = TRUE)
```
## R语言实践部分课程简介
**接下来的课程由我来带着大家一起学习、实践基于R语言的数据分析。**
### 自我介绍
- 苏命:来自中国科学院生态环境研究中心
- 主要从事**水源水质水生态**方面的研究
## 欢迎讨论!{.center}
`r rmdify::slideend(wechat = FALSE, type = "public", tel = FALSE, thislink = "../")`