我可以将 kvoptions - DeclareStringOption 与西班牙语字符一起使用吗?

我可以将 kvoptions - DeclareStringOption 与西班牙语字符一起使用吗?

我刚刚发现 kvoptions 包可以将选项传递给我的 sty 文件。我想传递文档的标题,但它包含西班牙语字符(á、é、í、ó、ú),无法很好地呈现。我在我的文档中完美地使用了这些字符,但不适用于 \style@variable 命令。我该如何使用它?我是 LaTeX 新手。这是文档

\documentclass[a4paper, 11pt]{article}
\usepackage[titulo={Práctica 1: Búsquedas con trayectorias simples}]{estilo}

 \begin{document}
   \maketitle 

 \end{document}

这是 estilo.sty 文件。

\ProvidesPackage{estilo}

%Comandos para configurar el idioma
\usepackage[spanish,activeacute]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} %Necesario para el uso de las comillas latinas.
\usepackage{geometry} % Used to adjust the document margins

%Package for options management
\RequirePackage{kvoptions}
\DeclareStringOption[MetaHeuristicas]{titulo}
\ProcessKeyvalOptions*

%Importante que esta sea la última órden del preámbulo
\usepackage{hyperref}
   \hypersetup{
     pdftitle=\estilo@titulo,
     pdfauthor={Me},
     unicode,
     breaklinks=true,  % so long urls are correctly broken across lines
     colorlinks=true,
     urlcolor=blue,
     linkcolor=darkorange,
     citecolor=darkgreen
     }

输出

输出

编辑:如果我在加载 estilo.sty 之前加载 [utf8]{inputenc},我会得到这个

输出2

答案1

\usepackageLaTeX 首先读取的包选项:

  • 输入文件的 8 位字节具有类别代码 12(其他),如数字。 \usepackage[utf8]{inputenc}使这些字节处于活动状态。然后,活动字符字节解码这些字节以获取 Unicode 字符表示的宏。

  • LaTeX 以困难的方式扩展选项(\edef),假设选项只是简单的 ASCII 字母和数字。软件包kvoptions-patch修补了 LaTeX 选项解析,以支持键值设置值中的任意宏没有扩大它们。

文档的开始现在看起来像:

\documentclass[a4paper, 11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{kvoptions-patch}
\usepackage[titulo={Práctica 1: Búsquedas con trayectorias simples}]{estilo}

(如果在viakvoptions-patch之前加载,则宏也可以用于全局选项的选项值。)\documentclass\RequirePackage{kvoptions-patch}

结果

关于选项处理的更强大的接口是在包加载后使用宏,例如:

\usepackage{estilo}
\estilosetup{titulo={...}}

答案2

当读入选项时estilo,包inputenc尚未加载。您可以使用\scantokens

estilo.sty

\ProvidesPackage{estilo}

%Comandos para configurar el idioma
\usepackage[T1]{fontenc} %Necesario para el uso de las comillas latinas.
\usepackage[utf8]{inputenc}
\usepackage[spanish,activeacute]{babel}
\usepackage{geometry} % Used to adjust the document margins

%Package for options management
\RequirePackage{kvoptions}
\DeclareStringOption[MetaHeuristicas]{titulo}
\ProcessKeyvalOptions*

\@ifundefined{estilo@titulo}{}{%
  \scantokens\expandafter{\expandafter\def\expandafter\estilo@titulo\expandafter{\estilo@titulo}}%
}

%Importante que esta sea la última órden del preámbulo
\usepackage{hyperref}
\hypersetup{
   pdftitle=\estilo@titulo,
   pdfauthor={Me},
   unicode,
   breaklinks=true,  % so long urls are correctly broken across lines
   colorlinks=true,
   urlcolor=blue,
   linkcolor=darkorange,
   citecolor=darkgreen
}

test.tex

\documentclass[a4paper, 11pt]{article}
\usepackage[titulo={Práctica 1: Búsquedas con trayectorias simples}]{estilo}

\begin{document}
\maketitle

\end{document}

信息窗口

在此处输入图片描述

输出pdfinfo

> pdfinfo -enc UTF-8 test.pdf
Title:          Práctica 1: Búsquedas con trayectorias simples
Subject:        
Keywords:       
Author:         Me
Creator:        LaTeX with hyperref package
Producer:       pdfTeX-1.40.16
CreationDate:   Mon Apr  4 18:45:39 2016
ModDate:        Mon Apr  4 18:45:39 2016
Tagged:         no
Form:           none
Pages:          1
Encrypted:      no
Page size:      595.276 x 841.89 pts (A4) (rotated 0 degrees)
File size:      36484 bytes
Optimized:      no
PDF version:    1.5

相关内容