joeyuping / quick_latex_obsidian

MIT License
327 stars 21 forks source link

Feature Request: Define Custom Shorthand Parameters in Markdown Files #99

Closed linuswalter closed 1 year ago

linuswalter commented 1 year ago

Hi @joeyuping ,

I have an idea for a new feature:

  1. Enable to define custom shorthand parameters in an assigned markdown file inside the vault. This way one could use all features of the obsidian editor to write and organise the shorthand defintions. Maybe commenting out lines could be also enabled.
  2. Allowing to call several shorthand markdown files from a dedicated "custom shorthand file folder" and being able to disable/enable these files via switches, similar to the feature to enable/disable .css files within the "Appearance" section in the obsidian settings (See screenshot 1 below). For example, this feature would be beneficial for writing papers and having a specific nomenclature that is defined among the collaborators (e.g., kfr:::\kappa^{\textsf{f}}_{\text{R}} $\to \kappa^{\textsf{f}}_{\text{R}}$ ). At the same time, it might be that kfr needs to be written as $\kappa_{\textsf{f},\text{R}}$ in another project. So it would be helpful to have the chance of enabling/disabling such custom shorthand files

Let's quantify the demand for this feature I am not sure how helpful such a feature would be versus how much effort it is to implement. Well maybe we could create a poll or people just react to this post via

@joeyuping , what do you think in general? maybe we can discuss it in the thread below.

Thank you very much for your great work!

Best regards,

Linus


Screenshot 1: image

joeyuping commented 1 year ago

@linuswalter Hi! really thank you so much for the idea! (and sorry for the late reply!)

personally, I thought that the functionality could have been achieved by keeping the different shorthand settings in different markdown files, and then copy and pasting to the plugin settings page whenever needed XD Integrating the file selection and enable/disable functionality directly into the plugin settings page may not really save more time as compared to copy and pasting?

linuswalter commented 1 year ago

Hi @joeyuping, actually, I am doing it now exactly the way: Copying them into the "plugging settings page" as you suggested. So I guess you can save the effort of creating an enable/disable functionality.

It might be helpful to mention the idea of using multiple markdown files for different sets of shortcuts (and copy/paste them when needed) as "Tip4" inside the readme file in the section "Enhanced! 11. Custom shorthand". That's just optional but might improve the user experience for everyone who did not have this idea, yet. :innocent:

It actually also works to structure the shortcuts with headlines, and free lines, for example:

####### ;
#Operators;
####### ;
bi:::\binom{#cursor}{#tab};
fr:::\frac{#cursor}{#tab};
sq:::\sqrt{};
sum:::\sum\limits^{#cursor}_{#tab};
int:::\int\limits^{#cursor}_{#tab};
intx:::\int ;
in:::\in (#cursor);
ex:::\times 10^{};
<=:::\leq ;
>=:::\geq ;
neq:::\neq ;
max:::\max_{#cursor};
min:::\min_{#cursor};
ti:::\times ;
ap:::\approx;
cd:::\cdot ;
pa:::\partial{};
div:::\mathrm{div}\,;
grad:::\mathrm{grad}\,;

####### ;
#Formatting;
####### ;
qq:::\quad ;
qqq:::\qquad ;
bf:::\{bf #cursor};
bs:::\boldsymbol{};
mbb:::\mathbb{};
mbf:::\mathbf{};
msf:::\mathsf{};
mtt:::\mathtt{};
mrm:::\mathrm{};
cal:::\mathcal{};
te:::\text{};
ste:::_{\text{#cursor}};
tsf:::\textsf{};
LAR:::\LARGE;
Lar:::\Large;
lar:::\large;
sma:::\small;
foo:::\footnotesize;
scr:::\scriptsize;
tin:::\tiny;
co:::\textcolor{RubineRed}{};
\\\:::\\[1em];
:::\,;

####### ;
#Commenting;
####### ;
und:::\underbrace{};
ove:::\overbrace{};
ca:::\cancel{};
ld:::\ldots ;

####### ;
#Decorators;
####### ;
lr:::\left( #cursor \right);
lr[:::\left[ #cursor \right];
lr|:::\left| #cursor \right|;
le:::\left;
ri:::\right;
tag:::\tag{#cursor};
ci:::\circ ;
ve:::\vec{};
ba:::\bar{};
ha:::\hat{};
til:::\tilde{};
do:::\dot{};

####### ;
#Symbols;
####### ;
che::: \LARGE \checkmark;
inf:::\infty ;
<->:::\leftrightarrow ;
to:::\to ;
<-:::\leftarrow ;

####### ;
#Greek_Numbers;
####### ;
al:::\alpha;
be:::\beta;
ga:::\gamma;
Ga:::\Gamma;
de:::\delta;
De:::\Delta;
ep:::\epsilon;
vep:::\varepsilon;
ze:::\zeta;
et:::\eta;
th:::\theta;
Th:::\Theta;
io:::\iota;
ka:::\kappa;
la:::\lambda;
La:::\Lambda;
mu:::\mu;
nu:::\nu;
xi:::\xi;
Xi:::\Xi;
pi:::\pi;
Pi:::\Pi;
rh:::\rho;
vrh:::\varrho;
si:::\sigma;
Si:::\Sigma;
ta:::\tau;
up:::\upsilon;
Up:::\Upsilon;
ph:::\phi;
Ph:::\Phi;
ch:::\chi;
ps:::\psi;
Ps:::\Psi;
om:::\omega;
Om:::\Omega;
na:::\nabla;

####### ;
#Trigonometry_and_Exponential ;
####### ;
sin:::\sin(#cursor);
sin2:::\sin^{2}(#cursor);
cos:::\cos(#cursor);
cos2:::\cos^{2}(#cursor);
tan:::\tan(#cursor);
cot:::\cot(#cursor);
arctan:::\arctan(#cursor);
log:::\log(#cursor);
ln:::\,\ln ;

####### ;
#Symbols_Multiphysics ;
####### ;
bw:::\alpha_{\text{B}};
ss:::S_\text{S};
sps:::S^{\textsf{p}}_{\text{s}};
rfr:::\rho^{\textsf{f}}_{\text{R}}#cursor;
rsr:::\rho^{\textsf{s}}_{\text{R}}#cursor;
kfr:::\kappa^{\textsf{f}}_{\text{R}}#cursor;
Kfr:::K^{\textsf{f}}_{\text{R}}#cursor;
ksr:::\kappa^{\textsf{s}}_{\text{R}}#cursor;
Ksr:::K^{\textsf{s}}_{\text{R}}#cursor;
Ksd:::K^{\textsf{s}}_{\text{d}}#cursor;
muf:::\mu^{\textsf{f}};
fluid:::^{\textsf{f}};
solid:::^{\textsf{s}};
loss:::\mathcal{L}#cursor;

####### ;
#Units ;
####### ;
un:::\,\mathrm{};
sidens:::\,\mathrm{kg\,m^{-3}};
sivisc:::\,\mathrm{Pa\,s};
sivelo:::\,\mathrm{m\,s};
sia:::\,\mathrm{m\,s^{-2}};
sipres:::\,\mathrm{Pa};
siforc:::\,\mathrm{N};
sitemp:::\,\mathrm{°C};