¿En InDesign es posible buscar y cambiar mayúsculas a minúsculas?

¿Hay alguna forma de buscar y cambiar las letras mayúsculas de un determinado estilo de carácter y cambiarlas a minúsculas en InDesign?

Respuestas (4)

¡Sí! Primero, asegúrese de que la fuente tenga mayúsculas y minúsculas. Luego, resalta el texto que deseas convertir. Localiza en el menú superior Type -> Change Case -> lowercase.

¿Es esto lo que estás preguntando?

O

Si necesita encontrar algo específico, puede probar la función Buscar/Cambiar... Localice desde el menú superior Edit -> Find/Change(o use el atajo de teclado + F)

Abrirá un panel que se ve así... y con un poco de juego, puedes familiarizarte con sus asombrosas habilidades.

ingrese la descripción de la imagen aquí

Solo asegúrese de que el botón 'Sensible a mayúsculas y minúsculas' esté seleccionado y la función Buscar/Cambiar debería funcionar.
No, eso no va a funcionar en el caso específico que aborda esta pregunta.

Aparte de las secuencias de comandos, InDesign no tiene forma de forzar minúsculas en una búsqueda/reemplazo global, como sin duda habrá descubierto.

Una forma un poco menos manual de abordar esto es usarlo Find/Changejunto con el teclado.

La parte automatizada es usar una búsqueda GREP para cualquier carácter en mayúscula en ese estilo de carácter. La parte manual consiste en escribir las minúsculas directamente, sobrescribiendo los caracteres encontrados. Afortunadamente, Find/Changeno es modal, por lo que no tiene que saltar dentro y fuera de él para realizar cambios de texto.

  • En el cuadro de diálogo Buscar/Reemplazar, elija la pestaña GREP. Haga clic en el icono junto a Find Formaty elija el estilo de carácter al que desea apuntar.

  • En Find What?enter \u+, que encuentra cualquier secuencia de letras mayúsculas consecutivas.

  • Haga clic en Find Next. Esto resaltará los primeros caracteres en mayúsculas en ese estilo de carácter. Escriba los equivalentes en minúsculas o use Type > Change Case > lowercase. Repita hasta llegar al final del documento.

Es útil asignar un acceso directo a Tipo-->cambiar mayúsculas-->opción de su elección. De esa manera, puede ingresar su cadena de búsqueda y luego, cuando la resalte, simplemente presione su combinación de teclado y luego presione buscar siguiente y continúe.

Estoy usando (sí, está desactualizado) CS5, y el siguiente script de Peter Kahrel funciona maravillosamente.

  1. Copie y pegue el script y guárdelo en un useful_filename.jsxdirectorio ubicado en el directorio de scripts de InDesign (yo personalmente lo puse en el Scripts Paneldirectorio).

  2. Debe establecer sus parámetros de búsqueda en el cuadro de diálogo Buscar/Buscar. NOTA: Esto solo funciona para la búsqueda. No habrá un evento de reemplazo. He encontrado útil realizar primero el evento de búsqueda y reemplazo, asignando un estilo ficticio al resultado y luego configurando la búsqueda para buscar ese estilo ficticio.

  3. La secuencia de comandos no tiene una opción de mayúsculas y minúsculas. Podría agregarse fácilmente. Sin embargo, la conversión de casos de título de CS5 es un montón de manzanas podridas, por lo que no lo considero una pérdida.

Una vez que haya establecido sus parámetros de búsqueda, ejecute el script, seleccione sus opciones y utilícelo (no el cuadro de diálogo Buscar/Buscar) para completar la acción. Bob es tu tio.

// Change case interactively. Find/change options should be set in InDesign's Find/Change window.

// Peter Kahrel -- www.kahrel.plus.com

#targetengine "change_case";

create_palette().show();

function create_palette ()
{
var w = Window.find ("palette", "Change case");
if (w === null)
    return create_palette_sub ();
return w;
}


