افترض أن لدي ملف .Rmd مثل أدناه:
---
title: "Untitled"
output:
officedown::rdocx_document:
default
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
md5-4caffc4710057148fdad652000287a10
# Chapter1 {#ch1}
# Chapter2 {#ch2}
Refer to \@ref(ch1).
عندما يُحاط \ref (ch1) بسلاسل متعددة البايت (مثل الأحرف الصينية) ، فمن المحتمل أن تواجه أخطاء.
نقية multibyte + المرجع
上下\@ref(ch1)
مختلط متعدد البايت / بايت واحد + المرجع
上a下\@ref(ch1)
المرجع + multibyte
\@ref(ch1)。
خطأ في nchar (u ، itype): سلسلة متعددة البايت غير صالحة ، العنصر 1
المكالمات:... regmatches <- -> regmatches -> Map -> mapply ->
هل يمكنك النظر في هذه القضية من فضلك؟ شكرا.
sessionInfo ()
R الإصدار 4.0.2 (2020-06-22)
النظام الأساسي: x86_64-w64-mingw32 / x64 (64 بت)
يعمل تحت: Windows 10 x64 (النسخة 20180)
منتجات ماتريكس: الافتراضي
المكان:
[1] LC_COLLATE = الصينية (المبسطة) _China.936
[2] LC_CTYPE = الصينية (المبسطة) _China.936
[3] LC_MONETARY = الصينية (المبسطة) _China.936
[4] LC_NUMERIC = ج
[5] LC_TIME = الصينية (المبسطة) _الصين 936
الحزم الأساسية المرفقة:
[1] احصائيات رسومات GrDevices تستخدم طرق مجموعات البيانات
[7] القاعدة
الحزم الأخرى المرفقة:
[1] ضابط_0.3.12 مكتب أسفل_0.2.0 جدول مرن_0.5.10
[4] ggplot2_3.3.2 tidyr_1.1.1 knitr_1.29
[7] dplyr_1.0.2 reticulate_1.16
تم تحميلها عبر مساحة اسم (وغير مرفقة):
[1] Rcpp_1.0.5 lattice_0.20-41 وحدة جميلة_1.1.1
[4] sysfonts_0.8.1 ps_1.3.4 utf8_1.1.4
[7] يؤكد rprojroot_1.3-2 أنه _0.2.1 ملخص_0.6.25
[10] R6_2.4.1 backports_1.1.9 تقييم_0.14
[13] pillar_1.4.6 gdtools_0.2.2 rlang_0.4.7
[16] curl_4.3 uuid_0.1-4 data.table_1.13.0
[19] callr_3.4.3 Matrix_1.2-18 rmarkdown_2.3
[22] desc_1.2.0 labeling_0.3 devtools_2.3.1
[25] stringr_1.4.0 munsell_0.5.0 tinytex_0.25
[28] compiler_4.0.2 xfun_0.16 pkgconfig_2.0.3
[31] systemfonts_0.2.3 base64enc_0.1-3 pkgbuild_1.1.0
[34] rvg_0.2.5 htmltools_0.5.0 tidyselect_1.1.0
[37] tibble_3.0.3 bookdown_0.20 معجبينi_0.4.1
[40] crayon_1.3.4 showtextdb_3.0 withr_2.2.0
[43] grid_4.0.2 jsonlite_1.7.0 gtable_0.3.0
[46] lifecycle_0.2.0 magrittr_1.5 scales_1.1.1
[49] zip_2.1.0 cli_2.0.2 سلسلة نصية_1.4.6
[52] farver_2.0.3 fs_1.5.0 أجهزة التحكم عن بُعد_2.2.0
[55] اختبر أن_2.3.2 xml2_1.3.2 علامة القطع_0.3.1
[58] Generics_0.0.2 vctrs_0.3.2 tools_4.0.2
[61] showtext_0.9 Glue_1.4.1 purrr_0.3.4
[64] processx_3.4.3 pkgload_1.1.0 yaml_2.2.1
[67] colorpace_1.4-1 sessioninfo_1.1.1 memoise_1.1.0
[70] يستخدم هذا_1.6.1
"" ""
العنوان: "بدون عنوان"
انتاج:
المخزن :: rdocx_document:
{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
راجع ref (ch1).
عندما يُحاطref (ch1) بسلاسل متعددة البايت (مثل الأحرف الصينية) ، فمن المحتمل أن تواجه أخطاء.
تتعلق مشكلتك بحقيقة أنك لا تعمل باستخدام ملف مشفر UTF-8.
لا تعمل R و R Markdown و Windows بشكل جيد عندما لا يكون الترميز UTF-8.
نعم ، davidgohel ، أنت محق. بالرغم من وجود ملف .Rmd بتنسيق UTF-8 ، فإن نظام التشغيل يعمل بترميز GBK. عندما أقوم بالتغيير إلى bookdown::word_document2
، يتمكن محرك knitr من تجميع الملف. لكن ما زلت أحصل ؟؟ حيث من المفترض أن تظهر الإشارة المرجعية.
لا تحتاج إلى تجربة وظائف تنسيق الإخراج الجديدة.
تم إجراء النتيجة الموضحة أدناه باستخدام Windows بالإعدادات المحلية الفرنسية. لكنني تأكدت من ترميز الملف كـ UTF-8 (أنا أستخدم readr::guess_encoding()
، إذا لم يكن بتشفير UTF-8 ، يمكنني تغييره إلى UTF8 باستخدام fpeek::peek_iconv()
).
هل يمكن أن تظهر نتيجة
readr::guess_encoding("your/rmd/file")
النتائج
لا | ترميز | الثقة
--- | ------------- | -----------:
1 | UTF-8 | 1
2 | نوافذ 1252 | 0.28
مرحبًا madlogos ،
أنا مستخدم صيني. لقد أزعجتني مشكلة تعدد البايت أيضًا لفترة طويلة. ها هي حيلتي لذلك:
@ref
كالمعتاد ؛readr::read_lines
it؛"\\\\@ref\\([^\\)]+\\)"
؛"\\\\@ref\\([^\\)]+\\)"
في سطر واحد ؛على سبيل المثال ، يجب تقسيم 请参考表\@ref(tab: coco)中的数据
كـ
[السطر 1] 请参考表
[السطر 2] \@ref(tab: coco)
[السطر 3] 中的数据
حسنًا ، لست متأكدًا مما إذا كان هذا حلاً فعالاً ولكنه يعمل بالنسبة لي. 😄
@ bishun945 أشكركم على الدوران. أشياء جيدة.
madlogos لقد جربت حلاً آخر: ما عليك سوى تبديل نظامك ولغة MS Word إلى اللغة الإنجليزية.