commit cce9adc1859f0134800c2405200f1467c8564b13
Author: Juergen Spitzmueller <[email protected]>
Date:   Sun Aug 11 08:15:57 2019 +0200

    Force LTR for numeric citations
    
    Fixes: #3005
---
 src/insets/InsetCitation.cpp |   12 ++++++++++++
 src/insets/InsetCitation.h   |    2 ++
 2 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/src/insets/InsetCitation.cpp b/src/insets/InsetCitation.cpp
index 401d014..a6a2738 100644
--- a/src/insets/InsetCitation.cpp
+++ b/src/insets/InsetCitation.cpp
@@ -445,6 +445,18 @@ docstring InsetCitation::basicLabel(bool for_xhtml) const
        return '[' + label + ']';
 }
 
+
+bool InsetCitation::forceLTR(OutputParams const & rp) const
+{
+       // We have to force LTR for numeric references
+       // [= plain BibTeX, numeric natbib and biblatex].
+       // Except for XeTeX/bidi . See #3005.
+       if (rp.useBidiPackage())
+               return false;
+       return (buffer().masterParams().citeEngine() == "basic"
+               || buffer().masterParams().citeEngineType() == 
ENGINE_TYPE_NUMERICAL);
+}
+
 docstring InsetCitation::screenLabel() const
 {
        return cache.screen_label;
diff --git a/src/insets/InsetCitation.h b/src/insets/InsetCitation.h
index 7c8231c..d94aefe 100644
--- a/src/insets/InsetCitation.h
+++ b/src/insets/InsetCitation.h
@@ -70,6 +70,8 @@ public:
                                  UpdateType utype, TocBackend & backend) const;
        ///
        std::string contextMenuName() const;
+       ///
+       bool forceLTR(OutputParams const &) const;
        //@}
 
        /// \name Static public methods obligated for InsetCommand derived 
classes

Reply via email to