我正在使用标准书籍类在意大利语 Lyx 中创建书籍文档。
显示屏上显示的是意大利语章节标签(正确),但当我以 PDF 格式预览文档时,标签变为英文,我无法将其取出。
有人可以帮忙吗?
前言:
%% LyX 2.3.2 created this file. For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[10pt,a4paper,oneside,italian]{book}
\usepackage{bookman}
\usepackage{avant}
\usepackage{courier}
\renewcommand{\familydefault}{\rmdefault}
\usepackage[cp1252]{inputenc}
\setcounter{secnumdepth}{3}
\setlength{\parskip}{\smallskipamount}
\setlength{\parindent}{0pt}
\synctex=-1
\usepackage{xcolor}
\usepackage{pdfcolmk}
\usepackage{amsmath}
\usepackage[authoryear]{natbib}
\PassOptionsToPackage{normalem}{ulem}
\usepackage{ulem}
\usepackage{microtype}
\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
\pdfpageheight\paperheight
\pdfpagewidth\paperwidth
\providecolor{lyxadded}{rgb}{0,0,1}
\providecolor{lyxdeleted}{rgb}{1,0,0}
%% Change tracking with ulem
\DeclareRobustCommand{\lyxadded}[3]{{\color{lyxadded}{}#3}}
\DeclareRobustCommand{\lyxdeleted}[3]{{\color{lyxdeleted}\lyxsout{#3}}}
\DeclareRobustCommand{\lyxsout}[1]{\ifx\\#1\else\sout{#1}\fi}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
\numberwithin{equation}{section}
\numberwithin{figure}{section}
\@ifundefined{date}{}{\date{}}
\makeatother
\usepackage{babel}
\begin{document}
\pagebreak{}
\title{\textbf{All'inizio la democrazia era diretta}\\
\textbf{Moritz Rittinghausen}\\
\textbf{\Large{}e la democrazia diretta nel mondo moderno}}
\author{\pagebreak}
\maketitle
\tableofcontents{}
\pagebreak{}
\part*{PARTE PRIMA}
\chapter{Introduzione}
\section{La Germania e la democrazia: Il Vormärz più lungo}
\end{document}
答案1
这不是一个解决方案,而是快速测试的结果。
可能是使用 Lyx 是主要问题?
我尝试编译你的 MWE,但在 MiKTeX 上出现错误并失败。因此,为了定位问题,我注释掉了序言中的几乎所有内容,如下所示:
%% LyX 2.3.2 created this file. For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[10pt,a4paper,oneside,italian]{book}
% \usepackage{bookman}
% \usepackage{avant}
% \usepackage{courier}
% \renewcommand{\familydefault}{\rmdefault}
% \usepackage[cp1252]{inputenc}
% \setcounter{secnumdepth}{3}
% \setlength{\parskip}{\smallskipamount}
% \setlength{\parindent}{0pt}
% \synctex=-1
% \usepackage{xcolor}
% \usepackage{pdfcolmk}
% \usepackage{amsmath}
% \usepackage[authoryear]{natbib}
% \PassOptionsToPackage{normalem}{ulem}
% \usepackage{ulem}
% \usepackage{microtype}
% \makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
% \pdfpageheight\paperheight
% \pdfpagewidth\paperwidth
% \providecolor{lyxadded}{rgb}{0,0,1}
% \providecolor{lyxdeleted}{rgb}{1,0,0}
%% Change tracking with ulem
% \DeclareRobustCommand{\lyxadded}[3]{{\color{lyxadded}{}#3}}
% \DeclareRobustCommand{\lyxdeleted}[3]{{\color{lyxdeleted}\lyxsout{#3}}}
% \DeclareRobustCommand{\lyxsout}[1]{\ifx\\#1\else\sout{#1}\fi}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
% \numberwithin{equation}{section}
% \numberwithin{figure}{section}
% \@ifundefined{date}{}{\date{}}
% \makeatother
\usepackage{babel}
\begin{document}
\pagebreak{}
\title{\textbf{All'inizio la democrazia era diretta}\\
\textbf{Moritz Rittinghausen}\\
\textbf{\Large{}e la democrazia diretta nel mondo moderno}}
\author{\pagebreak}
\maketitle
\tableofcontents{}
\pagebreak{}
\part*{PARTE PRIMA}
\chapter{Introduzione}
\section{La Germania e la democrazia: Il Vormärz più lungo}
\end{document}
并且它编译成功了。以下是各个部分的屏幕截图:
那么,也许替换 Lyx 是解决方案的一部分?序言可能会大幅增长,ONCE 内容也会增长。作为参考,在如此早期的阶段,我可能不会手动输入这么多代码行。但这只是我的工作方式……Lyx 似乎走的是一条不同的路线。
因此,目前我取消了进一步关注麻烦制造者的下一步措施,这本来是%'s
逐步激活序言(即删除),直到再次报告错误。
附言:供您参考,我通过从顶部开始删除 来激活各个前导行%'s
。所以基本上您的代码没问题,它会生成我之前发布的屏幕截图。
注释 #1-#4 可能与我的安装和所选选项有关。#5 但是才不是在标题页上打印日期。
正如所示,该版本在我的系统上编译。
%% LyX 2.3.2 created this file. For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[10pt,a4paper,oneside,italian]{book}
\usepackage{bookman} % #1 LaTeX Font Warning: Font shape `TU/pbk/m/n' undefined
\usepackage{avant}
\usepackage{courier}
\renewcommand{\familydefault}{\rmdefault}
% \usepackage[cp1252]{inputenc} % #2 ! Package inputenc Error: inputenc is not designed for xetex or luatex.
\setcounter{secnumdepth}{3}
\setlength{\parskip}{\smallskipamount}
\setlength{\parindent}{0pt}
\synctex=-1
\usepackage{xcolor}
\usepackage{pdfcolmk}
\usepackage{amsmath}
\usepackage[authoryear]{natbib}
\PassOptionsToPackage{normalem}{ulem}
\usepackage{ulem}
\usepackage{microtype}
\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
% \pdfpageheight\paperheight % #3 ! Undefined control sequence. \pdfpageheight
% \pdfpagewidth\paperwidth % #4 ! Undefined control sequence. \pdfpawidth
\providecolor{lyxadded}{rgb}{0,0,1}
\providecolor{lyxdeleted}{rgb}{1,0,0}
%% Change tracking with ulem
\DeclareRobustCommand{\lyxadded}[3]{{\color{lyxadded}{}#3}}
\DeclareRobustCommand{\lyxdeleted}[3]{{\color{lyxdeleted}\lyxsout{#3}}}
\DeclareRobustCommand{\lyxsout}[1]{\ifx\\#1\else\sout{#1}\fi}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
\numberwithin{equation}{section}
\numberwithin{figure}{section}
% \@ifundefined{date}{}{\date{}} % #5 no date on title, if active
\makeatother
\usepackage{babel}
\begin{document}
\pagebreak{}
\title{\textbf{All'inizio la democrazia era diretta}\\
\textbf{Moritz Rittinghausen}\\
\textbf{\Large{}e la democrazia diretta nel mondo moderno}}
\author{\pagebreak}
\maketitle
\tableofcontents{}
\pagebreak{}
\part*{PARTE PRIMA}
\chapter{Introduzione}
\section{La Germania e la democrazia: Il Vormärz più lungo}
\end{document}
答案2
谢谢你的帮助。我尝试导出一个 tex 文件,编辑 babel 子句,添加 [italian]、[italiano] 等,然后将其重新导入 Lyx,但没有任何效果。然后,我碰巧更改了 Lyx 文档设置,将名为“语言包”的设置切换为“Always Babel”(在我的屏幕中:“Sempre babel”),看到问题解决了。至于意大利语的 svmono,我按照 Rich Shepard 的指示这页面,你看,svmono 出现在 Lyx 书籍类别中。需要一些适应,但这已经是向人性迈出的一大步了!唯一让我睡不着觉的是,我使用了 Springer svmono 目录中数百个文件中的两个。等着看它是否会崩溃。
答案3
您的代码无法在 Linux 的 TexLive 2023 中使用 pdflatex,我正在使用这个,因为您cp1252
在Document→ Settings...→中设置了编码Language(或者 LyX 在您的计算机中默认设置了此编码?检查一下!)。无论如何,您确定您仍然需要此编码吗?
我不是 Windows 用户,但据我所知,utf8
编码应该可以在任何当前具有现代 LaTeX 版本的操作系统上正常工作:
现在是uft8
LaTeX 默认设置,因此代码中的修复只需删除此行:
\usepackage[cp1252]{inputenc}
不幸的是,LyX 默认强制设置编码,不幸的是,它再次不这样做utf8
(可能latin9
,至少在我的 Linux 中,将区域设置为LANG=es_ES.UTF-8
仍然是这样)。因此,LyX 中的修复方法是通过菜单更改编码,即:
Document→ Settings...→ Language→ Encoding
dialog → Chek Other
→ Select Unicode (utf8)
。现在代码预览窗格必须显示不必要但无害的内容:
\usepackage[utf8]{inputenc}
现在它应该也可以在 LyX 中直接正确编译。否则,问题出在您的代码上,而不是 LyX 上,而可能是 LaTeX 安装(旧发行版、缺少软件包等...)或文件编码不是 utf8(警告:文件编码与上面的 LaTeX 设置无关inputenc
。它是内部文件编码。大多数好的纯文本编辑器都会向您显示该信息,无论您是在编辑 .tex 文件还是只包含“hello”的“hello.txt”)。