Kan nogen beskrive, hvordan man kan skrive kinesisk i LaTeX? Når jeg kompilerer dette:
\documentclass{article} \begin{document} 你好吗? \end{document}
viser det resulterende dokument intet. Til reference er min IME iBus 1.3.9 på Fedora 13.
Kommentarer
- De andre spørgsmål tagget { cjk } kan være af interesse.
Svar
Den nemmeste måde er ( kun til forenklet kinesisk dokument):
% UTF-8 encoding % Compile with latex+dvipdfmx, pdflatex, xelatex or lualatex % XeLaTeX is recommanded \documentclass[UTF8]{ctexart} \begin{document} 文章内容。 \end{document}
eller
\documentclass{article} \usepackage[UTF8]{ctex} ...
Det er designet til Kinesisk sætning. Skriftstørrelser, indrykning, navneoversættelse, linjeafstand, … alt er indstillet.
For den nyeste version af ctex
bundle (v2.x), XeLaTeX er godt testet og understøtter Windows / Mac / Linux. De korrekte skrifttyper, der er forudinstalleret i OS, skal vælges automatisk.
Hvis du kun vil sætte et par kinesiske tegn, kan du bruge CJK
med pdfLaTeX eller xeCJK
med XeLaTeX.
% Compile with xelatex % UTF-8 encoding \documentclass{article} \usepackage{xeCJK} \setCJKmainfont{SimSun} \begin{document} 文章内容 \end{document}
eller
% UTF-8 encoding, pdflatex or latex+dvipdfmx % Simplified Chinese fonts should be installed \documentclass{article} \usepackage{CJKutf8} \AtBeginDvi{\input{zhwinfonts}} \begin{document} \begin{CJK*}{UTF8}{zhsong} 文章内容。 \clearpage\end{CJK*} \end{document}
eller
% UTF-8 encoding % bad-looking fonts (CJKfonts package) % latex+dvips, latex+dvipdfm(x) or pdflatex \documentclass{article} \usepackage{CJKutf8} \begin{document} \begin{CJK*}{UTF8}{gbsn} 文章内容。 \clearpage\end{CJK*} \end{document}
Kommentarer
- Bemærk: Jeg er en af de udviklere af
ctex
bundle ogxeCJK
. - Jeg er heldig at finde dit svar. Mange tak for eksemplerne! Jeg prøvede det andet eksempel på TeXnicCenter med MikTeX 2.9, det fungerer godt med alle de andre pakker, jeg har brugt. Jeg har to yderligere spørgsmål: 1. Jeg kan kun ændre skrifttyper til
{UTF8}{zhsong}
,{UTF8}{zhhei}
,{UTF8}{zhkai}
og{UTF8}{zhfs}
, men hvordan bruger jegzhli
ellerzhiyou
? 2. Er der en måde, jeg kan bruge WinEdt på, som stadig ikke understøtter UTF endnu? - @ltxsun: Jeg laver en fejl,
zhli
ogzhyou
findes izhmetrics
-pakke. Giv ‘ ikke flere kommentarer her. Du kan stille et nyt spørgsmål til det. Og jeg synes, det er meget bedre at bede på bbs.ctex.org om rene kinesiske spørgsmål. - Fantastisk. Jeg bruger xeCJK nu. Men der er en indrykning af afsnit i begyndelsen af et afsnit. Jeg forsøgte at læse manualen, men den er på kinesisk. Jeg fandt en mulighed, men denne indstilling ser ikke ud til at gøre det.
- @StefanM ü ller:
indentfirst=false
ville løse dette. Jeg ‘ beklager, men min engelsk er dårlig, og jeg har ‘ ikke meget tid til at oversætte manualen nu.
Svar
Jeg bruger kinesisk under XeLaTeX og XeCJK
-pakken, som tillader brug af CJK sammen med dine egne skrifttyper. Det er yderst praktisk.
Se først på forklaringen på Chou Pai-hsiangs websted . Dette skal komme i gang.
Der er andre vigtige kommentarer her på tex.SE om brugen af fontspec
og få det fulde kinesiske tegnsæt fra to eller flere skrifttyper, men du kan bekymre dig om disse forhold senere.
Svar
Jeg stødte for nylig på dette på Fedora 16. Du er ser intet på grund af ikke at vælge den korrekte kinesiske skrifttype, som er forskellig på Windows, Mac og Linux.
Tricket med at finde den rigtige skrifttype til et sprog på Linux er:
$ fc-list :lang=zh
den standard kinesiske skrifttype på Fedora 16 er:
WenQuanYi Zen Hei,文泉驛正黑,文泉驿正黑:style=Regular
og på dit Fedora 13-system vil det sandsynligvis være:
AR PL UMing TW:style=Light AR PL UMing CN:style=Light
(Jeg er fra Taiwan, så jeg bruger den traditionelle kinesiske variant, der slutter på TW. Du vil have “AR PL UMing CN” til forenklet kinesisk. ) For at installere kinesiske skrifttyper osv. På Fedora skal du køre:
yum groupinstall "Chinese Support"
Skift din LaTeX-kilde til:
\documentclass{article} \setromanfont{AR PL UMing CN} \begin{document} 你好吗? \end{document}
og du skal stjerne t ser kinesisk.
Ovenstående uddrag var til at hjælpe dig med at diagnosticere det kinesiske skrifttypeproblem. For rigtigt arbejde udskiller jeg anbefalingen til xeCJK-pakken. Min personlige opsætning er dokumenteret her .
Manglende evne til at sætte den samme kinesiske, japanske osv. LaTeX-kilde på tværs af Windows, Mac og Linux på grund af dem med forskellige skrifttyper er en virkelig smerte, men er ikke specifikke for XeTex. Det er smertefuldt, når du også bruger latex + dvipdfmx
eller pdflatex
.
Svar
For ConTeXt-brugere er dette simpelt.
Brug først \mainlanguage[cn]
og \setscript[hanzi]
i indledningen til at indstille standardsproget til kinesisk. Hvis du kun vil have visse dele af dokumentet til at bruge kinesisk, kan du bruge \language[cn]{你好}
i dokumentet. Hvis du vil For at placere en lille smule engelsk i dokumentet skal du bruge \language[en]{hello}
for at sikre, at orddelingerne vises korrekt.
Derefter har standardskrifttyperne normalt ikke kinesiske tegn, så du bliver nødt til at oprette et typeskrift med kinesiske skrifttyper, og brug derefter \setupbodyfont
for at vælge den skrifttype. For detaljer, se Kom godt i gang med kinesisk i ConTeXt .
Svar
Bare en note til min specifikke brugssag: Jeg ville bruge et par kinesiske tegn i min .bib-fil (ved hjælp af biber) som Unicode; for at kompilere dem sådan kunne jeg med succes bruge pakke {ctex}
– desværre bryder det noget af min formatering i den dokumentklasse, jeg ellers bruger. Det viser sig, at pakken {CJKutf8}
ikke bryder for mig – men i modsætning til {ctex}
kan den ikke læse unicode-tegn direkte – vi bliver nødt til pakk dem ind i et miljø, der er ubelejligt for mig til en .bib-fil.
Så da jeg kun har få, besluttede jeg at erklære unicode-tegn manuelt for at bruge {CJKutf8}
for at “gengive” glyphen. Sig, at jeg kun vil gengive “文章” fra eksemplerne ovenfor – så først ser jeg op på unicode-sekvensen for dem ved hjælp af min utfinfo.pl :
$ echo 文章 | perl utfinfo.pl Got 2 uchars Char: "文" u: 25991 [0x6587] b: 230,150,135 [0xE6,0x96,0x87] n: CJK UNIFIED IDEOGRAPH 6587 [CJK Unified Ideographs] Char: "章" u: 31456 [0x7AE0] b: 231,171,160 [0xE7,0xAB,0xA0] n: CJK UNIFIED IDEOGRAPH 7AE0 [CJK Unified Ideographs]
velvidende, en fungerende MWE (og kompilérbar med pdflatex test.tex
) kunne konstrueres ved hjælp af retningslinjerne i [Cjk-mailingliste] Problem med CJKchar :
\documentclass{article} \usepackage{CJKutf8} % NOTE: this may require the font simsun.ttc in the same directory as this .tex file! % [http://lists.ffii.org/pipermail/cjk/2007-November/002045.html [Cjk] Problem with CJKchar] \newcommand{\Chi}[2]{% \csname CJK*\endcsname{UTF8}{zhsong}% \CJKchar{#1}{#2}% \csname endCJK*\endcsname } % 文: 0x6587 % \DeclareUnicodeCharacter{6587}{\begin{CJK*}{UTF8}{zhsong}文\end{CJK*}} % nope % \DeclareUnicodeCharacter{6587}{\CJKfamily{zhsong}文} % % nope % \DeclareUnicodeCharacter{6587}{\CJKchar[UTF8]{"65}{"87}} % nope % \DeclareUnicodeCharacter{6587}{\Unicode{"65}{"87}} % % cant use \DeclareUnicodeCharacter{6587}{\Chi{"65}{"87}} % YES! % 章: 0x7AE0 \DeclareUnicodeCharacter{7AE0}{\Chi{"7A}{"E0}} % \AtBeginDvi{\input{zhwinfonts}} % MUST have! for \usepackage{CJKutf8} \begin{document} % macro test: \Chi{"65}{"87}\Chi{"7A}{"E0} % ok % direct unicode chars: 文章 % ok \end{document}
EDIT: bemærk også i selve dokumentet med bibliografi, at jeg skulle have mindst en \Chi{...
i dokumentets hoveddel, els e bibliografidelen styrtede ned; at sætte det i \phantom
virker ikke, og jeg kan ikke lide at indsætte falske tegn i min dok. I stedet for et \Chi
kan man “starte” CJKutf8-miljøet “manuelt” som sådan:
\makeatletter \let\CJK@ignorespaces\relax % else the below breaks.. \CJK@envStart{}{UTF8}{zhsong} \makeatother \printbibliography
Svar
For Linux-brugere:
- Du skal installere texlive-full for at bruge “ctex “pakke:
sudo apt install texlive-full
-
Skift editor for compiler til XeLatex.
-
Tillad mig at give dig en meget enkel skabelon:
\documentclass[a4paper,10pt]{article} \usepackage{ctex} % 这里调用 ctex 包 %opening \title{TITLE} \author{MY NAME} \begin{document} \maketitle \paragraph{现在应该可以看到中文了} \end{document}
Kommentarer
- Dette er kun til Debian-baserede Linux-distributioner, ikke?