├── CV Template - Public.zip ├── CV Template - Public ├── academic-cv.cls ├── cv.tex ├── cv │ ├── education.tex │ ├── extracurricular.tex │ ├── honors.tex │ ├── mentoring.tex │ ├── presentation.tex │ ├── professional.tex │ ├── publications.tex │ ├── research.tex │ └── teaching.tex ├── fonts │ ├── FontAwesome.ttf │ ├── Roboto-Bold.ttf │ ├── Roboto-BoldItalic.ttf │ ├── Roboto-Italic.ttf │ ├── Roboto-Light.ttf │ ├── Roboto-LightItalic.ttf │ ├── Roboto-Medium.ttf │ ├── Roboto-MediumItalic.ttf │ ├── Roboto-Regular.ttf │ ├── Roboto-Thin.ttf │ └── Roboto-ThinItalic.ttf └── profile.png ├── Preprint Template - Public.zip ├── Proposal Template - Public.zip ├── Proposal Template - Public ├── Mendeley.bib ├── example.bib ├── figures │ ├── colonization.tex │ └── colonization_hypothesis.png ├── main.tex ├── sections │ ├── 1-overview.tex │ ├── 2-justification.tex │ ├── 3-background.tex │ ├── 4-researchplans.tex │ ├── 4.1-objective1.tex │ ├── 4.2-objective2.tex │ ├── 4.3-objective3.tex │ ├── 5-workinprogress.tex │ ├── 6-goals.tex │ └── 7-timeline.tex ├── sysbio.bst └── tables │ └── example_table.tex ├── README.md ├── Research Log Template - Public.zip ├── Research Log Template - Public ├── figures │ ├── densitrees_030318.pdf │ ├── insilico_cutsite_locations.jpeg │ ├── lates01_reads_vs_depth.jpeg │ ├── lates01_reads_vs_depth_miss0_5_maf0_01.jpeg │ ├── lates_phylogeny_020218.png │ ├── rawreads_vs_assembled_annotated.pdf │ ├── reads_AC1_bin20.pdf │ ├── reads_AC2_bin20.pdf │ ├── snapp_calcar_thin50k_small_030318_tree.pdf │ ├── treeannotator_tre_022318.pdf │ └── treeannotator_tre_nodata.pdf ├── latexmkrc ├── main.tex ├── projects │ ├── appendixA.tex │ ├── appendixB.tex │ ├── charr.tex │ ├── gbs_analyses.tex │ ├── genome_assembly.tex │ └── phylogenetic_analyses.tex ├── researchdiary_png.sty └── table_template.tex ├── Template for Writing - Public.zip ├── Template for Writing - Public ├── Sections │ ├── 0-abstract.tex │ ├── 1-introduction.tex │ ├── 2-methods.tex │ ├── 3-results.tex │ ├── 4-discussion.tex │ ├── 5-tables.tex │ ├── 6-figures.tex │ └── 7-supplement.tex ├── bibliography.bib ├── latex-rmd.sty ├── main.tex └── sysbio.bst └── tutorials ├── .gitkeep ├── R_Overleaf_Integration.pdf ├── latex-rmd.sty ├── remove_missing_phy.sh └── trimtex.sh /CV Template - Public.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/CV Template - Public.zip -------------------------------------------------------------------------------- /CV Template - Public/academic-cv.cls: -------------------------------------------------------------------------------- 1 | %% Start of file `academic-cv.cls'. 2 | % Academic CV Class File 3 | % 4 | % This class has been downloaded from: 5 | % https://github.com/posquit0/Awesome-CV 6 | % And modified by Jessi Rick 7 | % 8 | 9 | %------------------------------------------------------------------------------- 10 | % Identification 11 | %------------------------------------------------------------------------------- 12 | \ProvidesClass{academic-cv}[2019/03/08 v1.0 Academic Curriculum Vitae Class] 13 | \NeedsTeXFormat{LaTeX2e} 14 | 15 | 16 | %------------------------------------------------------------------------------- 17 | % Class options 18 | % 19 | %------------------------------------------------------------------------------- 20 | % Options for draft or final 21 | \DeclareOption{draft}{\setlength\overfullrule{5pt}} 22 | \DeclareOption{final}{\setlength\overfullrule{0pt}} 23 | 24 | % Inherit options of article 25 | \DeclareOption*{% 26 | \PassOptionsToClass{\CurrentOption}{article} 27 | } 28 | \ProcessOptions\relax 29 | \LoadClass{article} 30 | 31 | 32 | %------------------------------------------------------------------------------- 33 | % 3rd party packages 34 | %------------------------------------------------------------------------------- 35 | % Needed to make fixed length table 36 | \RequirePackage{array} 37 | % Needed to handle list environment 38 | \RequirePackage{enumitem} 39 | % Needed to handle text alignment 40 | \RequirePackage{ragged2e} 41 | % Needed to configure page layout 42 | \RequirePackage{geometry} 43 | % Needed to make header & footer effeciently 44 | \RequirePackage{fancyhdr} 45 | % Needed to manage colors 46 | \RequirePackage{xcolor} 47 | % Needed to use \ifxetex-\else-\fi statement 48 | \RequirePackage{ifxetex} 49 | % Needed to use \if-\then-\else statement 50 | \RequirePackage{xifthen} 51 | % Needed to use a toolbox of programming tools 52 | \RequirePackage{etoolbox} 53 | % Needed to change line spacing in specific environment 54 | \RequirePackage{setspace} 55 | % Needed to manage fonts 56 | \RequirePackage[quiet]{fontspec} 57 | % To support LaTeX quoting style 58 | \defaultfontfeatures{Ligatures=TeX} 59 | % Needed to manage math fonts 60 | \RequirePackage{unicode-math} 61 | % Needed to use icons from font-awesome 62 | % (https://github.com/posquit0/latex-fontawesome) 63 | \RequirePackage{fontawesome} 64 | \RequirePackage[default,opentype]{sourcesanspro} 65 | % Needed for the photo ID 66 | \RequirePackage[skins]{tcolorbox} 67 | % Needed to deal a paragraphs 68 | \RequirePackage{parskip} 69 | % Needed to deal hyperlink 70 | \RequirePackage[hidelinks,unicode]{hyperref} 71 | \hypersetup{% 72 | pdftitle={}, 73 | pdfauthor={}, 74 | pdfsubject={}, 75 | pdfkeywords={} 76 | } 77 | % Needed for hanging indents 78 | \usepackage{hanging} 79 | 80 | %------------------------------------------------------------------------------- 81 | % Configuration for directory locations 82 | %------------------------------------------------------------------------------- 83 | % Configure a directory location for fonts(default: 'fonts/') 84 | \newcommand*{\fontdir}[1][fonts/]{\def\@fontdir{#1}} 85 | \fontdir 86 | 87 | 88 | %------------------------------------------------------------------------------- 89 | % Configuration for layout 90 | %------------------------------------------------------------------------------- 91 | %% Page Layout 92 | % Configure page margins with geometry 93 | % these are defaults, but can be modified in the cv.tex file 94 | \geometry{left=2.0cm, top=1.5cm, right=2.0cm, bottom=2.0cm, footskip=.5cm} 95 | 96 | %% Header & Footer 97 | % Set offset to each header and footer 98 | \fancyhfoffset{0em} 99 | % Remove head rule 100 | \renewcommand{\headrulewidth}{0pt} 101 | % Clear all header & footer fields 102 | \fancyhf{} 103 | % Enable if you want to make header or footer using fancyhdr 104 | \pagestyle{fancy} 105 | 106 | 107 | %------------------------------------------------------------------------------- 108 | % Configuration for colors 109 | %------------------------------------------------------------------------------- 110 | % Gray-scale colors 111 | \definecolor{white}{HTML}{FFFFFF} 112 | \definecolor{black}{HTML}{000000} 113 | \definecolor{darkgray}{HTML}{333333} 114 | \definecolor{gray}{HTML}{5D5D5D} 115 | \definecolor{lightgray}{HTML}{999999} 116 | % Basic colors 117 | \definecolor{green}{HTML}{C2E15F} 118 | \definecolor{orange}{HTML}{FDA333} 119 | \definecolor{purple}{HTML}{D3A4F9} 120 | \definecolor{red}{HTML}{FB4485} 121 | \definecolor{blue}{HTML}{6CE0F1} 122 | % Text colors 123 | \definecolor{darktext}{HTML}{000000} 124 | \colorlet{text}{black} 125 | \colorlet{graytext}{black} 126 | \colorlet{lighttext}{black} 127 | 128 | % Boolean value to switch section color highlighting 129 | % \newbool{acvSectionColorHighlight} 130 | % \setbool{acvSectionColorHighlight}{false} 131 | 132 | % % Awesome section color 133 | % \def\@sectioncolor#1#2#3{% 134 | % \ifbool{acvSectionColorHighlight}{{\color{awesome}#1#2#3}}{#1#2#3}% 135 | % } 136 | 137 | 138 | %------------------------------------------------------------------------------- 139 | % Configuration for fonts 140 | %------------------------------------------------------------------------------- 141 | % Set the FontAwesome font to be up-to-date. 142 | \newfontfamily\FA[Path=\@fontdir]{FontAwesome} 143 | % Set font for header (default is Roboto) 144 | \newfontfamily\headerfont[ 145 | Path=\@fontdir, 146 | UprightFont=*-Regular, 147 | ItalicFont=*-Italic, 148 | BoldFont=*-Bold, 149 | BoldItalicFont=*-BoldItalic, 150 | ]{Roboto} 151 | 152 | \newfontfamily\headerfontlight[ 153 | Path=\@fontdir, 154 | UprightFont=*-Thin, 155 | ItalicFont=*-ThinItalic, 156 | BoldFont=*-Medium, 157 | BoldItalicFont=*-MediumItalic, 158 | ]{Roboto} 159 | 160 | \newcommand*{\footerfont}{\sourcesanspro} 161 | \newcommand*{\bodyfont}{\sourcesanspro} 162 | \newcommand*{\bodyfontlight}{\sourcesansprolight} 163 | 164 | %------------------------------------------------------------------------------- 165 | % Configuration for styles 166 | %------------------------------------------------------------------------------- 167 | % Configure styles for each CV elements 168 | % For fundamental structures 169 | % here, you can modify colors, sizes, and fonts for each type of text 170 | \newcommand*{\headerfirstnamestyle}[1]{{\fontsize{28pt}{1em}\headerfontlight\color{graytext} #1}} 171 | \newcommand*{\headerlastnamestyle}[1]{{\fontsize{28pt}{1em}\headerfont\bfseries\color{text} #1}} 172 | \newcommand*{\headerpositionstyle}[1]{{\fontsize{10pt}{1em}\bodyfont\scshape\color{darktext} #1}} 173 | \newcommand*{\headeraddressstyle}[1]{{\fontsize{9pt}{1em}\headerfont\itshape\color{lighttext} #1}} 174 | \newcommand*{\headersocialstyle}[1]{{\fontsize{8pt}{1em}\headerfont\color{text} #1}} 175 | \newcommand*{\headerquotestyle}[1]{{\fontsize{9pt}{1em}\bodyfont\itshape\color{darktext} #1}} 176 | \newcommand*{\footerstyle}[1]{{\fontsize{8pt}{1em}\footerfont\scshape\color{lighttext} #1}} 177 | \newcommand*{\sectionstyle}[1]{{\fontsize{14pt}{1em}\bodyfont\color{text}\@sectioncolor #1}} 178 | \newcommand*{\subsectionstyle}[1]{{\fontsize{12pt}{1em}\bodyfont\scshape\textcolor{text}{#1}}} 179 | \newcommand*{\paragraphstyle}{\fontsize{9pt}{1em}\bodyfontlight\color{text}} 180 | 181 | % For elements of entry 182 | \newcommand*{\entrytitlestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\bfseries\color{darktext} #1}} 183 | \newcommand*{\entrypositionstyle}[1]{{\fontsize{10pt}{1em}\bodyfont\scshape\color{graytext} #1}} 184 | \newcommand*{\entrydatestyle}[1]{{\fontsize{10pt}{1em}\bodyfontlight\slshape\color{graytext} #1}} 185 | \newcommand*{\entrylocationstyle}[1]{{\fontsize{10pt}{1em}\bodyfontlight\slshape\color{darktext} #1}} 186 | \newcommand*{\descriptionstyle}[1]{{\fontsize{10pt}{1em}\bodyfontlight\upshape\color{text} #1}} 187 | 188 | % For elements of subentry 189 | \newcommand*{\subentrytitlestyle}[1]{{\fontsize{8pt}{1em}\bodyfont\mdseries\color{graytext} #1}} 190 | \newcommand*{\subentrypositionstyle}[1]{{\fontsize{8pt}{1em}\bodyfont\scshape\color{graytext} #1}} 191 | \newcommand*{\subentrydatestyle}[1]{{\fontsize{8pt}{1em}\bodyfontlight\slshape\color{graytext} #1}} 192 | \newcommand*{\subentrylocationstyle}[1]{{\fontsize{8pt}{1em}\bodyfontlight\slshape\color{graytext} #1}} 193 | \newcommand*{\subdescriptionstyle}[1]{{\fontsize{8pt}{1em}\bodyfontlight\upshape\color{text} #1}} 194 | 195 | % For elements of honor 196 | \newcommand*{\honortitlestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\color{graytext} #1}} 197 | \newcommand*{\honorpositionstyle}[1]{{\fontsize{10pt}{1em}\bodyfontlight\bfseries\color{darktext} #1}} 198 | \newcommand*{\honordatestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\color{text} #1}} 199 | \newcommand*{\honorlocationstyle}[1]{{\fontsize{10pt}{1em}\bodyfontlight\slshape\color{graytext} #1}} 200 | 201 | % For elements of skill 202 | \newcommand*{\skilltypestyle}[1]{{\fontsize{10pt}{1em}\bodyfont\color{text} #1}} 203 | \newcommand*{\skillsetstyle}[1]{{\fontsize{10pt}{1em}\bodyfontlight\bfseries\color{text} #1}} 204 | \newcommand*{\skilllocstyle}[1]{{\fontsize{10pt}{1em}\bodyfontlight\color{text} #1}} 205 | 206 | % For elements of publication 207 | \newcommand*{\pubstyle}[1]{{\fontsize{10pt}{1em}\bodyfont\color{text} #1}} 208 | 209 | 210 | %------------------------------------------------------------------------------- 211 | % Commands for personal information 212 | %------------------------------------------------------------------------------- 213 | % Define photo ID 214 | % Usage: \photo[circle|rectangle,edge|noedge,left|right]{} 215 | \newcommand{\photo}[2][circle,edge,left]{% 216 | \def\@photo{#2} 217 | \@for\tmp:=#1\do{% 218 | \ifthenelse{\equal{\tmp}{circle} \or \equal{\tmp}{rectangle}}% 219 | {\let\@photoshape\tmp}{}% 220 | \ifthenelse{\equal{\tmp}{edge} \or \equal{\tmp}{noedge}}% 221 | {\let\@photoedge\tmp}{}% 222 | \ifthenelse{\equal{\tmp}{left} \or \equal{\tmp}{right}}% 223 | {\let\@photoalign\tmp}{}% 224 | }% 225 | } 226 | \def\@photoshape{circle} 227 | \def\@photoedge{edge} 228 | \def\@photoalign{left} 229 | 230 | % Define writer's name 231 | % Usage: \name{}{} 232 | % Usage: \firstname{} 233 | % Usage: \lastname{} 234 | % Usage: \familyname{} 235 | \newcommand*{\name}[2]{\def\@firstname{#1}\def\@lastname{#2}} 236 | \newcommand*{\firstname}[1]{\def\@firstname{#1}} 237 | \newcommand*{\lastname}[1]{\def\@lastname{#1}} 238 | \newcommand*{\familyname}[1]{\def\@lastname{#1}} 239 | \def\@familyname{\@lastname} 240 | 241 | % Define writer's address 242 | % Usage: \address{
} 243 | \newcommand*{\address}[1]{\def\@address{#1}} 244 | 245 | % Define writer's position 246 | % Usage: \name{} 247 | \newcommand*{\position}[1]{\def\@position{#1}} 248 | 249 | % Defines writer's mobile (optional) 250 | % Usage: \mobile{} 251 | \newcommand*{\mobile}[1]{\def\@mobile{#1}} 252 | 253 | % Defines writer's email (optional) 254 | % Usage: \email{} 255 | \newcommand*{\email}[1]{\def\@email{#1}} 256 | 257 | % Defines writer's homepage (optional) 258 | % Usage: \homepage{} 259 | \newcommand*{\homepage}[1]{\def\@homepage{#1}} 260 | 261 | % Defines writer's github (optional) 262 | % Usage: \github{} 263 | \newcommand*{\github}[1]{\def\@github{#1}} 264 | 265 | % Defines writer's gitlab (optional) 266 | % Usage: \gitlab{} 267 | \newcommand*{\gitlab}[1]{\def\@gitlab{#1}} 268 | 269 | % Defines writer's stackoverflow profile (optional) 270 | % Usage: \stackoverflow{}{} 271 | % e.g.https://stackoverflow.com/users/123456/sam-smith 272 | % would be \stackoverflow{123456}{sam-smith} 273 | \newcommand*{\stackoverflow}[2]{\def\@stackoverflowid{#1}\def\@stackoverflowname{#2}} 274 | 275 | % Defines writer's linked-in (optional) 276 | % Usage: \linkedin{} 277 | \newcommand*{\linkedin}[1]{\def\@linkedin{#1}} 278 | 279 | % Defines writer's twitter handle (optional) 280 | % Usage: \twitter{} 281 | \newcommand*{\twitter}[1]{\def\@twitter{#1}} 282 | 283 | % Defines writer's skype (optional) 284 | % Usage: \skype{} 285 | \newcommand*{\skype}[1]{\def\@skype{#1}} 286 | 287 | % Defines writer's reddit (optional) 288 | % Usage: \reddit{} 289 | \newcommand*{\reddit}[1]{\def\@reddit{#1}} 290 | 291 | % Defines writer's xing (optional) 292 | % Usage: \xing{} 293 | \newcommand*{\xing}[1]{\def\@xing{#1}} 294 | 295 | % Defines writer's extra informations (optional) 296 | % Usage: \extrainfo{} 297 | \newcommand*{\extrainfo}[1]{\def\@extrainfo{#1}} 298 | 299 | %------------------------------------------------------------------------------- 300 | % Commands for extra 301 | %------------------------------------------------------------------------------- 302 | %% Define helper macros a user can change easily 303 | % Header 304 | % here, you can change the spacing in the header information 305 | \newcommand{\acvHeaderNameDelim}{\space} 306 | \newcommand{\acvHeaderAfterNameSkip}{2mm} 307 | \newcommand{\acvHeaderAfterPositionSkip}{2mm} 308 | \newcommand{\acvHeaderAfterAddressSkip}{-.5mm} 309 | \newcommand{\acvHeaderIconSep}{\space} 310 | \newcommand{\acvHeaderSocialSep}{\quad\textbar\quad} 311 | \newcommand{\acvHeaderAfterSocialSkip}{6mm} 312 | \newcommand{\acvHeaderAfterQuoteSkip}{5mm} 313 | 314 | % Others 315 | % this defines the spacing between each section 316 | \newcommand{\acvSectionTopSkip}{3mm} 317 | \newcommand{\acvSectionContentTopSkip}{2.5mm} 318 | 319 | 320 | %------------------------------------------------------------------------------- 321 | % Commands for utilities 322 | %------------------------------------------------------------------------------- 323 | % Use to align an element of tabular table 324 | \newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}} 325 | \newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}} 326 | \newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}} 327 | 328 | % Use to draw horizontal line with specific thickness 329 | \def\vhrulefill#1{\leavevmode\leaders\hrule\@height#1\hfill \kern\z@} 330 | 331 | % Use to execute conditional statements by checking empty string 332 | \newcommand*{\ifempty}[3]{\ifthenelse{\isempty{#1}}{#2}{#3}} 333 | 334 | %------------------------------------------------------------------------------- 335 | % Commands for elements of CV structure 336 | %------------------------------------------------------------------------------- 337 | % Define a header for CV 338 | % Usage: \makecvheader 339 | \newcommand*{\makecvheader}[1][C]{% 340 | \newcommand*{\drawphoto}{% 341 | \ifthenelse{\isundefined{\@photo}}{}{% 342 | \newlength{\photodim} 343 | \ifthenelse{\equal{\@photoshape}{circle}}% 344 | {\setlength{\photodim}{1.3cm}}% 345 | {\setlength{\photodim}{1.8cm}}% 346 | \ifthenelse{\equal{\@photoedge}{edge}}% 347 | {\def\@photoborder{darkgray}}% 348 | {\def\@photoborder{none}}% 349 | \begin{tikzpicture}% 350 | \node[\@photoshape, draw=\@photoborder, line width=0.3mm, inner sep=\photodim, fill overzoom image=\@photo] () {}; 351 | \end{tikzpicture} 352 | }% 353 | } 354 | \newlength{\headertextwidth} 355 | \newlength{\headerphotowidth} 356 | \ifthenelse{\isundefined{\@photo}}{ 357 | \setlength{\headertextwidth}{\textwidth} 358 | \setlength{\headerphotowidth}{0cm} 359 | }{% 360 | \setlength{\headertextwidth}{0.76\textwidth} 361 | \setlength{\headerphotowidth}{0.24\textwidth} 362 | }% 363 | \begin{minipage}[c]{\headerphotowidth}% 364 | \ifthenelse{\equal{\@photoalign}{left}}{\raggedright\drawphoto}{} 365 | \end{minipage} 366 | \begin{minipage}[c]{\headertextwidth} 367 | \ifthenelse{\equal{#1}{L}}{\raggedright}{\ifthenelse{\equal{#1}{R}}{\raggedleft}{\centering}} 368 | \headerfirstnamestyle{\@firstname}\headerlastnamestyle{{}\acvHeaderNameDelim\@lastname}% 369 | \\[\acvHeaderAfterNameSkip]% 370 | \ifthenelse{\isundefined{\@position}}{}{\headerpositionstyle{\@position\\[\acvHeaderAfterPositionSkip]}}% 371 | \ifthenelse{\isundefined{\@address}}{}{\headeraddressstyle{\@address\\[\acvHeaderAfterAddressSkip]}}% 372 | \headersocialstyle{% 373 | \newbool{isstart}% 374 | \setbool{isstart}{true}% 375 | \ifthenelse{\isundefined{\@mobile}}% 376 | {}% 377 | {% 378 | \faMobile\acvHeaderIconSep\@mobile% 379 | \setbool{isstart}{false}% 380 | }% 381 | \ifthenelse{\isundefined{\@email}}% 382 | {}% 383 | {% 384 | \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% 385 | \href{mailto:\@email}{\faEnvelope\acvHeaderIconSep\@email}% 386 | }% 387 | \ifthenelse{\isundefined{\@homepage}}% 388 | {}% 389 | {% 390 | \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% 391 | \href{http://\@homepage}{\faHome\acvHeaderIconSep\@homepage}% 392 | }% 393 | \ifthenelse{\isundefined{\@github}}% 394 | {}% 395 | {% 396 | \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% 397 | \href{https://github.com/\@github}{\faGithubSquare\acvHeaderIconSep\@github}% 398 | }% 399 | \ifthenelse{\isundefined{\@gitlab}}% 400 | {}% 401 | {% 402 | \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% 403 | \href{https://gitlab.com/\@gitlab}{\faGitlab\acvHeaderIconSep\@gitlab}% 404 | }% 405 | \ifthenelse{\isundefined{\@stackoverflowid}}% 406 | {}% 407 | {% 408 | \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% 409 | \href{https://stackoverflow.com/users/\@stackoverflowid}{\faStackOverflow\acvHeaderIconSep\@stackoverflowname}% 410 | }% 411 | \ifthenelse{\isundefined{\@linkedin}}% 412 | {}% 413 | {% 414 | \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% 415 | \href{https://www.linkedin.com/in/\@linkedin}{\faLinkedinSquare\acvHeaderIconSep\@linkedin}% 416 | }% 417 | \ifthenelse{\isundefined{\@twitter}}% 418 | {}% 419 | {% 420 | \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% 421 | \href{https://twitter.com/\@twitter}{\faTwitter\acvHeaderIconSep\@twitter}% 422 | }% 423 | \ifthenelse{\isundefined{\@skype}}% 424 | {}% 425 | {% 426 | \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% 427 | \faSkype\acvHeaderIconSep\@skype% 428 | }% 429 | \ifthenelse{\isundefined{\@reddit}}% 430 | {}% 431 | {% 432 | \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% 433 | \href{https://www.reddit.com/user/\@reddit}{\faReddit\acvHeaderIconSep\@reddit}% 434 | }% 435 | \ifthenelse{\isundefined{\@xing}}% 436 | {}% 437 | {% 438 | \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% 439 | \href{https://www.xing.com/profile/\@xing}{\faXingSquare\acvHeaderIconSep\@xing} 440 | }% 441 | \ifthenelse{\isundefined{\@extrainfo}}% 442 | {}% 443 | {% 444 | \ifbool{isstart}{\setbool{isstart}{false}}{\acvHeaderSocialSep}% 445 | \@extrainfo% 446 | }% 447 | } \\[\acvHeaderAfterSocialSkip]% 448 | \ifthenelse{\isundefined{\@quote}}% 449 | {}% 450 | {\headerquotestyle{\@quote\\}\vspace{\acvHeaderAfterQuoteSkip}}% 451 | \end{minipage}% 452 | \begin{minipage}[c]{\headerphotowidth}% 453 | \ifthenelse{\equal{\@photoalign}{right}}{\raggedleft\drawphoto}{} 454 | \end{minipage} 455 | } 456 | 457 | % Define a footer for CV 458 | % Usage: \makecvfooter{}{
}{} 459 | \newcommand*{\makecvfooter}[3]{% 460 | \fancyfoot{} 461 | \fancyfoot[L]{\footerstyle{#1}} 462 | \fancyfoot[C]{\footerstyle{#2}} 463 | \fancyfoot[R]{\footerstyle{#3}} 464 | } 465 | 466 | % Define a section for CV 467 | % Usage: \cvsection{} 468 | \newcommand{\cvsection}[1]{% 469 | \vspace{\acvSectionTopSkip} 470 | \sectionstyle{#1} 471 | \phantomsection 472 | \color{gray}\vhrulefill{0.9pt} 473 | } 474 | 475 | % Define a subsection for CV 476 | % Usage: \cvsubsection{} 477 | \newcommand{\cvsubsection}[1]{% 478 | \vspace{\acvSectionContentTopSkip} 479 | \vspace{-3mm} 480 | \subsectionstyle{#1} 481 | \phantomsection 482 | } 483 | 484 | % Define a paragraph for CV 485 | \newenvironment{cvparagraph}{% 486 | \vspace{\acvSectionContentTopSkip} 487 | \vspace{-3mm} 488 | \paragraphstyle 489 | }{% 490 | \par 491 | \vspace{2mm} 492 | } 493 | 494 | % Define an environment for cventry 495 | \newenvironment{cventries}{% 496 | \vspace{\acvSectionContentTopSkip} 497 | \begin{center} 498 | }{% 499 | \end{center} 500 | } 501 | 502 | % Define an entry of cv information 503 | % Usage: \cventry{}{}{<location>}{<date>}{<description>} 504 | \newcommand*{\cventry}[5]{% 505 | \vspace{-2.0mm} 506 | \setlength\tabcolsep{0pt} 507 | \setlength{\extrarowheight}{0pt} 508 | \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{\textwidth - 4.5cm} R{4.5cm}} 509 | \ifempty{#2#3} 510 | {\entrypositionstyle{#1} & \entrydatestyle{#4} \\} 511 | {\entrytitlestyle{#2} & \entrylocationstyle{#3} \\ 512 | \entrypositionstyle{#1} & \entrydatestyle{#4} \\} 513 | \multicolumn{2}{L{\textwidth}}{\descriptionstyle{#5}} 514 | \end{tabular*}% 515 | } 516 | 517 | % Define an environment for cvsubentry 518 | \newenvironment{cvsubentries}{% 519 | \begin{center} 520 | }{% 521 | \end{center} 522 | } 523 | 524 | % Define a subentry of cv information 525 | % Usage: \cvsubentry{<position>}{<title>}{<date>}{<description>} 526 | \newcommand*{\cvsubentry}[4]{% 527 | \setlength\tabcolsep{0pt} 528 | \setlength{\extrarowheight}{0pt} 529 | \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{\textwidth - 4.5cm} R{4.5cm}} 530 | \setlength\leftskip{0.2cm} 531 | \subentrytitlestyle{#2} & \ifthenelse{\equal{#1}{}} 532 | {\subentrydatestyle{#3}}{} 533 | \ifthenelse{\equal{#1}{}} 534 | {} 535 | {\subentrypositionstyle{#1} & \subentrydatestyle{#3} \\} 536 | \ifthenelse{\equal{#4}{}} 537 | {} 538 | {\multicolumn{2}{L{17.0cm}}{\subdescriptionstyle{#4}} \\} 539 | \end{tabular*} 540 | } 541 | 542 | % Define an environment for cvhonor 543 | \newenvironment{cvhonors}{% 544 | \vspace{\acvSectionContentTopSkip} 545 | \vspace{-2mm} 546 | \begin{center} 547 | \setlength\tabcolsep{0pt} 548 | \setlength{\extrarowheight}{0pt} 549 | \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} R{1.7cm} L{\textwidth - 4.5cm} R{2cm}} 550 | }{% 551 | \end{tabular*} 552 | \end{center} 553 | } 554 | 555 | % Define a line of cv information(honor, award or something else) 556 | % Usage: \cvhonor{<position>}{<title>}{<location>}{<date>} 557 | \newcommand*{\cvhonor}[4]{% 558 | \honordatestyle{#4} & \honorpositionstyle{#1}, \honortitlestyle{#2} & \honorlocationstyle{#3} \\ 559 | } 560 | 561 | % Define an environment for cvskill 562 | \newenvironment{cvskills}{% 563 | \vspace{\acvSectionContentTopSkip} 564 | \vspace{-2.0mm} 565 | \begin{center} 566 | \setlength\tabcolsep{1ex} 567 | \setlength{\extrarowheight}{0pt} 568 | \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} R{1.7cm} L{\textwidth * \real{0.9}}} 569 | }{% 570 | \end{tabular*} 571 | \end{center} 572 | } 573 | 574 | % Define a line of cv information(skill) 575 | % Usage: \cvskill{<type>}{<skillset>} 576 | \newcommand*{\cvskill}[3]{% 577 | \skilltypestyle{#1} & \skillsetstyle{#2}, \skilllocstyle{#3}\\ 578 | } 579 | 580 | % Define an environment for cvpub 581 | \newenvironment{cvpubs}{% 582 | \vspace{\acvSectionContentTopSkip} 583 | \vspace{-2mm} 584 | \paragraphstyle 585 | }{% 586 | \par 587 | \vspace{1mm} 588 | } 589 | 590 | % Define a line of cvpub 591 | % Usage: \cvpub{<ciation>} 592 | \newcommand*{\cvpub}[1]{% 593 | \leftskip 0.7cm 594 | \parindent -0.7cm 595 | \pubstyle{#1} 596 | } 597 | 598 | % Define an environment for cvitems(for cventry) 599 | \newenvironment{cvitems}{% 600 | \vspace{-4.0mm} 601 | \begin{justify} 602 | \begin{itemize}[leftmargin=2ex, nosep, noitemsep] 603 | \setlength{\parskip}{0pt} 604 | \renewcommand{\labelitemi}{\bullet} 605 | }{% 606 | \end{itemize} 607 | \end{justify} 608 | \vspace{-4.0mm} 609 | } -------------------------------------------------------------------------------- /CV Template - Public/cv.tex: -------------------------------------------------------------------------------- 1 | %!TEX encoding = UTF-8 Unicode 2 | % CV LaTeX Template for CV/Resume 3 | % 4 | % This template has been downloaded and modified from: 5 | % https://github.com/posquit0/Awesome-CV 6 | % 7 | % Author: 8 | % Claud D. Park <posquit0.bj@gmail.com> 9 | % http://www.posquit0.com 10 | % 11 | % Modified (March 2019) by: 12 | % Jessica A. Rick <jrick@uwyo.edu> 13 | % http://www.jessicarick.com 14 | % 15 | % 16 | 17 | 18 | %------------------------------------------------------------------------------- 19 | % CONFIGURATIONS 20 | %------------------------------------------------------------------------------- 21 | % A4 paper size by default, use 'letterpaper' for US letter 22 | %\documentclass[11pt, letterpaper, draft]{academic-cv} % hyperlinks won't work in draft mode 23 | \documentclass[11pt, letterpaper, final]{academic-cv} 24 | 25 | % Configure page margins with geometry 26 | \geometry{left=0.75in, top=0.75in, right=0.75in, bottom=0.75in, footskip=.5cm} 27 | 28 | % Specify the location of the included fonts 29 | \fontdir[fonts/] 30 | 31 | % If you would like to change the social information separator from a pipe (|) to something else 32 | \renewcommand{\acvHeaderSocialSep}{\quad\textbar\quad} 33 | 34 | 35 | %------------------------------------------------------------------------------- 36 | % PERSONAL INFORMATION 37 | % Comment any of the lines below if they are not required 38 | %------------------------------------------------------------------------------- 39 | \name{Your Name}{} 40 | \position{PhD Student{\enskip\cdotp\enskip}Program} 41 | \address{University of Wyoming, 1000 E University Ave, Laramie, WY 82070} 42 | 43 | %\mobile{+1 000-000-0000} 44 | \email{email@email.com} 45 | \homepage{www.mywebsite.com} 46 | \github{mygithub} 47 | %\linkedin{mylinkedin} 48 | % \gitlab{my-gitlab-id} 49 | % \stackoverflow{SO-id}{SO-name} 50 | \twitter{@twitterhandle} 51 | % \skype{skype-id} 52 | % \reddit{reddit-id} 53 | % \extrainfo{extra informations} 54 | 55 | 56 | %------------------------------------------------------------------------------- 57 | \begin{document} 58 | 59 | % Print the header with above personal information 60 | % Give optional argument to change alignment(C: center, L: left, R: right) 61 | \makecvheader 62 | 63 | % Print the footer with 3 arguments(<left>, <center>, <right>) 64 | % Leave any of these blank if they are not needed 65 | \makecvfooter 66 | {March 2019} 67 | {Name ~~~·~~~ Curriculum Vitae} 68 | {\thepage} 69 | 70 | 71 | %------------------------------------------------------------------------------- 72 | % CV/RESUME CONTENT 73 | % Each section is imported separately, open each file in turn to modify content 74 | % Comment out any sections that are not appropriate for your CV 75 | %------------------------------------------------------------------------------- 76 | \input{cv/education.tex} 77 | \input{cv/professional.tex} 78 | \input{cv/publications.tex} 79 | \input{cv/honors.tex} 80 | \input{cv/presentation.tex} 81 | \input{cv/teaching.tex} 82 | \input{cv/mentoring.tex} 83 | %\input{cv/research.tex} 84 | \input{cv/extracurricular.tex} 85 | 86 | %------------------------------------------------------------------------------- 87 | \end{document} 88 | -------------------------------------------------------------------------------- /CV Template - Public/cv/education.tex: -------------------------------------------------------------------------------- 1 | %------------------------------------------------------------------------------- 2 | % SECTION TITLE 3 | %------------------------------------------------------------------------------- 4 | \cvsection{Education} 5 | 6 | 7 | %------------------------------------------------------------------------------- 8 | % CONTENT 9 | %------------------------------------------------------------------------------- 10 | \begin{cventries} 11 | 12 | %--------------------------------------------------------- 13 | \cventry 14 | {PhD Ecology} % Degree 15 | {University} % Institution 16 | {Location of University} % Location 17 | {Date - present} % Date(s) 18 | { 19 | \begin{cvitems} % Description(s) bullet points 20 | \item {Advisor: Dr. Fancy Pants} 21 | \end{cvitems} 22 | } 23 | 24 | \cventry 25 | {MS Different Field} % Degree 26 | {Other University} % Institution 27 | {Location} % Location 28 | {Date - Date} % Date(s) 29 | { 30 | \begin{cvitems} % Description(s) bullet points 31 | \item {Advisor: Dr. Smart} 32 | \end{cvitems} 33 | } 34 | 35 | \cventry 36 | {BS Undergraduate Degree} % Degree 37 | {Third University} % Institution 38 | {Location} % Location 39 | {Dates - Dates} % Date(s) 40 | { 41 | \begin{cvitems} % Description(s) bullet points 42 | \item {Minors in other fields} 43 | \item {Honors thesis/undergrad research advisor: Dr. Mentor} 44 | \end{cvitems} 45 | } 46 | 47 | %--------------------------------------------------------- 48 | \end{cventries} 49 | -------------------------------------------------------------------------------- /CV Template - Public/cv/extracurricular.tex: -------------------------------------------------------------------------------- 1 | %------------------------------------------------------------------------------- 2 | % SECTION TITLE 3 | %------------------------------------------------------------------------------- 4 | \cvsection{Outreach \& Professional Development} 5 | 6 | 7 | %------------------------------------------------------------------------------- 8 | % CONTENT 9 | %------------------------------------------------------------------------------- 10 | \cvsubsection{Service and Outreach} 11 | \begin{cvhonors} 12 | %--------------------------------------------------------- 13 | \cvhonor 14 | {Science Fair} % Event/Organization 15 | {Volunteer Judge} % Position 16 | {} % Location 17 | {2018} % Date(s) 18 | 19 | %--------------------------------------------------------- 20 | \cvhonor 21 | {Graduate Student Association} % Event/Organization 22 | {Committee Member} % Position 23 | {} % Location 24 | {2016-2017} % Date(s) 25 | 26 | \end{cvhonors} 27 | 28 | \cvsubsection{Development} 29 | 30 | \begin{cvpubs} 31 | \cvpub{\textbf{Workshop I Participated In}, and an explanation of this workshop, what I learned from it, and why I consider it to be professional development.} 32 | \end{cvpubs} 33 | 34 | \cvsubsection{Peer Review} 35 | 36 | \begin{small} \color{black} 37 | One journal I review for \\ 38 | Another journal \\ 39 | \end{small} 40 | 41 | \cvsubsection{Professional Memberships} 42 | 43 | \begin{small} \color{black} 44 | One fancy society \\ 45 | Another fancy society \\ 46 | \end{small} 47 | -------------------------------------------------------------------------------- /CV Template - Public/cv/honors.tex: -------------------------------------------------------------------------------- 1 | %------------------------------------------------------------------------------- 2 | % SECTION TITLE 3 | %------------------------------------------------------------------------------- 4 | \cvsection{Awards, Fellowships, \& Grants} 5 | 6 | %------------------------------------------------------------------------------- 7 | % 2018 8 | %------------------------------------------------------------------------------- 9 | \begin{cvhonors} 10 | 11 | %--------------------------------------------------------- 12 | \cvhonor 13 | {Graduate Research Fellowship} % Award 14 | {Granting Organization} % Awarding Organization 15 | {\$ 20,000} % Amount -- leave blank if not including amounts 16 | {2018} % Date(s) 17 | 18 | %--------------------------------------------------------- 19 | \cvhonor 20 | {A Departmental Award} % Award 21 | {University Department} % Awarding Organization 22 | {\$ 2,500} % Amount 23 | {} % Date(s) 24 | 25 | %--------------------------------------------------------- 26 | \cvhonor 27 | {Another Award} % Award 28 | {Granting Institution} % Awarding Organization 29 | {\$ 1,000} % Amount 30 | {} % Date(s) 31 | 32 | \end{cvhonors} 33 | 34 | %------------------------------------------------------------------------------- 35 | % 2017 36 | %------------------------------------------------------------------------------- 37 | \begin{cvhonors} 38 | 39 | %--------------------------------------------------------- 40 | \cvhonor 41 | {An Award} % Award 42 | {Granting Institution} % Awarding Organization 43 | {\$ 2,000} % Amount 44 | {2017} % Date(s) 45 | 46 | %--------------------------------------------------------- 47 | \cvhonor 48 | {Award Name} % Award 49 | {Granting Institution} % Awarding Organization 50 | {\$ 1,000} % Amount 51 | {} % Date(s) 52 | 53 | %--------------------------------------------------------- 54 | \cvhonor 55 | {A Travel Award} % Award 56 | {Granting Institution} % Awarding Organization 57 | {\$ 300} % Amount 58 | {} % Date(s) 59 | 60 | %--------------------------------------------------------- 61 | \cvhonor 62 | {Another Travel Award} % Award 63 | {Granting Institution} % Awarding Organization 64 | {\$ 500} % Amount 65 | {} % Date(s) 66 | 67 | %--------------------------------------------------------- 68 | \end{cvhonors} 69 | 70 | %------------------------------------------------------------------------------- 71 | % 2016 72 | %------------------------------------------------------------------------------- 73 | \begin{cvhonors} 74 | 75 | %--------------------------------------------------------- 76 | \cvhonor 77 | {Perhaps a Big Award} % Award 78 | {Granting Institution} % Awarding Organization 79 | {\$ 10,000} % Amount 80 | {2016} % Date(s) 81 | 82 | %--------------------------------------------------------- 83 | \end{cvhonors} -------------------------------------------------------------------------------- /CV Template - Public/cv/mentoring.tex: -------------------------------------------------------------------------------- 1 | %------------------------------------------------------------------------------- 2 | % SECTION TITLE 3 | %------------------------------------------------------------------------------- 4 | \cvsection{Mentoring} 5 | 6 | 7 | %------------------------------------------------------------------------------- 8 | % CONTENT 9 | %------------------------------------------------------------------------------- 10 | 11 | \begin{cvhonors} 12 | 13 | %--------------------------------------------------------- 14 | \cvhonor 15 | {Undergraduate Name} % Name 16 | {Position, University} % Relationship 17 | {} % Location 18 | {2016-2017} % Date(s) 19 | 20 | %--------------------------------------------------------- 21 | \cvhonor 22 | {Undergraduate Name} % Name 23 | {Position, University} % Relationship 24 | {} % Location 25 | {2014-2015} % Date(s) 26 | 27 | %--------------------------------------------------------- 28 | \cvhonor 29 | {Undergraduate Name} % Name 30 | {Position, University} % Relationship 31 | {} % Location 32 | {2014-2015} % Date(s) 33 | 34 | %--------------------------------------------------------- 35 | \end{cvhonors} 36 | -------------------------------------------------------------------------------- /CV Template - Public/cv/presentation.tex: -------------------------------------------------------------------------------- 1 | %------------------------------------------------------------------------------- 2 | % SECTION TITLE 3 | %------------------------------------------------------------------------------- 4 | \cvsection{Presentations} 5 | 6 | 7 | %------------------------------------------------------------------------------- 8 | % CONTENT 9 | %------------------------------------------------------------------------------- 10 | \vspace{-0.3cm} 11 | \begin{small}\textit{* presenting author; \textsuperscript{+} mentored undergraduate}\end{small} 12 | 13 | %------------------------------------------------------------------------------- 14 | \cvsubsection{Invited Talks} 15 | %------------------------------------------------------------------------------- 16 | 17 | \begin{cvpubs} 18 | \cvpub {Spring 2019. \textit{Title of my fancy talk}. Invited talk: Event That I Presented At, City, State.} 19 | 20 | \cvpub{Spring 2018. \textit{A guest lecture for a course}. Guest Lecture, Name of Course, University.} 21 | 22 | \cvpub{Spring 2018. \textit{A different invited talk that I gave}. Invited talk: Event I Presented At, City, State.} 23 | \end{cvpubs} 24 | 25 | %------------------------------------------------------------------------------- 26 | \cvsubsection{Contributed Presentations} 27 | %------------------------------------------------------------------------------- 28 | 29 | \begin{cvpubs} 30 | \cvpub{\textbf{Name, Y}. 2018. A talk that I gave at a departmental seminar. Departmental seminar: University's Department, City, State.} 31 | 32 | \cvpub{\textbf{Name, Y}, Author Two, Author Three, Author Four. 2018. Title of a talk that I presented at a conference. Oral presentation: A Cool Conference, City, State.} 33 | 34 | \cvpub{\textbf{Name, Y}, Author Two. 2018. A poster that I presented with only myself and my advisor as authors. Poster: The Conference I Presented At, City, State.} 35 | 36 | \cvpub{\textbf{Name, Y}, Author Two, Author Three, Author Four. 2018. Title of a talk that I presented at a conference. Oral presentation: A Cool Conference, City, State.} 37 | 38 | \cvpub{\textbf{Name, Y}. 2015. A different departemental seminar that I gave. Departmental seminar: University's Department, City, State.} 39 | 40 | \cvpub{Undergrad, Y*\textsuperscript{+}, \textbf{Your Name}, Author Three, Author Four. 2015. Title of a poster presented by an undergrad I mentored. Poster: Event Presented At, City, State.} 41 | \end{cvpubs} 42 | -------------------------------------------------------------------------------- /CV Template - Public/cv/professional.tex: -------------------------------------------------------------------------------- 1 | %------------------------------------------------------------------------------- 2 | % SECTION TITLE 3 | %------------------------------------------------------------------------------- 4 | \cvsection{Professional Experience} 5 | 6 | 7 | %------------------------------------------------------------------------------- 8 | % CONTENT 9 | %------------------------------------------------------------------------------- 10 | \begin{cvskills} 11 | 12 | %--------------------------------------------------------- 13 | \cvskill 14 | {2018-2019} % Year 15 | {Fancy Fellowship} % Position 16 | {Institution} % Institution 17 | 18 | %--------------------------------------------------------- 19 | \cvskill 20 | {2016-2018} % Year 21 | {Graduate Teaching Assistant} % Position 22 | {Dept., University} % Institution 23 | 24 | %--------------------------------------------------------- 25 | \cvskill 26 | {2015} % Year 27 | {Another Fellowship} % Position 28 | {University} % Institution 29 | 30 | %--------------------------------------------------------- 31 | \cvskill 32 | {2013-2015} % Year 33 | {Graduate Teaching Assistant} % Position 34 | {Dept. Biology, University of Minnesota- Duluth} % Institution 35 | 36 | %--------------------------------------------------------- 37 | \cvskill 38 | {2011-2013} % Year 39 | {Undergraduate Research Assistant} % Position 40 | {Dept., University} % Institution 41 | 42 | %--------------------------------------------------------- 43 | \cvskill 44 | {2008} % Year 45 | {Undergraduate Research Assistant} % Position 46 | {Dept., University} % Institution 47 | 48 | %--------------------------------------------------------- 49 | \end{cvskills} 50 | -------------------------------------------------------------------------------- /CV Template - Public/cv/publications.tex: -------------------------------------------------------------------------------- 1 | %------------------------------------------------------------------------------- 2 | % SECTION TITLE 3 | %------------------------------------------------------------------------------- 4 | \cvsection{Publications} 5 | 6 | 7 | %------------------------------------------------------------------------------- 8 | % CONTENT 9 | %------------------------------------------------------------------------------- 10 | 11 | %--------------------------------------------------------- 12 | \cvsubsection{Published} 13 | %--------------------------------------------------------- 14 | 15 | \begin{cvpubs} 16 | \cvpub{\textbf{Name, Y}, Author Two, Author Three, Author Four, Author Five. 2017. Title of our fancy paper, which has a very long name to demonstrate what happens when this goes onto two lines. Title of the Journal, 2(1): 1000-1100.} 17 | 18 | \cvpub{\textbf{Name, Y}, Author Two, Author Three. 2016. Title of our other fancy paper, which also has a very long name so that the citation goes onto the next line. Journal, 1(1): 1000-1100.} 19 | \end{cvpubs} 20 | 21 | % %--------------------------------------------------------- 22 | \cvsubsection{In Review} 23 | % %--------------------------------------------------------- 24 | 25 | \begin{cvpubs} 26 | \cvpub{Manuscript 1} 27 | 28 | \cvpub{Manuscript 2} 29 | \end{cvpubs} 30 | 31 | % %--------------------------------------------------------- 32 | \cvsubsection{In Prep} 33 | % %--------------------------------------------------------- 34 | 35 | \begin{cvpubs} 36 | \small \color{black} 37 | \cvpub{Manuscript 1} 38 | 39 | \cvpub{Manuscript 2} 40 | \end{cvpubs} 41 | 42 | % %--------------------------------------------------------- 43 | -------------------------------------------------------------------------------- /CV Template - Public/cv/research.tex: -------------------------------------------------------------------------------- 1 | %------------------------------------------------------------------------------- 2 | % SECTION TITLE 3 | %------------------------------------------------------------------------------- 4 | \cvsection{Research Experience} 5 | 6 | 7 | %------------------------------------------------------------------------------- 8 | % CONTENT 9 | %------------------------------------------------------------------------------- 10 | \begin{cventries} 11 | 12 | %--------------------------------------------------------- 13 | \cventry 14 | {Advisor: Dr. Catherine Wagner} % Advisor 15 | {University of Wyoming - Dept of Botany} % Institution 16 | {Laramie, WY} % Location 17 | {Aug. 2016 - Present} % Date(s) 18 | { 19 | \begin{cvitems} % Description(s) 20 | \item {Dissertation: ``Evolution and the environment in freshwater fishes”} 21 | \end{cvitems} 22 | } 23 | 24 | %--------------------------------------------------------- 25 | \cventry 26 | {Co-Advisors: Dr. Jared Strasburg, Dr. Ron Moen} % Advisor 27 | {University of Minnesota- Duluth - Dept of Biology} % Institution 28 | {Duluth, MN} % Location 29 | {2013-2015} % Date(s) 30 | { 31 | \begin{cvitems} % Description(s) 32 | \item {Thesis: ``Genetic diversity, structure, and hybridization in a harvested gray wolf (Canis lupus) population in Minnesota” } 33 | \end{cvitems} 34 | } 35 | 36 | %--------------------------------------------------------- 37 | \cventry 38 | {Advisors: Dr. Bruce Tabashnik} % Advisor 39 | {University of Arizona - Dept of Entomology} % Institution 40 | {Tucson, AZ} % Location 41 | {2011-2013} % Date(s) 42 | { 43 | \begin{cvitems} % Description(s) 44 | \item {Honor's Thesis: ``Integrity of preserved Pectinophora gossypiella samples for DNA analysis” } 45 | \end{cvitems} 46 | } 47 | 48 | %--------------------------------------------------------- 49 | \cventry 50 | {Supervisors: Dr. Edward Patterson, Dr. Eva Furrow} % Advisor 51 | {University of Minnesota - Dept of Veterinary Sciences} % Institution 52 | {St. Paul, MN} % Location 53 | {2008, 2011} % Date(s) 54 | { 55 | \begin{cvitems} % Description(s) 56 | \item {Projects: Genetic basis of canine exercise-induced collapse and canine pancreatitis} 57 | \end{cvitems} 58 | } 59 | 60 | %--------------------------------------------------------- 61 | \end{cventries} 62 | -------------------------------------------------------------------------------- /CV Template - Public/cv/teaching.tex: -------------------------------------------------------------------------------- 1 | %------------------------------------------------------------------------------- 2 | % SECTION TITLE 3 | %------------------------------------------------------------------------------- 4 | \cvsection{Teaching Experience} 5 | 6 | 7 | %------------------------------------------------------------------------------- 8 | % CONTENT 9 | %------------------------------------------------------------------------------- 10 | 11 | \begin{cvhonors} 12 | 13 | %--------------------------------------------------------- 14 | \cvhonor 15 | {Course} % Course 16 | {Teaching Assistant} % Course 17 | {} % Location 18 | {Spring 2018} % Date(s) 19 | 20 | %--------------------------------------------------------- 21 | \cvhonor 22 | {Course} % Course 23 | {Teaching Assistant} % Position 24 | {} % Location 25 | {Spring 2017} % Date(s) 26 | 27 | %--------------------------------------------------------- 28 | \cvhonor 29 | {Course} % Course 30 | {Teaching Assistant} % Position 31 | {} % Location 32 | {Fall 2016} % Date(s) 33 | 34 | %--------------------------------------------------------- 35 | \cvhonor 36 | {Course} % Course 37 | {Teaching Assistant} % Position 38 | {} % Location 39 | {Fall 2015} % Date(s) 40 | 41 | %--------------------------------------------------------- 42 | \cvhonor 43 | {Teaching Fellow Position} % Course 44 | {University Department} % Committee 45 | {} % Location 46 | {Spring 2015} % Date(s) 47 | 48 | %--------------------------------------------------------- 49 | \cvhonor 50 | {Course} % Course 51 | {Teaching Assistant} % Committee 52 | {} % Location 53 | {Fall 2014} % Date(s) 54 | 55 | %--------------------------------------------------------- 56 | \end{cvhonors} 57 | -------------------------------------------------------------------------------- /CV Template - Public/fonts/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/CV Template - Public/fonts/FontAwesome.ttf -------------------------------------------------------------------------------- /CV Template - Public/fonts/Roboto-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/CV Template - Public/fonts/Roboto-Bold.ttf -------------------------------------------------------------------------------- /CV Template - Public/fonts/Roboto-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/CV Template - Public/fonts/Roboto-BoldItalic.ttf -------------------------------------------------------------------------------- /CV Template - Public/fonts/Roboto-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/CV Template - Public/fonts/Roboto-Italic.ttf -------------------------------------------------------------------------------- /CV Template - Public/fonts/Roboto-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/CV Template - Public/fonts/Roboto-Light.ttf -------------------------------------------------------------------------------- /CV Template - Public/fonts/Roboto-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/CV Template - Public/fonts/Roboto-LightItalic.ttf -------------------------------------------------------------------------------- /CV Template - Public/fonts/Roboto-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/CV Template - Public/fonts/Roboto-Medium.ttf -------------------------------------------------------------------------------- /CV Template - Public/fonts/Roboto-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/CV Template - Public/fonts/Roboto-MediumItalic.ttf -------------------------------------------------------------------------------- /CV Template - Public/fonts/Roboto-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/CV Template - Public/fonts/Roboto-Regular.ttf -------------------------------------------------------------------------------- /CV Template - Public/fonts/Roboto-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/CV Template - Public/fonts/Roboto-Thin.ttf -------------------------------------------------------------------------------- /CV Template - Public/fonts/Roboto-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/CV Template - Public/fonts/Roboto-ThinItalic.ttf -------------------------------------------------------------------------------- /CV Template - Public/profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/CV Template - Public/profile.png -------------------------------------------------------------------------------- /Preprint Template - Public.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/Preprint Template - Public.zip -------------------------------------------------------------------------------- /Proposal Template - Public.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/Proposal Template - Public.zip -------------------------------------------------------------------------------- /Proposal Template - Public/example.bib: -------------------------------------------------------------------------------- 1 | @article{Cohen2016, 2 | title = {{Climate warming reduces fish production and benthic habitat in Lake Tanganyika, one of the most biodiverse freshwater ecosystems}}, 3 | year = {2016}, 4 | journal = {Proceedings of the National Academy of Sciences}, 5 | author = {Cohen, Andrew S and Gergurich, Elizabeth L and Kraemer, Benjamin M and Mcglue, Michael M and Mcintyre, Peter B and Russell, James M and Simmons, Jack D and Swarzenski, Peter W}, 6 | number = {34}, 7 | pages = {9563--9568}, 8 | volume = {113}, 9 | doi = {10.1073/pnas.1603237113} 10 | } -------------------------------------------------------------------------------- /Proposal Template - Public/figures/colonization.tex: -------------------------------------------------------------------------------- 1 | %% FIGURE %% 2 | \begin{figure}[tb] 3 | \includegraphics[width=\textwidth] 4 | {figures/colonization_hypothesis.png}\caption{\label{fig:colonization_hypothesis} Hypotheses to test about the colonization of Lake Tanganyika (LT) by Lates fishes and their diversification times. (A) A common ancestor colonized LT and each of the species split off from the others in succession; (B) the four species diversified prior to colonizing LT; (C) two different ancestors colonized LT, followed by diversification of one of those species; (D) a common ancestor colonized the lake, and the four species split at roughly the same time, forming a true radiation.} 5 | \end{figure} 6 | %%%% -------------------------------------------------------------------------------- /Proposal Template - Public/figures/colonization_hypothesis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/Proposal Template - Public/figures/colonization_hypothesis.png -------------------------------------------------------------------------------- /Proposal Template - Public/main.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% Proposal Template created by Jessi Rick (jrick@uwyo.edu), Fall 2018 %% 3 | %% Designed based on EG Mandeville's Dissertation Proposal %%%%%%%%%%%%%% 4 | %% This is simply a recommendation to get you started-- feel free to %%%% 5 | %% modify to whatever works best for you (and your advisor)! %%%%%%%%%%%% 6 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 7 | 8 | %%%%%% Preamble of the document begins here %%%%%% 9 | % mention the type of document, here we are using an article 10 | \documentclass[letterpaper,12pt]{article} 11 | 12 | % load the packages that we shall use for building the document 13 | \usepackage[english]{babel} 14 | \usepackage[utf8x]{inputenc} 15 | \usepackage{natbib} 16 | \usepackage{amsmath} 17 | \usepackage{graphicx} 18 | \usepackage[colorinlistoftodos]{todonotes} 19 | \usepackage{subcaption} 20 | \usepackage[margin=1in]{geometry} %% sets 1" margins 21 | %\renewcommand{\baselinestretch}{1.5} %% this sets to 1.5 spacing 22 | %\usepackage{setspace} %% these two set double spacing 23 | %\doublespacing %% goes with previous 24 | 25 | \bibpunct{(}{)}{;}{a}{}{,} % this is a citation format command for natbib 26 | 27 | % for fancy headers (testing) 28 | \usepackage{fancyhdr} 29 | \pagestyle{fancy} 30 | \usepackage[font={small,sf},format=plain,labelfont={bf,up}]{caption} 31 | \fancyhf{} 32 | \fancyhead[l,lo]{YOUR NAME \textit{Dissertation Proposal}} 33 | \fancyhead[r,ro]{\thepage} 34 | 35 | % this package is for tables 36 | \usepackage{booktabs} 37 | % write the title and author here 38 | % You must supply your own values 39 | \title{Title of this proposal: Lots of work ahead} 40 | \author{Your Name} 41 | \date{Version: \today} 42 | 43 | %%%%% Preamble to the document ends here %%%%%% 44 | 45 | \begin{document} 46 | \maketitle 47 | 48 | % next we include the different sections. 49 | % Each section is included in the document 50 | \input{sections/1-overview.tex} 51 | \input{sections/2-justification.tex} 52 | \input{sections/3-background.tex} 53 | \input{sections/4-researchplans.tex} 54 | \input{sections/5-workinprogress.tex} 55 | \input{sections/6-goals.tex} 56 | \input{sections/7-timeline.tex} 57 | 58 | % special sections for tables and figures 59 | % then go after the main text of the article 60 | % you can also copy paste from these sections and codes there 61 | %\include{tables} 62 | %\include{figures} 63 | 64 | % This part is for including references and citations 65 | % you can change the bibliography style to whatever you'd like 66 | \bibliographystyle{sysbio} 67 | 68 | %% change to your own bibliography! 69 | \bibliography{example} 70 | 71 | % The document must end with this code 72 | \end{document} -------------------------------------------------------------------------------- /Proposal Template - Public/sections/1-overview.tex: -------------------------------------------------------------------------------- 1 | \section{Overview and Objectives} 2 | Here you can provide general background information relevant to your project. This will serve as a general introduction/overview for your project. You can include references by using \texttt{\textbackslash cite\{citation\}} or \texttt{\textbackslash citep\{citation\}} or \texttt{\textbackslash citealt\{citation\}}, depending on how you want it formatted (like this: \cite{Cohen2016}; \citep{Cohen2016}; \citealt{Cohen2016}). If you have your bibliography connected, the possible citations will pop up as you start typing an author name 3 | 4 | More information about my project. My research seeks to answer the the following general questions: 5 | \begin{enumerate} 6 | \item \textbf{QUESTION 1, related to chapter 1} \\ 7 | Explanation of this question. 8 | 9 | \item \textbf{QUESTION 2, related to chapter 2} \\ 10 | Explanation of the question 11 | 12 | \item \textbf{QUESTION 3, related to chapter 3} \\ 13 | Explantion of the question. 14 | 15 | \end{enumerate} -------------------------------------------------------------------------------- /Proposal Template - Public/sections/2-justification.tex: -------------------------------------------------------------------------------- 1 | \section{Relevance and Justification} 2 | 3 | Here is an explanation of why your project matters-- what impact will this research have? -------------------------------------------------------------------------------- /Proposal Template - Public/sections/3-background.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%% 2 | \section{Background} 3 | %%%%%%%%%%%%%%%%%%%% 4 | 5 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 6 | \subsection{Topic 1 Heading} 7 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 8 | [background on this topic] 9 | 10 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 11 | \subsection{Topic 2 Heading} 12 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 13 | [background relevant to this topic] 14 | 15 | %%%%%%%%%%%%%%%%%%%%%%%%% 16 | \subsection{Study System} 17 | %%%%%%%%%%%%%%%%%%%%%%%%% 18 | 19 | %%%%%%%%%%%%%%%%%%%%%%%% 20 | \subsubsection{One part of the study system} 21 | %%%%%%%%%%%%%%%%%%%%%%%% 22 | Here is some information about my study system 23 | 24 | %%%%%%%%%%%%%%%%%%%%%%%%%% 25 | \subsubsection{Another part of the study system} 26 | %%%%%%%%%%%%%%%%%%%%%%%%%% 27 | 28 | Here is some information about the specific fish that I study. 29 | 30 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%% 31 | \subsection{Preliminary Work} 32 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%% 33 | 34 | Here is an explanation of preliminary work that you have done-- have you already collected samples in the field? Do you have preliminary genetic/morphometric/etc. data? Include those things here. This might be somewhere you might include a table! Here's an example of that (Table \ref{table:species-location}). 35 | 36 | Alternatively, preliminary work could be included as a subsection for each objective, depending on what makes the most sense for your project. 37 | 38 | \input{tables/example_table.tex} -------------------------------------------------------------------------------- /Proposal Template - Public/sections/4-researchplans.tex: -------------------------------------------------------------------------------- 1 | \section{Research Plans} 2 | \input{sections/4.1-objective1.tex} 3 | \input{sections/4.2-objective2.tex} 4 | \input{sections/4.3-objective3.tex} -------------------------------------------------------------------------------- /Proposal Template - Public/sections/4.1-objective1.tex: -------------------------------------------------------------------------------- 1 | \subsection{Objective 1: Heading for this chapter} 2 | \label{objective1} 3 | A brief bit of introduction to this chapter (1-2 paragraphs) 4 | 5 | \subsubsection{Research Plan} 6 | What methods do you have planned for this chapter? Here you should describe what your concrete plans are for addressing this objective. You also might want to include a figure in this portion, such as Fig. \ref{fig:colonization_hypothesis}. 7 | 8 | \input{figures/colonization.tex} 9 | 10 | \textsc{Method A ---} You can use subheadings to separate out different things you'll be doing for this chapter. Perhaps your subsections can be "sampling," "data generation," and "analysis" (these are what mine are!). 11 | 12 | \textsc{Method B ---} And here's a second subsection of things that I'll be doing. 13 | 14 | \subsubsection{Specific Questions} 15 | \begin{enumerate} 16 | \item \textbf{Question \#1} 17 | 18 | A bit of explanation about this question, if necessary, and perhaps what your hypothesis is for this question. 19 | 20 | \item \textbf{Question \#2} 21 | 22 | Explanation for this question. 23 | 24 | \end{enumerate} 25 | 26 | \subsubsection{Expected Outcomes} 27 | What things do you anticipate coming from this chapter? -------------------------------------------------------------------------------- /Proposal Template - Public/sections/4.2-objective2.tex: -------------------------------------------------------------------------------- 1 | \subsection{Objective 2: Heading for this chapter} 2 | \label{objective2} 3 | A brief bit of introduction to this chapter (1-2 paragraphs) 4 | 5 | \subsubsection{Research Plan} 6 | What methods do you have planned for this chapter? Here you should describe what your concrete plans are for addressing this objective. 7 | 8 | \textsc{Method A ---} You can use subheadings to separate out different things you'll be doing for this chapter. Perhaps your subsections can be "sampling," "data generation," and "analysis" (these are what mine are!). 9 | 10 | \textsc{Method B ---} And here's a second subsection of things that I'll be doing. 11 | 12 | \subsubsection{Specific Questions} 13 | \begin{enumerate} 14 | \item \textbf{Question \#1} 15 | 16 | A bit of explanation about this question, if necessary, and perhaps what your hypothesis is for this question. 17 | 18 | \item \textbf{Question \#2} 19 | 20 | Explanation for this question. 21 | 22 | \end{enumerate} 23 | 24 | \subsubsection{Expected Outcomes} 25 | What things do you anticipate coming from this chapter? -------------------------------------------------------------------------------- /Proposal Template - Public/sections/4.3-objective3.tex: -------------------------------------------------------------------------------- 1 | \subsection{Objective 3: Heading for this chapter} 2 | \label{objective3} 3 | A brief bit of introduction to this chapter (1-2 paragraphs) 4 | 5 | \subsubsection{Research Plan} 6 | What methods do you have planned for this chapter? Here you should describe what your concrete plans are for addressing this objective. 7 | 8 | \textsc{Method A ---} You can use subheadings to separate out different things you'll be doing for this chapter. Perhaps your subsections can be "sampling," "data generation," and "analysis" (these are what mine are!). 9 | 10 | \textsc{Method B ---} And here's a second subsection of things that I'll be doing. 11 | 12 | \subsubsection{Specific Questions} 13 | \begin{enumerate} 14 | \item \textbf{Question \#1} 15 | 16 | A bit of explanation about this question, if necessary, and perhaps what your hypothesis is for this question. 17 | 18 | \item \textbf{Question \#2} 19 | 20 | Explanation for this question. 21 | 22 | \end{enumerate} 23 | 24 | \subsubsection{Expected Outcomes} 25 | What things do you anticipate coming from this chapter? -------------------------------------------------------------------------------- /Proposal Template - Public/sections/5-workinprogress.tex: -------------------------------------------------------------------------------- 1 | \section{Relationship to work in progress} 2 | \subsection{Work by Others} 3 | If there are others (i.e. collaborators) who are working on things relevant to your project, this is a good place to explain their research. 4 | 5 | \subsection{Side projects} 6 | \subsubsection*{Side project \#1} 7 | Information about this project. This is a way of letting your committe know about projects that you're working on that may not directly relate to your planned thesis-- this also serves as a list of possible chapters that you could add in case one of the ones you propose doesn't work out! 8 | 9 | \subsubsection*{Side project \#2} 10 | Information about this project. -------------------------------------------------------------------------------- /Proposal Template - Public/sections/6-goals.tex: -------------------------------------------------------------------------------- 1 | \section{Relationship to long-term goals} 2 | This is a section that you can probably leave out, or include if you feel like you'd like to say something about how your project will get you to where you want to be-- it is often useful for your committee members to know where you want to end up, so that they can help to guide you in that direction (i.e. if you are using genomics as a tool, but aren't particularly interested in the methods, then perhaps they won't focus on asking you detailed questions about the methods). -------------------------------------------------------------------------------- /Proposal Template - Public/sections/7-timeline.tex: -------------------------------------------------------------------------------- 1 | \section{Timeline} 2 | This can be a general explanation of what you are thinking of for a timeline for completing your project. It doesn't need to be too specific, but you should suggest the order of things, or planned fieldwork to collect samples, or timeline for generating genomic data, etc. -------------------------------------------------------------------------------- /Proposal Template - Public/sysbio.bst: -------------------------------------------------------------------------------- 1 | %% 2 | %% This is file `sysbio.bst', 3 | %% generated with the docstrip utility. 4 | %% 5 | %% The original source files were: 6 | %% 7 | %% merlin.mbs (with options: `ay,nat,lang,annote,nm-rev1,jnrlst,keyxyr,dt-beg,yr-per,yrp-per,note-yr,jttl-rm,vnum-x,num-xser,jnm-x,btit-rm,bt-rm,pre-edn,edby-par,edbyy,blk-tit,in-it,ed,abr,ednx,xedn,nfss,') 8 | %% ---------------------------------------- 9 | %% *** Custom made .bst style for Systematic Biology made by the makebst program. *** 10 | %% 11 | %% Copyright 1994-2004 Patrick W Daly 12 | % =============================================================== 13 | % IMPORTANT NOTICE: 14 | % This bibliographic style (bst) file has been generated from one or 15 | % more master bibliographic style (mbs) files, listed above. 16 | % 17 | % This generated file can be redistributed and/or modified under the terms 18 | % of the LaTeX Project Public License Distributed from CTAN 19 | % archives in directory macros/latex/base/lppl.txt; either 20 | % version 1 of the License, or any later version. 21 | % =============================================================== 22 | % Name and version information of the main mbs file: 23 | % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)] 24 | % For use with BibTeX version 0.99a or later 25 | %------------------------------------------------------------------- 26 | % This bibliography style file is intended for texts in ENGLISH 27 | % This is an author-year citation style bibliography. As such, it is 28 | % non-standard LaTeX, and requires a special package file to function properly. 29 | % Such a package is natbib.sty by Patrick W. Daly 30 | % The form of the \bibitem entries is 31 | % \bibitem[Jones et al.(1990)]{key}... 32 | % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... 33 | % The essential feature is that the label (the part in brackets) consists 34 | % of the author names, as they should appear in the citation, with the year 35 | % in parentheses following. There must be no space before the opening 36 | % parenthesis! 37 | % With natbib v5.3, a full list of authors may also follow the year. 38 | % In natbib.sty, it is possible to define the type of enclosures that is 39 | % really wanted (brackets or parentheses), but in either case, there must 40 | % be parentheses in the label. 41 | % The \cite command functions as follows: 42 | % \citet{key} ==>> Jones et al. (1990) 43 | % \citet*{key} ==>> Jones, Baker, and Smith (1990) 44 | % \citep{key} ==>> (Jones et al., 1990) 45 | % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) 46 | % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) 47 | % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) 48 | % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32) 49 | % \citeauthor{key} ==>> Jones et al. 50 | % \citeauthor*{key} ==>> Jones, Baker, and Smith 51 | % \citeyear{key} ==>> 1990 52 | %--------------------------------------------------------------------- 53 | 54 | ENTRY 55 | { address 56 | annote 57 | author 58 | booktitle 59 | chapter 60 | edition 61 | editor 62 | eid 63 | howpublished 64 | institution 65 | journal 66 | key 67 | language 68 | month 69 | note 70 | number 71 | organization 72 | pages 73 | publisher 74 | school 75 | series 76 | title 77 | type 78 | volume 79 | year 80 | } 81 | {} 82 | { label extra.label sort.label short.list } 83 | INTEGERS { output.state before.all mid.sentence after.sentence after.block } 84 | FUNCTION {init.state.consts} 85 | { #0 'before.all := 86 | #1 'mid.sentence := 87 | #2 'after.sentence := 88 | #3 'after.block := 89 | } 90 | STRINGS { s t} 91 | 92 | % -- rdmp mid.sentence outputs space, not comma 93 | FUNCTION {output.nonnull} 94 | { 's := 95 | output.state mid.sentence = 96 | { " " * write$ } 97 | { output.state after.block = 98 | { add.period$ write$ 99 | newline$ 100 | "\newblock " write$ 101 | } 102 | { output.state before.all = 103 | 'write$ 104 | { add.period$ " " * write$ } 105 | if$ 106 | } 107 | if$ 108 | mid.sentence 'output.state := 109 | } 110 | if$ 111 | s 112 | } 113 | FUNCTION {output} 114 | { duplicate$ empty$ 115 | 'pop$ 116 | 'output.nonnull 117 | if$ 118 | } 119 | FUNCTION {output.check} 120 | { 't := 121 | duplicate$ empty$ 122 | { pop$ "empty " t * " in " * cite$ * warning$ } 123 | 'output.nonnull 124 | if$ 125 | } 126 | FUNCTION {fin.entry} 127 | { add.period$ 128 | write$ 129 | newline$ 130 | annote missing$ 131 | { "\bibAnnoteFile{" cite$ * "}" * write$ newline$ } 132 | { "\bibAnnote{" cite$ * "}{" * annote * "}" * write$ newline$ 133 | } 134 | if$ 135 | } 136 | 137 | FUNCTION {new.block} 138 | { output.state before.all = 139 | 'skip$ 140 | { after.block 'output.state := } 141 | if$ 142 | } 143 | FUNCTION {new.sentence} 144 | { output.state after.block = 145 | 'skip$ 146 | { output.state before.all = 147 | 'skip$ 148 | { after.sentence 'output.state := } 149 | if$ 150 | } 151 | if$ 152 | } 153 | FUNCTION {add.blank} 154 | { " " * before.all 'output.state := 155 | } 156 | 157 | FUNCTION {date.block} 158 | { 159 | new.sentence 160 | } 161 | 162 | FUNCTION {not} 163 | { { #0 } 164 | { #1 } 165 | if$ 166 | } 167 | FUNCTION {and} 168 | { 'skip$ 169 | { pop$ #0 } 170 | if$ 171 | } 172 | FUNCTION {or} 173 | { { pop$ #1 } 174 | 'skip$ 175 | if$ 176 | } 177 | FUNCTION {new.block.checkb} 178 | { empty$ 179 | swap$ empty$ 180 | and 181 | 'skip$ 182 | 'new.block 183 | if$ 184 | } 185 | FUNCTION {field.or.null} 186 | { duplicate$ empty$ 187 | { pop$ "" } 188 | 'skip$ 189 | if$ 190 | } 191 | FUNCTION {emphasize} 192 | { duplicate$ empty$ 193 | { pop$ "" } 194 | { "\emph{" swap$ * "}" * } 195 | if$ 196 | } 197 | FUNCTION {tie.or.space.prefix} 198 | { duplicate$ text.length$ #3 < 199 | { "~" } 200 | { " " } 201 | if$ 202 | swap$ 203 | } 204 | 205 | FUNCTION {capitalize} 206 | { "u" change.case$ "t" change.case$ } 207 | 208 | FUNCTION {space.word} 209 | { " " swap$ * " " * } 210 | % Here are the language-specific definitions for explicit words. 211 | % Each function has a name bbl.xxx where xxx is the English word. 212 | % The language selected here is ENGLISH 213 | FUNCTION {bbl.and} 214 | { "and"} 215 | 216 | FUNCTION {bbl.etal} 217 | { "et~al." } 218 | 219 | FUNCTION {bbl.editors} 220 | { "eds." } 221 | 222 | FUNCTION {bbl.editor} 223 | { "ed." } 224 | 225 | FUNCTION {bbl.edby} 226 | { "edited by" } 227 | 228 | FUNCTION {bbl.edition} 229 | { "ed." } 230 | 231 | FUNCTION {bbl.volume} 232 | { "vol." } 233 | 234 | FUNCTION {bbl.of} 235 | { "of" } 236 | 237 | FUNCTION {bbl.number} 238 | { "no." } 239 | 240 | FUNCTION {bbl.nr} 241 | { "no." } 242 | 243 | FUNCTION {bbl.in} 244 | { "in" } 245 | 246 | FUNCTION {bbl.pages} 247 | { "pages" } 248 | 249 | FUNCTION {bbl.page} 250 | { "page" } 251 | 252 | FUNCTION {bbl.chapter} 253 | { "chap." } 254 | 255 | FUNCTION {bbl.techrep} 256 | { "Tech. Rep." } 257 | 258 | FUNCTION {bbl.mthesis} 259 | { "Master's thesis" } 260 | 261 | FUNCTION {bbl.phdthesis} 262 | { "Ph.D. thesis" } 263 | 264 | MACRO {jan} {"Jan."} 265 | 266 | MACRO {feb} {"Feb."} 267 | 268 | MACRO {mar} {"Mar."} 269 | 270 | MACRO {apr} {"Apr."} 271 | 272 | MACRO {may} {"May"} 273 | 274 | MACRO {jun} {"Jun."} 275 | 276 | MACRO {jul} {"Jul."} 277 | 278 | MACRO {aug} {"Aug."} 279 | 280 | MACRO {sep} {"Sep."} 281 | 282 | MACRO {oct} {"Oct."} 283 | 284 | MACRO {nov} {"Nov."} 285 | 286 | MACRO {dec} {"Dec."} 287 | 288 | MACRO {acmcs} {"ACM Computing Surveys"} 289 | 290 | MACRO {acta} {"Acta Informatica"} 291 | 292 | MACRO {cacm} {"Communications of the ACM"} 293 | 294 | MACRO {ibmjrd} {"IBM Journal of Research and Development"} 295 | 296 | MACRO {ibmsj} {"IBM Systems Journal"} 297 | 298 | MACRO {ieeese} {"IEEE Transactions on Software Engineering"} 299 | 300 | MACRO {ieeetc} {"IEEE Transactions on Computers"} 301 | 302 | MACRO {ieeetcad} 303 | {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} 304 | 305 | MACRO {ipl} {"Information Processing Letters"} 306 | 307 | MACRO {jacm} {"Journal of the ACM"} 308 | 309 | MACRO {jcss} {"Journal of Computer and System Sciences"} 310 | 311 | MACRO {scp} {"Science of Computer Programming"} 312 | 313 | MACRO {sicomp} {"SIAM Journal on Computing"} 314 | 315 | MACRO {tocs} {"ACM Transactions on Computer Systems"} 316 | 317 | MACRO {tods} {"ACM Transactions on Database Systems"} 318 | 319 | MACRO {tog} {"ACM Transactions on Graphics"} 320 | 321 | MACRO {toms} {"ACM Transactions on Mathematical Software"} 322 | 323 | MACRO {toois} {"ACM Transactions on Office Information Systems"} 324 | 325 | MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} 326 | 327 | MACRO {tcs} {"Theoretical Computer Science"} 328 | FUNCTION {bibinfo.check} 329 | { swap$ 330 | duplicate$ missing$ 331 | { 332 | pop$ pop$ 333 | "" 334 | } 335 | { duplicate$ empty$ 336 | { 337 | swap$ pop$ 338 | } 339 | { swap$ 340 | pop$ 341 | } 342 | if$ 343 | } 344 | if$ 345 | } 346 | FUNCTION {bibinfo.warn} 347 | { swap$ 348 | duplicate$ missing$ 349 | { 350 | swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ 351 | "" 352 | } 353 | { duplicate$ empty$ 354 | { 355 | swap$ "empty " swap$ * " in " * cite$ * warning$ 356 | } 357 | { swap$ 358 | pop$ 359 | } 360 | if$ 361 | } 362 | if$ 363 | } 364 | STRINGS { bibinfo} 365 | INTEGERS { nameptr namesleft numnames } 366 | 367 | FUNCTION {format.names} 368 | { 'bibinfo := 369 | duplicate$ empty$ 'skip$ { 370 | 's := 371 | "" 't := 372 | #1 'nameptr := 373 | s num.names$ 'numnames := 374 | numnames 'namesleft := 375 | { namesleft #0 > } 376 | { s nameptr 377 | duplicate$ #1 > 378 | { "{f.~}{vv~}{ll}{, jj}" } 379 | { "{vv~}{ll}{, f.}{, jj}" } 380 | if$ 381 | format.name$ 382 | bibinfo bibinfo.check 383 | 't := 384 | nameptr #1 > 385 | { 386 | namesleft #1 > 387 | { ", " * t * } 388 | { 389 | numnames #2 > 390 | { "," * } 391 | 'skip$ 392 | if$ 393 | s nameptr "{ll}" format.name$ duplicate$ "others" = 394 | { 't := } 395 | { pop$ } 396 | if$ 397 | t "others" = 398 | { 399 | " " * bbl.etal * 400 | } 401 | { 402 | bbl.and 403 | space.word * t * 404 | } 405 | if$ 406 | } 407 | if$ 408 | } 409 | 't 410 | if$ 411 | nameptr #1 + 'nameptr := 412 | namesleft #1 - 'namesleft := 413 | } 414 | while$ 415 | } if$ 416 | } 417 | FUNCTION {format.names.ed} 418 | { 419 | 'bibinfo := 420 | duplicate$ empty$ 'skip$ { 421 | 's := 422 | "" 't := 423 | #1 'nameptr := 424 | s num.names$ 'numnames := 425 | numnames 'namesleft := 426 | { namesleft #0 > } 427 | { s nameptr 428 | "{f.~}{vv~}{ll}{, jj}" 429 | format.name$ 430 | bibinfo bibinfo.check 431 | 't := 432 | nameptr #1 > 433 | { 434 | namesleft #1 > 435 | { ", " * t * } 436 | { 437 | numnames #2 > 438 | { "," * } 439 | 'skip$ 440 | if$ 441 | s nameptr "{ll}" format.name$ duplicate$ "others" = 442 | { 't := } 443 | { pop$ } 444 | if$ 445 | t "others" = 446 | { 447 | 448 | " " * bbl.etal * 449 | } 450 | { 451 | bbl.and 452 | space.word * t * 453 | } 454 | if$ 455 | } 456 | if$ 457 | } 458 | 't 459 | if$ 460 | nameptr #1 + 'nameptr := 461 | namesleft #1 - 'namesleft := 462 | } 463 | while$ 464 | } if$ 465 | } 466 | FUNCTION {format.key} 467 | { empty$ 468 | { key field.or.null } 469 | { "" } 470 | if$ 471 | } 472 | 473 | FUNCTION {format.authors} 474 | { author "author" format.names 475 | } 476 | FUNCTION {get.bbl.editor} 477 | { editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } 478 | 479 | FUNCTION {format.editors} 480 | { editor "editor" format.names duplicate$ empty$ 'skip$ 481 | { 482 | "," * 483 | " " * 484 | get.bbl.editor 485 | * 486 | } 487 | if$ 488 | } 489 | FUNCTION {select.language} 490 | { duplicate$ empty$ 491 | 'pop$ 492 | { language empty$ 493 | 'skip$ 494 | { "{\selectlanguage{" language * "}" * swap$ * "}" * } 495 | if$ 496 | } 497 | if$ 498 | } 499 | 500 | FUNCTION {format.note} 501 | { 502 | note empty$ 503 | { "" } 504 | { note #1 #1 substring$ 505 | duplicate$ "{" = 506 | 'skip$ 507 | { output.state mid.sentence = 508 | { "l" } 509 | { "u" } 510 | if$ 511 | change.case$ 512 | } 513 | if$ 514 | note #2 global.max$ substring$ * "note" bibinfo.check 515 | } 516 | if$ 517 | } 518 | 519 | FUNCTION {format.title} 520 | { title 521 | duplicate$ empty$ 'skip$ 522 | { "t" change.case$ } 523 | if$ 524 | "title" bibinfo.check 525 | duplicate$ empty$ 'skip$ 526 | { 527 | select.language 528 | } 529 | if$ 530 | } 531 | FUNCTION {format.full.names} 532 | {'s := 533 | "" 't := 534 | #1 'nameptr := 535 | s num.names$ 'numnames := 536 | numnames 'namesleft := 537 | { namesleft #0 > } 538 | { s nameptr 539 | "{vv~}{ll}" format.name$ 540 | 't := 541 | nameptr #1 > 542 | { 543 | namesleft #1 > 544 | { ", " * t * } 545 | { 546 | s nameptr "{ll}" format.name$ duplicate$ "others" = 547 | { 't := } 548 | { pop$ } 549 | if$ 550 | t "others" = 551 | { 552 | " " * bbl.etal * 553 | } 554 | { 555 | numnames #2 > 556 | { "," * } 557 | 'skip$ 558 | if$ 559 | bbl.and 560 | space.word * t * 561 | } 562 | if$ 563 | } 564 | if$ 565 | } 566 | 't 567 | if$ 568 | nameptr #1 + 'nameptr := 569 | namesleft #1 - 'namesleft := 570 | } 571 | while$ 572 | } 573 | 574 | FUNCTION {author.editor.key.full} 575 | { author empty$ 576 | { editor empty$ 577 | { key empty$ 578 | { cite$ #1 #3 substring$ } 579 | 'key 580 | if$ 581 | } 582 | { editor format.full.names } 583 | if$ 584 | } 585 | { author format.full.names } 586 | if$ 587 | } 588 | 589 | FUNCTION {author.key.full} 590 | { author empty$ 591 | { key empty$ 592 | { cite$ #1 #3 substring$ } 593 | 'key 594 | if$ 595 | } 596 | { author format.full.names } 597 | if$ 598 | } 599 | 600 | FUNCTION {editor.key.full} 601 | { editor empty$ 602 | { key empty$ 603 | { cite$ #1 #3 substring$ } 604 | 'key 605 | if$ 606 | } 607 | { editor format.full.names } 608 | if$ 609 | } 610 | 611 | FUNCTION {make.full.names} 612 | { type$ "book" = 613 | type$ "inbook" = 614 | or 615 | 'author.editor.key.full 616 | { type$ "proceedings" = 617 | 'editor.key.full 618 | 'author.key.full 619 | if$ 620 | } 621 | if$ 622 | } 623 | 624 | FUNCTION {output.bibitem} 625 | { newline$ 626 | "\bibitem[{" write$ 627 | label write$ 628 | ")" make.full.names duplicate$ short.list = 629 | { pop$ } 630 | { * } 631 | if$ 632 | "}]{" * write$ 633 | cite$ write$ 634 | "}" write$ 635 | newline$ 636 | "" 637 | before.all 'output.state := 638 | } 639 | 640 | FUNCTION {n.dashify} 641 | { 642 | 't := 643 | "" 644 | { t empty$ not } 645 | { t #1 #1 substring$ "-" = 646 | { t #1 #2 substring$ "--" = not 647 | { "--" * 648 | t #2 global.max$ substring$ 't := 649 | } 650 | { { t #1 #1 substring$ "-" = } 651 | { "-" * 652 | t #2 global.max$ substring$ 't := 653 | } 654 | while$ 655 | } 656 | if$ 657 | } 658 | { t #1 #1 substring$ * 659 | t #2 global.max$ substring$ 't := 660 | } 661 | if$ 662 | } 663 | while$ 664 | } 665 | 666 | % -- rdmp 667 | FUNCTION {word.in} 668 | { bbl.in 669 | emphasize 670 | " " * } 671 | 672 | 673 | %FUNCTION {word.in} 674 | %{ bbl.in capitalize 675 | % emphasize 676 | % " " * } 677 | 678 | FUNCTION {format.date} 679 | { year "year" bibinfo.check duplicate$ empty$ 680 | { 681 | "empty year in " cite$ * "; set to ????" * warning$ 682 | pop$ "????" 683 | } 684 | 'skip$ 685 | if$ 686 | extra.label * 687 | before.all 'output.state := 688 | after.sentence 'output.state := 689 | } 690 | FUNCTION {format.btitle} 691 | { title "title" bibinfo.check 692 | duplicate$ empty$ 'skip$ 693 | { 694 | select.language 695 | } 696 | if$ 697 | } 698 | FUNCTION {either.or.check} 699 | { empty$ 700 | 'pop$ 701 | { "can't use both " swap$ * " fields in " * cite$ * warning$ } 702 | if$ 703 | } 704 | FUNCTION {format.bvolume} 705 | { volume empty$ 706 | { "" } 707 | { bbl.volume volume tie.or.space.prefix 708 | "volume" bibinfo.check * * 709 | series "series" bibinfo.check 710 | duplicate$ empty$ 'pop$ 711 | { swap$ bbl.of space.word * swap$ 712 | emphasize * } 713 | if$ 714 | "volume and number" number either.or.check 715 | } 716 | if$ 717 | } 718 | FUNCTION {format.number.series} 719 | { volume empty$ 720 | { number empty$ 721 | { series field.or.null } 722 | { series empty$ 723 | { number "number" bibinfo.check } 724 | { output.state mid.sentence = 725 | { bbl.number } 726 | { bbl.number capitalize } 727 | if$ 728 | number tie.or.space.prefix "number" bibinfo.check * * 729 | bbl.in space.word * 730 | series "series" bibinfo.check * 731 | } 732 | if$ 733 | } 734 | if$ 735 | } 736 | { "" } 737 | if$ 738 | } 739 | 740 | FUNCTION {format.edition} 741 | { edition duplicate$ empty$ 'skip$ 742 | { 743 | output.state mid.sentence = 744 | { "l" } 745 | { "t" } 746 | if$ change.case$ 747 | "edition" bibinfo.check 748 | " " * bbl.edition * 749 | } 750 | if$ 751 | } 752 | INTEGERS { multiresult } 753 | FUNCTION {multi.page.check} 754 | { 't := 755 | #0 'multiresult := 756 | { multiresult not 757 | t empty$ not 758 | and 759 | } 760 | { t #1 #1 substring$ 761 | duplicate$ "-" = 762 | swap$ duplicate$ "," = 763 | swap$ "+" = 764 | or or 765 | { #1 'multiresult := } 766 | { t #2 global.max$ substring$ 't := } 767 | if$ 768 | } 769 | while$ 770 | multiresult 771 | } 772 | 773 | 774 | %-- rdmp spell out Pages 775 | FUNCTION {format.pages} 776 | { pages empty$ 777 | { "" } 778 | { pages multi.page.check 779 | { "Pages~" pages n.dashify * } 780 | { "Page~" pages * } 781 | if$ 782 | } 783 | if$ 784 | } 785 | 786 | 787 | %FUNCTION {format.pages} 788 | %{ pages duplicate$ empty$ 'skip$ 789 | % { duplicate$ multi.page.check 790 | % { 791 | % bbl.pages swap$ 792 | % n.dashify 793 | % } 794 | % { 795 | % bbl.page swap$ 796 | % } 797 | % if$ 798 | % tie.or.space.prefix 799 | % "pages" bibinfo.check 800 | % * * 801 | % } 802 | % if$ 803 | %} 804 | 805 | 806 | FUNCTION {format.journal.pages} 807 | { pages duplicate$ empty$ 'pop$ 808 | { swap$ duplicate$ empty$ 809 | { pop$ pop$ format.pages } 810 | { 811 | ":" * 812 | swap$ 813 | n.dashify 814 | "pages" bibinfo.check 815 | * 816 | } 817 | if$ 818 | } 819 | if$ 820 | } 821 | FUNCTION {format.journal.eid} 822 | { eid "eid" bibinfo.check 823 | duplicate$ empty$ 'pop$ 824 | { swap$ duplicate$ empty$ 'skip$ 825 | { 826 | ":" * 827 | } 828 | if$ 829 | swap$ * 830 | } 831 | if$ 832 | } 833 | FUNCTION {format.vol.num.pages} 834 | { volume field.or.null 835 | duplicate$ empty$ 'skip$ 836 | { 837 | "volume" bibinfo.check 838 | } 839 | if$ 840 | eid empty$ 841 | { format.journal.pages } 842 | { format.journal.eid } 843 | if$ 844 | } 845 | 846 | FUNCTION {format.chapter.pages} 847 | { chapter empty$ 848 | 'format.pages 849 | { type empty$ 850 | { bbl.chapter } 851 | { type "l" change.case$ 852 | "type" bibinfo.check 853 | } 854 | if$ 855 | chapter tie.or.space.prefix 856 | "chapter" bibinfo.check 857 | * * 858 | pages empty$ 859 | 'skip$ 860 | { ", " * format.pages * } 861 | if$ 862 | } 863 | if$ 864 | } 865 | 866 | FUNCTION {format.booktitle} 867 | { 868 | booktitle "booktitle" bibinfo.check 869 | } 870 | 871 | FUNCTION {format.in.ed.booktitle} 872 | { format.booktitle duplicate$ empty$ 'skip$ 873 | { 874 | editor "editor" format.names.ed duplicate$ empty$ 'pop$ 875 | { 876 | get.bbl.editor 877 | swap$ "," * 878 | " " * swap$ * 879 | "(" swap$ * ")" * 880 | swap$ 881 | " " * swap$ 882 | * } 883 | if$ 884 | word.in swap$ * 885 | } 886 | if$ 887 | } 888 | 889 | 890 | FUNCTION {format.thesis.type} 891 | { type duplicate$ empty$ 892 | 'pop$ 893 | { swap$ pop$ 894 | "t" change.case$ "type" bibinfo.check 895 | } 896 | if$ 897 | } 898 | FUNCTION {format.tr.number} 899 | { number "number" bibinfo.check 900 | type duplicate$ empty$ 901 | { pop$ bbl.techrep } 902 | 'skip$ 903 | if$ 904 | "type" bibinfo.check 905 | swap$ duplicate$ empty$ 906 | { pop$ "t" change.case$ } 907 | { tie.or.space.prefix * * } 908 | if$ 909 | } 910 | FUNCTION {format.article.crossref} 911 | { 912 | word.in 913 | " \cite{" * crossref * "}" * 914 | } 915 | FUNCTION {format.book.crossref} 916 | { volume duplicate$ empty$ 917 | { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ 918 | pop$ word.in 919 | } 920 | { bbl.volume 921 | capitalize 922 | swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * 923 | } 924 | if$ 925 | " \cite{" * crossref * "}" * 926 | } 927 | FUNCTION {format.incoll.inproc.crossref} 928 | { 929 | word.in 930 | " \cite{" * crossref * "}" * 931 | } 932 | FUNCTION {format.org.or.pub} 933 | { 't := 934 | "" 935 | address empty$ t empty$ and 936 | 'skip$ 937 | { 938 | t empty$ 939 | { address "address" bibinfo.check * 940 | } 941 | { t * 942 | address empty$ 943 | 'skip$ 944 | { ", " * address "address" bibinfo.check * } 945 | if$ 946 | } 947 | if$ 948 | } 949 | if$ 950 | } 951 | FUNCTION {format.publisher.address} 952 | { publisher "publisher" bibinfo.warn format.org.or.pub 953 | } 954 | 955 | FUNCTION {format.organization.address} 956 | { organization "organization" bibinfo.check format.org.or.pub 957 | } 958 | 959 | FUNCTION {article} 960 | { output.bibitem 961 | format.authors "author" output.check 962 | author format.key output 963 | format.date "year" output.check 964 | date.block 965 | format.title "title" output.check 966 | new.sentence 967 | crossref missing$ 968 | { 969 | journal 970 | "journal" bibinfo.check 971 | "journal" output.check 972 | add.blank 973 | format.vol.num.pages output 974 | } 975 | { format.article.crossref output.nonnull 976 | format.pages output 977 | } 978 | if$ 979 | format.note output 980 | fin.entry 981 | } 982 | FUNCTION {book} 983 | { output.bibitem 984 | author empty$ 985 | { format.editors "author and editor" output.check 986 | editor format.key output 987 | } 988 | { format.authors output.nonnull 989 | crossref missing$ 990 | { "author and editor" editor either.or.check } 991 | 'skip$ 992 | if$ 993 | } 994 | if$ 995 | format.date "year" output.check 996 | date.block 997 | format.btitle "title" output.check 998 | crossref missing$ 999 | { format.bvolume output 1000 | new.sentence 1001 | format.number.series output 1002 | format.edition output 1003 | format.publisher.address output 1004 | } 1005 | { 1006 | new.sentence 1007 | format.book.crossref output.nonnull 1008 | } 1009 | if$ 1010 | format.note output 1011 | fin.entry 1012 | } 1013 | FUNCTION {booklet} 1014 | { output.bibitem 1015 | format.authors output 1016 | author format.key output 1017 | format.date "year" output.check 1018 | date.block 1019 | format.title "title" output.check 1020 | new.sentence 1021 | howpublished "howpublished" bibinfo.check output 1022 | address "address" bibinfo.check output 1023 | format.note output 1024 | fin.entry 1025 | } 1026 | 1027 | FUNCTION {inbook} 1028 | { output.bibitem 1029 | author empty$ 1030 | { format.editors "author and editor" output.check 1031 | editor format.key output 1032 | } 1033 | { format.authors output.nonnull 1034 | crossref missing$ 1035 | { "author and editor" editor either.or.check } 1036 | 'skip$ 1037 | if$ 1038 | } 1039 | if$ 1040 | format.date "year" output.check 1041 | date.block 1042 | format.btitle "title" output.check 1043 | crossref missing$ 1044 | { 1045 | format.bvolume output 1046 | format.chapter.pages "chapter and pages" output.check 1047 | new.sentence 1048 | format.number.series output 1049 | format.edition output 1050 | format.publisher.address output 1051 | } 1052 | { 1053 | format.chapter.pages "chapter and pages" output.check 1054 | new.sentence 1055 | format.book.crossref output.nonnull 1056 | } 1057 | if$ 1058 | format.note output 1059 | fin.entry 1060 | } 1061 | 1062 | % -- rdmp Moved pages 1063 | FUNCTION {incollection} 1064 | { output.bibitem 1065 | format.authors "author" output.check 1066 | author format.key output 1067 | format.date "year" output.check 1068 | date.block 1069 | format.title "title" output.check 1070 | new.sentence 1071 | crossref missing$ 1072 | { format.chapter.pages output 1073 | format.in.ed.booktitle "booktitle" output.check 1074 | format.bvolume output 1075 | format.number.series output 1076 | format.edition output 1077 | new.sentence 1078 | format.publisher.address output 1079 | } 1080 | { format.incoll.inproc.crossref output.nonnull 1081 | format.chapter.pages output 1082 | } 1083 | if$ 1084 | format.note output 1085 | fin.entry 1086 | } 1087 | 1088 | 1089 | % -- rdmp Moved pages 1090 | FUNCTION {inproceedings} 1091 | { output.bibitem 1092 | format.authors "author" output.check 1093 | author format.key output 1094 | format.date "year" output.check 1095 | date.block 1096 | format.title "title" output.check 1097 | new.sentence 1098 | crossref missing$ 1099 | { format.chapter.pages output 1100 | format.in.ed.booktitle "booktitle" output.check 1101 | format.bvolume output 1102 | format.number.series output 1103 | publisher empty$ 1104 | { format.organization.address output } 1105 | { organization "organization" bibinfo.check output 1106 | format.publisher.address output 1107 | } 1108 | if$ 1109 | } 1110 | { format.incoll.inproc.crossref output.nonnull 1111 | format.pages output 1112 | } 1113 | if$ 1114 | format.note output 1115 | fin.entry 1116 | } 1117 | FUNCTION {conference} { inproceedings } 1118 | FUNCTION {manual} 1119 | { output.bibitem 1120 | format.authors output 1121 | author format.key output 1122 | format.date "year" output.check 1123 | date.block 1124 | format.btitle "title" output.check 1125 | new.sentence 1126 | organization "organization" bibinfo.check output 1127 | address "address" bibinfo.check output 1128 | format.edition output 1129 | format.note output 1130 | fin.entry 1131 | } 1132 | 1133 | FUNCTION {mastersthesis} 1134 | { output.bibitem 1135 | format.authors "author" output.check 1136 | author format.key output 1137 | format.date "year" output.check 1138 | date.block 1139 | format.btitle 1140 | "title" output.check 1141 | new.sentence 1142 | bbl.mthesis format.thesis.type output.nonnull 1143 | school "school" bibinfo.warn output 1144 | address "address" bibinfo.check output 1145 | format.note output 1146 | fin.entry 1147 | } 1148 | 1149 | FUNCTION {misc} 1150 | { output.bibitem 1151 | format.authors output 1152 | author format.key output 1153 | format.date "year" output.check 1154 | date.block 1155 | format.title output 1156 | new.sentence 1157 | howpublished "howpublished" bibinfo.check output 1158 | format.note output 1159 | fin.entry 1160 | } 1161 | FUNCTION {phdthesis} 1162 | { output.bibitem 1163 | format.authors "author" output.check 1164 | author format.key output 1165 | format.date "year" output.check 1166 | date.block 1167 | format.btitle 1168 | "title" output.check 1169 | new.sentence 1170 | bbl.phdthesis format.thesis.type output.nonnull 1171 | school "school" bibinfo.warn output 1172 | address "address" bibinfo.check output 1173 | format.note output 1174 | fin.entry 1175 | } 1176 | 1177 | FUNCTION {proceedings} 1178 | { output.bibitem 1179 | format.editors output 1180 | editor format.key output 1181 | format.date "year" output.check 1182 | date.block 1183 | format.btitle "title" output.check 1184 | format.bvolume output 1185 | format.number.series output 1186 | publisher empty$ 1187 | { format.organization.address output } 1188 | { organization "organization" bibinfo.check output 1189 | format.publisher.address output 1190 | } 1191 | if$ 1192 | format.note output 1193 | fin.entry 1194 | } 1195 | 1196 | FUNCTION {techreport} 1197 | { output.bibitem 1198 | format.authors "author" output.check 1199 | author format.key output 1200 | format.date "year" output.check 1201 | date.block 1202 | format.title 1203 | "title" output.check 1204 | new.sentence 1205 | format.tr.number output.nonnull 1206 | institution "institution" bibinfo.warn output 1207 | address "address" bibinfo.check output 1208 | format.note output 1209 | fin.entry 1210 | } 1211 | 1212 | FUNCTION {unpublished} 1213 | { output.bibitem 1214 | format.authors "author" output.check 1215 | author format.key output 1216 | format.date "year" output.check 1217 | date.block 1218 | format.title "title" output.check 1219 | format.note "note" output.check 1220 | fin.entry 1221 | } 1222 | 1223 | FUNCTION {default.type} { misc } 1224 | READ 1225 | FUNCTION {sortify} 1226 | { purify$ 1227 | "l" change.case$ 1228 | } 1229 | INTEGERS { len } 1230 | FUNCTION {chop.word} 1231 | { 's := 1232 | 'len := 1233 | s #1 len substring$ = 1234 | { s len #1 + global.max$ substring$ } 1235 | 's 1236 | if$ 1237 | } 1238 | FUNCTION {format.lab.names} 1239 | { 's := 1240 | "" 't := 1241 | s #1 "{vv~}{ll}" format.name$ 1242 | s num.names$ duplicate$ 1243 | #2 > 1244 | { pop$ 1245 | " " * bbl.etal * 1246 | } 1247 | { #2 < 1248 | 'skip$ 1249 | { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = 1250 | { 1251 | " " * bbl.etal * 1252 | } 1253 | { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ 1254 | * } 1255 | if$ 1256 | } 1257 | if$ 1258 | } 1259 | if$ 1260 | } 1261 | 1262 | FUNCTION {author.key.label} 1263 | { author empty$ 1264 | { key empty$ 1265 | { cite$ #1 #3 substring$ } 1266 | 'key 1267 | if$ 1268 | } 1269 | { author format.lab.names } 1270 | if$ 1271 | } 1272 | 1273 | FUNCTION {author.editor.key.label} 1274 | { author empty$ 1275 | { editor empty$ 1276 | { key empty$ 1277 | { cite$ #1 #3 substring$ } 1278 | 'key 1279 | if$ 1280 | } 1281 | { editor format.lab.names } 1282 | if$ 1283 | } 1284 | { author format.lab.names } 1285 | if$ 1286 | } 1287 | 1288 | FUNCTION {editor.key.label} 1289 | { editor empty$ 1290 | { key empty$ 1291 | { cite$ #1 #3 substring$ } 1292 | 'key 1293 | if$ 1294 | } 1295 | { editor format.lab.names } 1296 | if$ 1297 | } 1298 | 1299 | FUNCTION {calc.short.authors} 1300 | { type$ "book" = 1301 | type$ "inbook" = 1302 | or 1303 | 'author.editor.key.label 1304 | { type$ "proceedings" = 1305 | 'editor.key.label 1306 | 'author.key.label 1307 | if$ 1308 | } 1309 | if$ 1310 | 'short.list := 1311 | } 1312 | 1313 | FUNCTION {calc.label} 1314 | { calc.short.authors 1315 | short.list 1316 | "(" 1317 | * 1318 | year duplicate$ empty$ 1319 | short.list key field.or.null = or 1320 | { pop$ "" } 1321 | 'skip$ 1322 | if$ 1323 | * 1324 | 'label := 1325 | } 1326 | 1327 | FUNCTION {sort.format.names} 1328 | { 's := 1329 | #1 'nameptr := 1330 | "" 1331 | s num.names$ 'numnames := 1332 | numnames 'namesleft := 1333 | { namesleft #0 > } 1334 | { s nameptr 1335 | "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" 1336 | format.name$ 't := 1337 | nameptr #1 > 1338 | { 1339 | " " * 1340 | namesleft #1 = t "others" = and 1341 | { "zzzzz" * } 1342 | { t sortify * } 1343 | if$ 1344 | } 1345 | { t sortify * } 1346 | if$ 1347 | nameptr #1 + 'nameptr := 1348 | namesleft #1 - 'namesleft := 1349 | } 1350 | while$ 1351 | } 1352 | 1353 | FUNCTION {sort.format.title} 1354 | { 't := 1355 | "A " #2 1356 | "An " #3 1357 | "The " #4 t chop.word 1358 | chop.word 1359 | chop.word 1360 | sortify 1361 | #1 global.max$ substring$ 1362 | } 1363 | FUNCTION {author.sort} 1364 | { author empty$ 1365 | { key empty$ 1366 | { "to sort, need author or key in " cite$ * warning$ 1367 | "" 1368 | } 1369 | { key sortify } 1370 | if$ 1371 | } 1372 | { author sort.format.names } 1373 | if$ 1374 | } 1375 | FUNCTION {author.editor.sort} 1376 | { author empty$ 1377 | { editor empty$ 1378 | { key empty$ 1379 | { "to sort, need author, editor, or key in " cite$ * warning$ 1380 | "" 1381 | } 1382 | { key sortify } 1383 | if$ 1384 | } 1385 | { editor sort.format.names } 1386 | if$ 1387 | } 1388 | { author sort.format.names } 1389 | if$ 1390 | } 1391 | FUNCTION {editor.sort} 1392 | { editor empty$ 1393 | { key empty$ 1394 | { "to sort, need editor or key in " cite$ * warning$ 1395 | "" 1396 | } 1397 | { key sortify } 1398 | if$ 1399 | } 1400 | { editor sort.format.names } 1401 | if$ 1402 | } 1403 | FUNCTION {presort} 1404 | { calc.label 1405 | label sortify 1406 | " " 1407 | * 1408 | type$ "book" = 1409 | type$ "inbook" = 1410 | or 1411 | 'author.editor.sort 1412 | { type$ "proceedings" = 1413 | 'editor.sort 1414 | 'author.sort 1415 | if$ 1416 | } 1417 | if$ 1418 | #1 entry.max$ substring$ 1419 | 'sort.label := 1420 | sort.label 1421 | * 1422 | " " 1423 | * 1424 | title field.or.null 1425 | sort.format.title 1426 | * 1427 | #1 entry.max$ substring$ 1428 | 'sort.key$ := 1429 | } 1430 | 1431 | ITERATE {presort} 1432 | SORT 1433 | STRINGS { last.label next.extra } 1434 | INTEGERS { last.extra.num number.label } 1435 | FUNCTION {initialize.extra.label.stuff} 1436 | { #0 int.to.chr$ 'last.label := 1437 | "" 'next.extra := 1438 | #0 'last.extra.num := 1439 | #0 'number.label := 1440 | } 1441 | FUNCTION {forward.pass} 1442 | { last.label label = 1443 | { last.extra.num #1 + 'last.extra.num := 1444 | last.extra.num int.to.chr$ 'extra.label := 1445 | } 1446 | { "a" chr.to.int$ 'last.extra.num := 1447 | "" 'extra.label := 1448 | label 'last.label := 1449 | } 1450 | if$ 1451 | number.label #1 + 'number.label := 1452 | } 1453 | FUNCTION {reverse.pass} 1454 | { next.extra "b" = 1455 | { "a" 'extra.label := } 1456 | 'skip$ 1457 | if$ 1458 | extra.label 'next.extra := 1459 | extra.label 1460 | duplicate$ empty$ 1461 | 'skip$ 1462 | { "{\natexlab{" swap$ * "}}" * } 1463 | if$ 1464 | 'extra.label := 1465 | label extra.label * 'label := 1466 | } 1467 | EXECUTE {initialize.extra.label.stuff} 1468 | ITERATE {forward.pass} 1469 | REVERSE {reverse.pass} 1470 | FUNCTION {bib.sort.order} 1471 | { sort.label 1472 | " " 1473 | * 1474 | year field.or.null sortify 1475 | * 1476 | " " 1477 | * 1478 | title field.or.null 1479 | sort.format.title 1480 | * 1481 | #1 entry.max$ substring$ 1482 | 'sort.key$ := 1483 | } 1484 | ITERATE {bib.sort.order} 1485 | SORT 1486 | FUNCTION {begin.bib} 1487 | { preamble$ empty$ 1488 | 'skip$ 1489 | { preamble$ write$ newline$ } 1490 | if$ 1491 | "\begin{thebibliography}{" number.label int.to.str$ * "}" * 1492 | write$ newline$ 1493 | "\providecommand{\natexlab}[1]{#1}" 1494 | write$ newline$ 1495 | "\providecommand{\selectlanguage}[1]{\relax}" 1496 | write$ newline$ 1497 | "\providecommand{\bibAnnoteFile}[1]{%" 1498 | write$ newline$ 1499 | " \IfFileExists{#1}{\begin{quotation}\noindent\textsc{Key:} #1\\" 1500 | write$ newline$ 1501 | " \textsc{Annotation:}\ \input{#1}\end{quotation}}{}}" 1502 | write$ newline$ 1503 | "\providecommand{\bibAnnote}[2]{%" 1504 | write$ newline$ 1505 | " \begin{quotation}\noindent\textsc{Key:} #1\\" 1506 | write$ newline$ 1507 | " \textsc{Annotation:}\ #2\end{quotation}}" 1508 | write$ newline$ 1509 | } 1510 | EXECUTE {begin.bib} 1511 | EXECUTE {init.state.consts} 1512 | ITERATE {call.type$} 1513 | FUNCTION {end.bib} 1514 | { newline$ 1515 | "\end{thebibliography}" write$ newline$ 1516 | } 1517 | EXECUTE {end.bib} 1518 | %% End of customized bst file 1519 | %% 1520 | %% End of file `sysbio.bst'. -------------------------------------------------------------------------------- /Proposal Template - Public/tables/example_table.tex: -------------------------------------------------------------------------------- 1 | %Tables can be generated using tablesgenerator.com or truben.no 2 | %This is a test of using the tables file. Here is an example table, which I can refer to as Table \ref{table:species-location}: 3 | 4 | \begin{table}[ht] 5 | \centering 6 | \caption{This is the caption for this table} 7 | \label{table:species-location} 8 | \begin{tabular}{@{}lllll@{}} 9 | \toprule 10 | Location & Species (Field ID) & Count & Feature3 & Feature4 \\ \midrule 11 | Kigoma & Lates angustifrons & 2 & Number & number \\ 12 | Kigoma & Lates microlepis & 11 & Number & number \\ 13 | Kigoma & Lates mariae & 5 & Number & number \\ 14 | Kigoma & Lates stappersii & 38 & Number & number \\ 15 | Kigoma & Lates spp. unknown & 10 & Number & number \\ 16 | North Mahale & Lates angustifrons & 0 & Number & number \\ 17 | North Mahale & Lates microlepis & 0 & Number & number \\ 18 | North Mahale & Lates mariae & 15 & Number & number \\ 19 | North Mahale & Lates stappersii & 9 & Number & number \\ 20 | South Mahale & Lates angustifrons & 0 & Number & number \\ 21 | South Mahale & Lates microlepis & 0 & Number & number \\ 22 | South Mahale & Lates mariae & 18 & Number & number \\ 23 | South Mahale & Lates stappersii & 18 & Number & number \\ \bottomrule 24 | Total & & 143 & & 25 | \end{tabular} 26 | \end{table} -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Resources for Others 2 | This repository contains a smattering of tutorials and example documents that I've created to make others' lives a bit easier than mine was in trying to learn LaTeX and other things. 3 | 4 | ## LaTeX Templates 5 | 1. **Template for Writing** - A general template for writing a manuscript, etc. You can either download the .zip file included [here](https://github.com/jessicarick/resources/blob/master/Template%20for%20Writing%20-%20Public.zip), or clone the Overleaf project at: [https://www.overleaf.com/read/fqsfnqxsqbxf](https://www.overleaf.com/read/fqsfnqxsqbxf). I also have another generic scientific manuscript template (Updated Oct 2025) that can be copied on Overleaf at: [https://www.overleaf.com/read/czxncmttmhtj#376748](https://www.overleaf.com/read/czxncmttmhtj#376748) 6 | 2. **Preprint Template** - A modified version of my "Template for Writing," designed for manuscript preprints. You can clone the Overleaf project at: https://www.overleaf.com/read/bpsxspkmhvhf. 7 | 3. **Preprint Template II** - A different version of a preprint/manuscript template, with sans serif font and a separate title page. You can clone the Overleaf project or download the source files at: https://www.overleaf.com/read/ghcstpqfynqm -- or you can download the zipped source files [here](https://github.com/jessicarick/resources/blob/master/Preprint%20Template%20-%20Public.zip). 8 | 4. **Proposal Template** - A generic template for writing a thesis or dissertation proposal. You can either download the .zip file [here](https://github.com/jessicarick/resources/blob/master/Proposal%20Template%20-%20Public.zip), or clone the Overleaf project at: https://www.overleaf.com/read/btddnrrztkgz. 9 | 5. **Research Log Template** - A template for keeping track of bioinformatics work (or any kind of research). Keeping a “lab notebook” for computer-based analyses is crucial for open and reproducible science, and has made a HUGE difference for me in streamlining my analyses (no matter how many times I have to re-do them). Different people have different things that work for them, but this is what has worked for me for integrating code, figures, and commentary across different types of analysis (i.e. some cluster computing, some R analysis, some GUI program work, etc). You can either download the .zip file [here](https://github.com/jessicarick/resources/blob/master/Research%20Log%20Template%20-%20Public.zip), or clone the Overleaf project at: https://www.overleaf.com/read/wkxxnwvfbdxn. 10 | 6. **Academic CV Template** - This is a general template for a CV, geared toward the style of CV used in academia in the (biological) sciences. Everyone has different opinions on how CVs should look, but this is what I've come up with for myself (you can see what my CV using this template looks like here: [http://www.jessicarick.com/lab-members](https://jessicarick.com/lab-members)). You can either download the source files [here](https://github.com/jessicarick/resources/blob/master/CV%20Template%20-%20Public.zip), or use the Overleaf template that I created, found here: https://www.overleaf.com/latex/examples/academic-cv-template/hvjpfjnyggbf. 11 | 12 | ## Tutorials 13 | 1. **Integrating R Analyses with Overleaf** - I wrote up this tutorial to explain how to incorporate R Markdown documents into Overleaf (V2) documents, as it pretty much blew my mind when I learned that the two could talk to each other. Just think, you can run your analyses in your R Markdown file, create figures, and they’ll update in your manuscript on Overleaf! What more could you want in life?!? PDF document with tutorial (R_Overleaf_Integration.pdf) and associated trimtex.sh script, as well as latex-rmd.sty package can be downloaded [here](https://github.com/jessicarick/resources/tree/master/tutorials). Note: this is kind of a hefty way of doing this, and you may be interested in just using Knitr to run R code in your LaTeX document instead for small tasks, as outlined in [this Overleaf tutorial](https://www.overleaf.com/learn/latex/Knitr). 14 | 2. **Using Make** - Not a tutorial of my own, but my colleague [Josh Harrison](https://github.com/jharrisonecoevo) has [developed a tutorial](https://github.com/JHarrisonEcoEvo/Reproducible_workflow_tutorial) on how to use [Make](https://www.gnu.org/software/make/manual/make.html) as a part of your reproducible research workflow. I'd highly recommend checking it out and contemplating how this tool might just make your life 100x easier! 15 | 3. **Running MSMC/PSMC Analyses** - I have put together a tutorial with scripts for running demographic analyses using PSMC/MSMC, which can be found in a [separate Github repository](https://github.com/jessicarick/msmc2_scripts). 16 | 4. **Using Snakemake** - Another tutorial that isn't my own, but from my colleague [Pavel Dimens](https://pdimens.github.io/), who has a very helpful introduction to Snakemake tutorial [on his website](https://pdimens.github.io/posts/snakemake101/), as well as fun Youtube videos ([A Gentle Introduction to Snakemake](https://www.youtube.com/playlist?list=PLm-MsgmJxrTTgTTvU_qrZlyvJQH1lmuI8)) walking through how to use this workflow manager to make your workflows more reproducible. 17 | 18 | ## Small scripts 19 | 1. **Calculating Reich FST** - I wrote a short R script for calculating the Reich-Patterson FST estimator from a genlight object, including bootstrapping confidence intervals, which can be found in a [separate Github repository](https://github.com/jessicarick/reich-fst). 20 | 2. **Removing individuals with missing data from Phylip alignments** - A short bash script that I wrote for removing individuals from Phylip alignments that have all missing data (or greater than some proportion that you specify), because I couldn't find a program or script ready-made that did this already. My use case is for removing individuals from gene tree alignments before inferring phylogenies in RAxML to input into ASTRAL. [remove_missing_phy.sh](https://github.com/jessicarick/resources/blob/master/tutorials/remove_missing_phy.sh) 21 | -------------------------------------------------------------------------------- /Research Log Template - Public.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/Research Log Template - Public.zip -------------------------------------------------------------------------------- /Research Log Template - Public/figures/densitrees_030318.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/Research Log Template - Public/figures/densitrees_030318.pdf -------------------------------------------------------------------------------- /Research Log Template - Public/figures/insilico_cutsite_locations.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/Research Log Template - Public/figures/insilico_cutsite_locations.jpeg -------------------------------------------------------------------------------- /Research Log Template - Public/figures/lates01_reads_vs_depth.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/Research Log Template - Public/figures/lates01_reads_vs_depth.jpeg -------------------------------------------------------------------------------- /Research Log Template - Public/figures/lates01_reads_vs_depth_miss0_5_maf0_01.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/Research Log Template - Public/figures/lates01_reads_vs_depth_miss0_5_maf0_01.jpeg -------------------------------------------------------------------------------- /Research Log Template - Public/figures/lates_phylogeny_020218.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/Research Log Template - Public/figures/lates_phylogeny_020218.png -------------------------------------------------------------------------------- /Research Log Template - Public/figures/rawreads_vs_assembled_annotated.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/Research Log Template - Public/figures/rawreads_vs_assembled_annotated.pdf -------------------------------------------------------------------------------- /Research Log Template - Public/figures/reads_AC1_bin20.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/Research Log Template - Public/figures/reads_AC1_bin20.pdf -------------------------------------------------------------------------------- /Research Log Template - Public/figures/reads_AC2_bin20.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/Research Log Template - Public/figures/reads_AC2_bin20.pdf -------------------------------------------------------------------------------- /Research Log Template - Public/figures/snapp_calcar_thin50k_small_030318_tree.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/Research Log Template - Public/figures/snapp_calcar_thin50k_small_030318_tree.pdf -------------------------------------------------------------------------------- /Research Log Template - Public/figures/treeannotator_tre_022318.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/Research Log Template - Public/figures/treeannotator_tre_022318.pdf -------------------------------------------------------------------------------- /Research Log Template - Public/figures/treeannotator_tre_nodata.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/Research Log Template - Public/figures/treeannotator_tre_nodata.pdf -------------------------------------------------------------------------------- /Research Log Template - Public/latexmkrc: -------------------------------------------------------------------------------- 1 | $ENV{'TZ'}='America/Denver'; -------------------------------------------------------------------------------- /Research Log Template - Public/main.tex: -------------------------------------------------------------------------------- 1 | %%% Research Diary 2 | %%% Template by Mikhail Klassen, April 2013 3 | %%% Modified by Jessi Rick, Feb 2018 4 | 5 | \documentclass[11pt,letterpaper]{article} 6 | 7 | \newcommand{\workingDate}{\textsc{2018 $|$ February}} 8 | \newcommand{\userName}{Name} 9 | \newcommand{\institution}{} 10 | \usepackage{researchdiary_png} 11 | 12 | % To add your university logo to the upper right, simply 13 | % upload a file named "logo.png" using the files menu above. 14 | 15 | \begin{document} 16 | 17 | \title{\Huge Research Log} 18 | \author{Your Name Here} 19 | \maketitle 20 | 21 | \tableofcontents 22 | 23 | \pagebreak 24 | 25 | %%%% Include the logs for separate projects here %% 26 | 27 | \include{projects/genome_assembly} 28 | \include{projects/gbs_analyses} 29 | \include{projects/phylogenetic_analyses} 30 | 31 | %%%%%%%%%%%%%%%%%%%%%% 32 | %% APPENDIX SECTION %% 33 | %%%%%%%%%%%%%%%%%%%%%% 34 | \clearpage 35 | \begin{appendices} 36 | \input{projects/appendixA.tex} 37 | %%%%%%%%%%%%%%%%%%%%%% 38 | \clearpage 39 | \input{projects/appendixB.tex} 40 | \end{appendices} 41 | 42 | 43 | \end{document} -------------------------------------------------------------------------------- /Research Log Template - Public/projects/appendixA.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | \section{SNAPP Workflow} 3 | \subsection*{example of a tutorial} 4 | \hrule 5 | This is an example of a tutorial made to share with others. 6 | 7 | My working directory, including scripts: \texttt{~/jrick/latesGBS\_2018/snapp} 8 | 9 | Starting from a VCF file of filtered SNPs (\textit{note}: SNPs should be filtered for linkage disequilibrium in some way-- I chose to just set \texttt{--thin 50000} in my vcftools specification), you can create a phylip file using Joana's \texttt{vcf2phylip.py} script. In the call for this script, \texttt{-r} indicates that you want the \textbf{r}eference included in the output; \texttt{-e} indicates that you want indels \textbf{e}xcluded. 10 | 11 | \begin{minted}{sh} 12 | python vcf2phylip.py -i INFILE.vcf -o OUTFILE.phy -re 13 | \end{minted} 14 | 15 | This can either just be called, or can be run using Chad's shell script \texttt{slurm\_convertVCF\_CDB.sh}. 16 | 17 | Next, we need to remove invariant sites from the phylip file and turn it into a nexus, which \texttt{BEAUti} requires as input. Chad has two different methods of doing this (you can ask him about that), but I couldn't get either to work so I just wrote an R script for it myself. The R package \texttt{phrynomics} seems to have some issues on Mt Moran (and even some on my own computer), so I have been running the R script \texttt{RscriptSNPs\_removeInvar.R} on the phylip file on my computer. This both removes invariant sites and converts it to a nexus. 18 | 19 | \textit{NOTE}: You'll want to make sure you have a reasonable number of taxa/individuals in your nexus file that you're using for SNAPP, as it gets unwieldy with too many. I chose to keep a "random" subset (i.e. those with the highest coverage) of a maximum of 5 individuals/taxon for each of my 5 taxa. 20 | 21 | Once you have a \texttt{NEXUS} file, you can load it into \texttt{BEAUti} to create the XML input for \texttt{SNAPP}. \texttt{BEAUti} is on Mt Moran (included in the \texttt{BEAST} module), but has a GUI, so ends up being easier to use locally instead. One thing that may make your life easier prior to loading the nexus file into \texttt{BEAUti} is if you edit your individual IDs to include "\_species" at the end of the name (or somehow include taxa IDs in the names; e.g. I added "\_Lmar", etc. at the end of my individual IDs). You can set the priors for all of the different parameters in \texttt{BEAUti} -- I'd recommend chatting with Chad on how to figure out what to set these to, if you're unsure. I've been starting with 3 million steps for the MCMC chain, storing every 3000 steps. 22 | 23 | Once I have the XML file from \texttt{BEAUti}, I copy it to Mt Moran, and then use \texttt{run\_snapp.sh} to run \texttt{SNAPP} on the cluster. The general command is: 24 | 25 | \begin{minted}{sh} 26 | module load oraclejdk 27 | module load beast 28 | 29 | beast -prefix RUN_NAME -threads 8 -seed 12345 -instances 8 INFILE.xml 30 | \end{minted} 31 | 32 | For some reason, the output folder (named \texttt{RUN\_NAME}) has to be created before it will let you start the run. In this command, \texttt{threads} and \texttt{instances} need to both be equal to the number available in your SLURM request. In the script, I set the seed randomly by using the computer clock to make sure that I don't accidentally start multiple replicate runs with the same seed. 33 | 34 | \textit{BONUS}: if you want to check whether your data are overcoming your priors, you can start a run that samples only from the prior by adding \texttt{sampleFromPrior="true"} to your MCMC specification: 35 | 36 | \begin{minted}{xml} 37 | <run id="mcmc" spec="MCMC" 38 | chainLength="5000000" preBurnin="5000" storeEvery="1000" 39 | sampleFromPrior="true"> 40 | \end{minted} 41 | -------------------------------------------------------------------------------- /Research Log Template - Public/projects/appendixB.tex: -------------------------------------------------------------------------------- 1 | \section{appendix section b} 2 | \subsection*{subtitle for this appendix} 3 | This would be another appendix section -------------------------------------------------------------------------------- /Research Log Template - Public/projects/charr.tex: -------------------------------------------------------------------------------- 1 | \clearpage 2 | \chapter{} 3 | \section{Arctic charr analyses} 4 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5 | \addcontentsline{toc}{subsection}{Summary} 6 | \subsection*{SUMMARY} 7 | \hrule 8 | Here is a summary of some results from the Arctic charr analyses. 9 | 10 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 11 | \subsection*{NEXT TO-DO} 12 | \hrule 13 | 14 | \begin{enumerate} 15 | \item Item 1 16 | \end{enumerate} 17 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 18 | \addcontentsline{toc}{subsection}{Log} 19 | \subsection*{LOG} 20 | \hrule 21 | %%%%%%%%%%%%%%%%%% 22 | \hrulefill 23 | \begin{large}\textbf{6 March 2018}\end{large} \\ 24 | %%%%%%%%%%%%%%%%%% 25 | Here is an entry from March 6th, with some code. 26 | \begin{minted}{sh} 27 | grep '^@' file | wc -l 28 | \end{minted} 29 | 30 | %%%%%%%%%%%%%%%%%% 31 | \hrulefill 32 | \begin{large}\textbf{5 March 2018}\end{large} \\ 33 | %%%%%%%%%%%%%%%%%% 34 | And here is an entry from March 5th. 35 | -------------------------------------------------------------------------------- /Research Log Template - Public/projects/gbs_analyses.tex: -------------------------------------------------------------------------------- 1 | \clearpage 2 | \chapter{} 3 | \section{Genotyping-by-sequencing} 4 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5 | \addcontentsline{toc}{subsection}{Summary} 6 | \subsection*{SUMMARY} 7 | \hrule 8 | Here is a summary of some results from my GBS analyses. 9 | 10 | \begin{table}[ht] 11 | \centering 12 | \caption{Number of variants (SNPs) for the pilot genotyping-by-sequencing run for Lake Tanganyika \textit{Lates} under different alignment and filtering conditions. Individuals were excluded from variant calling if they had fewer than 5,000 reads (5k) or 20,000 reads (20k). Raw SNPs are before filtering for missing data, minor allele frequency, and proximity to other SNPs (90bp threshold); these SNPs have already been filtered using bcftools based on QUAL $>$ 19 and GQ $>$ 9, and only SNPs (not indels or sites with $>$ 2 alleles) have been kept. The labels "with WGS" and "no nilo" refer to datasets containing whole genome re-sequencing data and omitting \textit{Lates niloticus} individuals, respectively.} 13 | 14 | \label{table:gbs-stats} 15 | \begin{tabular}{@{}llllll@{}} 16 | \toprule 17 | & & & \multicolumn{3}{c}{Missing Data Allowed} \\ 18 | Reference Genome & Raw SNPs & MAF & $\leq$ 0.5 & $\leq$ 0.3 & $\leq$ 0.2 \\ \midrule 19 | Lates calcarifer & 4,085,115 & 0.01 & 70,180 & 59,144 & 52,397 \\ 20 | & & 0.05 & 33,854 & 28,991 & 25,641 \\ \midrule \midrule 21 | Lates mariae & 153,175 & 0.01 & 19,025 & 14,542 & 12,091 \\ 22 | & & 0.05 & 10,541 & 7,721 & 6,205 \\ \midrule 23 | Lates mariae, no nilo & 139,881 & 0.01 & 17,422 & 13,334 & 10,832 \\ 24 | & & 0.05 & 10,527 & 7,845 & 6,318 \\ \midrule 25 | Lates mariae, no nilo, with WGS & 3,076,112 & 0.01 & 22,247 & 14,933 & 12,252 \\ 26 | & & 0.05 & 12,438 & 8,388 & 6,770 \\ \midrule 27 | Lates mariae, with WGS (5k) & 3,087,655 & 0.01 & 23,641 & 16,019 & 13,406 \\ 28 | & & 0.05 & 12,124 & 8,228 & 6,619 \\ \midrule 29 | Lates mariae, with WGS (20k) & 3,086,364 & 0.01 & 24,907 & 17,275 & 14,619 \\ 30 | & & 0.05 & 13,002 & 8,898 & 7,398 \\ 31 | \bottomrule 32 | \end{tabular} 33 | \end{table} 34 | 35 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 36 | \subsection*{NEXT TO-DO} 37 | \hrule 38 | 39 | \begin{enumerate} 40 | \item Item 1 41 | \end{enumerate} 42 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 43 | \addcontentsline{toc}{subsection}{Log} 44 | \subsection*{LOG} 45 | \hrule 46 | 47 | %%%%%%%%%%%%%%%%%% 48 | \hrulefill 49 | \begin{large}\textbf{24 Feb 2018}\end{large} \\ 50 | %%%%%%%%%%%%%%%%%% 51 | An entry from Feb 24th, with a figure (Fig. \ref{fig:cutsite-locations}). 52 | 53 | %% FIGURE %% 54 | \begin{figure}[ht] 55 | \includegraphics[width=0.9\textwidth] 56 | {figures/insilico_cutsite_locations.jpeg}\caption{\label{fig:cutsite-locations} Plot of the location of cutsites shared by the GBS and RAD methods (where cutsites for SbfI occur within 150bp of a location where EcoRI and MseI cutsites fall within our size selection criteria of 200-350bp). Left-hand panel shows the spacing of potential shared SNPs along the chromosomes. Right-hand panel shows boxplots of the distances between these potential SNP locations, to give an idea of how useful these potential shared SNPs may be.} 57 | \end{figure} 58 | %%%% 59 | 60 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 61 | \addcontentsline{toc}{subsection}{Third subsection} 62 | \subsection*{ANOTHER SUBSECTION} 63 | \hrule 64 | Here are some details in another subsection of information. 65 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 66 | \bibliographystyle{agsm} 67 | \bibliography{Mendeley_022218} 68 | 69 | -------------------------------------------------------------------------------- /Research Log Template - Public/projects/genome_assembly.tex: -------------------------------------------------------------------------------- 1 | \clearpage 2 | \chapter{} 3 | \section{Reference Genome Assembly} 4 | 5 | \addcontentsline{toc}{subsection}{Summary} 6 | \subsection*{SUMMARY} 7 | \hrule 8 | Here is a summary of some results from genome assembly attempts. 9 | 10 | 11 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 12 | \subsection*{NEXT TO-DO} 13 | \hrule 14 | 15 | \begin{enumerate} 16 | \item Item 1 17 | \end{enumerate} 18 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 19 | \addcontentsline{toc}{subsection}{Log} 20 | \subsection*{LOG} 21 | \hrule 22 | %%%%%%%%%%%%%%%%%% 23 | \hrulefill 24 | \begin{large} \textbf{6 March 2018} \end{large} \\ 25 | %%%%%%%%%%%%%%%%%% 26 | An entry from March 6th, with some code on running qualimap. 27 | 28 | \begin{minted}{sh} 29 | module load oraclejdk 30 | module load R 31 | export PATH=/project/WagnerLab/jrick/qualimap_v2.2.1/:$PATH 32 | 33 | qualimap multi-bamqc -c -d BAMFILES.txt -outdir qualimap -r 34 | \end{minted} 35 | 36 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 37 | \addcontentsline{toc}{subsection}{Third subsection} 38 | \subsection*{ANOTHER SUBSECTION} 39 | \hrule 40 | Here are some details in another subsection of information. 41 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 42 | 43 | \bibliographystyle{agsm} 44 | \bibliography{Mendeley} -------------------------------------------------------------------------------- /Research Log Template - Public/projects/phylogenetic_analyses.tex: -------------------------------------------------------------------------------- 1 | \clearpage 2 | \chapter{} 3 | \section{Phylogenetic Analyses} 4 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 5 | \addcontentsline{toc}{subsection}{Summary} 6 | \subsection*{SUMMARY} 7 | \hrule 8 | Here is a summary of some results from phylogenetic analyses, and some pretty figures. 9 | 10 | %% FIGURE %% 11 | \begin{figure}[ht] 12 | \centering 13 | \includegraphics[width=0.7\textwidth] 14 | {figures/lates_phylogeny_020218.png}\caption{\label{fig:raxml-phylogeny} Preliminary RAxML phylogeny based off of \textit{Lates} GBS data, aligned to the \textit{L. calcarifer} genome, and following filtering for $\leq$ 20\% missing data and MAF $\leq$ 0.01. These SNPs were not filtered for linkage disequilibrium.} 15 | \end{figure} 16 | %%%% 17 | 18 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 19 | \subsection*{NEXT TO-DO} 20 | \hrule 21 | 22 | \begin{enumerate} 23 | \item Item 1 24 | \end{enumerate} 25 | 26 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 27 | \addcontentsline{toc}{subsection}{Log} 28 | \subsection*{LOG} 29 | \hrule 30 | %%%%%%%%%%%%%%%%%% 31 | \hrulefill 32 | \begin{large}\textbf{5 March 2018}\end{large} \\ 33 | %%%%%%%%%%%%%%%%%% 34 | Here's an entry with a two-part figure. 35 | 36 | %% FIGURE %% 37 | \begin{figure}[htb] 38 | \centering 39 | \begin{subfigure}{.45\textwidth} 40 | \centering 41 | \includegraphics[width=.95\linewidth]{figures/densitrees_030318.pdf} 42 | \caption{Densitrees from posterior} 43 | \label{fig:030318-densitree} 44 | \end{subfigure}% 45 | \begin{subfigure}{.55\textwidth} 46 | \centering 47 | \includegraphics[width=.95\linewidth]{figures/snapp_calcar_thin50k_small_030318_tree.pdf} 48 | \caption{Consensus tree} 49 | \label{fig:030318-tree} 50 | \end{subfigure} 51 | \caption{Trees from \texttt{SNAPP} runs, followed by summary in \texttt{TreeAnnotator}, run for 3 million MCMC iterations using parameter file \texttt{snapp\_calcar\_thin50k\_small\_030318.xml}. Data are SNPs called from GBS reads aligned to the \textit{L. calcarifer} genome (v3, chromosome-level), thinned to a minimum distance of 50,000bp between SNPs and with invariant sites removed (4,696 SNPs total). Values on branches show the median theta value, and purple bars show 95\% HPD for node depths.} 52 | \label{fig:tree-annotator-calcar} 53 | \end{figure} 54 | %%%%% 55 | 56 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 57 | \bibliographystyle{agsm} 58 | \bibliography{Mendeley} -------------------------------------------------------------------------------- /Research Log Template - Public/researchdiary_png.sty: -------------------------------------------------------------------------------- 1 | \ProvidesPackage{researchdiary_png} 2 | %%%%%%%%% MIKHAIL KLASSEN - RESEARCH DIARY HEADER %%%%%%%%%%%% 3 | %% @author: Mikhail Klassen %% 4 | %% @contact: mikhail.klassen@gmail.com %% 5 | %% @revised: 12 / January / 2011 %% 6 | %% @license: Creative Commons Share Alike 3.0 %% 7 | %% http://creativecommons.org/licenses/by-sa/3.0/ %% 8 | %% %% 9 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 10 | 11 | \usepackage{extract} 12 | \usepackage{fancyhdr} 13 | \usepackage[font={small,sf},format=plain,labelfont={bf,up}]{caption} 14 | \usepackage[latin1]{inputenc} 15 | \usepackage{amsmath} 16 | \usepackage{amsfonts} 17 | \usepackage{amssymb} 18 | \usepackage{graphicx} 19 | \usepackage[hmargin=2cm,vmargin=2.5cm]{geometry} 20 | \usepackage{multirow} 21 | \usepackage{wrapfig} 22 | \usepackage{epsfig} 23 | \usepackage{framed} 24 | \usepackage{textcomp} 25 | \usepackage{color} 26 | \usepackage{booktabs} 27 | \usepackage{pdflscape} 28 | \usepackage[usenames,dvipsnames]{pstricks} 29 | 30 | \usepackage{hyperref} 31 | \hypersetup{colorlinks=true,urlcolor=blue,citecolor=gray,linkcolor=black} 32 | \usepackage{minted} %% package for coloring in-text code 33 | \usemintedstyle{autumn} %% changes colors for in-text code 34 | \usepackage{filecontents} 35 | \usepackage[sectionbib]{natbib} 36 | \usepackage{chapterbib} 37 | \renewcommand{\bibname}{REFERENCES \\ \hrule} 38 | \bibpunct{(}{)}{;}{a}{ }{,} 39 | 40 | \usepackage[toc,page]{appendix} 41 | \usepackage{longtable} 42 | \usepackage{subcaption} 43 | 44 | \usepackage[shortlabels]{enumitem} 45 | \setlist[enumerate]{topsep=2pt,itemsep=-1ex,partopsep=1ex,parsep=1ex} 46 | %\usepackage{markdown} 47 | 48 | \definecolor{darkblue}{RGB}{47,68,117} 49 | \definecolor{lightgray}{gray}{0.95} 50 | 51 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 52 | %% Notes on use of hyperlinks: 53 | %% \url{http://www.wikibooks.org} 54 | %% \href{http://www.wikibooks.org}{wikibooks home} 55 | %% \href{mailto:email@site.com}{email@site.com} 56 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 57 | 58 | \pagestyle{fancy} 59 | \setlength\parindent{0in} 60 | \setlength\parskip{0.1in} 61 | \setlength\headheight{15pt} 62 | 63 | %%%%%%%%%%% HEADER / FOOTER %%%%%%%%%%% 64 | \rhead{\workingDate} 65 | \chead{\textsc{Research Log and Summary}} 66 | \lhead{\textsc{\userName}} 67 | \rfoot{\textsc{\thepage}} 68 | \cfoot{\textit{Last modified: \today}} 69 | \lfoot{\textsc{\institution}} 70 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 71 | 72 | %%%%%%%%%%% NEW COMMANDS %%%%%%%%%%%%%% 73 | \newcommand{\univlogo}{% 74 | \noindent % University Logo 75 | \begin{wrapfigure}{r}{0.1\textwidth} 76 | \vspace{-38pt} 77 | \begin{center} 78 | \includegraphics[width=0.1\textwidth]{logo.png} 79 | \end{center} 80 | \vspace{-100pt} 81 | \end{wrapfigure} 82 | } 83 | 84 | %%%%%%%%%%%% ASTRONOMY %%%%%%%%%%%%%%%% 85 | \newcommand{\Msun}{M_\odot} 86 | \newcommand{\Lsun}{L_\odot} 87 | \newcommand{\Rsun}{R_\odot} 88 | \newcommand{\Mearth}{M_\oplus} 89 | \newcommand{\Learth}{L_\oplus} 90 | \newcommand{\Rearth}{R_\oplus} 91 | %%%%%%%%%%% MATHEMATICS %%%%%%%%%%%%%%% 92 | \newcommand{\grad}{\nabla} 93 | \newcommand{\be}{\begin{equation}} 94 | \newcommand{\ee}{\end{equation}} 95 | \newcommand{\bea}{\begin{eqnarray}} 96 | \newcommand{\eea}{\end{eqnarray}} 97 | \newcommand{\eqnarr}{\begin{eqnarray}} 98 | \newcommand{\eqnend}{\end{eqnarray}} 99 | \newcommand{\deriv}[2]{\frac{d #1}{d #2}} 100 | \newcommand{\bigO}{\mathcal{O}} 101 | \DeclareMathSymbol{\umu}{\mathalpha}{operators}{0} 102 | %%%%%%%%% NEW ENVIRONMENTS %%%%%%%%%%%% 103 | %\newenvironment{bullets}{ 104 | %\begin{itemize} 105 | % \setlength{\itemsep}{1pt} 106 | % \setlength{\parskip}{0pt} 107 | % \setlength{\parsep}{0pt} 108 | %}{\end{itemize}} 109 | %\newenvironment{numlist}{ 110 | %\begin{enumerate} 111 | % \setlength{\itemsep}{1pt} 112 | % \setlength{\parskip}{0pt} 113 | % \setlength{\parsep}{0pt} 114 | %}{\end{enumerate}} 115 | \newenvironment{code}{ 116 | \begin{quote}\begin{framed} 117 | }{\end{framed}\end{quote}} 118 | 119 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -------------------------------------------------------------------------------- /Research Log Template - Public/table_template.tex: -------------------------------------------------------------------------------- 1 | %%% this is an example of how to format a table %%% 2 | \begin{table}[ht] 3 | \centering 4 | \caption{CAPTION} 5 | \begin{tabular}{@{}llllll@{}} 6 | \toprule 7 | & \textit{L. angustifrons} & \textit{L. microlepis} & \textit{L. mariae} & \textit{L. stappersii} & \textit{Lates spp.} unknown \\ \midrule 8 | & & & & & \\ 9 | & & & & & \\ 10 | & & & & & \\ \bottomrule 11 | & & & & & 12 | \end{tabular} 13 | \end{table} -------------------------------------------------------------------------------- /Template for Writing - Public.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/Template for Writing - Public.zip -------------------------------------------------------------------------------- /Template for Writing - Public/Sections/0-abstract.tex: -------------------------------------------------------------------------------- 1 | \begin{abstract} 2 | This is a generic writing template created to make it easier to just get started writing. You'll want to modify this to whatever format makes sense for the document that you're writing, but the goal is for it to be someplace to start. 3 | \end{abstract} -------------------------------------------------------------------------------- /Template for Writing - Public/Sections/1-introduction.tex: -------------------------------------------------------------------------------- 1 | \section*{Introduction} 2 | 3 | This is the introduction text. And an example of how you might cite \cite{Patterson2012}. You could also just add a citation at the end of the sentence \citep{Patterson2012} or refer to a specific paper (e.g. \citealt{Patterson2012}). All of these citations are hyperlinked, so you can click on them to go to the references section. -------------------------------------------------------------------------------- /Template for Writing - Public/Sections/2-methods.tex: -------------------------------------------------------------------------------- 1 | \section*{Methods} 2 | \subsection*{The first type of method} 3 | This is some text explaining things about this first type of method. 4 | 5 | \subsection*{The second subheader} 6 | 7 | This is some more explanation of the methods. -------------------------------------------------------------------------------- /Template for Writing - Public/Sections/3-results.tex: -------------------------------------------------------------------------------- 1 | \section*{Results} 2 | 3 | This is the results text. -------------------------------------------------------------------------------- /Template for Writing - Public/Sections/4-discussion.tex: -------------------------------------------------------------------------------- 1 | \section*{Discussion} 2 | 3 | This is the discussion text. -------------------------------------------------------------------------------- /Template for Writing - Public/Sections/5-tables.tex: -------------------------------------------------------------------------------- 1 | \clearpage 2 | \section*{Tables} 3 | 4 | % if you aren't sure how to include a table, https://www.tablesgenerator.com/ is awesome for just pasting data and generating a table 5 | % there also are some good tips at https://texblog.org/2017/02/06/proper-tables-with-latex/ 6 | -------------------------------------------------------------------------------- /Template for Writing - Public/Sections/6-figures.tex: -------------------------------------------------------------------------------- 1 | \clearpage 2 | \section*{Figures} 3 | 4 | %% FIGURE %% 5 | % \begin{figure}[tb] 6 | % \includegraphics[width=\textwidth] 7 | % {figures/figure.png} \label{fig:label} 8 | % \caption{Caption: this is an example of a single figure.} 9 | % \end{figure} 10 | %%%% 11 | 12 | %% SIDE-BY-SIDE FIGURE %% 13 | %\begin{figure}[ht] 14 | %\centering 15 | %\label{fig:maps} 16 | %\begin{subfigure}{.5\textwidth} 17 | % \centering 18 | % \includegraphics[width=\linewidth]{figures/partA.jpeg} 19 | % \caption{} 20 | % \label{fig:partA} 21 | %\end{subfigure}% 22 | %\begin{subfigure}{.5\textwidth} 23 | % \centering 24 | % \includegraphics[width=\linewidth]{figures/partB.jpeg} 25 | % \caption{} 26 | % \label{fig:partB} 27 | %\end{subfigure} 28 | %\caption{Overall caption for the two figures.} 29 | %\label{fig:sidebyside} 30 | %\end{figure} 31 | 32 | \clearpage -------------------------------------------------------------------------------- /Template for Writing - Public/Sections/7-supplement.tex: -------------------------------------------------------------------------------- 1 | \clearpage 2 | \section*{Supplement} -------------------------------------------------------------------------------- /Template for Writing - Public/bibliography.bib: -------------------------------------------------------------------------------- 1 | @article{Patterson2012, 2 | title = {{Ancient admixture in human history}}, 3 | year = {2012}, 4 | journal = {Genetics}, 5 | author = {Patterson, Nick and Moorjani, Priya and Luo, Yontao and Mallick, Swapan and Rohland, Nadin and Zhan, Yiping and Genschoreck, Teri and Webster, Teresa and Reich, David}, 6 | number = {3}, 7 | pages = {1065--1093}, 8 | volume = {192}, 9 | isbn = {0016-6731}, 10 | doi = {10.1534/genetics.112.145037}, 11 | issn = {00166731}, 12 | pmid = {22960212}, 13 | arxivId = {15334406} 14 | } -------------------------------------------------------------------------------- /Template for Writing - Public/latex-rmd.sty: -------------------------------------------------------------------------------- 1 | \ProvidesPackage{latex-rmd} 2 | 3 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 4 | %%% settings for incorporating Rmarkdown %%% 5 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 6 | \usepackage{lmodern} 7 | \usepackage{amssymb,amsmath} 8 | \usepackage{ifxetex,ifluatex} 9 | \usepackage{fixltx2e} % provides \textsubscript 10 | 11 | % use upquote if available, for straight quotes in verbatim environments 12 | \IfFileExists{upquote.sty}{\usepackage{upquote}}{} 13 | % use microtype if available 14 | \IfFileExists{microtype.sty}{% 15 | \usepackage{microtype} 16 | \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts 17 | }{} 18 | \usepackage[margin=1in]{geometry} 19 | \usepackage{hyperref} 20 | \hypersetup{unicode=true, 21 | pdftitle={Prospectus R Things}, 22 | pdfborder={0 0 0}, 23 | breaklinks=true} 24 | \urlstyle{same} % don't use monospace font for urls 25 | \usepackage{color} 26 | \usepackage{fancyvrb} 27 | \newcommand{\VerbBar}{|} 28 | \newcommand{\VERB}{\Verb[commandchars=\\\{\}]} 29 | \DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\},fontsize=\small} 30 | % Add ',fontsize=\small' for more characters per line 31 | \usepackage{framed} 32 | \definecolor{shadecolor}{RGB}{248,248,248} 33 | \newenvironment{Shaded}{\begin{snugshade}}{\end{snugshade}} 34 | \newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{\textbf{{#1}}}} 35 | \newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{{#1}}} 36 | \newcommand{\DecValTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{{#1}}} 37 | \newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{{#1}}} 38 | \newcommand{\FloatTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{{#1}}} 39 | \newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{{#1}}} 40 | \newcommand{\CharTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{{#1}}} 41 | \newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{{#1}}} 42 | \newcommand{\StringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{{#1}}} 43 | \newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{{#1}}} 44 | \newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{{#1}}} 45 | \newcommand{\ImportTok}[1]{{#1}} 46 | \newcommand{\CommentTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textit{{#1}}}} 47 | \newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{{#1}}}}} 48 | \newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{{#1}}}}} 49 | \newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{{#1}}}}} 50 | \newcommand{\OtherTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{{#1}}} 51 | \newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{{#1}}} 52 | \newcommand{\VariableTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{{#1}}} 53 | \newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{\textbf{{#1}}}} 54 | \newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.81,0.36,0.00}{\textbf{{#1}}}} 55 | \newcommand{\BuiltInTok}[1]{{#1}} 56 | \newcommand{\ExtensionTok}[1]{{#1}} 57 | \newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textit{{#1}}}} 58 | \newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.77,0.63,0.00}{{#1}}} 59 | \newcommand{\RegionMarkerTok}[1]{{#1}} 60 | \newcommand{\InformationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{{#1}}}}} 61 | \newcommand{\WarningTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{{#1}}}}} 62 | \newcommand{\AlertTok}[1]{\textcolor[rgb]{0.94,0.16,0.16}{{#1}}} 63 | \newcommand{\ErrorTok}[1]{\textcolor[rgb]{0.64,0.00,0.00}{\textbf{{#1}}}} 64 | \newcommand{\NormalTok}[1]{{#1}} 65 | \usepackage{graphicx,grffile} 66 | \makeatletter 67 | \def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} 68 | \def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi} 69 | \makeatother 70 | % Scale images if necessary, so that they will not overflow the page 71 | % margins by default, and it is still possible to overwrite the defaults 72 | % using explicit options in \includegraphics[width, height, ...]{} 73 | \setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} 74 | \IfFileExists{parskip.sty}{% 75 | \usepackage{parskip} 76 | }{% else 77 | \setlength{\parindent}{0pt} 78 | \setlength{\parskip}{6pt plus 2pt minus 1pt} 79 | } 80 | \setlength{\emergencystretch}{3em} % prevent overfull lines 81 | \providecommand{\tightlist}{% 82 | \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} 83 | \setcounter{secnumdepth}{0} 84 | % Redefines (sub)paragraphs to behave more like sections 85 | \ifx\paragraph\undefined\else 86 | \let\oldparagraph\paragraph 87 | \renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} 88 | \fi 89 | \ifx\subparagraph\undefined\else 90 | \let\oldsubparagraph\subparagraph 91 | \renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} 92 | \fi -------------------------------------------------------------------------------- /Template for Writing - Public/main.tex: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | %% Template created by Jessi Rick (jrick@uwyo.edu), Fall 2018 %% 3 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 4 | 5 | %%%%%% Preamble of the document begins here %%%%%% 6 | \documentclass[letterpaper,12pt]{article} 7 | 8 | % load the packages that we use for building the document 9 | \usepackage[english]{babel} 10 | \usepackage[utf8x]{inputenc} 11 | \usepackage{amsmath} 12 | \usepackage{graphicx} 13 | \usepackage{subcaption} % allows two captions for two-part figures 14 | \usepackage[margin=1in]{geometry} %% sets 1" margins 15 | %\renewcommand{\baselinestretch}{1.5} %% this sets to 1.5 spacing 16 | %\usepackage{setspace} %% these two set double spacing 17 | %\doublespacing %% goes with previous 18 | \usepackage{booktabs} % for making tables look nice 19 | \usepackage{latex-rmd} % a custom package for making R Markdown files look nice 20 | 21 | \usepackage{natbib} 22 | \bibpunct{(}{)}{;}{a}{}{,} % citation format command for natbib 23 | 24 | % for fancy headers 25 | \usepackage{fancyhdr} 26 | \pagestyle{fancy} 27 | \usepackage[font={small,sf},format=plain,labelfont={bf,up}]{caption} 28 | \fancyhf{} 29 | \fancyhead[l,lo]{Name \textit{Short Title}} 30 | \fancyhead[r,ro]{\thepage} 31 | 32 | % write the title and author here 33 | % You must supply your own values 34 | \title{Title of this Work} 35 | \author{Author Name(s)} 36 | \date{Version: \today} 37 | 38 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 39 | %%%%% Preamble to the document ends here %%%%%% 40 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 41 | 42 | \begin{document} 43 | \maketitle 44 | 45 | % next we include the different sections. 46 | % Each section is included in the document 47 | \input{Sections/0-abstract.tex} 48 | \input{Sections/1-introduction.tex} 49 | \input{Sections/2-methods.tex} 50 | \input{Sections/3-results.tex} 51 | \input{Sections/4-discussion.tex} 52 | 53 | % This part is for including references and citations 54 | % you can change the bibliography style to whatever you'd like 55 | \bibliographystyle{sysbio} % change to the citation format you want 56 | \bibliography{bibliography} % change to the name of your .bib file 57 | 58 | % individual sections for tables and figures if you don't want them embedded in-text 59 | \input{Sections/5-tables.tex} 60 | \input{Sections/6-figures.tex} 61 | 62 | %% add a supplement if desired, e.g. to include supplemental figures/text, or to include code from analyses 63 | \input{Sections/7-supplement.tex} 64 | 65 | % The document must end with this code 66 | \end{document} 67 | -------------------------------------------------------------------------------- /Template for Writing - Public/sysbio.bst: -------------------------------------------------------------------------------- 1 | %% 2 | %% This is file `sysbio.bst', 3 | %% generated with the docstrip utility. 4 | %% 5 | %% The original source files were: 6 | %% 7 | %% merlin.mbs (with options: `ay,nat,lang,annote,nm-rev1,jnrlst,keyxyr,dt-beg,yr-per,yrp-per,note-yr,jttl-rm,vnum-x,num-xser,jnm-x,btit-rm,bt-rm,pre-edn,edby-par,edbyy,blk-tit,in-it,ed,abr,ednx,xedn,nfss,') 8 | %% ---------------------------------------- 9 | %% *** Custom made .bst style for Systematic Biology made by the makebst program. *** 10 | %% 11 | %% Copyright 1994-2004 Patrick W Daly 12 | % =============================================================== 13 | % IMPORTANT NOTICE: 14 | % This bibliographic style (bst) file has been generated from one or 15 | % more master bibliographic style (mbs) files, listed above. 16 | % 17 | % This generated file can be redistributed and/or modified under the terms 18 | % of the LaTeX Project Public License Distributed from CTAN 19 | % archives in directory macros/latex/base/lppl.txt; either 20 | % version 1 of the License, or any later version. 21 | % =============================================================== 22 | % Name and version information of the main mbs file: 23 | % \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)] 24 | % For use with BibTeX version 0.99a or later 25 | %------------------------------------------------------------------- 26 | % This bibliography style file is intended for texts in ENGLISH 27 | % This is an author-year citation style bibliography. As such, it is 28 | % non-standard LaTeX, and requires a special package file to function properly. 29 | % Such a package is natbib.sty by Patrick W. Daly 30 | % The form of the \bibitem entries is 31 | % \bibitem[Jones et al.(1990)]{key}... 32 | % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... 33 | % The essential feature is that the label (the part in brackets) consists 34 | % of the author names, as they should appear in the citation, with the year 35 | % in parentheses following. There must be no space before the opening 36 | % parenthesis! 37 | % With natbib v5.3, a full list of authors may also follow the year. 38 | % In natbib.sty, it is possible to define the type of enclosures that is 39 | % really wanted (brackets or parentheses), but in either case, there must 40 | % be parentheses in the label. 41 | % The \cite command functions as follows: 42 | % \citet{key} ==>> Jones et al. (1990) 43 | % \citet*{key} ==>> Jones, Baker, and Smith (1990) 44 | % \citep{key} ==>> (Jones et al., 1990) 45 | % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) 46 | % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) 47 | % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) 48 | % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32) 49 | % \citeauthor{key} ==>> Jones et al. 50 | % \citeauthor*{key} ==>> Jones, Baker, and Smith 51 | % \citeyear{key} ==>> 1990 52 | %--------------------------------------------------------------------- 53 | 54 | ENTRY 55 | { address 56 | annote 57 | author 58 | booktitle 59 | chapter 60 | edition 61 | editor 62 | eid 63 | howpublished 64 | institution 65 | journal 66 | key 67 | language 68 | month 69 | note 70 | number 71 | organization 72 | pages 73 | publisher 74 | school 75 | series 76 | title 77 | type 78 | volume 79 | year 80 | } 81 | {} 82 | { label extra.label sort.label short.list } 83 | INTEGERS { output.state before.all mid.sentence after.sentence after.block } 84 | FUNCTION {init.state.consts} 85 | { #0 'before.all := 86 | #1 'mid.sentence := 87 | #2 'after.sentence := 88 | #3 'after.block := 89 | } 90 | STRINGS { s t} 91 | 92 | % -- rdmp mid.sentence outputs space, not comma 93 | FUNCTION {output.nonnull} 94 | { 's := 95 | output.state mid.sentence = 96 | { " " * write$ } 97 | { output.state after.block = 98 | { add.period$ write$ 99 | newline$ 100 | "\newblock " write$ 101 | } 102 | { output.state before.all = 103 | 'write$ 104 | { add.period$ " " * write$ } 105 | if$ 106 | } 107 | if$ 108 | mid.sentence 'output.state := 109 | } 110 | if$ 111 | s 112 | } 113 | FUNCTION {output} 114 | { duplicate$ empty$ 115 | 'pop$ 116 | 'output.nonnull 117 | if$ 118 | } 119 | FUNCTION {output.check} 120 | { 't := 121 | duplicate$ empty$ 122 | { pop$ "empty " t * " in " * cite$ * warning$ } 123 | 'output.nonnull 124 | if$ 125 | } 126 | FUNCTION {fin.entry} 127 | { add.period$ 128 | write$ 129 | newline$ 130 | annote missing$ 131 | { "\bibAnnoteFile{" cite$ * "}" * write$ newline$ } 132 | { "\bibAnnote{" cite$ * "}{" * annote * "}" * write$ newline$ 133 | } 134 | if$ 135 | } 136 | 137 | FUNCTION {new.block} 138 | { output.state before.all = 139 | 'skip$ 140 | { after.block 'output.state := } 141 | if$ 142 | } 143 | FUNCTION {new.sentence} 144 | { output.state after.block = 145 | 'skip$ 146 | { output.state before.all = 147 | 'skip$ 148 | { after.sentence 'output.state := } 149 | if$ 150 | } 151 | if$ 152 | } 153 | FUNCTION {add.blank} 154 | { " " * before.all 'output.state := 155 | } 156 | 157 | FUNCTION {date.block} 158 | { 159 | new.sentence 160 | } 161 | 162 | FUNCTION {not} 163 | { { #0 } 164 | { #1 } 165 | if$ 166 | } 167 | FUNCTION {and} 168 | { 'skip$ 169 | { pop$ #0 } 170 | if$ 171 | } 172 | FUNCTION {or} 173 | { { pop$ #1 } 174 | 'skip$ 175 | if$ 176 | } 177 | FUNCTION {new.block.checkb} 178 | { empty$ 179 | swap$ empty$ 180 | and 181 | 'skip$ 182 | 'new.block 183 | if$ 184 | } 185 | FUNCTION {field.or.null} 186 | { duplicate$ empty$ 187 | { pop$ "" } 188 | 'skip$ 189 | if$ 190 | } 191 | FUNCTION {emphasize} 192 | { duplicate$ empty$ 193 | { pop$ "" } 194 | { "\emph{" swap$ * "}" * } 195 | if$ 196 | } 197 | FUNCTION {tie.or.space.prefix} 198 | { duplicate$ text.length$ #3 < 199 | { "~" } 200 | { " " } 201 | if$ 202 | swap$ 203 | } 204 | 205 | FUNCTION {capitalize} 206 | { "u" change.case$ "t" change.case$ } 207 | 208 | FUNCTION {space.word} 209 | { " " swap$ * " " * } 210 | % Here are the language-specific definitions for explicit words. 211 | % Each function has a name bbl.xxx where xxx is the English word. 212 | % The language selected here is ENGLISH 213 | FUNCTION {bbl.and} 214 | { "and"} 215 | 216 | FUNCTION {bbl.etal} 217 | { "et~al." } 218 | 219 | FUNCTION {bbl.editors} 220 | { "eds." } 221 | 222 | FUNCTION {bbl.editor} 223 | { "ed." } 224 | 225 | FUNCTION {bbl.edby} 226 | { "edited by" } 227 | 228 | FUNCTION {bbl.edition} 229 | { "ed." } 230 | 231 | FUNCTION {bbl.volume} 232 | { "vol." } 233 | 234 | FUNCTION {bbl.of} 235 | { "of" } 236 | 237 | FUNCTION {bbl.number} 238 | { "no." } 239 | 240 | FUNCTION {bbl.nr} 241 | { "no." } 242 | 243 | FUNCTION {bbl.in} 244 | { "in" } 245 | 246 | FUNCTION {bbl.pages} 247 | { "pages" } 248 | 249 | FUNCTION {bbl.page} 250 | { "page" } 251 | 252 | FUNCTION {bbl.chapter} 253 | { "chap." } 254 | 255 | FUNCTION {bbl.techrep} 256 | { "Tech. Rep." } 257 | 258 | FUNCTION {bbl.mthesis} 259 | { "Master's thesis" } 260 | 261 | FUNCTION {bbl.phdthesis} 262 | { "Ph.D. thesis" } 263 | 264 | MACRO {jan} {"Jan."} 265 | 266 | MACRO {feb} {"Feb."} 267 | 268 | MACRO {mar} {"Mar."} 269 | 270 | MACRO {apr} {"Apr."} 271 | 272 | MACRO {may} {"May"} 273 | 274 | MACRO {jun} {"Jun."} 275 | 276 | MACRO {jul} {"Jul."} 277 | 278 | MACRO {aug} {"Aug."} 279 | 280 | MACRO {sep} {"Sep."} 281 | 282 | MACRO {oct} {"Oct."} 283 | 284 | MACRO {nov} {"Nov."} 285 | 286 | MACRO {dec} {"Dec."} 287 | 288 | MACRO {acmcs} {"ACM Computing Surveys"} 289 | 290 | MACRO {acta} {"Acta Informatica"} 291 | 292 | MACRO {cacm} {"Communications of the ACM"} 293 | 294 | MACRO {ibmjrd} {"IBM Journal of Research and Development"} 295 | 296 | MACRO {ibmsj} {"IBM Systems Journal"} 297 | 298 | MACRO {ieeese} {"IEEE Transactions on Software Engineering"} 299 | 300 | MACRO {ieeetc} {"IEEE Transactions on Computers"} 301 | 302 | MACRO {ieeetcad} 303 | {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} 304 | 305 | MACRO {ipl} {"Information Processing Letters"} 306 | 307 | MACRO {jacm} {"Journal of the ACM"} 308 | 309 | MACRO {jcss} {"Journal of Computer and System Sciences"} 310 | 311 | MACRO {scp} {"Science of Computer Programming"} 312 | 313 | MACRO {sicomp} {"SIAM Journal on Computing"} 314 | 315 | MACRO {tocs} {"ACM Transactions on Computer Systems"} 316 | 317 | MACRO {tods} {"ACM Transactions on Database Systems"} 318 | 319 | MACRO {tog} {"ACM Transactions on Graphics"} 320 | 321 | MACRO {toms} {"ACM Transactions on Mathematical Software"} 322 | 323 | MACRO {toois} {"ACM Transactions on Office Information Systems"} 324 | 325 | MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} 326 | 327 | MACRO {tcs} {"Theoretical Computer Science"} 328 | FUNCTION {bibinfo.check} 329 | { swap$ 330 | duplicate$ missing$ 331 | { 332 | pop$ pop$ 333 | "" 334 | } 335 | { duplicate$ empty$ 336 | { 337 | swap$ pop$ 338 | } 339 | { swap$ 340 | pop$ 341 | } 342 | if$ 343 | } 344 | if$ 345 | } 346 | FUNCTION {bibinfo.warn} 347 | { swap$ 348 | duplicate$ missing$ 349 | { 350 | swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ 351 | "" 352 | } 353 | { duplicate$ empty$ 354 | { 355 | swap$ "empty " swap$ * " in " * cite$ * warning$ 356 | } 357 | { swap$ 358 | pop$ 359 | } 360 | if$ 361 | } 362 | if$ 363 | } 364 | STRINGS { bibinfo} 365 | INTEGERS { nameptr namesleft numnames } 366 | 367 | FUNCTION {format.names} 368 | { 'bibinfo := 369 | duplicate$ empty$ 'skip$ { 370 | 's := 371 | "" 't := 372 | #1 'nameptr := 373 | s num.names$ 'numnames := 374 | numnames 'namesleft := 375 | { namesleft #0 > } 376 | { s nameptr 377 | duplicate$ #1 > 378 | { "{f.~}{vv~}{ll}{, jj}" } 379 | { "{vv~}{ll}{, f.}{, jj}" } 380 | if$ 381 | format.name$ 382 | bibinfo bibinfo.check 383 | 't := 384 | nameptr #1 > 385 | { 386 | namesleft #1 > 387 | { ", " * t * } 388 | { 389 | numnames #2 > 390 | { "," * } 391 | 'skip$ 392 | if$ 393 | s nameptr "{ll}" format.name$ duplicate$ "others" = 394 | { 't := } 395 | { pop$ } 396 | if$ 397 | t "others" = 398 | { 399 | " " * bbl.etal * 400 | } 401 | { 402 | bbl.and 403 | space.word * t * 404 | } 405 | if$ 406 | } 407 | if$ 408 | } 409 | 't 410 | if$ 411 | nameptr #1 + 'nameptr := 412 | namesleft #1 - 'namesleft := 413 | } 414 | while$ 415 | } if$ 416 | } 417 | FUNCTION {format.names.ed} 418 | { 419 | 'bibinfo := 420 | duplicate$ empty$ 'skip$ { 421 | 's := 422 | "" 't := 423 | #1 'nameptr := 424 | s num.names$ 'numnames := 425 | numnames 'namesleft := 426 | { namesleft #0 > } 427 | { s nameptr 428 | "{f.~}{vv~}{ll}{, jj}" 429 | format.name$ 430 | bibinfo bibinfo.check 431 | 't := 432 | nameptr #1 > 433 | { 434 | namesleft #1 > 435 | { ", " * t * } 436 | { 437 | numnames #2 > 438 | { "," * } 439 | 'skip$ 440 | if$ 441 | s nameptr "{ll}" format.name$ duplicate$ "others" = 442 | { 't := } 443 | { pop$ } 444 | if$ 445 | t "others" = 446 | { 447 | 448 | " " * bbl.etal * 449 | } 450 | { 451 | bbl.and 452 | space.word * t * 453 | } 454 | if$ 455 | } 456 | if$ 457 | } 458 | 't 459 | if$ 460 | nameptr #1 + 'nameptr := 461 | namesleft #1 - 'namesleft := 462 | } 463 | while$ 464 | } if$ 465 | } 466 | FUNCTION {format.key} 467 | { empty$ 468 | { key field.or.null } 469 | { "" } 470 | if$ 471 | } 472 | 473 | FUNCTION {format.authors} 474 | { author "author" format.names 475 | } 476 | FUNCTION {get.bbl.editor} 477 | { editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } 478 | 479 | FUNCTION {format.editors} 480 | { editor "editor" format.names duplicate$ empty$ 'skip$ 481 | { 482 | "," * 483 | " " * 484 | get.bbl.editor 485 | * 486 | } 487 | if$ 488 | } 489 | FUNCTION {select.language} 490 | { duplicate$ empty$ 491 | 'pop$ 492 | { language empty$ 493 | 'skip$ 494 | { "{\selectlanguage{" language * "}" * swap$ * "}" * } 495 | if$ 496 | } 497 | if$ 498 | } 499 | 500 | FUNCTION {format.note} 501 | { 502 | note empty$ 503 | { "" } 504 | { note #1 #1 substring$ 505 | duplicate$ "{" = 506 | 'skip$ 507 | { output.state mid.sentence = 508 | { "l" } 509 | { "u" } 510 | if$ 511 | change.case$ 512 | } 513 | if$ 514 | note #2 global.max$ substring$ * "note" bibinfo.check 515 | } 516 | if$ 517 | } 518 | 519 | FUNCTION {format.title} 520 | { title 521 | duplicate$ empty$ 'skip$ 522 | { "t" change.case$ } 523 | if$ 524 | "title" bibinfo.check 525 | duplicate$ empty$ 'skip$ 526 | { 527 | select.language 528 | } 529 | if$ 530 | } 531 | FUNCTION {format.full.names} 532 | {'s := 533 | "" 't := 534 | #1 'nameptr := 535 | s num.names$ 'numnames := 536 | numnames 'namesleft := 537 | { namesleft #0 > } 538 | { s nameptr 539 | "{vv~}{ll}" format.name$ 540 | 't := 541 | nameptr #1 > 542 | { 543 | namesleft #1 > 544 | { ", " * t * } 545 | { 546 | s nameptr "{ll}" format.name$ duplicate$ "others" = 547 | { 't := } 548 | { pop$ } 549 | if$ 550 | t "others" = 551 | { 552 | " " * bbl.etal * 553 | } 554 | { 555 | numnames #2 > 556 | { "," * } 557 | 'skip$ 558 | if$ 559 | bbl.and 560 | space.word * t * 561 | } 562 | if$ 563 | } 564 | if$ 565 | } 566 | 't 567 | if$ 568 | nameptr #1 + 'nameptr := 569 | namesleft #1 - 'namesleft := 570 | } 571 | while$ 572 | } 573 | 574 | FUNCTION {author.editor.key.full} 575 | { author empty$ 576 | { editor empty$ 577 | { key empty$ 578 | { cite$ #1 #3 substring$ } 579 | 'key 580 | if$ 581 | } 582 | { editor format.full.names } 583 | if$ 584 | } 585 | { author format.full.names } 586 | if$ 587 | } 588 | 589 | FUNCTION {author.key.full} 590 | { author empty$ 591 | { key empty$ 592 | { cite$ #1 #3 substring$ } 593 | 'key 594 | if$ 595 | } 596 | { author format.full.names } 597 | if$ 598 | } 599 | 600 | FUNCTION {editor.key.full} 601 | { editor empty$ 602 | { key empty$ 603 | { cite$ #1 #3 substring$ } 604 | 'key 605 | if$ 606 | } 607 | { editor format.full.names } 608 | if$ 609 | } 610 | 611 | FUNCTION {make.full.names} 612 | { type$ "book" = 613 | type$ "inbook" = 614 | or 615 | 'author.editor.key.full 616 | { type$ "proceedings" = 617 | 'editor.key.full 618 | 'author.key.full 619 | if$ 620 | } 621 | if$ 622 | } 623 | 624 | FUNCTION {output.bibitem} 625 | { newline$ 626 | "\bibitem[{" write$ 627 | label write$ 628 | ")" make.full.names duplicate$ short.list = 629 | { pop$ } 630 | { * } 631 | if$ 632 | "}]{" * write$ 633 | cite$ write$ 634 | "}" write$ 635 | newline$ 636 | "" 637 | before.all 'output.state := 638 | } 639 | 640 | FUNCTION {n.dashify} 641 | { 642 | 't := 643 | "" 644 | { t empty$ not } 645 | { t #1 #1 substring$ "-" = 646 | { t #1 #2 substring$ "--" = not 647 | { "--" * 648 | t #2 global.max$ substring$ 't := 649 | } 650 | { { t #1 #1 substring$ "-" = } 651 | { "-" * 652 | t #2 global.max$ substring$ 't := 653 | } 654 | while$ 655 | } 656 | if$ 657 | } 658 | { t #1 #1 substring$ * 659 | t #2 global.max$ substring$ 't := 660 | } 661 | if$ 662 | } 663 | while$ 664 | } 665 | 666 | % -- rdmp 667 | FUNCTION {word.in} 668 | { bbl.in 669 | emphasize 670 | " " * } 671 | 672 | 673 | %FUNCTION {word.in} 674 | %{ bbl.in capitalize 675 | % emphasize 676 | % " " * } 677 | 678 | FUNCTION {format.date} 679 | { year "year" bibinfo.check duplicate$ empty$ 680 | { 681 | "empty year in " cite$ * "; set to ????" * warning$ 682 | pop$ "????" 683 | } 684 | 'skip$ 685 | if$ 686 | extra.label * 687 | before.all 'output.state := 688 | after.sentence 'output.state := 689 | } 690 | FUNCTION {format.btitle} 691 | { title "title" bibinfo.check 692 | duplicate$ empty$ 'skip$ 693 | { 694 | select.language 695 | } 696 | if$ 697 | } 698 | FUNCTION {either.or.check} 699 | { empty$ 700 | 'pop$ 701 | { "can't use both " swap$ * " fields in " * cite$ * warning$ } 702 | if$ 703 | } 704 | FUNCTION {format.bvolume} 705 | { volume empty$ 706 | { "" } 707 | { bbl.volume volume tie.or.space.prefix 708 | "volume" bibinfo.check * * 709 | series "series" bibinfo.check 710 | duplicate$ empty$ 'pop$ 711 | { swap$ bbl.of space.word * swap$ 712 | emphasize * } 713 | if$ 714 | "volume and number" number either.or.check 715 | } 716 | if$ 717 | } 718 | FUNCTION {format.number.series} 719 | { volume empty$ 720 | { number empty$ 721 | { series field.or.null } 722 | { series empty$ 723 | { number "number" bibinfo.check } 724 | { output.state mid.sentence = 725 | { bbl.number } 726 | { bbl.number capitalize } 727 | if$ 728 | number tie.or.space.prefix "number" bibinfo.check * * 729 | bbl.in space.word * 730 | series "series" bibinfo.check * 731 | } 732 | if$ 733 | } 734 | if$ 735 | } 736 | { "" } 737 | if$ 738 | } 739 | 740 | FUNCTION {format.edition} 741 | { edition duplicate$ empty$ 'skip$ 742 | { 743 | output.state mid.sentence = 744 | { "l" } 745 | { "t" } 746 | if$ change.case$ 747 | "edition" bibinfo.check 748 | " " * bbl.edition * 749 | } 750 | if$ 751 | } 752 | INTEGERS { multiresult } 753 | FUNCTION {multi.page.check} 754 | { 't := 755 | #0 'multiresult := 756 | { multiresult not 757 | t empty$ not 758 | and 759 | } 760 | { t #1 #1 substring$ 761 | duplicate$ "-" = 762 | swap$ duplicate$ "," = 763 | swap$ "+" = 764 | or or 765 | { #1 'multiresult := } 766 | { t #2 global.max$ substring$ 't := } 767 | if$ 768 | } 769 | while$ 770 | multiresult 771 | } 772 | 773 | 774 | %-- rdmp spell out Pages 775 | FUNCTION {format.pages} 776 | { pages empty$ 777 | { "" } 778 | { pages multi.page.check 779 | { "Pages~" pages n.dashify * } 780 | { "Page~" pages * } 781 | if$ 782 | } 783 | if$ 784 | } 785 | 786 | 787 | %FUNCTION {format.pages} 788 | %{ pages duplicate$ empty$ 'skip$ 789 | % { duplicate$ multi.page.check 790 | % { 791 | % bbl.pages swap$ 792 | % n.dashify 793 | % } 794 | % { 795 | % bbl.page swap$ 796 | % } 797 | % if$ 798 | % tie.or.space.prefix 799 | % "pages" bibinfo.check 800 | % * * 801 | % } 802 | % if$ 803 | %} 804 | 805 | 806 | FUNCTION {format.journal.pages} 807 | { pages duplicate$ empty$ 'pop$ 808 | { swap$ duplicate$ empty$ 809 | { pop$ pop$ format.pages } 810 | { 811 | ":" * 812 | swap$ 813 | n.dashify 814 | "pages" bibinfo.check 815 | * 816 | } 817 | if$ 818 | } 819 | if$ 820 | } 821 | FUNCTION {format.journal.eid} 822 | { eid "eid" bibinfo.check 823 | duplicate$ empty$ 'pop$ 824 | { swap$ duplicate$ empty$ 'skip$ 825 | { 826 | ":" * 827 | } 828 | if$ 829 | swap$ * 830 | } 831 | if$ 832 | } 833 | FUNCTION {format.vol.num.pages} 834 | { volume field.or.null 835 | duplicate$ empty$ 'skip$ 836 | { 837 | "volume" bibinfo.check 838 | } 839 | if$ 840 | eid empty$ 841 | { format.journal.pages } 842 | { format.journal.eid } 843 | if$ 844 | } 845 | 846 | FUNCTION {format.chapter.pages} 847 | { chapter empty$ 848 | 'format.pages 849 | { type empty$ 850 | { bbl.chapter } 851 | { type "l" change.case$ 852 | "type" bibinfo.check 853 | } 854 | if$ 855 | chapter tie.or.space.prefix 856 | "chapter" bibinfo.check 857 | * * 858 | pages empty$ 859 | 'skip$ 860 | { ", " * format.pages * } 861 | if$ 862 | } 863 | if$ 864 | } 865 | 866 | FUNCTION {format.booktitle} 867 | { 868 | booktitle "booktitle" bibinfo.check 869 | } 870 | 871 | FUNCTION {format.in.ed.booktitle} 872 | { format.booktitle duplicate$ empty$ 'skip$ 873 | { 874 | editor "editor" format.names.ed duplicate$ empty$ 'pop$ 875 | { 876 | get.bbl.editor 877 | swap$ "," * 878 | " " * swap$ * 879 | "(" swap$ * ")" * 880 | swap$ 881 | " " * swap$ 882 | * } 883 | if$ 884 | word.in swap$ * 885 | } 886 | if$ 887 | } 888 | 889 | 890 | FUNCTION {format.thesis.type} 891 | { type duplicate$ empty$ 892 | 'pop$ 893 | { swap$ pop$ 894 | "t" change.case$ "type" bibinfo.check 895 | } 896 | if$ 897 | } 898 | FUNCTION {format.tr.number} 899 | { number "number" bibinfo.check 900 | type duplicate$ empty$ 901 | { pop$ bbl.techrep } 902 | 'skip$ 903 | if$ 904 | "type" bibinfo.check 905 | swap$ duplicate$ empty$ 906 | { pop$ "t" change.case$ } 907 | { tie.or.space.prefix * * } 908 | if$ 909 | } 910 | FUNCTION {format.article.crossref} 911 | { 912 | word.in 913 | " \cite{" * crossref * "}" * 914 | } 915 | FUNCTION {format.book.crossref} 916 | { volume duplicate$ empty$ 917 | { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ 918 | pop$ word.in 919 | } 920 | { bbl.volume 921 | capitalize 922 | swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * 923 | } 924 | if$ 925 | " \cite{" * crossref * "}" * 926 | } 927 | FUNCTION {format.incoll.inproc.crossref} 928 | { 929 | word.in 930 | " \cite{" * crossref * "}" * 931 | } 932 | FUNCTION {format.org.or.pub} 933 | { 't := 934 | "" 935 | address empty$ t empty$ and 936 | 'skip$ 937 | { 938 | t empty$ 939 | { address "address" bibinfo.check * 940 | } 941 | { t * 942 | address empty$ 943 | 'skip$ 944 | { ", " * address "address" bibinfo.check * } 945 | if$ 946 | } 947 | if$ 948 | } 949 | if$ 950 | } 951 | FUNCTION {format.publisher.address} 952 | { publisher "publisher" bibinfo.warn format.org.or.pub 953 | } 954 | 955 | FUNCTION {format.organization.address} 956 | { organization "organization" bibinfo.check format.org.or.pub 957 | } 958 | 959 | FUNCTION {article} 960 | { output.bibitem 961 | format.authors "author" output.check 962 | author format.key output 963 | format.date "year" output.check 964 | date.block 965 | format.title "title" output.check 966 | new.sentence 967 | crossref missing$ 968 | { 969 | journal 970 | "journal" bibinfo.check 971 | "journal" output.check 972 | add.blank 973 | format.vol.num.pages output 974 | } 975 | { format.article.crossref output.nonnull 976 | format.pages output 977 | } 978 | if$ 979 | format.note output 980 | fin.entry 981 | } 982 | FUNCTION {book} 983 | { output.bibitem 984 | author empty$ 985 | { format.editors "author and editor" output.check 986 | editor format.key output 987 | } 988 | { format.authors output.nonnull 989 | crossref missing$ 990 | { "author and editor" editor either.or.check } 991 | 'skip$ 992 | if$ 993 | } 994 | if$ 995 | format.date "year" output.check 996 | date.block 997 | format.btitle "title" output.check 998 | crossref missing$ 999 | { format.bvolume output 1000 | new.sentence 1001 | format.number.series output 1002 | format.edition output 1003 | format.publisher.address output 1004 | } 1005 | { 1006 | new.sentence 1007 | format.book.crossref output.nonnull 1008 | } 1009 | if$ 1010 | format.note output 1011 | fin.entry 1012 | } 1013 | FUNCTION {booklet} 1014 | { output.bibitem 1015 | format.authors output 1016 | author format.key output 1017 | format.date "year" output.check 1018 | date.block 1019 | format.title "title" output.check 1020 | new.sentence 1021 | howpublished "howpublished" bibinfo.check output 1022 | address "address" bibinfo.check output 1023 | format.note output 1024 | fin.entry 1025 | } 1026 | 1027 | FUNCTION {inbook} 1028 | { output.bibitem 1029 | author empty$ 1030 | { format.editors "author and editor" output.check 1031 | editor format.key output 1032 | } 1033 | { format.authors output.nonnull 1034 | crossref missing$ 1035 | { "author and editor" editor either.or.check } 1036 | 'skip$ 1037 | if$ 1038 | } 1039 | if$ 1040 | format.date "year" output.check 1041 | date.block 1042 | format.btitle "title" output.check 1043 | crossref missing$ 1044 | { 1045 | format.bvolume output 1046 | format.chapter.pages "chapter and pages" output.check 1047 | new.sentence 1048 | format.number.series output 1049 | format.edition output 1050 | format.publisher.address output 1051 | } 1052 | { 1053 | format.chapter.pages "chapter and pages" output.check 1054 | new.sentence 1055 | format.book.crossref output.nonnull 1056 | } 1057 | if$ 1058 | format.note output 1059 | fin.entry 1060 | } 1061 | 1062 | % -- rdmp Moved pages 1063 | FUNCTION {incollection} 1064 | { output.bibitem 1065 | format.authors "author" output.check 1066 | author format.key output 1067 | format.date "year" output.check 1068 | date.block 1069 | format.title "title" output.check 1070 | new.sentence 1071 | crossref missing$ 1072 | { format.chapter.pages output 1073 | format.in.ed.booktitle "booktitle" output.check 1074 | format.bvolume output 1075 | format.number.series output 1076 | format.edition output 1077 | new.sentence 1078 | format.publisher.address output 1079 | } 1080 | { format.incoll.inproc.crossref output.nonnull 1081 | format.chapter.pages output 1082 | } 1083 | if$ 1084 | format.note output 1085 | fin.entry 1086 | } 1087 | 1088 | 1089 | % -- rdmp Moved pages 1090 | FUNCTION {inproceedings} 1091 | { output.bibitem 1092 | format.authors "author" output.check 1093 | author format.key output 1094 | format.date "year" output.check 1095 | date.block 1096 | format.title "title" output.check 1097 | new.sentence 1098 | crossref missing$ 1099 | { format.chapter.pages output 1100 | format.in.ed.booktitle "booktitle" output.check 1101 | format.bvolume output 1102 | format.number.series output 1103 | publisher empty$ 1104 | { format.organization.address output } 1105 | { organization "organization" bibinfo.check output 1106 | format.publisher.address output 1107 | } 1108 | if$ 1109 | } 1110 | { format.incoll.inproc.crossref output.nonnull 1111 | format.pages output 1112 | } 1113 | if$ 1114 | format.note output 1115 | fin.entry 1116 | } 1117 | FUNCTION {conference} { inproceedings } 1118 | FUNCTION {manual} 1119 | { output.bibitem 1120 | format.authors output 1121 | author format.key output 1122 | format.date "year" output.check 1123 | date.block 1124 | format.btitle "title" output.check 1125 | new.sentence 1126 | organization "organization" bibinfo.check output 1127 | address "address" bibinfo.check output 1128 | format.edition output 1129 | format.note output 1130 | fin.entry 1131 | } 1132 | 1133 | FUNCTION {mastersthesis} 1134 | { output.bibitem 1135 | format.authors "author" output.check 1136 | author format.key output 1137 | format.date "year" output.check 1138 | date.block 1139 | format.btitle 1140 | "title" output.check 1141 | new.sentence 1142 | bbl.mthesis format.thesis.type output.nonnull 1143 | school "school" bibinfo.warn output 1144 | address "address" bibinfo.check output 1145 | format.note output 1146 | fin.entry 1147 | } 1148 | 1149 | FUNCTION {misc} 1150 | { output.bibitem 1151 | format.authors output 1152 | author format.key output 1153 | format.date "year" output.check 1154 | date.block 1155 | format.title output 1156 | new.sentence 1157 | howpublished "howpublished" bibinfo.check output 1158 | format.note output 1159 | fin.entry 1160 | } 1161 | FUNCTION {phdthesis} 1162 | { output.bibitem 1163 | format.authors "author" output.check 1164 | author format.key output 1165 | format.date "year" output.check 1166 | date.block 1167 | format.btitle 1168 | "title" output.check 1169 | new.sentence 1170 | bbl.phdthesis format.thesis.type output.nonnull 1171 | school "school" bibinfo.warn output 1172 | address "address" bibinfo.check output 1173 | format.note output 1174 | fin.entry 1175 | } 1176 | 1177 | FUNCTION {proceedings} 1178 | { output.bibitem 1179 | format.editors output 1180 | editor format.key output 1181 | format.date "year" output.check 1182 | date.block 1183 | format.btitle "title" output.check 1184 | format.bvolume output 1185 | format.number.series output 1186 | publisher empty$ 1187 | { format.organization.address output } 1188 | { organization "organization" bibinfo.check output 1189 | format.publisher.address output 1190 | } 1191 | if$ 1192 | format.note output 1193 | fin.entry 1194 | } 1195 | 1196 | FUNCTION {techreport} 1197 | { output.bibitem 1198 | format.authors "author" output.check 1199 | author format.key output 1200 | format.date "year" output.check 1201 | date.block 1202 | format.title 1203 | "title" output.check 1204 | new.sentence 1205 | format.tr.number output.nonnull 1206 | institution "institution" bibinfo.warn output 1207 | address "address" bibinfo.check output 1208 | format.note output 1209 | fin.entry 1210 | } 1211 | 1212 | FUNCTION {unpublished} 1213 | { output.bibitem 1214 | format.authors "author" output.check 1215 | author format.key output 1216 | format.date "year" output.check 1217 | date.block 1218 | format.title "title" output.check 1219 | format.note "note" output.check 1220 | fin.entry 1221 | } 1222 | 1223 | FUNCTION {default.type} { misc } 1224 | READ 1225 | FUNCTION {sortify} 1226 | { purify$ 1227 | "l" change.case$ 1228 | } 1229 | INTEGERS { len } 1230 | FUNCTION {chop.word} 1231 | { 's := 1232 | 'len := 1233 | s #1 len substring$ = 1234 | { s len #1 + global.max$ substring$ } 1235 | 's 1236 | if$ 1237 | } 1238 | FUNCTION {format.lab.names} 1239 | { 's := 1240 | "" 't := 1241 | s #1 "{vv~}{ll}" format.name$ 1242 | s num.names$ duplicate$ 1243 | #2 > 1244 | { pop$ 1245 | " " * bbl.etal * 1246 | } 1247 | { #2 < 1248 | 'skip$ 1249 | { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = 1250 | { 1251 | " " * bbl.etal * 1252 | } 1253 | { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ 1254 | * } 1255 | if$ 1256 | } 1257 | if$ 1258 | } 1259 | if$ 1260 | } 1261 | 1262 | FUNCTION {author.key.label} 1263 | { author empty$ 1264 | { key empty$ 1265 | { cite$ #1 #3 substring$ } 1266 | 'key 1267 | if$ 1268 | } 1269 | { author format.lab.names } 1270 | if$ 1271 | } 1272 | 1273 | FUNCTION {author.editor.key.label} 1274 | { author empty$ 1275 | { editor empty$ 1276 | { key empty$ 1277 | { cite$ #1 #3 substring$ } 1278 | 'key 1279 | if$ 1280 | } 1281 | { editor format.lab.names } 1282 | if$ 1283 | } 1284 | { author format.lab.names } 1285 | if$ 1286 | } 1287 | 1288 | FUNCTION {editor.key.label} 1289 | { editor empty$ 1290 | { key empty$ 1291 | { cite$ #1 #3 substring$ } 1292 | 'key 1293 | if$ 1294 | } 1295 | { editor format.lab.names } 1296 | if$ 1297 | } 1298 | 1299 | FUNCTION {calc.short.authors} 1300 | { type$ "book" = 1301 | type$ "inbook" = 1302 | or 1303 | 'author.editor.key.label 1304 | { type$ "proceedings" = 1305 | 'editor.key.label 1306 | 'author.key.label 1307 | if$ 1308 | } 1309 | if$ 1310 | 'short.list := 1311 | } 1312 | 1313 | FUNCTION {calc.label} 1314 | { calc.short.authors 1315 | short.list 1316 | "(" 1317 | * 1318 | year duplicate$ empty$ 1319 | short.list key field.or.null = or 1320 | { pop$ "" } 1321 | 'skip$ 1322 | if$ 1323 | * 1324 | 'label := 1325 | } 1326 | 1327 | FUNCTION {sort.format.names} 1328 | { 's := 1329 | #1 'nameptr := 1330 | "" 1331 | s num.names$ 'numnames := 1332 | numnames 'namesleft := 1333 | { namesleft #0 > } 1334 | { s nameptr 1335 | "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" 1336 | format.name$ 't := 1337 | nameptr #1 > 1338 | { 1339 | " " * 1340 | namesleft #1 = t "others" = and 1341 | { "zzzzz" * } 1342 | { t sortify * } 1343 | if$ 1344 | } 1345 | { t sortify * } 1346 | if$ 1347 | nameptr #1 + 'nameptr := 1348 | namesleft #1 - 'namesleft := 1349 | } 1350 | while$ 1351 | } 1352 | 1353 | FUNCTION {sort.format.title} 1354 | { 't := 1355 | "A " #2 1356 | "An " #3 1357 | "The " #4 t chop.word 1358 | chop.word 1359 | chop.word 1360 | sortify 1361 | #1 global.max$ substring$ 1362 | } 1363 | FUNCTION {author.sort} 1364 | { author empty$ 1365 | { key empty$ 1366 | { "to sort, need author or key in " cite$ * warning$ 1367 | "" 1368 | } 1369 | { key sortify } 1370 | if$ 1371 | } 1372 | { author sort.format.names } 1373 | if$ 1374 | } 1375 | FUNCTION {author.editor.sort} 1376 | { author empty$ 1377 | { editor empty$ 1378 | { key empty$ 1379 | { "to sort, need author, editor, or key in " cite$ * warning$ 1380 | "" 1381 | } 1382 | { key sortify } 1383 | if$ 1384 | } 1385 | { editor sort.format.names } 1386 | if$ 1387 | } 1388 | { author sort.format.names } 1389 | if$ 1390 | } 1391 | FUNCTION {editor.sort} 1392 | { editor empty$ 1393 | { key empty$ 1394 | { "to sort, need editor or key in " cite$ * warning$ 1395 | "" 1396 | } 1397 | { key sortify } 1398 | if$ 1399 | } 1400 | { editor sort.format.names } 1401 | if$ 1402 | } 1403 | FUNCTION {presort} 1404 | { calc.label 1405 | label sortify 1406 | " " 1407 | * 1408 | type$ "book" = 1409 | type$ "inbook" = 1410 | or 1411 | 'author.editor.sort 1412 | { type$ "proceedings" = 1413 | 'editor.sort 1414 | 'author.sort 1415 | if$ 1416 | } 1417 | if$ 1418 | #1 entry.max$ substring$ 1419 | 'sort.label := 1420 | sort.label 1421 | * 1422 | " " 1423 | * 1424 | title field.or.null 1425 | sort.format.title 1426 | * 1427 | #1 entry.max$ substring$ 1428 | 'sort.key$ := 1429 | } 1430 | 1431 | ITERATE {presort} 1432 | SORT 1433 | STRINGS { last.label next.extra } 1434 | INTEGERS { last.extra.num number.label } 1435 | FUNCTION {initialize.extra.label.stuff} 1436 | { #0 int.to.chr$ 'last.label := 1437 | "" 'next.extra := 1438 | #0 'last.extra.num := 1439 | #0 'number.label := 1440 | } 1441 | FUNCTION {forward.pass} 1442 | { last.label label = 1443 | { last.extra.num #1 + 'last.extra.num := 1444 | last.extra.num int.to.chr$ 'extra.label := 1445 | } 1446 | { "a" chr.to.int$ 'last.extra.num := 1447 | "" 'extra.label := 1448 | label 'last.label := 1449 | } 1450 | if$ 1451 | number.label #1 + 'number.label := 1452 | } 1453 | FUNCTION {reverse.pass} 1454 | { next.extra "b" = 1455 | { "a" 'extra.label := } 1456 | 'skip$ 1457 | if$ 1458 | extra.label 'next.extra := 1459 | extra.label 1460 | duplicate$ empty$ 1461 | 'skip$ 1462 | { "{\natexlab{" swap$ * "}}" * } 1463 | if$ 1464 | 'extra.label := 1465 | label extra.label * 'label := 1466 | } 1467 | EXECUTE {initialize.extra.label.stuff} 1468 | ITERATE {forward.pass} 1469 | REVERSE {reverse.pass} 1470 | FUNCTION {bib.sort.order} 1471 | { sort.label 1472 | " " 1473 | * 1474 | year field.or.null sortify 1475 | * 1476 | " " 1477 | * 1478 | title field.or.null 1479 | sort.format.title 1480 | * 1481 | #1 entry.max$ substring$ 1482 | 'sort.key$ := 1483 | } 1484 | ITERATE {bib.sort.order} 1485 | SORT 1486 | FUNCTION {begin.bib} 1487 | { preamble$ empty$ 1488 | 'skip$ 1489 | { preamble$ write$ newline$ } 1490 | if$ 1491 | "\begin{thebibliography}{" number.label int.to.str$ * "}" * 1492 | write$ newline$ 1493 | "\providecommand{\natexlab}[1]{#1}" 1494 | write$ newline$ 1495 | "\providecommand{\selectlanguage}[1]{\relax}" 1496 | write$ newline$ 1497 | "\providecommand{\bibAnnoteFile}[1]{%" 1498 | write$ newline$ 1499 | " \IfFileExists{#1}{\begin{quotation}\noindent\textsc{Key:} #1\\" 1500 | write$ newline$ 1501 | " \textsc{Annotation:}\ \input{#1}\end{quotation}}{}}" 1502 | write$ newline$ 1503 | "\providecommand{\bibAnnote}[2]{%" 1504 | write$ newline$ 1505 | " \begin{quotation}\noindent\textsc{Key:} #1\\" 1506 | write$ newline$ 1507 | " \textsc{Annotation:}\ #2\end{quotation}}" 1508 | write$ newline$ 1509 | } 1510 | EXECUTE {begin.bib} 1511 | EXECUTE {init.state.consts} 1512 | ITERATE {call.type$} 1513 | FUNCTION {end.bib} 1514 | { newline$ 1515 | "\end{thebibliography}" write$ newline$ 1516 | } 1517 | EXECUTE {end.bib} 1518 | %% End of customized bst file 1519 | %% 1520 | %% End of file `sysbio.bst'. -------------------------------------------------------------------------------- /tutorials/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /tutorials/R_Overleaf_Integration.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jessicarick/resources/0af9d4b38b3a6d10a1439e2e4b6a412d3573fa30/tutorials/R_Overleaf_Integration.pdf -------------------------------------------------------------------------------- /tutorials/latex-rmd.sty: -------------------------------------------------------------------------------- 1 | \ProvidesPackage{latex-rmd} 2 | 3 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 4 | %%% settings for incorporating Rmarkdown %%% 5 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 6 | \usepackage{lmodern} 7 | \usepackage{amssymb,amsmath} 8 | \usepackage{ifxetex,ifluatex} 9 | \usepackage{fixltx2e} % provides \textsubscript 10 | % use upquote if available, for straight quotes in verbatim environments 11 | \IfFileExists{upquote.sty}{\usepackage{upquote}}{} 12 | % use microtype if available 13 | \IfFileExists{microtype.sty}{% 14 | \usepackage{microtype} 15 | \UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts 16 | }{} 17 | \usepackage[margin=1in]{geometry} 18 | \usepackage{hyperref} 19 | \hypersetup{unicode=true, 20 | pdftitle={Prospectus R Things}, 21 | pdfborder={0 0 0}, 22 | breaklinks=true} 23 | \urlstyle{same} % don't use monospace font for urls 24 | \usepackage{color} 25 | \usepackage{fancyvrb} 26 | \newcommand{\VerbBar}{|} 27 | \newcommand{\VERB}{\Verb[commandchars=\\\{\}]} 28 | \DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\{\},fontsize=\small} 29 | % Add ',fontsize=\small' for more characters per line 30 | \usepackage{framed} 31 | \definecolor{shadecolor}{RGB}{248,248,248} 32 | \newenvironment{Shaded}{\begin{snugshade}}{\end{snugshade}} 33 | \newcommand{\KeywordTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{\textbf{{#1}}}} 34 | \newcommand{\DataTypeTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{{#1}}} 35 | \newcommand{\DecValTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{{#1}}} 36 | \newcommand{\BaseNTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{{#1}}} 37 | \newcommand{\FloatTok}[1]{\textcolor[rgb]{0.00,0.00,0.81}{{#1}}} 38 | \newcommand{\ConstantTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{{#1}}} 39 | \newcommand{\CharTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{{#1}}} 40 | \newcommand{\SpecialCharTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{{#1}}} 41 | \newcommand{\StringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{{#1}}} 42 | \newcommand{\VerbatimStringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{{#1}}} 43 | \newcommand{\SpecialStringTok}[1]{\textcolor[rgb]{0.31,0.60,0.02}{{#1}}} 44 | \newcommand{\ImportTok}[1]{{#1}} 45 | \newcommand{\CommentTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textit{{#1}}}} 46 | \newcommand{\DocumentationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{{#1}}}}} 47 | \newcommand{\AnnotationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{{#1}}}}} 48 | \newcommand{\CommentVarTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{{#1}}}}} 49 | \newcommand{\OtherTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{{#1}}} 50 | \newcommand{\FunctionTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{{#1}}} 51 | \newcommand{\VariableTok}[1]{\textcolor[rgb]{0.00,0.00,0.00}{{#1}}} 52 | \newcommand{\ControlFlowTok}[1]{\textcolor[rgb]{0.13,0.29,0.53}{\textbf{{#1}}}} 53 | \newcommand{\OperatorTok}[1]{\textcolor[rgb]{0.81,0.36,0.00}{\textbf{{#1}}}} 54 | \newcommand{\BuiltInTok}[1]{{#1}} 55 | \newcommand{\ExtensionTok}[1]{{#1}} 56 | \newcommand{\PreprocessorTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textit{{#1}}}} 57 | \newcommand{\AttributeTok}[1]{\textcolor[rgb]{0.77,0.63,0.00}{{#1}}} 58 | \newcommand{\RegionMarkerTok}[1]{{#1}} 59 | \newcommand{\InformationTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{{#1}}}}} 60 | \newcommand{\WarningTok}[1]{\textcolor[rgb]{0.56,0.35,0.01}{\textbf{\textit{{#1}}}}} 61 | \newcommand{\AlertTok}[1]{\textcolor[rgb]{0.94,0.16,0.16}{{#1}}} 62 | \newcommand{\ErrorTok}[1]{\textcolor[rgb]{0.64,0.00,0.00}{\textbf{{#1}}}} 63 | \newcommand{\NormalTok}[1]{{#1}} 64 | \usepackage{graphicx,grffile} 65 | \makeatletter 66 | \def\maxwidth{\ifdim\Gin@nat@width>\linewidth\linewidth\else\Gin@nat@width\fi} 67 | \def\maxheight{\ifdim\Gin@nat@height>\textheight\textheight\else\Gin@nat@height\fi} 68 | \makeatother 69 | % Scale images if necessary, so that they will not overflow the page 70 | % margins by default, and it is still possible to overwrite the defaults 71 | % using explicit options in \includegraphics[width, height, ...]{} 72 | \setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio} 73 | \IfFileExists{parskip.sty}{% 74 | \usepackage{parskip} 75 | }{% else 76 | \setlength{\parindent}{0pt} 77 | \setlength{\parskip}{6pt plus 2pt minus 1pt} 78 | } 79 | \setlength{\emergencystretch}{3em} % prevent overfull lines 80 | \providecommand{\tightlist}{% 81 | \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} 82 | \setcounter{secnumdepth}{0} 83 | % Redefines (sub)paragraphs to behave more like sections 84 | \ifx\paragraph\undefined\else 85 | \let\oldparagraph\paragraph 86 | \renewcommand{\paragraph}[1]{\oldparagraph{#1}\mbox{}} 87 | \fi 88 | \ifx\subparagraph\undefined\else 89 | \let\oldsubparagraph\subparagraph 90 | \renewcommand{\subparagraph}[1]{\oldsubparagraph{#1}\mbox{}} 91 | \fi 92 | 93 | %%% Use protect on footnotes to avoid problems with footnotes in titles 94 | \let\rmarkdownfootnote\footnote% 95 | \def\footnote{\protect\rmarkdownfootnote} 96 | -------------------------------------------------------------------------------- /tutorials/remove_missing_phy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | ################################################################ 4 | ## Small shell script written by Jessi Rick (http://github.com/jessicarick) 5 | ## to remove individuals with large amounts of missing data from 6 | ## alignments prior to phylogenetic analysis (e.g., in RAxML, which 7 | ## will throw an error if any individuals have all missing data) 8 | ## 9 | ## Script written October 2022 10 | ################################################################ 11 | 12 | 13 | ######### script usage ########################################## 14 | ## 15 | ## bash remove_missing_phy.sh infile.phy 90 16 | ## 17 | ## where infile.phy is the phylip file to analyze 18 | ## and 90 is the proportion of missing data *allowed* 19 | ## (i.e., individuals are allowed to have 90% or less 20 | ## of their sites missing). To allow everything except 21 | ## individuals with 100% missing data, this number 22 | ## should be 100. This will produce a file with the extension 23 | ## '.reduced.phy' whether individuals are removed or not. 24 | ## 25 | ################################################################ 26 | 27 | phy=$1 28 | prop=$2 29 | base=`echo $phy | sed 's/\.phy//g'` 30 | 31 | nind=$(head -n 1 $phy | cut -f 1 -d' ') 32 | nsites=$(head -n 1 $phy | cut -f 2 -d' ') 33 | nallowed=$(( nsites * prop / 100 )) 34 | 35 | echo "working with phylip with $nind individuals and $nsites sites" 36 | 37 | rm -f tmp.rmv 38 | 39 | # count number of N per line 40 | i=2 41 | n=0 42 | tail -n +2 $phy | cut -f 2 | awk -F'N' '{print NF-1}' | while read nN; do 43 | if [[ nN -ge nallowed ]]; then 44 | if [[ n -eq 0 ]]; then 45 | echo "${i}d" > tmp.rmv 46 | else 47 | echo ";${i}d" >> tmp.rmv 48 | fi 49 | 50 | i=$((i+1)) 51 | n=$((n+1)) 52 | else 53 | i=$((i+1)) 54 | fi 55 | done 56 | 57 | # count individuals to be deleted 58 | ndelete=`cat tmp.rmv | wc -l` 59 | 60 | # if one or more to delete, delete those individuals and write a new file 61 | if [[ ndelete -ge 1 ]]; then 62 | delete=`cat tmp.rmv | tr -d '\n'` 63 | ndelete=`cat tmp.rmv | wc -l` 64 | new_nind=$((nind - ndelete)) 65 | 66 | echo "removing $ndelete individuals that are completely missing" 67 | echo "$new_nind $nsites" > ${base}.reduced.phy 68 | sed -e $delete $phy | tail -n +2 >> ${base}.reduced.phy 69 | else 70 | echo "no individuals to remove" 71 | cp $phy ${base}.reduced.phy 72 | fi 73 | -------------------------------------------------------------------------------- /tutorials/trimtex.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # USAGE: 3 | # chmod +x trimtex.sh (do this only once) 4 | # ./trimtex.sh insertfilename.tex 5 | 6 | # delete all lines up to the line '\maketitle' 7 | # CHANGE THIS PATTERN TO MATCH THE .tex FILES GENERATED BY RSTUDIO 8 | sed -i.backup '/\\maketitle/,$!d' $1 9 | 10 | # delete the '\maketitle' line 11 | sed -i.backup '/\\maketitle/d' $1 12 | 13 | # delete the line containing '\end{document}' 14 | sed -i.backup '/\end{document}/,$d' $1 15 | 16 | # remove the .backup files created in the process 17 | rm -f *.backup 18 | --------------------------------------------------------------------------------