在 LyX 中禁用 \selectlanguage 和 \inputencoding 的自动插入

在 LyX 中禁用 \selectlanguage 和 \inputencoding 的自动插入

有没有办法禁用 LyX 自动插入\selectlanguageand \inputencoding?我喜欢偶尔手动切换语言,但 99% 的情况下 LyX 都会自动插入这些命令,这会破坏我的 ERT 黑客攻击,因为它认为我的开头 { 是英语,而结尾 } 应该是英式英语,或者其他同样无趣的东西。今天我遇到了一些神秘的错误,因为 LyX 在\inputencoding{latin1}and之间切换\inputencoding{latin9}(我更喜欢 UTF8),并在一些不太幸运的地方插入了一些括号……

我知道我可以\selectlanguage通过重置“文本样式”窗口中的语言来解决由语言引起的问题。有没有类似的快速修复方法,\inputencoding直到我可以禁用其自动插入?

为了完整起见,我使用:

Ubuntu 13.04

LyX 2.0.3 (2012-02-19)

建于 2012 年 6 月 1 日,15:14:25

以下示例与我之前想要询问的并不完全相同,但希望足够相似。在 Lyx 中,一切看起来都很正常:

#LyX 2.0 created this file. For more info see http://www.lyx.org/
\lyxformat 413
\begin_document
\begin_header
\textclass article
\begin_preamble
\RequirePackage{microtype}
\end_preamble
\use_default_options true
\maintain_unincluded_children false
\language english
\language_package none
\inputencoding default
\fontencoding global
\font_roman default
\font_sans default
\font_typewriter default
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100

\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize default
\spacing single
\use_hyperref false
\papersize a4paper
\use_geometry false
\use_amsmath 2
\use_esint 1
\use_mhchem 1
\use_mathdots 1
\cite_engine basic
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\use_refstyle 1
\index Index
\shortcut idx
\color #008000
\end_index
\secnumdepth 3
\tocdepth 3
\paragraph_separation skip
\defskip medskip
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header

\begin_body

\begin_layout Standard
test
\end_layout

\end_body
\end_document

现在,转换为 tex 后,出现lyx --export pdflatex test.lyx可疑的情况\selectlanguage{english}

%% LyX 2.0.3 created this file.  For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\setlength{\parskip}{\medskipamount}
\setlength{\parindent}{0pt}
\usepackage{amsmath}
\usepackage{amssymb}

\makeatletter

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
\pdfpageheight\paperheight
\pdfpagewidth\paperwidth


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\RequirePackage{microtype}

\makeatother

\begin{document}
\selectlanguage{english}
test

\end{document}

并且确实运行pdflatex test.tex失败:

! Package babel Error: You haven't loaded the language english yet.

See the babel package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.23 \selectlanguage{english}

? 

直接从 Lyx 编译 pdf 会出现同样的错误。

答案1

文档设置 > 语言

更改EncodingOther并选择语言默认(无输入)`

对于语言包,选择None

[编辑] 导出文件后.lyxpdflatex我得到以下内容,其中没有\selectlanguage{english}并且(因此)编译正常:

%% LyX 2.0.7dev created this file.  For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\setlength{\parskip}{\medskipamount}
\setlength{\parindent}{0pt}
\usepackage{amsmath}
\usepackage{amssymb}

\makeatletter

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
\pdfpageheight\paperheight
\pdfpagewidth\paperwidth


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
\RequirePackage{microtype}

\makeatother

\begin{document}
test
\end{document}

我测试了LyX 2.0.x和的开发版本LyX 2.1 beta。因此,问题肯定是 LyX 中的一个错误,该错误已得到修复。由于您使用的是 Ubuntu,因此可以非常轻松地使用最新的稳定版本(和/或开发版本),而不必放弃当前版本。它们都可以毫无风险地安装。为此,请参阅此处的说明: http://wiki.lyx.org/LyX/LyXOnUbuntu#toc3

相关内容