function create_palette_sub ()
{
var changetype;
var w = new Window ("palette", "Change case", undefined, {resizeable: true});
    w.alignChildren = "fill";
    var options = [ChangecaseMode.lowercase, ChangecaseMode.uppercase, ChangecaseMode.sentencecase];
    var rb = w.add ("panel");
        var upper_to_lower = rb.add ("radiobutton", undefined, "A > a");
        var lower_to_upper = rb.add ("radiobutton", undefined, "a > A");
        var upper_to_sentence = rb.add ("radiobutton", undefined, "AB > Ab");
    var smallcaps = w.add ("checkbox", undefined, " Apply SmallCaps");
    var b = w.add ("group {orientation: 'column', alignChildren: 'fill'}");

    var find = b.add ("button", undefined, "Find");
    var change = b.add ("button", undefined, "Change");
    var change_all = b.add ("button", undefined, "Change all");
    var change_find = b.add ("button", undefined, "Change/find");


    if (app.findGrepPreferences.findWhat.indexOf ("\\u") > -1)
        {
        upper_to_lower.value = true;
        changetype = ChangecaseMode.lowercase;
        }
    else
        {
        lower_to_upper.value = true;
        changetype = ChangecaseMode.uppercase;
        }

    upper_to_lower.onClick = function () {changetype = ChangecaseMode.lowercase};
    lower_to_upper.onClick = function () {changetype = ChangecaseMode.uppercase};
    upper_to_sentence.onClick = function () {changetype = ChangecaseMode.sentencecase};

    var found, found_counter;

    find.onClick = function () {
        if (this.text === 'Find') {
            found = app.documents[0].findGrep();
            if (found.length > 0){
                found_counter = 0;
                find.text = 'Find next';
                show_found (found[found_counter]);
            } else {
                alert ("No (more) matches found.");
            }
        } else {
            found_counter++;
            if (found_counter < found.length){
                show_found (found[found_counter]);
            } else {
                find.text = 'Find';
                alert ("No (more) matches found.");
            }
        }
    }


    change.onClick = function () {
        found[found_counter].changecase(changetype);
        if (smallcaps.value == true) {
            found[found_counter].capitalization = Capitalization.smallCaps;
        }
    }

    change_find.onClick = function (){
        if (found_counter < found.length){
            found[found_counter].changecase(changetype);
            if (smallcaps.value == true) {
                found[found_counter].capitalization = Capitalization.smallCaps;
            }
            found_counter++;
            if (found_counter < found.length){
                show_found (found[found_counter]);
            } else {
                alert ("No (more) matches found.");
            }
        }
    }

    change_all.onClick = function () {
        for (var i = found_counter; i < found.length; i++) {
            found[i].changecase(changetype);
            if (smallcaps.value == true) {
                found[i].capitalization = Capitalization.smallCaps;
            }
        }
    }

    w.onDeactivate = w.onActivate = function () {find.text = 'Find'}

return w;

} // create_palette_sub



function show_found (f)
{
if (f.parentTextFrames.length === 0)  // If in overset text
    {
    app.activeWindow.activePage = find_page(f.parentStory.textContainers[0].endTextFrame);
    }
else
    {
    f.select();
    app.activeWindow.activePage = find_page (f.parentTextFrames[0]);
    }
}


function find_page(o)
{
if (o.hasOwnProperty ("parentPage"))  // CS5 and later
    return o.parentPage;
else
    return find_page_classic(o)
}


function find_page_classic (o)
{
try
    {
    if (o.constructor.name == "Page")
        return o;
    switch (o.parent.constructor.name)
        {
        case "Character": return find_page_classic (o.parent);
        case "Cell": return find_page_classic (o.parent.texts[0].parentTextFrames[0]);
        case "Table" : return find_page_classic (o.parent);
        case "TextFrame" : return find_page_classic (o.parent);
        case "Group" : return find_page_classic (o.parent);
        case "Story": return find_page_classic (o.parentTextFrames[0]);
        case "Footnote": return find_page_classic (o.parent.storyOffset);
        case "Page" : return o.parent;
        }
    }
    catch (_) {return ""}
}