diff --git a/assets/controllers/pages/latex_preview_controller.js b/assets/controllers/pages/latex_preview_controller.js
index 6113393a..7f1e611c 100644
--- a/assets/controllers/pages/latex_preview_controller.js
+++ b/assets/controllers/pages/latex_preview_controller.js
@@ -33,7 +33,10 @@ export default class extends Controller {
{
let value = "";
if (this.unitValue) {
- value = "\\mathrm{" + this.inputTarget.value + "}";
+ //Escape percentage signs
+ value = this.inputTarget.value.replace(/%/g, '\\%');
+
+ value = "\\mathrm{" + value + "}";
} else {
value = this.inputTarget.value;
}
diff --git a/assets/controllers/pages/parameters_autocomplete_controller.js b/assets/controllers/pages/parameters_autocomplete_controller.js
index cd82875a..e187aa42 100644
--- a/assets/controllers/pages/parameters_autocomplete_controller.js
+++ b/assets/controllers/pages/parameters_autocomplete_controller.js
@@ -85,7 +85,9 @@ export default class extends Controller
tmp += '' + katex.renderToString(data.symbol) + ''
}
if (data.unit) {
- tmp += '' + katex.renderToString('[' + data.unit + ']') + ''
+ let unit = data.unit.replace(/%/g, '\\%');
+ unit = "\\mathrm{" + unit + "}";
+ tmp += '' + katex.renderToString('[' + unit + ']') + ''
}
diff --git a/src/Entity/Parameters/AbstractParameter.php b/src/Entity/Parameters/AbstractParameter.php
index edcedc3e..39f333da 100644
--- a/src/Entity/Parameters/AbstractParameter.php
+++ b/src/Entity/Parameters/AbstractParameter.php
@@ -217,7 +217,7 @@ abstract class AbstractParameter extends AbstractNamedDBElement implements Uniqu
$str = '';
$bracket_opened = false;
- if ($this->value_typical) {
+ if ($this->value_typical !== null) {
$str .= $this->getValueTypicalWithUnit($latex_formatted);
if ($this->value_min || $this->value_max) {
$bracket_opened = true;
@@ -225,11 +225,11 @@ abstract class AbstractParameter extends AbstractNamedDBElement implements Uniqu
}
}
- if ($this->value_max && $this->value_min) {
+ if ($this->value_max !== null && $this->value_min !== null) {
$str .= $this->getValueMinWithUnit($latex_formatted).' ... '.$this->getValueMaxWithUnit($latex_formatted);
- } elseif ($this->value_max) {
+ } elseif ($this->value_max !== null) {
$str .= 'max. '.$this->getValueMaxWithUnit($latex_formatted);
- } elseif ($this->value_min) {
+ } elseif ($this->value_min !== null) {
$str .= 'min. '.$this->getValueMinWithUnit($latex_formatted);
}
@@ -449,7 +449,10 @@ abstract class AbstractParameter extends AbstractNamedDBElement implements Uniqu
if (!$with_latex) {
$unit = $this->unit;
} else {
- $unit = '$\mathrm{'.$this->unit.'}$';
+ //Escape the percentage sign for convenience (as latex uses it as comment and it is often used in units)
+ $escaped = preg_replace('/\\\\?%/', "\\\\%", $this->unit);
+
+ $unit = '$\mathrm{'.$escaped.'}$';
}
return $str.' '.$unit;
@@ -457,7 +460,7 @@ abstract class AbstractParameter extends AbstractNamedDBElement implements Uniqu
return $str;
}
-
+
/**
* Returns the class of the element that is allowed to be associated with this attachment.
* @return string