Kaixo!

Se me han juntado varias dudas de LaTeX que no consigo resolver. Como sé que
hay varios lectores de esta lista que lo utilizan -Kaixo Digna- pregunto a
ver si hay suerte.

*Caption*

Al escribir \caption{Prueba de pie} en una figure o table, en el índice de
figuras/tablas aparece 'Prueba de pie'. Los pies aparecen en letra cursiva
-porque así lo he establecido- y en el índice no. Si quiero resaltar alguna
palabra, por ejemplo un término en inglés, para que se vea en el pie tengo
que ponerla en negrita:

\caption{\Prueba \textbf{de} pie}

Al hacer eso, la palabra aparece en negrita tanto en el pie como en el
índice. Y no me gusta que aparezca en negrita en el índice, porque no es
necesario, bastaría con que apareciera en cursiva. Una opción para
diferenciarlo es definir por un lado el contenido para el pie y por otro
para el índice:

\caption[Prueba \textit{de} pie]{Prueba \textbf{de} pie}

Ahora bien, ¿hay alguna forma de hacer lo mismo sin escribir dos veces
prácticamente lo mismo? En los casos en que el pie y el contenido del índice
es diferente -porque el pie es muy largo- no supone un esfuerzo cambiarlo a
mano. Pero tener que duplicar todos los pies 'cortos' me parece poco
práctico. Se me ocurre que podría utilizar \emph{} en lugar de \textit{} y
\textbf{}, pero no sé dónde se define qué aspecto debe tener \emph{}, ni si
se puede hacer distinción entre en el formato de \emph{} en función de dónde
vaya a mostrarse.

*Hyperref, listings y tilde en euskera*

Por otro lado, estoy utilizando el paquete hyperref para que coloree las
urls, poder personalizar los vínculos, etc. Hasta ahora no he tenido ningún
problema (ni en castellano ni en euskera), pero al tratar de utilizar en
euskera (\usepackage[basque]{babel}) el paquete listings para insertar un
fichero *.m generado por Matlab, casca:

! LaTeX Error: Command \texttilde unavailable in encoding OT1.

Resulta que dentro del fichero hay tres tildes, ~, y hyperref por lo visto
no se lleva bien con las tildes. Digo que hyperref no se lleva bien porque
he probado a comentar y descomentar diferentes paquetes y he identificado
que es éste el que entra en conflicto. Exactamente el mismo documento con
\usepackage[spanish]{babel} compila perfectamente y no da ningún problema.

Si la tilde estuviera en cualquier otra parte del documento, como forma de
salir del paso bastaría con sustituir la tilde por algún símbolo de
cualquier paquete. Pero como listings es un entorno verbatim -justamente esa
es su función: no tener que adaptar todo el código con sentencias de escape
y que resalte automáticamente las palabras reservadas del lenguaje-, no
puedo introducir código LaTeX en el fichero de Matlab.

Por si sirve de algo, la codificación que estoy utilizando, tanto para
euskera como para castellano es UTF8 (\usepackage[utf8]{inputenc}).

Adjunto un fichero de prueba y el fichero de Matlab. Compilándolo en un
idioma y en otro se ve claramente el error.

Entiendo que lo más sencillo sería conseguir que en euskera también
reconociera la tilde e incluso la ñ (las tildes en vocales las interpreta
sin problema, tanto á como \'{a}). Pero tampoco he encontrado cómo hacerlo.
Todas las soluciones que he visto pasan por "engañar" a hyperref, cosa que
no puedo hacer por estar en entorno verbatim. Quizá si alguien ha conseguido
escribir ñ en textos en euskera, la solución pueda servir.

Antes de terminar, aprovecho este mensaje para comentar que tanto Digna como
yo vamos añadiendo cosillas al Grupo de trabajo: LaTeX de la wiki. Sobre
todo en cuanto a paquetes que añaden funcionalidades para gráficos, plots,
imágenes, diagramas, cronogramas, etc. y truquillos para corregir errores al
trabajar en euskera. Si consideráis que falta algo, sois muy libres de
añadirlo directamente o bien sugerirlo.

Un saludo
function anie_config(this_block)

  this_block.setTopLevelLanguage('VHDL');

  this_block.setEntityName('anie');

  % System Generator has to assume that your entity  has a combinational feed 
through; 
  %   if it  doesn't, then comment out the following line:
  this_block.tagAsCombinational;

  this_block.addSimulinkInport('i_ref');
  this_block.addSimulinkInport('i_feed');

  this_block.addSimulinkOutport('o');

  o_port = this_block.port('o');
  o_port.setType('UFix_24_0');

  % -----------------------------
  if (this_block.inputTypesKnown)
    % do input type checking, dynamic output type and generic setup in this 
code block.

    if (this_block.port('i_ref').width ~= 12);
      this_block.setError('Input data type for port "i_ref" must have 
width=12.');
    end

    if (this_block.port('i_feed').width ~= 12);
      this_block.setError('Input data type for port "i_feed" must have 
width=12.');
    end

  end  % if(inputTypesKnown)
  % -----------------------------
   if (this_block.inputRatesKnown)
     setup_as_single_rate(this_block,'m_clk','m_ce')
   end  % if(inputRatesKnown)
  % -----------------------------
    % (!) Set the inout port rate to be the same as the first input 
    %     rate. Change the following code if this is untrue.
    uniqueInputRates = unique(this_block.getInputRates);

  % Add addtional source files as needed.
  %  |-------------
  %  | Add files in the order in which they should be compiled.
  %  | If two files "a.vhd" and "b.vhd" contain the entities
  %  | entity_a and entity_b, and entity_a contains a
  %  | component of type entity_b, the correct sequence of
  %  | addFile() calls would be:
  %  |    this_block.addFile('b.vhd');
  %  |    this_block.addFile('a.vhd');
  %  |-------------

  this_block.addFile('blackbox.vhd');

return;
% ------------------------------------------------------------
function setup_as_single_rate(block,clkname,cename) 
  inputRates = block.inputRates; 
  uniqueInputRates = unique(inputRates); 
  if (length(uniqueInputRates)==1 & uniqueInputRates(1)==Inf) 
    block.addError('The inputs to this block cannot all be constant.'); 
    return; 
  end 
  if (uniqueInputRates(end) == Inf) 
     hasConstantInput = true; 
     uniqueInputRates = uniqueInputRates(1:end-1); 
  end 
  if (length(uniqueInputRates) ~= 1) 
    block.addError('The inputs to this block must run at a single rate.'); 
    return; 
  end 
  theInputRate = uniqueInputRates(1); 
  for i = 1:block.numSimulinkOutports 
     block.outport(i).setRate(theInputRate); 
  end 
  block.addClkCEPair(clkname,cename,theInputRate); 
  return;

Attachment: anie.tex
Description: TeX document

_______________________________________________
ITSAS mailing list
[email protected]
http://list.ehu.es/mailman/listinfo/itsas

Responder a