diff --git a/README.md b/README.md
index 27aec47..b260322 100644
--- a/README.md
+++ b/README.md
@@ -113,7 +113,7 @@ If you use `easyunfold` in your work, please cite:
We'll add papers that use `easyunfold` to this list as they come out!
- K. Eggestad, B. A. D. Williamson, D. Meier and S. M. Selbach **_Mobile Intrinsic Point Defects for Conductive Neutral Domain Walls in LiNbO3_** [_Journal of Materials Chemistry C_](https://doi.org/10.1039/D4TC02856B) 2024
-- L. Zhang et al. **_Study of native point defects in Al0.5Ga0.5N by first principles calculations_** [_Computaional Materials Science_](https://doi.org/10.1016/j.commatsci.2024.113312) 2024
+- L. Zhang et al. **_Study of native point defects in Al0.5Ga0.5N by first principles calculations_** [_Computational Materials Science_](https://doi.org/10.1016/j.commatsci.2024.113312) 2024
- Dargahi et al. **_Synthesis and characterization of zinc-doped hematite nanoparticles for photocatalytic applications and their electronic structure studies by density functional theory_** [_Optical Materials_](https://doi.org/10.1016/j.optmat.2024.116234) 2024
- S. M. Liga & S. R. Kavanagh, A. Walsh, D. O. Scanlon and G. Konstantatos **_Mixed-Cation Vacancy-Ordered Perovskites (Cs2Ti1–xSnxX6; X = I or Br): Low-Temperature Miscibility, Additivity, and Tunable Stability_** [_Journal of Physical Chemistry C_](https://doi.org/10.1021/acs.jpcc.3c05204) 2023
- Y. T. Huang & S. R. Kavanagh et al. **_Strong absorption and ultrafast localisation in NaBiS2 nanocrystals with slow charge-carrier recombination_** [_Nature Communications_](https://www.nature.com/articles/s41467-022-32669-3) 2022
diff --git a/docs/index.md b/docs/index.md
index 622ea5f..8a2088f 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -64,7 +64,7 @@ If you use `easyunfold` in your work, please cite:
We'll add papers that use `easyunfold` to this list as they come out!
- K. Eggestad, B. A. D. Williamson, D. Meier and S. M. Selbach **_Mobile Intrinsic Point Defects for Conductive Neutral Domain Walls in LiNbO3_** [_Journal of Materials Chemistry C_](https://doi.org/10.1039/D4TC02856B) 2024
-- L. Zhang et al. **_Study of native point defects in Al0.5Ga0.5N by first principles calculations_** [_Computaional Materials Science_](https://doi.org/10.1016/j.commatsci.2024.113312) 2024
+- L. Zhang et al. **_Study of native point defects in Al0.5Ga0.5N by first principles calculations_** [_Computational Materials Science_](https://doi.org/10.1016/j.commatsci.2024.113312) 2024
- Dargahi et al. **_Synthesis and characterization of zinc-doped hematite nanoparticles for photocatalytic applications and their electronic structure studies by density functional theory_** [_Optical Materials_](https://doi.org/10.1016/j.optmat.2024.116234) 2024
- S. M. Liga & S. R. Kavanagh, A. Walsh, D. O. Scanlon and G. Konstantatos **_Mixed-Cation Vacancy-Ordered Perovskites (Cs2Ti1–xSnxX6; X = I or Br): Low-Temperature Miscibility, Additivity, and Tunable Stability_** [_Journal of Physical Chemistry C_](https://doi.org/10.1021/acs.jpcc.3c05204) 2023
- Y. T. Huang & S. R. Kavanagh et al. **_Strong absorption and ultrafast localisation in NaBiS2 nanocrystals with slow charge-carrier recombination_** [_Nature Communications_](https://www.nature.com/articles/s41467-022-32669-3) 2022
diff --git a/easyunfold/__init__.py b/easyunfold/__init__.py
index 64637c2..add4e56 100644
--- a/easyunfold/__init__.py
+++ b/easyunfold/__init__.py
@@ -2,4 +2,4 @@
Collection of code for band unfolding
"""
-__version__ = '0.3.6'
+__version__ = '0.3.7'
diff --git a/easyunfold/plotting.py b/easyunfold/plotting.py
index 1c2817a..93c1f0b 100644
--- a/easyunfold/plotting.py
+++ b/easyunfold/plotting.py
@@ -372,7 +372,7 @@ def _plot_spectral_function_rgba(
def _add_kpoint_labels(self, ax: plt.Axes, x_is_kidx=False):
"""Add labels to the k-points for a given axes"""
# Label the kpoints
- labels = self.unfold.kpoint_labels
+ labels = self.unfold.get_combined_kpoint_labels()
kdist = self.unfold.get_kpoint_distances()
# Explicit label indices
diff --git a/easyunfold/unfold.py b/easyunfold/unfold.py
index eb24db8..9adf79a 100644
--- a/easyunfold/unfold.py
+++ b/easyunfold/unfold.py
@@ -615,22 +615,49 @@ def as_dict(self) -> dict:
output[key] = getattr(self, key)
return output
- def get_kpoint_distances(self):
+ def get_kpoint_distances(self, hide_discontinuities: bool = True):
"""
Distances between the kpoints along the path in the reciprocal space.
This does not take account of the breaking of the path.
+
+ :param hide_discontinuities: Whether to hide the discontinuities in the kpoint path.
+
:::{note}
The reciprocal lattice vectors includes the $2\\pi$ factor, e.g. `np.linalg.inv(L).T * 2 * np.pi`.
:::
"""
+ # Check for
kpts = self.kpts_pc
pc_latt = self.pc_latt
kpts_path = kpts @ np.linalg.inv(pc_latt).T * np.pi * 2 # Kpoint path in the reciprocal space
dists = np.cumsum(np.linalg.norm(np.diff(kpts_path, axis=0), axis=-1))
dists = np.append([0], dists)
+ if hide_discontinuities:
+ last_idx = -2
+ for idx, _ in self.kpoint_labels:
+ if idx - last_idx == 1:
+ # This label is directly adjacent to the previous one - this is a discontinuity
+ shift = dists[idx] - dists[idx - 1]
+ # Shift the distances beyond
+ dists[idx:] -= shift
+ last_idx = idx
+
return dists
+ def get_combined_kpoint_labels(self):
+ """Get kpoints label with discontinuities combined into a single label"""
+ last_entry = [-2, None]
+ comnbined_labels = []
+ for idx, name in self.kpoint_labels:
+ if idx - last_entry[0] == 1:
+ comnbined_labels.append([last_entry[0], last_entry[1] + '|' + name])
+ else:
+ comnbined_labels.append([idx, name])
+ last_entry = [idx, name]
+
+ return comnbined_labels
+
def LorentzSmearing(x, x0, sigma=0.02):
r"""