Číslování bodů stylu Word 2010



Píšu dokument ve které se opakuji jeho části s body, např.Čl. 1 (Pozn. styl "Čl")a) bla, bla, bla (Pozn. styl "Abc")b) bla, bla, bla (Pozn. styl "Abc")c) bla, bla, bla (Pozn. styl "Abc")Čl. 2 (Pozn. styl "Čl")a) bla, bla, bla (Pozn. styl "Abc")b) bla, bla, bla (Pozn. styl "Abc")c) bla, bla, bla (Pozn. styl "Abc")Mál ale problém přimět Word, aby jednotlivé odstavce pod Čl. čísloval vždy od začátku, tj. od a). Při napsání nového Čl. musím vždy pravým tlačítkem kliknout na přidané body a vybrat "Číslovat od začátku" přestože je hodnota číslování nastavena na "Začít nový seznam". Při nastavení číslování bodů dojde také automaticky k jejich odsazení, to ale nechci. Ručně změním odsazení číslovaných bodů odstavce na "Vlevo = 0 cm" a "Předsazení = 0,75 cm", aktualizuji styl "Abc" podle provedených změn ale z neznámých důvodů se odsazení první bodu v jednotlivých Čl. vrátí na standardně přednastavené hodnoty "Vlevo = 0,63 cm" a "Předsazení = 0,63 cm". Formátování pak vypadá takto:Čl. 1 (Pozn. styl "Čl") a) bla, bla, bla (Pozn. styl "Abc")b) bla, bla, bla (Pozn. styl "Abc")c) bla, bla, bla (Pozn. styl "Abc")Čl. 2 (Pozn. styl "Čl") a) bla, bla, bla (Pozn. styl "Abc")b) bla, bla, bla (Pozn. styl "Abc")c) bla, bla, bla (Pozn. styl "Abc")Ja přimět Word, aby jednotlivé body Čl. čísloval vždy od začátku a neměnil formátování prvního bodu (nepřidal odsazení)?
"Ja přimět Word, aby jednotlivé body Čl. čísloval vždy od začátku a neměnil formátování prvního bodu (nepřidal odsazení)?"Word tohle umí odjakživa, stačí nastavit to správné (tedy víceúrovňové) číslování. Je to ta ikonka hned vedle jednoduchého...
<p>mohl bych o tom dál podrobně hovořit, ale tady není správné fórum (bývalý poradce pro život = vzdělávání v oblasti osvojování jazyků (la) a zpoždění la).</p><p>stručně řečeno: protože funkce textu je rozhodující pro to, co děláte, nejlepší volbou je poskytnout nějaký důraz na text, aniž by to narušilo jeho čitelnost. nejjednodušší způsob, jak toho dosáhnout, je velká písmena prvního písmena každého slova, jako v prvním příkladu.</p><p>ve skutečnosti je vaše současné pořadí příkladů do značné míry v pořadí od nejlepších po nejhorší možnosti.</p><p>je zřejmé, že je třeba vzít v úvahu také grafický design stránky - ale to tu nemáme, takže můj názor je založen čistě na tom, co čtenáři nejrychleji pochopí.</p><p>(zdá se, že počáteční přístup pouze k omezení počtu titulů je stále populárnější - např. nadpis - což je škoda. západní čtenáři tento vzhled snadno spojí se začátkem věty, takže očekávají, že další text bude okamžitě následovat. ne následovat - jako ve vašem případě - způsobí chvilkovou pauzu, úpravu. trvá to jen milisekundy, ale nastane, a pokud je to možné, doporučuji se jí vyhýbat.)</p><p>všimněte si, že rahulův ne-příklad by byl v téměř každém případě tím nejhorším rozhodnutím, jaké byste mohli učinit.</p> <p>moje doporučení by bylo použít <code>query\_posts()</code> k úpravě dotazu tak, aby <code>orderby=title</code> a <code>order=asc</code> ... toto vrátilo stejné výsledky jako váš první dotaz, ale s příspěvky <a href="http://codex.wordpress.org/function\_reference/query\_posts#orderby\_parameters">seřazenými abecedně podle názvu</a> .</p> <p>přiznávám, že jsem to nikdy předtím neudělal, takže došlo k trochu poškrábání hlavy. jednoduchá ukázková tabulka, která demonstruje:</p><pre><code>if exists (select * from sys.objects where object\_id = object\_id(n'[dbo].[mytable]') and type in (n'u')) drop table [dbo].[mytable] go create table dbo.mytable ( col1 int , col2 char(1) ) go insert dbo.mytable (col1, col2) values (1, 'a') insert dbo.mytable (col1, col2) values (1, 'b') insert dbo.mytable (col1, col2) values (1, 'c') insert dbo.mytable (col1, col2) values (2, 'a') insert dbo.mytable (col1, col2) values (2, 'b') insert dbo.mytable (col1, col2) values (2, 'c') insert dbo.mytable (col1, col2) values (3, 'a') insert dbo.mytable (col1, col2) values (3, 'b') insert dbo.mytable (col1, col2) values (3, 'c') </code></pre><p>pomocí parametru @sortstyle k rozlišení objednávek řazení se @sortstyle = 1 třídí podle <code>col1 asc, col2 desc</code> a @ sortstyle = 2 seřadit podle <code>col2 desc, col1 asc</code>.</p><pre><code>declare @sortstyle int set @sortstyle = 1 select col1 , col2 from dbo.mytable order by case when @sortstyle = 1 then col1 end asc, case when @sortstyle = 1 then col2 end desc, case when @sortstyle = 2 then col2 end desc, case when @sortstyle = 2 then col1 end asc set @sortstyle = 2 select col1 , col2 from dbo.mytable order by case when @sortstyle = 1 then col1 end asc, case when @sortstyle = 1 then col2 end desc, case when @sortstyle = 2 then col2 end desc, case when @sortstyle = 2 then col1 end asc </code></pre><p> <a href="https://dba.stackexchange.com/questions/4104/how-do-you-order-by-a-parameter/4111#4111">jak se objednáváte parametrem</a> pokrývá jednodušší případ třídění podle 1 sloupce.</p> <p>hlavním důvodem k tomu (tzv. „podmíněný yoda“) je zabránit nehodám, při nichž omylem použijete operátora přiřazení (<code>=</code>) místo operátora stejného srovnání (<code>==</code>).</p><p>to znamená, že pokud jste udělali chybu, že jste to udělali:</p><pre><code>$foo = 5; if ($foo = 1) { // stuff } </code></pre><p>prohlášení bude vyhodnoceno jako <code>true</code> (nebo v případě některých jazyků - jako php - truthy value) a budete mít těžko nalezitelnou chybu.</p><p>ale pokud ano:</p><pre><code>$foo = 5; if (1 = $foo) { // stuff } </code></pre><p>obdržíte závažnou chybu, protože nemůžete přiřadit <code>$foo</code> na celé číslo.</p><p>jak jste však zdůraznili, obrácení pořadí obecně věci méně čte. mnoho kódovacích standardů (ale ne všechny, <a href="https://make.wordpress.org/core/handbook/best-practices/coding-standards/php/#yoda-conditions">včetně wordpress</a> ) tedy navrhuje nebo vyžaduje <code>$foo == 1</code> přes výhody lovu chyb <code>1 == $foo</code>.</p><p>obecně je mou radou postupovat podle zavedeného standardu kódování, pokud existuje: pro wordpress to znamená použití podmínek yoda.</p><p>pokud není, a není možné jej založit na základě konsensu s vašimi kolegy, je to volba prodejce.</p> <p>tradičně je "seřadit podle" označeno pomocí šipek nahoru/dolů, které představují třídění vzestupně nebo sestupně. názvy sloupců by měly mít vyšší úroveň kontrastu než hodnoty, například odvážnější text nebo stínované pozadí.</p><p>osobně při obarvení střídavých řádků obvykle přecházím na světlejší než na tmavší, protože efekt se zvyšuje tím výrazněji, čím déle vaši uživatelé interagují s tabulkou.</p><p>zde je několik skvělých příkladů možností rozvržení tabulky: <a href="http://patterntap.com/tap/collection/tables">http://patterntap.com/tap/collection/tables</a> </p> <p>text by měl do značné míry záviset na samotném skutečném obsahu. je to citlivé na čas, jako jsou zprávy, nebo je to obsah, který bude relevantní bez ohledu na to, když se zobrazí? pokud je to citlivé na čas, má smysl používat starší/novější. pokud to není časově citlivé, předchozí/další se jeví lépe.</p><p>řekl bych však, že přidání čísel stránek by zvýšilo srozumitelnost vašeho stránkování, protože by vám poskytlo počáteční index, který je snadno patrný, a také by poskytlo více kontextu pro vaše stránkování. většina zmatku ve výše uvedených metodách vyplývá z toho, že nevíte, kde jste, nevíte, kde jste, nebo obojí. čísla stránek pomáhají tento problém zmírnit, zejména pokud jasně uvedete, které číslo stránky uživatel právě prohlíží.</p><p>pokud jde o to, co by mělo přijít první, starší/novější, záleží zcela na vašem pořadí řazení. znovu však přidávání čísel stránek do značné míry zmatek minimalizuje.</p><p>a co víc, jak pro účely použitelnosti, tak pro účely seo byste měli poskytnout více než jen starší/novější nebo další/předchozí.</p><p>zvážit:</p><p>předpokládejme, že váš blog se týká obchodních zpráv. který je nejužitečnější?</p><ol> <li><strong>novější obchodní zprávy</strong> 1 2 [3] 4 5 <strong>starší obchodní zprávy</strong></li> <li><strong>novější obchodní zprávy</strong> | <strong>starší obchodní zprávy</strong></li> <li><strong>novější</strong> 1 2 [3] 4 5 <strong>starší</strong></li> <li><strong>novější</strong> | <strong>starší</strong></li> </ol><p>nebo řekněme, že váš blog není časově citlivý. místo toho publikujete obchodní články, jako jsou osvědčené postupy týkající se marketingu, najímání, strategie atd. co je nejužitečnější?</p><ol> <li><strong>předchozí obchodní zdroje</strong> 1 2 [3] 4 5 <strong>další obchodní zdroje</strong></li> <li><strong>předchozí obchodní zdroje</strong> | <strong>další obchodní zdroje</strong></li> <li><strong>předchozí</strong> 1 2 [3] 4 5 <strong>další</strong></li> <li><strong>předchozí</strong> | <strong>další</strong></li> </ol> <p>ve skriptech shell není důležité žádné odsazení.</p><p>mírně méně flippant odpověď:</p><ul> <li>vyberte si ve svém týmu standard, se kterým můžete pracovat, zjednodušit věci.</li> <li>použijte něco, co editor usnadňuje, takže nemusíte bojovat, abyste se drželi standardu.</li> </ul> <p>@ eamann má skvělou odpověď, pokud chcete různé rozvržení pro různé kategorie. otoh <strong> pokud chcete změnit css například na jinou barvu pozadí pro každou kategorii </strong>, zjistíte, že většina témat bude obsahovat kategorii slim jako css třídy na elementu <code>&lt;body&gt;</code> a/nebo případně dalších html prvcích, které jsou výstupem motivu. (a to iv případě, že vaše téma byste nemohli vždy přidat tuto funkci sami.)</p><p>například téma twentyten to dělá přesně; pro následující adresu url:</p><blockquote> <p> <a href="http://example.com/category/category-1/">http://example.com/category/category-1/</a> </p> </blockquote><p>jak vypadá prvek <code>&lt;body&gt;</code> takto:</p><blockquote> <p><code>&lt;body class="archive category category-category-1"&gt;</code></p> </blockquote><p>s vědomím výše uvedeného byste mohli přidat následující styly do souboru <code>style.css</code> vašeho motivu, který bude mít různou barvu pozadí pro každou stránku (jsem samozřejmě velmi zjednodušující, vaše skutečné css by bylo jistě sofistikovanější):</p><pre><code>/* style.css */ body.category-category-1 { background-color: red; } body.category-category-2 { background-color: green; } body.category-category-3 { background-color: blue; } </code></pre><p>vše, co opravdu potřebujete udělat, je zjistit, zda vaše téma to dělá nebo ne je <strong> zobrazit zdroj </strong> na stránkách kategorie zájmu a vyhledat vaši kategorii slug.</p><h3>použijte podřízený motiv</h3><p>pravděpodobně nechcete měnit <code>style.css</code> motivu; pravděpodobně budete chtít vytvořit <a href="https://wordpress.stackexchange.com/questions/290/customizing-a-wordpress-theme-without-changing-it/291#291"><strong> <em> child theme </em> </strong></a> místo. zde je několik odpovědí, kde mluvím o dětských tématech:</p><ul> <li> <a href="https://wordpress.stackexchange.com/questions/290/customizing-a-wordpress-theme-without-changing-it/291#291">přizpůsobení motivu wordpress bez jeho změny?</a> </li> <li> <a href="https://wordpress.stackexchange.com/questions/462/making-the-header-on-the-twenty-ten-theme-less-tall/463#463">tvorba záhlaví na téma téma dvacet deset méně tall?</a> </li> </ul><p>všimněte si, že ne všechny motivy podporují podřízené motivy. v případě těchto témat budete muset více zkoumat, jak jsou rozšířeny.</p> <p><strong>žádné objednání není zmeškaná příležitost</strong></p><p>pokud máte „žádný příkaz“, je to zmeškaná příležitost usnadnit navigaci v seznamu. chronologické pořadí přidávání, nebo abecední pořadí, se může vylepšit pouze u „žádného definitivního pořadí“, pokud jde o navigaci. jakmile máte objednávku, máte odpověď na to, kam přidat.</p><p>předpokládám, že čas přidávání je pro vaši aplikaci užitečnější než abecední, nebo byste už používali abecedu a neměli byste mít otázku - takže máte na výběr mezi chronologickým nebo reverzním chronologem.</p><p><strong>chronologický nebo reverzní chronologický?</strong></p><p>je pravděpodobnější, že se uživatelé budou zajímat o starší nebo nově přidané záznamy? to může rozhodnout, zda je chronologické nebo obrácené chronologické pořadí přidávání správným řádem. dejte nejzajímavější na vrchol. pokud se preference může lišit, pak <strong>přidejte šipku řazení/nahor</strong>, aby si uživatel mohl vybrat. nyní máte opět definitivní pořadí a víte, kam přidat záznamy. pokud téměř nikdy není žádný zájem o starší nebo novější, takže se vyplatí přidat šipku řazení, pak se nové položky zobrazí na konci tabulky, která je nejblíže tlačítku odeslat. tímto způsobem, se zaměřením pozornosti na tlačítko, vidí změnu tak, jak se stane.</p><p><em> něco </em> poblíž <kbd>submit</kbd> tlačítko se musí po kliknutí změnit, např. počet záznamů, ne-li skutečný vzhled nové položky, takže v blízkosti tlačítka existuje nějaká vizuální zpětná vazba, že se něco stalo. tam hledají.</p> <p>příkaz <code>merge</code> má složitou syntaxi a ještě složitější implementaci, ale v zásadě jde o spojení dvou tabulek, filtrování dolů na řádky, které je třeba změnit (vložit, aktualizovat nebo smazat), a poté provést požadované změny. vzhledem k těmto vzorovým údajům:</p><pre><code>declare @categoryitem as table ( categoryid integer not null, itemid integer not null, primary key (categoryid, itemid), unique (itemid, categoryid) ); declare @datasource as table ( categoryid integer not null, itemid integer not null primary key (categoryid, itemid) ); insert @categoryitem (categoryid, itemid) values (1, 1), (1, 2), (1, 3), (2, 1), (2, 3), (3, 5), (3, 6), (4, 5); insert @datasource (categoryid, itemid) values (2, 2); </code></pre><p><strong> cíl </strong></p><pre><code>╔════════════╦════════╗ ║ categoryid ║ itemid ║ ╠════════════╬════════╣ ║ 1 ║ 1 ║ ║ 2 ║ 1 ║ ║ 1 ║ 2 ║ ║ 1 ║ 3 ║ ║ 2 ║ 3 ║ ║ 3 ║ 5 ║ ║ 4 ║ 5 ║ ║ 3 ║ 6 ║ ╚════════════╩════════╝ </code></pre><p><strong> zdroj </strong></p><pre><code>╔════════════╦════════╗ ║ categoryid ║ itemid ║ ╠════════════╬════════╣ ║ 2 ║ 2 ║ ╚════════════╩════════╝ </code></pre><p>požadovaným výsledkem je nahrazení dat v cíli daty ze zdroje, ale pouze pro <code>categoryid = 2</code>. po výše uvedeném popisu <code>merge</code> bychom měli napsat dotaz, který spojuje zdroj a cíl pouze na klíče, a filtrovat řádky pouze v klauzulích <code>when</code>:</p><pre><code>merge into @categoryitem as target using @datasource as source on source.itemid = target.itemid and source.categoryid = target.categoryid when not matched by source and target.categoryid = 2 then delete when not matched by target and source.categoryid = 2 then insert (categoryid, itemid) values (categoryid, itemid) output $action, isnull(inserted.categoryid, deleted.categoryid) as categoryid, isnull(inserted.itemid, deleted.itemid) as itemid ; </code></pre><p>to dává následující výsledky:</p><pre><code>╔═════════╦════════════╦════════╗ ║ $action ║ categoryid ║ itemid ║ ╠═════════╬════════════╬════════╣ ║ delete ║ 2 ║ 1 ║ ║ insert ║ 2 ║ 2 ║ ║ delete ║ 2 ║ 3 ║ ╚═════════╩════════════╩════════╝ ╔════════════╦════════╗ ║ categoryid ║ itemid ║ ╠════════════╬════════╣ ║ 1 ║ 1 ║ ║ 1 ║ 2 ║ ║ 1 ║ 3 ║ ║ 2 ║ 2 ║ ║ 3 ║ 5 ║ ║ 3 ║ 6 ║ ║ 4 ║ 5 ║ ╚════════════╩════════╝ </code></pre><p>realizační plán je: <img src="https://i.stack.imgur.com/fovhu.jpg" alt="merge plan"></p><p>všimněte si, že jsou obě tabulky plně naskenovány. můžeme to považovat za neefektivní, protože pouze řádky, kde <code>categoryid = 2</code> bude ovlivněno v cílové tabulce. zde přicházejí varování v books online. jeden chybný pokus o optimalizaci, aby se dotkl pouze nezbytných řádků v cíli, je:</p><pre><code>merge into @categoryitem as target using ( select categoryid, itemid from @datasource as ds where categoryid = 2 ) as source on source.itemid = target.itemid and target.categoryid = 2 when not matched by target then insert (categoryid, itemid) values (categoryid, itemid) when not matched by source then delete output $action, isnull(inserted.categoryid, deleted.categoryid) as categoryid, isnull(inserted.itemid, deleted.itemid) as itemid ; </code></pre><p>logika v klauzuli <code>on</code> je použita jako součást spojení. v tomto případě je spojení úplným vnějším spojením (viz <a href="http://technet.microsoft.com/en-us/library/bb522522%28v=sql.105%29.aspx">tento záznam books online</a> proč). použití kontroly kategorie 2 na cílových řádcích jako součásti vnějšího spojení nakonec povede k odstranění řádků s jinou hodnotou (protože neodpovídají zdroji):</p><pre><code>╔═════════╦════════════╦════════╗ ║ $action ║ categoryid ║ itemid ║ ╠═════════╬════════════╬════════╣ ║ delete ║ 1 ║ 1 ║ ║ delete ║ 1 ║ 2 ║ ║ delete ║ 1 ║ 3 ║ ║ delete ║ 2 ║ 1 ║ ║ insert ║ 2 ║ 2 ║ ║ delete ║ 2 ║ 3 ║ ║ delete ║ 3 ║ 5 ║ ║ delete ║ 3 ║ 6 ║ ║ delete ║ 4 ║ 5 ║ ╚═════════╩════════════╩════════╝ ╔════════════╦════════╗ ║ categoryid ║ itemid ║ ╠════════════╬════════╣ ║ 2 ║ 2 ║ ╚════════════╩════════╝ </code></pre><p>kořenová příčina je ze stejného důvodu, proč se predikáty chovají v klauzuli vnější spojení <code>on</code> odlišně, než když jsou specifikovány v klauzuli <code>where</code>. syntaxe <code>merge</code> (a implementace spojení v závislosti na zadaných klauzulích) jen ztěžují vidět, že tomu tak je.</p><p> <a href="http://technet.microsoft.com/en-us/library/bb510625%28v=sql.105%29.aspx">navádění v books online</a> (rozšířeno v položce <a href="http://technet.microsoft.com/en-us/library/cc879317%28v=sql.105%29.aspx">optimizing performance</a> ) nabízí navádění, které zajistí, že správná sémantika je vyjádřena pomocí syntaxe <code>merge</code>, aniž by uživatel nutně musel muset pochopit všechny podrobnosti implementace nebo zohlednit způsoby, kterými by optimalizátor mohl legitimně přeskupit věci z důvodů efektivnosti provádění.</p><p>dokumentace nabízí tři možné způsoby implementace časného filtrování:</p><p><strong> zadání podmínky filtrování v klauzuli <code>when</code> </strong> zaručuje správné výsledky, ale může znamenat, že více řádků je čteno a zpracováno ze zdroje a cíle tabulky, než je nezbytně nutné (viz první příklad).</p><p><strong> aktualizace prostřednictvím zobrazení </strong>, která obsahuje podmínku filtrování, také zaručuje správné výsledky (protože změněné řádky musí být přístupné pro aktualizaci prostřednictvím zobrazení), ale vyžaduje to vyhrazené zobrazení, které splňuje liché podmínky pro aktualizaci zobrazení.</p><p><strong> použití společného výrazu tabulky </strong> přináší podobné riziko při přidávání predikátů k klauzuli <code>on</code>, ale z poněkud odlišných důvodů. v mnoha případech to bude bezpečné, ale vyžaduje to odbornou analýzu prováděcího plánu, aby se to potvrdilo (a rozsáhlé praktické testování). například:</p><pre><code>with target as ( select * from @categoryitem where categoryid = 2 ) merge into target using ( select categoryid, itemid from @datasource where categoryid = 2 ) as source on source.itemid = target.itemid and source.categoryid = target.categoryid when not matched by target then insert (categoryid, itemid) values (categoryid, itemid) when not matched by source then delete output $action, isnull(inserted.categoryid, deleted.categoryid) as categoryid, isnull(inserted.itemid, deleted.itemid) as itemid ; </code></pre><p>výsledkem jsou správné výsledky (neopakované) s optimálnějším plánem:</p><p><img src="https://i.stack.imgur.com/tazmk.jpg" alt="merge plan 2"></p><p>plán čte pouze řádky pro kategorii 2 z cílové tabulky. to může být důležitým hlediskem výkonu, pokud je cílová tabulka velká, ale je příliš snadné tuto chybu získat pomocí syntaxe <code>merge</code>.</p><p>někdy je snazší zapsat <code>merge</code> jako samostatné operace dml. tento přístup může dokonce <strong> vést lépe </strong> než jediný <code>merge</code>, což je skutečnost, která lidi často překvapuje.</p><pre><code>delete ci from @categoryitem as ci where ci.categoryid = 2 and not exists ( select 1 from @datasource as ds where ds.itemid = ci.itemid and ds.categoryid = ci.categoryid ); insert @categoryitem select ds.categoryid, ds.itemid from @datasource as ds where ds.categoryid = 2; </code></pre>