Я столкнулся с очень странным поведением LibreOffice при открытии в нем спецификации языка C # версии 5.0. Когда я открываю эту спецификацию в Microsoft Word 2013 на титульном листе, она написана «Спецификация языка C # версия 5.0», но когда я открываю ее в LibreOffice Writer 4.0.3.3, я вижу «Спецификация языка C # версия 4.0».
Я записал свой экран и загрузил на YouTube видео, показывающее это: http://www.youtube.com/watch?v=kpWc9becFtc
Почему LibreOffice Writer ведет себя так?
microsoft-word
c#
libreoffice-writer
rpeshkov
источник
источник
Ответы:
Это не совсем странное поведение.
В Word этот номер версии хранится в «Свойстве пользовательского документа», значение которого вставляется с использованием поля DOCPROPERTY, например {DOCPROPERTY Version * Mergeformat}. Вы можете увидеть эти коды полей в Word, используя Alt-F9. Результат отображается как 5.0. Но эти поля не обновляются автоматически в Word - чтобы обновить их, вы можете выбрать поле и нажать F9. Если вы сделаете это, отобразится значение, которое фактически сохраняется в свойстве документа. Другими словами, в какой-то момент кто-то, вероятно, обновил значение свойства до 5.0, затем обновил код поля, затем (по какой-то причине) вернулся и изменил значение свойства документа на 4.0, а затем не обновил поле {DOCPROPERTY}.
В LibreOffice все работает немного по-другому - значение обновляется при открытии документа, и поэтому отображается 4.0. (Вы не можете увидеть код поля так же, как в Word, но если щелкнуть правой кнопкой мыши, вы можете увидеть Fields ... в раскрывающемся меню. Там вы должны увидеть пользовательское поле с именем Version .)
источник