On 2013-10-03, Scott Kostyshak wrote:
> On Thu, Oct 3, 2013 at 4:28 PM, Guenter Milde <[email protected]> wrote:
>> On 2013-10-03, Scott Kostyshak wrote:
>>> On Thu, Oct 3, 2013 at 5:02 AM, Guenter Milde <[email protected]> wrote:
>>>> On 2013-10-03, Scott Kostyshak wrote:
>>>>> Thanks for the confirmation. I started a thread on lyx-devel.
>>>>> Hopefully there's an easy way to have pdfTeX and XeTeX working. Note
>>>>> that if I remove the following lines from the preamble, export with
>>>>> XeTeX
>>>>> works fine (but pdfTeX is broken):

>>>>> \DeclareInputText{176}{\ifmmode^\circ\else\textdegree\fi}
>>>>> \DeclareInputText{183}{\ifmmode\cdot\else\textperiodcentered\fi}

>>>> There is a simple fix: move the offending lines into the

>>>> \ifpdf
>>>> \fi

>>>> block.

>>>> However, the right way is to remove the lines as well as the section
>>>> in the guide, because it is no longer true. Since several versions,
>>>> LYXDIR/unicodesymbols contains the required definitions for text and
>>>> math mode.

>>> I prefer the right way. So you suggest to remove the two
>>> DeclareInputText commands and to remove all of the section
>>> "Miscellaneous special Characters" ?

>>> After I do that, I get errors because of the € symbol. After I remove
>>> those occurrences, XeTeX and pdfTeX both export fine. There is an
>>> entry in unicodesymbols for the euro. Is this a different euro?

>> The \texteuro macro is provided by the "textcomp" package.

>> A quick and dirty fix would be to set the "force" flag so that the textcomp
>> package is auto-loaded. However, this is an overkill as this would also
>> replace the Euro (€) character with the \texteuro macro which is not
>> required for the TeX input encodings
>> utf8, ansinew, cp1250, cp1252, cp1257, cp858, latin10, and latin9

