From: Juergen Spitzmueller Date: Thu, 9 Aug 2018 13:05:19 +0000 (+0200) Subject: Support key symbols via menukeys package X-Git-Tag: 2.3.2~112 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=4d81f210c13394ee4ccc7c58a4ebdf0bfab76768;p=features.git Support key symbols via menukeys package (cherry picked from commit fd7490762d6248bb4ca7120fe97b28d96496d9d3) --- diff --git a/lib/chkconfig.ltx b/lib/chkconfig.ltx index 5e7c86e3a2..9d743d2596 100644 --- a/lib/chkconfig.ltx +++ b/lib/chkconfig.ltx @@ -459,6 +459,7 @@ \TestPackage{mdbch} \TestPackage{mdput} \TestPackage{mdugm} +\TestPackage{menukeys} \TestPackage{MinionPro} \TestFont[rzmnr]{minion2newtx} \TestPackage{newtxmath} diff --git a/lib/unicodesymbols b/lib/unicodesymbols index dd9a7f78c7..af7a028a37 100644 --- a/lib/unicodesymbols +++ b/lib/unicodesymbols @@ -17,7 +17,6 @@ # You can use development/tools/unicodesymbols.py to add stubs for more # symbols. # Do only add commands that give correct output, no hacks that look "similar". -# TODO: fix "missing Qt keysequences (MacSpecialKey)" hacks (search for "Qt::") # Commands that modify other parts of the text should not be added either. # For this reason, all commands requiring txfonts, pxfonts, fourier, mathdesign # and MnSymbol are commented out (these packages switch to fonts like times or @@ -2044,7 +2043,7 @@ 0x21b6 "" "" "force=utf8;utf8x" "\\curvearrowleft" "amssymb" # ANTICLOCKWISE TOP SEMICIRCLE ARROW 0x21b7 "" "" "force=utf8;utf8x" "\\curvearrowright" "amssymb" # CLOCKWISE TOP SEMICIRCLE ARROW #0x21b8 "" "" "" "" "" # NORTH WEST ARROW TO LONG BAR -#0x21b9 "" "" "" "" "" # LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR +0x21b9 "\\tabwin" "menukeys" "force" "" "" # LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR 0x21ba "" "" "force=utf8;utf8x" "\\circlearrowleft" "amssymb" # ANTICLOCKWISE OPEN CIRCLE ARROW 0x21bb "" "" "force=utf8;utf8x" "\\circlearrowright" "amssymb" # CLOCKWISE OPEN CIRCLE ARROW 0x21bc "" "" "force=utf8" "\\leftharpoonup" "" # LEFTWARDS HARPOON WITH BARB UPWARDS @@ -2081,19 +2080,20 @@ 0x21db "" "" "force=utf8;utf8x" "\\Rrightarrow" "amssymb" # RIGHTWARDS TRIPLE ARROW #0x21dc "" "" "" "\\leftsquigarrow" "mathabx" # LEFTWARDS SQUIGGLE ARROW 0x21dd "" "" "force=utf8;utf8x" "\\rightsquigarrow" "amssymb" # RIGHTWARDS SQUIGGLE ARROW -0x21de "Option-Up Arrow" "" "force=utf8;utf8x,notermination=text" "" "" #Qt::Key_PageUp, UPWARDS ARROW WITH DOUBLE STROKE = page up "\\nHuparrow" "boisik|stik" -0x21df "Option-Down Arrow" "" "force=utf8;utf8x,notermination=text" "" "" # Qt::Key_PageDown, DOWNWARDS ARROW WITH DOUBLE STROKE = page down "\\nHdownarrow" "boisik|stix" +# FIXME Yes, these are constructed, but better than a key symbols text. +0x21de "\\ooalign{\\textuparrow\\cr\\kern.1em\\textdblhyphen}" "textcomp" "force=utf8;utf8x" "" "" #Qt::Key_PageUp, UPWARDS ARROW WITH DOUBLE STROKE = page up "\\nHuparrow" "boisik|stix" +0x21df "\\ooalign{\\textdownarrow\\cr\\kern.1em\\textdblhyphen}" "textcomp" "force=utf8;utf8x,notermination=text" "" "" # Qt::Key_PageDown, DOWNWARDS ARROW WITH DOUBLE STROKE = page down "\\nHdownarrow" "boisik|stix" 0x21e0 "" "" "force=utf8;utf8x" "\\dashleftarrow" "amssymb" # LEFTWARDS DASHED ARROW #0x21e1 "" "" "" "" "" # UPWARDS DASHED ARROW 0x21e2 "" "" "force=utf8;utf8x" "\\dashrightarrow" "amssymb" # RIGHTWARDS DASHED ARROW #0x21e3 "" "" "" "" "" # DOWNWARDS DASHED ARROW -0x21e4 "Shift-Tab" "" "force=utf8;utf8x,notermination=text" "" "" # Qt::Key_Backtab, LEFTWARDS ARROW TO BAR = leftward tab "\\barleftarrow" "boisik|stix" -0x21e5 "Tab" "" "force=utf8;utf8x,notermination=text" "" "" # Qt::Key_Tab, RIGHTWARDS ARROW TO BAR = rightward tab "\\rightarrowbar" "boisik|stix" +0x21e4 "\\reflectbox{\\tabmac}" "menukeys,graphics" "force" "" "" # Qt::Key_Backtab, LEFTWARDS ARROW TO BAR = leftward tab "\\barleftarrow" "boisik|stix" +0x21e5 "\\tabmac" "menukeys" "force" "" "" # Qt::Key_Tab, RIGHTWARDS ARROW TO BAR = rightward tab "\\rightarrowbar" "boisik|stix" #0x21e6 "" "" "" "" "" # LEFTWARDS WHITE ARROW -#0x21e7 "" "" "" "" "" # UPWARDS WHITE ARROW +0x21e7 "\\shift" "menukeys" "force" "" "" # UPWARDS WHITE ARROW 0x21e8 "\\pointer" "wasysym" "force=utf8;utf8x" "" "" # RIGHTWARDS WHITE ARROW #0x21e9 "" "" "" "" "" # DOWNWARDS WHITE ARROW -0x21ea "Caps Lock" "" "force=utf8;utf8x,notermination=text" "" "" # Qt::Key_CapsLock, UPWARDS WHITE ARROW FROM BAR = caps lock "\\whitearrowupfrombar" "boisik|stix" +0x21ea "\\capslockmac" "menukeys" "force" "" "" # Qt::Key_CapsLock, UPWARDS WHITE ARROW FROM BAR = caps lock "\\whitearrowupfrombar" "boisik|stix" #0x21eb "" "" "" "" "" # UPWARDS WHITE ARROW ON PEDESTAL #0x21ec "" "" "" "" "" # UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR #0x21ed "" "" "" "" "" # UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR @@ -2402,7 +2402,7 @@ 0x2315 "\\recorder" "wasysym" "force" "" "" # TELEPHONE RECORDER #0x2316 "" "" "" "" "" # POSITION INDICATOR #0x2317 "" "" "" "" "" # VIEWDATA SQUARE -#0x2318 "" "" "" "" "" # PLACE OF INTEREST SIGN +0x2318 "\\cmdmac" "menukeys" "force" "" "" # PLACE OF INTEREST SIGN #0x2319 "" "" "" "" "" # TURNED NOT SIGN 0x231a "\\Clocklogo" "marvosym" "force" # WATCH #0x231b "" "" "" "" "" # HOURGLASS @@ -2414,15 +2414,15 @@ #0x2321 "" "" "" "" "" # BOTTOM HALF INTEGRAL 0x2322 "" "" "force" "\\frown" "" # FROWN 0x2323 "" "" "force" "\\smile" "" # SMILE -#0x2324 "" "" "" "" "" # UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS -#0x2325 "" "" "" "" "" # OPTION KEY -0x2326 "Delete" "" "force,notermination=text" "" "" # Qt::Key_Delete, ERASE TO THE RIGHT = delete to the right key +0x2324 "\\enter" "menukeys" "force" "" "" # UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS +0x2325 "\\Altmac" "menukeys" "force" "" "" # OPTION KEY +0x2326 "\\delmac" "menukeys" "force" "" "" # Qt::Key_Delete, ERASE TO THE RIGHT = delete to the right key 0x2328 "\\Keyboard" "marvosym" "force" # KEYBOARD -0x232b "Backspace" "" "force,notermination=text" "" "" # Qt::Key_Backspace, ERASE TO THE LEFT = delete to the left key +0x232b "\\backdelmac" "menukeys" "force" "" "" # Qt::Key_Backspace, ERASE TO THE LEFT = delete to the left key 0x2339 "" "" "force" "\\APLinv" "wasysym" # APL FUNCTIONAL SYMBOL QUAD DIVIDE 0x233f "" "" "force" "\\notslash" "wasysym" # APL FUNCTIONAL SYMBOL SLASH BAR 0x2340 "" "" "force" "\\notbackslash" "wasysym" # APL FUNCTIONAL SYMBOL BACKSLASH BAR -0x238b "Escape" "" "force,notermination=text" "" "" # Qt::Key_Escape, BROKEN CIRCLE WITH NORTHWEST ARROW = escape +0x238b "\\escmac" "menukeys" "force" "" "" # Qt::Key_Escape, BROKEN CIRCLE WITH NORTHWEST ARROW = escape # # 79 Control Pictures # diff --git a/src/BufferParams.cpp b/src/BufferParams.cpp index 5f57c6aa33..da35db1847 100644 --- a/src/BufferParams.cpp +++ b/src/BufferParams.cpp @@ -2247,8 +2247,8 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features, << "\\makeatother\n\n"; // We try to load babel late, in case it interferes with other packages. - // Jurabib, hyperref, varioref, bicaption and listings (bug 8995) have to be - // called after babel, though. + // Jurabib, hyperref, varioref, bicaption, menukeys and listings (bug 8995) + // have to be called after babel, though. if (use_babel && !features.isRequired("jurabib") && !features.isRequired("hyperref") && !features.isRequired("varioref") @@ -2385,6 +2385,11 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features, os << '\n'; } + // Since menukeys uses catoptions, which does some heavy changes on key-value options, + // it is recommended to load menukeys as the last package (even after hyperref) + if (features.isRequired("menukeys")) + os << "\\usepackage{menukeys}\n"; + docstring const i18npreamble = features.getTClassI18nPreamble(use_babel, use_polyglossia, use_minted); diff --git a/status.23x b/status.23x index c90ed2ee4f..5c50882aee 100644 --- a/status.23x +++ b/status.23x @@ -23,6 +23,8 @@ What's new - Update support for linguistic subexamples. +- Support key symbols via menukeys package (part of bug 10641). + * MISCELLANEOUS