Repository: sktime/sktime

Issue:
[DOC] FourierFeatures sp_list is not rendering the bullet points correctly
#### Describe the issue linked to the documentation

The bullet point for sp_list of FourierFeatures are not rendered correctly: https://www.sktime.net/en/latest/api_reference/auto_generated/sktime.transformations.series.fourier.FourierFeatures.html

#### Suggest a potential alternative/fix

<!--
Tell us how we could improve the documentation in this regard.
-->



Discussion:
good first issue, right?
sorry, this one just got done here: https://github.com/sktime/sktime/pull/5984

But there are many similar places in the documentation where:

* bullet point lists do not render correctly
* code snippets do not render correctly (use single apostrophe instead of double)
@fkiraly Can you please make yourself clear as I think there is a contradiction in 2 statements by you

https://github.com/sktime/sktime/issues/5932#issuecomment-1960436557
> But there are many similar places in the documentation where:
> * code snippets do not render correctly (use single apostrophe instead of double)

https://github.com/sktime/sktime/pull/5984#pullrequestreview-1897093445
> Btw, some docstrings use single-apostrophe (grave) by error instead of double-apostrope (double-grave) to render code snippets. If you encounter these, it would also be great to replace them.

Q1. What should be used in docstrings ` (single-grave) or `` (double-grave) for code snippets?

Q2. If we keep only ` (single-grave) or only `` (double-grave) in all the docstrings, will that solve the problem?


@geetu040, apologies for the confusion, this is due to ambiguous formulation on my side.

The first statement looks like it says the opposite, but in the brackets I meant: the docstrings do not render correctly *because* they use single apostrophe instead of double. I.e., the brackets were referring to the "do not render correctly", and were abridged 3rd person plural, rather than imperative singular.

Either way, Q1: double-grave is correct, you can check if you experiment with it and inspect the rendered docs. One word of caution though, this should only apply to code blocks. Single-grave produces italics, so there might be a few rare places where italics are intended. If the reference are variable names, code blocks or similar, it sould be double-grave, and that should be the vast majority of occurrences.

Q2: Yes, with potential exception where single-grave is intended. I can not think of any such example though, and if they exist they will be very rare.
@fkiraly Thanks for the clarification.
I am working on a script that locates all the incorrectly used single-grave.
Although there are some places where we need the single-grave, yet they are few and I'll make sure I don't eliminate them.
I will soon create a PR that fixes all the incorrect use of single-grave while keeping single-grave at place where needed.
Let me know if there is anything else I should know.
> I am working on a script that locates all the incorrectly used single-grave.

Interesting - we could use that in testing.

> Let me know if there is anything else I should know.

There will likely be some cases where naive replacing will trigger the "maximum characters per line" limit, in this case a linebreak may have to be introduced, and with proper indentation. This indentation level is not always obvious.

Resolving patch:
diff --git a/sktime/transformations/series/fourier.py b/sktime/transformations/series/fourier.py
--- a/sktime/transformations/series/fourier.py
+++ b/sktime/transformations/series/fourier.py
@@ -45,12 +45,16 @@ class FourierFeatures(BaseTransformer):
     ----------
     sp_list : List[float and/or str]
         List of seasonal periods. Can be defined with the following options:
-        * float : Periodicity defined as number of timesteps since the beginning of the
-        data seen in `fit`.
-        * string : Periodicity defined as a column name in X that contains the
-        :math:`t/sp` values
-        * string : Periodicity defined as a pandas period alias:
-        https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#period-aliases
+
+        * | float : Periodicity defined as number of timesteps since the beginning of
+            the data seen in ``fit``.
+
+        * | string : Periodicity defined as a column name in X that contains the
+            :math:`t/sp` values.
+
+        * | string : Periodicity defined as a pandas period alias:
+            https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#period-aliases
+
     fourier_terms_list : List[int]
         List of number of fourier terms (:math:`K`) per corresponding (:math:`sp`); each
         :math:`K` matches to one :math:`sp` of the sp_list. For example, if sp_list =
@@ -63,7 +67,7 @@ class FourierFeatures(BaseTransformer):
         match a pandas offset alias:
         https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#offset-aliases
     keep_original_columns : boolean, optional, default=False
-        Keep original columns in X passed to `.transform()`
+        Keep original columns in X passed to ``.transform()``
 
     References
     ----------


Test patch: