From 7fd0af05450ce93ba5c4182986fe992ac6e1db67 Mon Sep 17 00:00:00 2001 From: Simmo Saan Date: Sun, 25 Dec 2022 21:03:26 +0200 Subject: [PATCH] Improve bib layout for thesis (#920) --- _layouts/bib.html | 187 +++++++++++++++++++++++----------------------- 1 file changed, 95 insertions(+), 92 deletions(-) diff --git a/_layouts/bib.html b/_layouts/bib.html index 61da4b6a66ff..acbd98087f99 100644 --- a/_layouts/bib.html +++ b/_layouts/bib.html @@ -24,108 +24,111 @@
- {% if entry.type == "thesis" -%} - {{reference}} - {%- else %} - -
{{entry.title}}
- -
- {% assign author_array_size = entry.author_array | size %} + +
{{entry.title}}
+ +
+ {% assign author_array_size = entry.author_array | size %} - {% assign author_array_limit = author_array_size %} - {%- if site.max_author_limit and author_array_size > site.max_author_limit %} - {% assign author_array_limit = site.max_author_limit %} - {% endif %} + {% assign author_array_limit = author_array_size %} + {%- if site.max_author_limit and author_array_size > site.max_author_limit %} + {% assign author_array_limit = site.max_author_limit %} + {% endif %} - {%- for author in entry.author_array limit: author_array_limit -%} - {%- assign author_is_self = false -%} - {%- assign author_last_name = author.last | remove: "¶" | remove: "&" | remove: "*" | remove: "†" | remove: "^" -%} - {%- if site.scholar.last_name contains author_last_name -%} - {%- if site.scholar.first_name contains author.first -%} - {%- assign author_is_self = true -%} - {%- endif -%} - {%- endif -%} - {%- assign coauthor_url = nil -%} - {%- if site.data.coauthors[author_last_name] -%} - {%- for coauthor in site.data.coauthors[author_last_name] -%} - {%- if coauthor.firstname contains author.first -%} - {%- assign coauthor_url = coauthor.url -%} - {%- break -%} - {%- endif -%} - {%- endfor -%} + {%- for author in entry.author_array limit: author_array_limit -%} + {%- assign author_is_self = false -%} + {%- assign author_last_name = author.last | remove: "¶" | remove: "&" | remove: "*" | remove: "†" | remove: "^" -%} + {%- if site.scholar.last_name contains author_last_name -%} + {%- if site.scholar.first_name contains author.first -%} + {%- assign author_is_self = true -%} {%- endif -%} - - {%- if forloop.length > 1 -%} - {%- if forloop.first == false -%}, {%- endif -%} - {%- if forloop.last and author_array_limit == author_array_size -%}and {%- endif -%} - {%- endif -%} - {%- if author_is_self -%} - {{author.first}} {{author.last}} - {%- else -%} - {%- if coauthor_url -%} - {{author.first}} {{author.last}} - {%- else -%} - {{author.first}} {{author.last}} + {%- endif -%} + {%- assign coauthor_url = nil -%} + {%- if site.data.coauthors[author_last_name] -%} + {%- for coauthor in site.data.coauthors[author_last_name] -%} + {%- if coauthor.firstname contains author.first -%} + {%- assign coauthor_url = coauthor.url -%} + {%- break -%} {%- endif -%} - {%- endif -%} - {%- endfor -%} - {%- assign more_authors = author_array_size | minus: author_array_limit -%} - - {%- assign more_authors_hide = more_authors | append: " more author" -%} - {%- if more_authors > 0 -%} - {%- if more_authors > 1 -%} - {%- assign more_authors_hide = more_authors_hide | append: "s" -%} - {%- endif -%} - {%- assign more_authors_show = '' -%} - {%- for author in entry.author_array offset: author_array_limit -%} - {%- assign more_authors_show = more_authors_show | append: author.first | append: " " | append: author.last -%} - {%- unless forloop.last -%} - {%- assign more_authors_show = more_authors_show | append: ", " -%} - {%- endunless -%} {%- endfor -%} - , and - {{more_authors_hide}} {%- endif -%} -
- - - {% assign proceedings = "inproceedings, incollection" | split: ','%} - {% if entry.type == "article" -%} - {%- capture entrytype -%}{{entry.journal}}{%- endcapture -%} - {%- elsif proceedings contains entry.type -%} - {%- capture entrytype -%}In {{entry.booktitle}} {%- endcapture -%} - {%- else -%} - {%- capture entrytype -%}{%- endcapture -%} + {%- if forloop.length > 1 -%} + {%- if forloop.first == false -%}, {%- endif -%} + {%- if forloop.last and author_array_limit == author_array_size -%}and {%- endif -%} {%- endif -%} - {%- if entry.month -%} - {%- capture entrymonth -%}{{ " " }}{{ entry.month | capitalize }}{%- endcapture -%} + {%- if author_is_self -%} + {{author.first}} {{author.last}} + {%- else -%} + {%- if coauthor_url -%} + {{author.first}} {{author.last}} + {%- else -%} + {{author.first}} {{author.last}} + {%- endif -%} {%- endif -%} - {%- if entry.year -%} - {%- capture entryyear -%}{{ " " }}{{entry.year}}{%- endcapture -%} + {%- endfor -%} + {%- assign more_authors = author_array_size | minus: author_array_limit -%} + + {%- assign more_authors_hide = more_authors | append: " more author" -%} + {%- if more_authors > 0 -%} + {%- if more_authors > 1 -%} + {%- assign more_authors_hide = more_authors_hide | append: "s" -%} {%- endif -%} - {%- capture periodical -%}{{ entrytype }}{{ entrymonth }}{{ entryyear }}{%- endcapture -%} -
- {{ periodical | strip }} -
- {%- endif %} - + {%- assign more_authors_show = '' -%} + {%- for author in entry.author_array offset: author_array_limit -%} + {%- assign more_authors_show = more_authors_show | append: author.first | append: " " | append: author.last -%} + {%- unless forloop.last -%} + {%- assign more_authors_show = more_authors_show | append: ", " -%} + {%- endunless -%} + {%- endfor -%} + , and + {{more_authors_hide}} + {%- endif -%} + +
+ + + {% assign proceedings = "inproceedings,incollection" | split: ','%} + {% assign thesis = "thesis,mastersthesis,phdthesis" | split: ','%} + {% if entry.type == "article" -%} + {%- capture entrytype -%}{{entry.journal}}{%- endcapture -%} + {%- elsif proceedings contains entry.type -%} + {%- capture entrytype -%}In {{entry.booktitle}} {%- endcapture -%} + {%- elsif thesis contains entry.type -%} + {%- capture entrytype -%}{{entry.school}} {%- endcapture -%} + {%- else -%} + {%- capture entrytype -%}{%- endcapture -%} + {%- endif -%} + {%- if entry.month -%} + {%- capture entrymonth -%}{{ " " }}{{ entry.month | capitalize }}{%- endcapture -%} + {%- endif -%} + {%- if entry.year -%} + {%- capture entryyear -%}{{ " " }}{{entry.year}}{%- endcapture -%} + {%- endif -%} + {% assign entrytype_text = entrytype | strip_html | strip %} + {%- capture periodical -%}{{ entrytype }}{%- if entrytype_text != "" and entryyear != "" -%}, {%- endif -%}{{ entrymonth }}{{ entryyear }}{%- endcapture -%} +
+ {{ periodical | strip }} +
+
+ {{ entry.note | strip }} +
+