mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-30 05:12:40 +00:00
Generalize uppercase test
Biblatex has \Textcite and friends.
This commit is contained in:
parent
867cdb0662
commit
0b4d9d8d4a
@ -1188,9 +1188,9 @@ CitationStyle citationStyleFromString(string const & command)
|
||||
return cs;
|
||||
|
||||
string cmd = command;
|
||||
if (cmd[0] == 'C') {
|
||||
if (isUpperCase(cmd[0])) {
|
||||
cs.forceUpperCase = true;
|
||||
cmd[0] = 'c';
|
||||
cmd[0] = lowercase(cmd[0]);
|
||||
}
|
||||
|
||||
size_t const n = cmd.size() - 1;
|
||||
|
@ -1041,9 +1041,9 @@ bool TextClass::readCiteEngine(Lexer & lexrc)
|
||||
char ichar = def[0];
|
||||
if (ichar == '#')
|
||||
continue;
|
||||
if (ichar == 'C') {
|
||||
if (isUpperCase(ichar)) {
|
||||
cs.forceUpperCase = true;
|
||||
def[0] = 'c';
|
||||
def[0] = lowercase(ichar);
|
||||
}
|
||||
|
||||
size_t const n = def.size();
|
||||
|
@ -1547,7 +1547,7 @@ void MenuDefinition::expandCiteStyles(BufferView const * bv)
|
||||
docstring const & after = citinset->getParam("after");
|
||||
|
||||
size_t const n = cmd.size();
|
||||
bool const force = cmd[0] == 'C';
|
||||
bool const force = isUpperCase(cmd[0]);
|
||||
bool const full = cmd[n] == '*';
|
||||
|
||||
vector<docstring> const keys = getVectorFromString(key);
|
||||
|
@ -195,8 +195,8 @@ CitationStyle asValidLatexCommand(string const & input, vector<CitationStyle> co
|
||||
|
||||
string normalized_input = input;
|
||||
string::size_type const n = input.size() - 1;
|
||||
if (input[0] == 'C')
|
||||
normalized_input[0] = 'c';
|
||||
if (isUpperCase(input[0]))
|
||||
normalized_input[0] = lowercase(input[0]);
|
||||
if (input[n] == '*')
|
||||
normalized_input = normalized_input.substr(0, n);
|
||||
|
||||
@ -210,7 +210,7 @@ CitationStyle asValidLatexCommand(string const & input, vector<CitationStyle> co
|
||||
}
|
||||
}
|
||||
|
||||
cs.forceUpperCase &= input[0] == 'C';
|
||||
cs.forceUpperCase &= input[0] == uppercase(input[0]);
|
||||
cs.fullAuthorList &= input[n] == '*';
|
||||
|
||||
return cs;
|
||||
@ -260,9 +260,9 @@ docstring InsetCitation::complexLabel(bool for_xhtml) const
|
||||
|
||||
// We don't currently use the full or forceUCase fields.
|
||||
string cite_type = getCmdName();
|
||||
if (cite_type[0] == 'C')
|
||||
if (isUpperCase(cite_type[0]))
|
||||
// If we were going to use them, this would mean ForceUCase
|
||||
cite_type = string(1, 'c') + cite_type.substr(1);
|
||||
cite_type[0] = lowercase(cite_type[0]);
|
||||
if (cite_type[cite_type.size() - 1] == '*')
|
||||
// and this would mean FULL
|
||||
cite_type = cite_type.substr(0, cite_type.size() - 1);
|
||||
|
Loading…
Reference in New Issue
Block a user