>> A "force-preamble" flag that only forces loading the preamble code without
>> forcing the replacement could solve the issue. For the "textcomp" feature
>> this regards the characters
>>     # recognized with 'utf8', if textcomp is loaded
>>     textcomp = {
>>         # Latin-1 Supplement
>>         0x00a2: ur'\textcent{}',          # ¢ CENT SIGN
>>         0x00a4: ur'\textcurrency{}',      # ¤ CURRENCY SYMBOL
>>         0x00a5: ur'\textyen{}',           # ¥ YEN SIGN
>>         0x00a6: ur'\textbrokenbar{}',     # ¦ BROKEN BAR
>>         0x00a7: ur'\textsection{}',       # § SECTION SIGN
>>         0x00a8: ur'\textasciidieresis{}', # ¨ DIAERESIS
>>         0x00a9: ur'\textcopyright{}',     # © COPYRIGHT SIGN
>>         0x00aa: ur'\textordfeminine{}',   # ª FEMININE ORDINAL INDICATOR
>>         0x00ac: ur'\textlnot{}',          # ¬ NOT SIGN
>>         0x00ae: ur'\textregistered{}',    # ® REGISTERED SIGN
>>         0x00af: ur'\textasciimacron{}',   # ¯ MACRON
>>         0x00b0: ur'\textdegree{}',        # ° DEGREE SIGN
>>         0x00b1: ur'\textpm{}',            # ± PLUS-MINUS SIGN
>>         0x00b2: ur'\texttwosuperior{}',   # ² SUPERSCRIPT TWO
>>         0x00b3: ur'\textthreesuperior{}', # ³ SUPERSCRIPT THREE
>>         0x00b4: ur'\textasciiacute{}',    # ´ ACUTE ACCENT
>>         0x00b5: ur'\textmu{}',            # µ MICRO SIGN
>>         0x00b6: ur'\textparagraph{}',     # ¶ PILCROW SIGN # != \textpilcrow
>>         0x00b9: ur'\textonesuperior{}',   # ¹ SUPERSCRIPT ONE
>>         0x00ba: ur'\textordmasculine{}',  # º MASCULINE ORDINAL INDICATOR
>>         0x00bc: ur'\textonequarter{}',    # 1/4 FRACTION
>>         0x00bd: ur'\textonehalf{}',       # 1/2 FRACTION
>>         0x00be: ur'\textthreequarters{}', # 3/4 FRACTION
>>         0x00d7: ur'\texttimes{}',         # × MULTIPLICATION SIGN
>>         0x00f7: ur'\textdiv{}',           # ÷ DIVISION SIGN
>>         # others
>>         0x0192: ur'\textflorin{}',        # LATIN SMALL LETTER F WITH HOOK
>>         0x02b9: ur'\textasciiacute{}',    # MODIFIER LETTER PRIME
>>         0x02ba: ur'\textacutedbl{}',      # MODIFIER LETTER DOUBLE PRIME
>>         0x2016: ur'\textbardbl{}',        # DOUBLE VERTICAL LINE
>>         0x2022: ur'\textbullet{}',        # BULLET
>>         0x2032: ur'\textasciiacute{}',    # PRIME
>>         0x2033: ur'\textacutedbl{}',      # DOUBLE PRIME
>>         0x2035: ur'\textasciigrave{}',    # REVERSED PRIME
>>         0x2036: ur'\textgravedbl{}',      # REVERSED DOUBLE PRIME
>>         0x203b: ur'\textreferencemark{}', # REFERENCE MARK
>>         0x203d: ur'\textinterrobang{}',   # INTERROBANG
>>         0x2044: ur'\textfractionsolidus{}', # FRACTION SLASH
>>         0x2045: ur'\textlquill{}',        # LEFT SQUARE BRACKET WITH QUILL
>>         0x2046: ur'\textrquill{}',        # RIGHT SQUARE BRACKET WITH QUILL
>>         0x2052: ur'\textdiscount{}',      # COMMERCIAL MINUS SIGN
>>         0x20a1: ur'\textcolonmonetary{}', # COLON SIGN
>>         0x20a3: ur'\textfrenchfranc{}',   # FRENCH FRANC SIGN
>>         0x20a4: ur'\textlira{}',          # LIRA SIGN
>>         0x20a6: ur'\textnaira{}',         # NAIRA SIGN
>>         0x20a9: ur'\textwon{}',           # WON SIGN
>>         0x20ab: ur'\textdong{}',          # DONG SIGN
>>         0x20ac: ur'\texteuro{}',          # EURO SIGN
>>         0x20b1: ur'\textpeso{}',          # PESO SIGN
>>         0x20b2: ur'\textguarani{}',       # GUARANI SIGN
>>         0x2103: ur'\textcelsius{}',       # DEGREE CELSIUS
>>         0x2116: ur'\textnumero{}',        # NUMERO SIGN
>>         0x2117: ur'\textcircledP{}',      # SOUND RECORDING COYRIGHT
>>         0x211e: ur'\textrecipe{}',        # PRESCRIPTION TAKE
>>         0x2120: ur'\textservicemark{}',   # SERVICE MARK
>>         0x2122: ur'\texttrademark{}',     # TRADE MARK SIGN
>>         0x2126: ur'\textohm{}',           # OHM SIGN
>>         0x2127: ur'\textmho{}',           # INVERTED OHM SIGN
>>         0x212e: ur'\textestimated{}',     # ESTIMATED SYMBOL
>>         0x2190: ur'\textleftarrow{}',     # LEFTWARDS ARROW
>>         0x2191: ur'\textuparrow{}',       # UPWARDS ARROW
>>         0x2192: ur'\textrightarrow{}',    # RIGHTWARDS ARROW
>>         0x2193: ur'\textdownarrow{}',     # DOWNWARDS ARROW
>>         0x2212: ur'\textminus{}',         # MINUS SIGN
>>         0x2217: ur'\textasteriskcentered{}', # ASTERISK OPERATOR
>>         0x221a: ur'\textsurd{}',          # SQUARE ROOT
>>         0x2422: ur'\textblank{}',         # BLANK SYMBOL
>>         0x25e6: ur'\textopenbullet{}',    # WHITE BULLET
>>         0x25ef: ur'\textbigcircle{}',     # LARGE CIRCLE
>>         0x266a: ur'\textmusicalnote{}',   # EIGHTH NOTE
>>         0x26ad: ur'\textmarried{}',       # MARRIAGE SYMBOL
>>         0x26ae: ur'\textdivorced{}',      # DIVORCE SYMBOL
>>         0x27e8: ur'\textlangle{}',        # MATHEMATICAL LEFT ANGLE BRACKET
>>         0x27e9: ur'\textrangle{}',        # MATHEMATICAL RIGHT ANGLE BRACKET
>>     }

>> Many of these already carry the "force" flag in unicodesymbols.

> Thanks Günter

> Attached is a patch that implements your previous suggestions. Can you
> check that it does what you had in mind? If so, I will make the same
> changes for Math.lyx in the other languages.

I thought again about it: we should mention in a suitable way that the »^« and
»_« keys (as well as »{«) are "active" which means that you cannot use them
to insert the ^_{ characters (although "unicodesymbols" will do the right
conversion if the characters are pasted into a math box, say).

> This is an area I know little about. Are you able and willing to
> provide a patch to fix the euro symbol?

The "quick and dirty fix" for the euro would be just 

--- /home/milde/.lyx/unicodesymbols~    2012-05-14 11:56:24.000000000 +0200
+++ /tmp/unicodesymbols10333.3565       2013-10-06 17:52:33.000000000 +0200
@@ -1640,7 +1640,7 @@
 0x20a9 "\\textwon"                "textcomp" "" # WON SIGN
 #0x20aa ""                         "" "" # NEW SHEQEL SIGN
 0x20ab "\\textdong"               "textcomp" "" # DONG SIGN
-0x20ac "\\texteuro"               "textcomp" "" # EURO SIGN
+0x20ac "\\texteuro"               "textcomp" "force" # EURO SIGN
 0x20b1 "\\textpeso"               "textcomp" "" # PESO SIGN
 0x20b2 "\\textguarani"            "textcomp" "" # GUARANI SIGN
 0x20b9 "\\rupee"                  "tfrupee" "" # RUPEE SIGN

A better fix would look for all the abovelisted characters and a real fix
would implement a new flag to force the "textpreamble" without conversing
the literal character for all teh abovelisted characters.
I am not able to do this one.

> These workarounds are no longer necessary because of unicodesymbols
> and further they break compilation with XeTeX.

... and pdfTeX with TeX input encoding set to ascii or utf8.

Thanks,

Günter

Reply via email to