Skip to content

Commit d187a5d

Browse files
committed
Added support for Bibtex
1 parent 4bd64e9 commit d187a5d

5 files changed

Lines changed: 90 additions & 3 deletions

File tree

_data/people.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@
158158
surname: Verzelli
159159
group: alumni
160160
period: 2017-2022
161-
now: Post-doc Researcher at Johannes Gutenberg University Mainz
161+
now: Post-doc Researcher at University Hospital Bonn (UKB)
162162
description: Ph.D., relationships between dynamical systems and machine learning.
163163
links:
164164
website: https://verzep.github.io/

_data/publications.yaml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
- title: 'Graph-based Virtual Sensing from Sparse and Partial Multivariate Observations'
33
links:
44
paper: https://arxiv.org/abs/2402.12598
5-
code: https://github.com/gdefe
5+
code: https://github.com/gdefe/ggnet-virtual-sensing
66
venue: International Conference on Learning Representations
77
year: 2024
88
authors:
@@ -158,6 +158,16 @@
158158
- forecasting
159159
- embeddings
160160
abstract: Spatiotemporal graph neural networks have shown to be effective in time series forecasting applications, achieving better performance than standard univariate predictors in several settings. These architectures take advantage of a graph structure and relational inductive biases to learn a single (global) inductive model to predict any number of the input time series, each associated with a graph node. Despite the gain achieved in computational and data efficiency w.r.t. fitting a set of local models, relying on a single global model can be a limitation whenever some of the time series are generated by a different spatiotemporal stochastic process. The main objective of this paper is to understand the interplay between globality and locality in graph-based spatiotemporal forecasting, while contextually proposing a methodological framework to rationalize the practice of including trainable node embeddings in such architectures. We ascribe to trainable node embeddings the role of amortizing the learning of specialized components. Moreover, embeddings allow for 1) effectively combining the advantages of shared message-passing layers with node-specific parameters and 2) efficiently transferring the learned model to new node sets. Supported by strong empirical evidence, we provide insights and guidelines for specializing graph-based models to the dynamics of each time series and show how this aspect plays a crucial role in obtaining accurate predictions.
161+
bibtex: >
162+
@inproceedings{cini2023taming,
163+
author = {Cini, Andrea and Marisca, Ivan and Zambon, Daniele and Alippi, Cesare},
164+
booktitle = {Advances in Neural Information Processing Systems},
165+
pages = {55375--55393},
166+
publisher = {Curran Associates, Inc.},
167+
title = {Taming Local Effects in Graph-based Spatiotemporal Forecasting},
168+
volume = {36},
169+
year = {2023}
170+
}
161171
- title: Where and How to Improve Graph-based Spatio-Temporal Predictors
162172
links:
163173
paper: https://arxiv.org/abs/2302.01701

_includes/publication_item.html

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@
4040
{% if publication.links.doi %}
4141
<a class="text-primary" href="{{publication.links.doi}}" target="_blank">DOI</a>
4242
{% endif %}
43+
{% if publication.bibtex %}
44+
<a class="text-primary" role="button" data-bs-toggle="modal" data-bs-target="#{{pub_id}}-bibtex" aria-expanded="false" aria-controls="{{pub_id}}-bibtex">Bibtex</a>
45+
{% endif %}
4346
</div>
4447
{% if publication.keywords %}
4548
<div class="publication-item-keywords">
@@ -62,4 +65,19 @@ <h5 id="{{pub_id}}-label">{{publication.title | strip}}</h5>
6265
</div>
6366
</div>
6467
{% endif %}
68+
{% if publication.bibtex %}
69+
<div class="modal fade" tabindex="-1" id="{{pub_id}}-bibtex" aria-labelledby="{{pub_id}}-bibtex-label" aria-hidden="true">
70+
<div class="modal-dialog">
71+
<div class="modal-content">
72+
<div class="modal-header">
73+
<h5 class="modal-title">Bibtex citation</h5>
74+
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
75+
</div>
76+
<div class="modal-body">
77+
<pre class="language-latex"><code>{{publication.bibtex | strip}}</code></pre>
78+
</div>
79+
</div>
80+
</div>
81+
</div>
82+
{% endif %}
6583
</div>

_sass/_main.scss

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,4 +324,29 @@ ol li {
324324
.dropdown-menu {
325325
max-height: 400px;
326326
overflow-y: scroll;
327-
}
327+
}
328+
329+
/* CODE */
330+
331+
pre[class*="language-"] {
332+
position: relative;
333+
overflow: auto;
334+
background-color: darken(white, 5);
335+
padding: 1.75rem 0 1.75rem 1rem;
336+
border-radius: 10px;
337+
}
338+
339+
pre[class*="language-"] button {
340+
position: absolute;
341+
top: 5px;
342+
right: 5px;
343+
font-size: 0.9rem;
344+
border: ridge 1px #7b7b7c;
345+
border-radius: 5px;
346+
text-shadow: #c4c4c4 0 0 2px;
347+
}
348+
349+
pre[class*="language-"] button:hover {
350+
cursor: pointer;
351+
background-color: darken(white, 10);
352+
}

assets/js/scripts.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,38 @@ window.addEventListener('DOMContentLoaded', event => {
1818
});
1919
});
2020

21+
// Add copy button to code blocks
22+
const copyButtonLabel = "Copy";
23+
24+
// use a class selector if available
25+
let blocks = document.querySelectorAll("pre");
26+
27+
blocks.forEach((block) => {
28+
// only add button if browser supports Clipboard API
29+
if (navigator.clipboard) {
30+
let button = document.createElement("button");
31+
32+
button.innerText = copyButtonLabel;
33+
block.appendChild(button);
34+
35+
button.addEventListener("click", async () => {
36+
await copyCode(block, button);
37+
});
38+
}
39+
});
40+
41+
async function copyCode(block, button) {
42+
let code = block.querySelector("code");
43+
let text = code.innerText;
44+
45+
await navigator.clipboard.writeText(text);
46+
47+
// visual feedback that task is completed
48+
button.innerText = "Copied";
49+
50+
setTimeout(() => {
51+
button.innerText = copyButtonLabel;
52+
}, 1000);
53+
}
54+
2155
});

0 commit comments

Comments
 (0)